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

Method setObjectProperty

valdi/src/valdi/v8/V8JavaScriptContext.cpp:611–634  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

609}
610
611void V8JavaScriptContext::setObjectProperty(const JSValue& object,
612 const std::string_view& propertyName,
613 const JSValue& propertyValue,
614 bool enumerable,
615 JSExceptionTracker& exceptionTracker) {
616 v8::HandleScope handleScope(_isolate);
617 auto obj = v8::Local<v8::Object>::Cast(fromValdiJSValue(_isolate, object, exceptionTracker));
618 if (!exceptionTracker) {
619 return;
620 }
621 auto val = fromValdiJSValue(_isolate, propertyValue, exceptionTracker);
622 if (!exceptionTracker) {
623 return;
624 }
625 v8::Local<v8::String> key;
626 if (!v8::String::NewFromUtf8(
627 _isolate, propertyName.data(), v8::NewStringType::kNormal, static_cast<uint32_t>(propertyName.length()))
628 .ToLocal(&key)) {
629 exceptionTracker.onError("Failed to create a string key object");
630 return;
631 }
632 v8::Local<v8::Context> context = v8::Local<v8::Context>::New(_isolate, _context);
633 setObjectPropertyHelper(context, obj, key, val, enumerable, exceptionTracker);
634}
635
636void V8JavaScriptContext::setObjectProperty(const JSValue& object,
637 const JSPropertyName& propertyName,

Callers 1

mainFunction · 0.45

Calls 11

setObjectPropertyHelperFunction · 0.85
ToLocalMethod · 0.80
fromValdiJSValueFunction · 0.70
fromValdiJSPropertyNameFunction · 0.70
onErrorMethod · 0.65
CastFunction · 0.50
NewFunction · 0.50
dataMethod · 0.45
lengthMethod · 0.45
ValueMethod · 0.45

Tested by

no test coverage detected