Package jsinterop.base
Class Js
- java.lang.Object
-
- jsinterop.base.Js
-
public final class Js extends java.lang.Object
Utilities to provide access to JavaScript language constructs that are not available in pure Java.Note that this class avoids providing replacements for stuff that is already available via a pure Java or Elemental and enforce safe (runtime-checked) coding practices.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T extends @Nullable java.lang.Object>
TandAlso(T obj1, T obj2)
Applies JavaScript logical "and" operator (&&
) on given objects.static JsArrayLike<@Nullable java.lang.Object>
arguments()
static @Nullable Any
asAny(@Nullable java.lang.Object obj)
static @Nullable Any[]
asArray(java.lang.Object obj)
static @Nullable JsArrayLike<@Nullable java.lang.Object>
asArrayLike(@Nullable java.lang.Object obj)
ReturnsJsArrayLike
view of provided array-like object.static boolean
asBoolean(java.lang.Object obj)
static byte
asByte(java.lang.Object obj)
static char
asChar(java.lang.Object obj)
static <T> JsConstructorFn<T>
asConstructorFn(java.lang.Class<T> clazz)
static double
asDouble(java.lang.Object obj)
static float
asFloat(java.lang.Object obj)
static int
asInt(java.lang.Object obj)
static long
asLong(java.lang.Object obj)
static @Nullable JsPropertyMap<@Nullable java.lang.Object>
asPropertyMap(@Nullable java.lang.Object obj)
ReturnsJsPropertyMap
view of provided object.static short
asShort(java.lang.Object obj)
static java.lang.String
asString(java.lang.Object obj)
static <T extends @Nullable java.lang.Object>
Tcast(@Nullable java.lang.Object obj)
Performs checked cast to lefthand-side type.static boolean
coerceToBoolean(@Nullable java.lang.Object b)
Coerces any object to boolean using!!
operation.static double
coerceToDouble(@Nullable java.lang.Object d)
Coerces any object to number using+
operation.static int
coerceToInt(@Nullable java.lang.Object d)
Coerces any object to 32 bit signed number using|0
operation.static void
debugger()
static JsPropertyMap<@Nullable java.lang.Object>
global()
static boolean
isFalsy(@Nullable java.lang.Object obj)
static boolean
isTripleEqual(@Nullable java.lang.Object o1, @Nullable java.lang.Object o2)
Returnstrue
if two objects are same.static boolean
isTruthy(@Nullable java.lang.Object obj)
static <T extends @Nullable java.lang.Object>
TorElse(T obj1, T obj2)
Applies JavaScript logical "or" operator (||
) on given objects.static java.lang.String
typeof(@Nullable java.lang.Object obj)
static <T extends @Nullable java.lang.Object>
TuncheckedCast(@Nullable java.lang.Object obj)
Performs unchecked cast to lefthand-side type.static @Nullable java.lang.Object
undefined()
-
-
-
Method Detail
-
undefined
@JsProperty(namespace="<window>", name="undefined") public static @Nullable java.lang.Object undefined()
-
arguments
@JsProperty(namespace="<window>", name="arguments") public static JsArrayLike<@Nullable java.lang.Object> arguments()
-
debugger
@JsProperty(namespace="<window>", name="debugger") public static void debugger()
-
typeof
@JsMethod(namespace="<window>") public static java.lang.String typeof(@Nullable java.lang.Object obj)
-
global
public static JsPropertyMap<@Nullable java.lang.Object> global()
-
asConstructorFn
public static <T> JsConstructorFn<T> asConstructorFn(java.lang.Class<T> clazz)
-
asAny
public static @Nullable Any asAny(@Nullable java.lang.Object obj)
-
asPropertyMap
public static @Nullable JsPropertyMap<@Nullable java.lang.Object> asPropertyMap(@Nullable java.lang.Object obj)
ReturnsJsPropertyMap
view of provided object.
-
asArrayLike
public static @Nullable JsArrayLike<@Nullable java.lang.Object> asArrayLike(@Nullable java.lang.Object obj)
ReturnsJsArrayLike
view of provided array-like object.
-
asArray
public static @Nullable Any[] asArray(java.lang.Object obj)
-
asString
public static java.lang.String asString(java.lang.Object obj)
-
asBoolean
public static boolean asBoolean(java.lang.Object obj)
-
asDouble
public static double asDouble(java.lang.Object obj)
-
asFloat
public static float asFloat(java.lang.Object obj)
-
asLong
public static long asLong(java.lang.Object obj)
-
asInt
public static int asInt(java.lang.Object obj)
-
asShort
public static short asShort(java.lang.Object obj)
-
asChar
public static char asChar(java.lang.Object obj)
-
asByte
public static byte asByte(java.lang.Object obj)
-
cast
public static <T extends @Nullable java.lang.Object> T cast(@Nullable java.lang.Object obj)
Performs checked cast to lefthand-side type.This is useful for cases when Java won't allow you otherwise, like casting from a native interface to a final Java class (like String).
-
uncheckedCast
public static <T extends @Nullable java.lang.Object> T uncheckedCast(@Nullable java.lang.Object obj)
Performs unchecked cast to lefthand-side type.This method exists in order to lie to the type system, it is not an optimization. You should *ALWAYS* prefer regular casting over this which also optimizes for production. Using this method can leak incorrect types to the rest of the system which will result in hard to debug problems.
-
andAlso
public static <T extends @Nullable java.lang.Object> T andAlso(T obj1, T obj2)
Applies JavaScript logical "and" operator (&&
) on given objects.
-
orElse
public static <T extends @Nullable java.lang.Object> T orElse(T obj1, T obj2)
Applies JavaScript logical "or" operator (||
) on given objects.
-
isTruthy
public static boolean isTruthy(@Nullable java.lang.Object obj)
-
isFalsy
public static boolean isFalsy(@Nullable java.lang.Object obj)
-
isTripleEqual
public static boolean isTripleEqual(@Nullable java.lang.Object o1, @Nullable java.lang.Object o2)
Returnstrue
if two objects are same.This method mostly behaves similar to Java
==
operator except that it doesn't returntrue
fornull==undefined
comparison.
-
coerceToDouble
public static double coerceToDouble(@Nullable java.lang.Object d)
Coerces any object to number using+
operation.
-
coerceToInt
public static int coerceToInt(@Nullable java.lang.Object d)
Coerces any object to 32 bit signed number using|0
operation.
-
coerceToBoolean
public static boolean coerceToBoolean(@Nullable java.lang.Object b)
Coerces any object to boolean using!!
operation.
-
-