pub type ModuleResolveHook = Option<unsafe extern "C" fn(_: *mut JSContext, _: Handle<Value>, _: Handle<*mut JSObject>) -> *mut JSObject>;
Expand description
The HostResolveImportedModule hook.
See: https://tc39.es/ecma262/#sec-hostresolveimportedmodule
This embedding-defined hook is used to implement module loading. It is called to get or create a module object corresponding to |moduleRequest| occurring in the context of the script or module with private value |referencingPrivate|.
The module specifier string for the request can be obtained by calling JS::GetModuleRequestSpecifier.
The private value for a script or module is set with JS::SetScriptPrivate or JS::SetModulePrivate. It’s assumed that the embedding can handle receiving either here.
This hook must obey the restrictions defined in the spec:
- Each time the hook is called with the same arguemnts, the same module must be returned.
- If a module cannot be created for the given arguments, an exception must be thrown.
This is a synchronous operation.
Aliased Type§
enum ModuleResolveHook {
None,
Some(unsafe extern "C" fn(_: *mut JSContext, _: Handle<Value>, _: Handle<*mut JSObject>) -> *mut JSObject),
}