createDartExport<T extends Object> function
- T dartObject
Given a Dart object that is marked exportable, creates a JS object literal
that forwards to that Dart class. Look at the @JSExport
annotation to
determine what constitutes "exportable" for a Dart class. The object literal
will be a map of export names (which are either the written instance member
names or their rename) to their respective Dart instance members.
For example:
@JSExport()
class ExportCounter {
int value = 0;
String stringify() => value.toString();
}
@JS()
@staticInterop
class Counter {}
extension on Counter {
external int get value;
external set value(int val);
external String stringify();
}
...
var export = ExportCounter();
var counter = createDartExport(export) as Counter;
export.value = 1;
Expect.isTrue(counter.value, export.value);
Expect.isTrue(counter.stringify(), export.stringify());
Implementation
external Object createDartExport<T extends Object>(T dartObject);