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

Method callModuleFunction

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

Source from the content-addressed store, hash-verified

2518 return;
2519 }
2520
2521 JS_BIND(context, exceptionTracker, globalObject, "queueMicrotask", queueMicrotask);
2522
2523 context.setObjectProperty(runtimeObject.get(), processKey.toStringView(), processResult.get(), exceptionTracker);
2524 if (!exceptionTracker) {
2525 return;
2526 }
2527}
2528
2529Result<Void> JavaScriptRuntime::onComponentSetupFailed(const ResourceId& resourceId, const Error& error) {
2530 return Error(error.rethrow(STRING_FORMAT("Failed to create component {}", resourceId)));
2531}
2532
2533Ref<ContextHandler> JavaScriptRuntime::getContextHandler() const {
2534 return _contextHandler;
2535}
2536
2537void JavaScriptRuntime::requestUpdateJsContextHandler(JavaScriptEntryParameters& jsEntry,
2538 JavaScriptComponentContextHandler& /*handler*/) {
2539 ensureValdiModuleIsLoaded(jsEntry);
2540}
2541
2542std::vector<Ref<JavaScriptRuntime>> JavaScriptRuntime::getAllWorkers() {
2543 std::lock_guard<Mutex> guard(_jsWorkersMutex);
2544 std::vector<Ref<JavaScriptRuntime>> out;
2545 out.reserve(_jsWorkers.size());
2546
2547 auto it = _jsWorkers.begin();
2548 while (it != _jsWorkers.end()) {
2549 auto jsWorker = it->lock();
2550 if (jsWorker != nullptr) {
2551 out.emplace_back(std::move(jsWorker));
2552 it++;
2553 } else {
2554 it = _jsWorkers.erase(it);
2555 }
2556 }
2557

Callers

nothing calls this directly

Calls 10

importModuleMethod · 0.95
valueToJSValueFunction · 0.85
getJsValueMethod · 0.80
ensureRetainedValueMethod · 0.80
callObjectPropertyMethod · 0.80
emptyMethod · 0.45
dataMethod · 0.45
sizeMethod · 0.45
toStringViewMethod · 0.45

Tested by

no test coverage detected