setModuleLoaderFunc method
void
setModuleLoaderFunc(
- JSModuleNormalizeFunc moduleNormalize,
- JSModuleLoaderFunc moduleLoader, {
- Uint8List? user_data,
Implementation
void setModuleLoaderFunc(
JSModuleNormalizeFunc moduleNormalize,
JSModuleLoaderFunc moduleLoader, {
Uint8List? user_data,
}) {
_moduleNormalizeFuncNC = NativeCallable.isolateLocal((
Pointer<JSContext_> ctx,
Pointer<Utf8> module_base_name,
Pointer<Utf8> module_name,
Pointer<Void> opaque,
) {
return moduleNormalize
.call(
JSContext(ctx),
module_base_name.cast<Utf8>().toDartString(),
module_name.cast<Utf8>().toDartString(),
opaque == nullptr
? null
: opaque.toUint8List(user_data?.length ?? 0),
)
.toNativeUtf8();
});
_moduleLoaderFuncNC = NativeCallable.isolateLocal((
Pointer<JSContext_> ctx,
Pointer<Utf8> module_name,
Pointer<Void> opaque,
) {
return moduleLoader.call(
JSContext(ctx),
module_name.cast<Utf8>().toDartString(),
opaque == nullptr ? null : opaque.toUint8List(user_data?.length ?? 0),
);
});
JS_SetModuleLoaderFunc(
_ref,
_moduleNormalizeFuncNC!.nativeFunction,
_moduleLoaderFuncNC!.nativeFunction,
user_data?.toCAny() ?? nullptr,
);
}