MCPcopy Create free account
hub / github.com/buke/quickjs-go / LoadModuleBytecode

Function LoadModuleBytecode

bridge.c:1043–1071  ·  view source on GitHub ↗

LoadModuleBytecode implementation (unchanged)

Source from the content-addressed store, hash-verified

1041
1042// LoadModuleBytecode implementation (unchanged)
1043JSValue LoadModuleBytecode(JSContext *ctx, const uint8_t *buf, size_t buf_len, int load_only) {
1044 JSValue obj, val;
1045
1046 obj = JS_ReadObject(ctx, buf, buf_len, JS_READ_OBJ_BYTECODE);
1047 if (JS_IsException(obj)) {
1048 return obj;
1049 }
1050
1051 if (load_only) {
1052 if (JS_VALUE_GET_TAG(obj) == JS_TAG_MODULE) {
1053 js_module_set_import_meta(ctx, obj, false, false);
1054 }
1055 return obj;
1056 } else {
1057 if (JS_VALUE_GET_TAG(obj) == JS_TAG_MODULE) {
1058 if (JS_ResolveModule(ctx, obj) < 0) {
1059 JS_FreeValue(ctx, obj);
1060 return JS_EXCEPTION;
1061 }
1062 js_module_set_import_meta(ctx, obj, false, false);
1063 val = JS_EvalFunction(ctx, obj);
1064 val = AwaitValue(ctx, val);
1065 } else {
1066 val = JS_EvalFunction(ctx, obj);
1067 }
1068
1069 return val;
1070 }
1071}
1072
1073// ============================================================================
1074// MODULE-RELATED FUNCTIONS - NEW FOR MODULE BUILDER

Callers

nothing calls this directly

Calls 3

JS_IsExceptionFunction · 0.85
AwaitValueFunction · 0.85

Tested by

no test coverage detected