MCPcopy Create free account
hub / github.com/Snapchat/Valdi / evalModuleSync

Method evalModuleSync

valdi/src/valdi/runtime/JavaScript/JavaScriptRuntime.cpp:3176–3200  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3174 for (const auto& resourceId : resourceIds) {
3175 paths.emplace(StringCache::getGlobal().makeString(resourceId.toAbsolutePath()));
3176 }
3177
3178 bool disableHotReloaderLazyDenylist = false;
3179 auto listener = getListener();
3180 if (isHotReloading && listener) {
3181 auto runtimeTweaks = listener->getRuntimeTweaks();
3182 if (runtimeTweaks != nullptr) {
3183 disableHotReloaderLazyDenylist = runtimeTweaks->disableHotReloaderLazyDenylist();
3184 }
3185 }
3186
3187 auto pathsResult =
3188 valueToJSValue(entry.jsContext, Value(paths.build()), ReferenceInfoBuilder(), entry.exceptionTracker);
3189
3190 if (!entry.exceptionTracker) {
3191 onRecoverableError("unloadModule", entry.exceptionTracker);
3192 return;
3193 }
3194
3195 std::initializer_list<JSValueRef> params = {std::move(pathsResult),
3196 entry.jsContext.newBool(isHotReloading),
3197 entry.jsContext.newBool(disableHotReloaderLazyDenylist)};
3198
3199 JSFunctionCallContext callContext(entry.jsContext, params.begin(), params.size(), entry.exceptionTracker);
3200
3201 auto unloadResult = entry.jsContext.callObjectProperty(
3202 _moduleLoader.get(), _propertyNameIndex.getJsName(kUnloadPropertyName), callContext);
3203

Callers 2

doEvalScriptMethod · 0.80
doPostInitMethod · 0.80

Calls 5

importModuleMethod · 0.95
extractErrorMethod · 0.80
insertMethod · 0.65
valueMethod · 0.65
VoidClass · 0.50

Tested by

no test coverage detected