JSObject typedef

JSObject = JSObject

The representation type of all JavaScript objects for inline classes, JSObject <: JSAny.

This is the supertype of all JS objects, but not other JS types, like primitives. This is the only allowed on type for inline classes written by users to model JS interop objects. See https://dart.dev/web/js-interop for more details on how to use JS interop.

Implementation

// TODO(srujzs): This class _must_ be sealed before we can make this library
// public. Either use the CFE mechanisms that exist today, or use the Dart 3
// sealed classes feature.
// TODO(joshualitt): Do we need to seal any other JS types on JS backends? We
// probably want to seal all JS types on Wasm backends.
// TODO(joshualitt): Add a [JSObject] constructor.
typedef JSObject = js_types.JSObject;