You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/**
* Determines the type of a given variable.
* If the variable is a Java instance, it returns the Java class name.
* If the variable is a JS object, it returns the JS constructor name (if available)
* or extracts the type from the default toString representation (as a fallback).
* Otherwise, it returns the JS primitive type.
*
* @param {any} variable The variable whose type needs to be determined.
* @return {string} The type of the variable.
*/
function determineVariableType(variable) {
// Check for Java instances
if (variable instanceof java.lang.Object) {
return variable.class.name;
}
// Check for JS objects (excluding null)
if (typeof variable === 'object') {
// If constructor.name is available, use it. Otherwise, use the toString fallback and extract the type
if (variable && variable.constructor && variable.constructor.name) {
return variable.constructor.name;
} else {
let toStringType = Object.prototype.toString.call(variable);
return toStringType.slice(8, -1); // Extracts "Type" from "[object Type]"
}
}
// Return JS primitive type
return typeof variable;
}
The text was updated successfully, but these errors were encountered:
The text was updated successfully, but these errors were encountered: