@@ -28,14 +28,19 @@ struct JsAPIHooks
2828 typedef JsErrorCode (WINAPI *JsrtGetPropertyIdFromNameUtf8Ptr)(const char *name, JsPropertyIdRef *propertyId);
2929 typedef JsErrorCode (WINAPI *JsrtGetPropertyPtr)(JsValueRef object, JsPropertyIdRef property, JsValueRef* value);
3030 typedef JsErrorCode (WINAPI *JsrtHasPropertyPtr)(JsValueRef object, JsPropertyIdRef property, bool *hasProperty);
31+ typedef JsErrorCode (WINAPI *JsInitializeModuleRecordPtr)(JsModuleRecord referencingModule, JsValueRef normalizedSpecifier, JsModuleRecord* moduleRecord);
32+ typedef JsErrorCode (WINAPI *JsParseModuleSourcePtr)(JsModuleRecord requestModule, JsSourceContext sourceContext, byte* sourceText, unsigned int sourceLength, JsParseModuleSourceFlags sourceFlag, JsValueRef* exceptionValueRef);
33+ typedef JsErrorCode (WINAPI *JsModuleEvaluationPtr)(JsModuleRecord requestModule, JsValueRef* result);
34+ typedef JsErrorCode (WINAPI *JsSetModuleHostInfoPtr)(JsModuleRecord requestModule, JsModuleHostInfoKind moduleHostInfo, void * hostInfo);
35+ typedef JsErrorCode (WINAPI *JsGetModuleHostInfoPtr)(JsModuleRecord requestModule, JsModuleHostInfoKind moduleHostInfo, void ** hostInfo);
3136 typedef JsErrorCode (WINAPI *JsrtCallFunctionPtr)(JsValueRef function, JsValueRef* arguments, unsigned short argumentCount, JsValueRef *result);
3237 typedef JsErrorCode (WINAPI *JsrtNumberToDoublePtr)(JsValueRef value, double *doubleValue);
3338 typedef JsErrorCode (WINAPI *JsrtNumberToIntPtr)(JsValueRef value, int *intValue);
3439 typedef JsErrorCode (WINAPI *JsrtDoubleToNumberPtr)(double doubleValue, JsValueRef* value);
3540 typedef JsErrorCode (WINAPI *JsrtGetExternalDataPtr)(JsValueRef object, void **data);
3641 typedef JsErrorCode (WINAPI *JsrtCreateArrayPtr)(unsigned int length, JsValueRef *result);
3742 typedef JsErrorCode (WINAPI *JsrtCreateErrorPtr)(JsValueRef message, JsValueRef *error);
38- typedef JsErrorCode (WINAPI *JsrtHasExceptionPtr)(bool *hasException);
43+ typedef JsErrorCode (WINAPI *JsrtHasExceptionPtr)(bool *hasException);
3944 typedef JsErrorCode (WINAPI *JsrtSetExceptionPtr)(JsValueRef exception);
4045 typedef JsErrorCode (WINAPI *JsrtGetAndClearExceptiopnPtr)(JsValueRef* exception);
4146 typedef JsErrorCode (WINAPI *JsrtGetRuntimePtr)(JsContextRef context, JsRuntimeHandle *runtime);
@@ -68,7 +73,6 @@ struct JsAPIHooks
6873 typedef JsErrorCode (WINAPI *JsrtRunScriptUtf8)(const char *script, JsSourceContext sourceContext, const char *sourceUrl, JsValueRef *result);
6974 typedef JsErrorCode (WINAPI *JsrtSerializeScriptUtf8)(const char *script, ChakraBytePtr buffer, unsigned int *bufferSize);
7075 typedef JsErrorCode (WINAPI *JsrtRunSerializedScriptUtf8)(JsSerializedScriptLoadUtf8SourceCallback scriptLoadCallback, JsSerializedScriptUnloadCallback scriptUnloadCallback, ChakraBytePtr buffer, JsSourceContext sourceContext, const char *sourceUrl, JsValueRef * result);
71- typedef JsErrorCode (WINAPI *JsrtRunModuleUtf8Ptr)(const char *script, JsSourceContext sourceContext, const char *sourceUrl, JsValueRef *result);
7276 typedef JsErrorCode (WINAPI *JsrtStringFreePtr)(const char *stringValue);
7377
7478 typedef JsErrorCode (WINAPI *JsrtTTDCreateRecordRuntimePtr)(JsRuntimeAttributes attributes, char * infoUri, size_t infoUriCount, UINT32 snapInterval, UINT32 snapHistoryLength, JsThreadServiceCallback threadService, JsRuntimeHandle *runtime);
@@ -117,6 +121,11 @@ struct JsAPIHooks
117121 JsrtGetPropertyIdFromNameUtf8Ptr pfJsrtGetPropertyIdFromNameUtf8;
118122 JsrtGetPropertyPtr pfJsrtGetProperty;
119123 JsrtHasPropertyPtr pfJsrtHasProperty;
124+ JsParseModuleSourcePtr pfJsrtParseModuleSource;
125+ JsInitializeModuleRecordPtr pfJsrtInitializeModuleRecord;
126+ JsModuleEvaluationPtr pfJsrtModuleEvaluation;
127+ JsSetModuleHostInfoPtr pfJsrtSetModuleHostInfo;
128+ JsGetModuleHostInfoPtr pfJsrtGetModuleHostInfo;
120129 JsrtCallFunctionPtr pfJsrtCallFunction;
121130 JsrtNumberToDoublePtr pfJsrtNumberToDouble;
122131 JsrtNumberToIntPtr pfJsrtNumberToInt;
@@ -156,7 +165,6 @@ struct JsAPIHooks
156165 JsrtRunScriptUtf8 pfJsrtRunScriptUtf8;
157166 JsrtSerializeScriptUtf8 pfJsrtSerializeScriptUtf8;
158167 JsrtRunSerializedScriptUtf8 pfJsrtRunSerializedScriptUtf8;
159- JsrtRunModuleUtf8Ptr pfJsrtExperimentalApiRunModuleUtf8;
160168 JsrtStringFreePtr pfJsrtStringFree;
161169
162170 JsrtTTDCreateRecordRuntimePtr pfJsrtTTDCreateRecordRuntime;
@@ -317,6 +325,15 @@ class ChakraRTInterface
317325 static JsErrorCode WINAPI JsDiagGetProperties (unsigned int objectHandle, unsigned int fromCount, unsigned int totalCount, JsValueRef * propertiesObject) { return HOOK_JS_API (DiagGetProperties (objectHandle, fromCount, totalCount, propertiesObject)); }
318326 static JsErrorCode WINAPI JsDiagGetObjectFromHandle (unsigned int handle, JsValueRef * handleObject) { return HOOK_JS_API (DiagGetObjectFromHandle (handle, handleObject)); }
319327 static JsErrorCode WINAPI JsDiagEvaluateUtf8 (const char * expression, unsigned int stackFrameIndex, JsValueRef * evalResult) { return HOOK_JS_API (DiagEvaluateUtf8 (expression, stackFrameIndex, evalResult)); }
328+ static JsErrorCode WINAPI JsParseModuleSource (JsModuleRecord requestModule, JsSourceContext sourceContext, byte* sourceText, unsigned int sourceLength, JsParseModuleSourceFlags sourceFlag, JsValueRef* exceptionValueRef) {
329+ return m_jsApiHooks.pfJsrtParseModuleSource (requestModule, sourceContext, sourceText, sourceLength, sourceFlag, exceptionValueRef);
330+ }
331+ static JsErrorCode WINAPI JsModuleEvaluation (JsModuleRecord requestModule, JsValueRef* result) { return m_jsApiHooks.pfJsrtModuleEvaluation (requestModule, result); }
332+ static JsErrorCode WINAPI JsInitializeModuleRecord (JsModuleRecord referencingModule, JsValueRef normalizedSpecifier, JsModuleRecord* moduleRecord) {
333+ return m_jsApiHooks.pfJsrtInitializeModuleRecord (referencingModule, normalizedSpecifier, moduleRecord);
334+ }
335+ static JsErrorCode WINAPI JsSetModuleHostInfo (JsModuleRecord requestModule, JsModuleHostInfoKind moduleHostInfo, void * hostInfo) { return m_jsApiHooks.pfJsrtSetModuleHostInfo (requestModule, moduleHostInfo, hostInfo); }
336+ static JsErrorCode WINAPI JsGetModuleHostInfo (JsModuleRecord requestModule, JsModuleHostInfoKind moduleHostInfo, void ** hostInfo) { return m_jsApiHooks.pfJsrtGetModuleHostInfo (requestModule, moduleHostInfo, hostInfo); }
320337
321338 static JsErrorCode WINAPI JsValueToCharCopy (JsValueRef value, char **stringValue, size_t *length)
322339 {
@@ -329,7 +346,6 @@ class ChakraRTInterface
329346 static JsErrorCode WINAPI JsRunScriptUtf8 (const char *script, JsSourceContext sourceContext, const char *sourceUrl, JsValueRef *result) { return HOOK_JS_API (RunScriptUtf8 (script, sourceContext, sourceUrl, result)); }
330347 static JsErrorCode WINAPI JsSerializeScriptUtf8 (const char *script, ChakraBytePtr buffer, unsigned int *bufferSize) { return HOOK_JS_API (SerializeScriptUtf8 (script, buffer, bufferSize)); }
331348 static JsErrorCode WINAPI JsRunSerializedScriptUtf8 (JsSerializedScriptLoadUtf8SourceCallback scriptLoadCallback, JsSerializedScriptUnloadCallback scriptUnloadCallback, ChakraBytePtr buffer, JsSourceContext sourceContext, const char *sourceUrl, JsValueRef * result) { return HOOK_JS_API (RunSerializedScriptUtf8 (scriptLoadCallback, scriptUnloadCallback, buffer, sourceContext, sourceUrl, result)); }
332- static JsErrorCode WINAPI JsRunModuleUtf8 (const char *script, JsSourceContext sourceContext, const char *sourceUrl, JsValueRef *result) { return HOOK_JS_API (ExperimentalApiRunModuleUtf8 (script, sourceContext, sourceUrl, result)); }
333349 static JsErrorCode WINAPI JsPointerToStringUtf8 (const char *stringValue, size_t length, JsValueRef *value) { return HOOK_JS_API (PointerToStringUtf8 (stringValue, length, value)); }
334350 static JsErrorCode WINAPI JsStringFree (char *stringValue) { return HOOK_JS_API (StringFree (stringValue)); }
335351 static JsErrorCode WINAPI JsTTDCreateRecordRuntime (JsRuntimeAttributes attributes, char * infoUri, size_t infoUriCount, UINT32 snapInterval, UINT32 snapHistoryLength, JsThreadServiceCallback threadService, JsRuntimeHandle *runtime) { return HOOK_JS_API (TTDCreateRecordRuntime (attributes, infoUri, infoUriCount, snapInterval, snapHistoryLength, threadService, runtime)); }
0 commit comments