-
Notifications
You must be signed in to change notification settings - Fork 1.2k
FetchImportedModuleCallback
Richard edited this page Feb 23, 2018
·
1 revision
User implemented callback to fetch additional imported modules in ES modules.
typedef JsErrorCode (CHAKRA_CALLBACK * FetchImportedModuleCallBack)(
_In_ JsModuleRecord referencingModule,
_In_ JsValueRef specifier,
_Outptr_result_maybenull_ JsModuleRecord* dependentModuleRecord);
- referencingModule: The referencing module that is requesting the dependent module.
- specifier: The specifier coming from the module source code.
- dependentModuleRecord: The ModuleRecord of the dependent module. If the module was requested before from other source, return the existing ModuleRecord, otherwise return a newly created ModuleRecord.
Returns a JsNoError if the operation succeeded an error code otherwise.
The callback is invoked on the current runtime execution thread, therefore execution is blocked until the callback completes. Notify the host to fetch the dependent module. This is the "import" part before HostResolveImportedModule in ES6 spec.
This notifies the host that the referencing module has the specified module dependency, and the host needs to retrieve the module back.
Callback should:
- Check if the requested module has been requested before - if yes return the existing module record
- If no create and initialize a new module record with JsInitializeModuleRecord to return and schedule a call to JsParseModuleSource for the new record.
- Architecture Overview
- Building ChakraCore
- ChakraCore Code Structure
- Contributor Guidance
- Engineering Notes
- Embedding ChakraCore
- Testing ChakraCore
- Getting ChakraCore binaries
- Label Glossary
- Resources
- Roadmap / Release Notes
Want to contribute to this Wiki? Fork it and send a pull request!