in boot-fx/src/main/java/org/netbeans/html/boot/fx/AbstractFXPresenter.java [310:345]
final Object toJavaScript(Object value, boolean keep) {
if (value == null) {
return null;
}
if (value instanceof String) {
return value;
}
if (value instanceof Number) {
return value;
}
if (value instanceof JSObject) {
return value;
}
if (value instanceof Boolean) {
return value;
}
if (value instanceof Character) {
return (int) (char) (Character) value;
}
if (value instanceof Enum) {
return value;
}
if (value.getClass().isArray()) {
int len = Array.getLength(value);
Object[] copy = new Object[len];
for (int i = 0; i < len; i++) {
copy[i] = toJavaScript(Array.get(value, i));
}
final JSObject wrapArr = (JSObject)wrapArrFn().call("array", copy); // NOI18N
return wrapArr;
}
if (value.getClass().getName().endsWith("$JsCallbacks$")) {
return value;
}
return values().wrap(value, keep);
}