EncodedJSValue JSC_HOST_CALL protoFuncWeakMapGet(CallFrame* callFrame) { WeakMapData* map = getWeakMapData(callFrame, callFrame->thisValue()); if (!map) return JSValue::encode(jsUndefined()); JSValue key = callFrame->argument(0); if (!key.isObject()) return JSValue::encode(jsUndefined()); return JSValue::encode(map->get(asObject(key))); }
EncodedJSValue JSC_HOST_CALL protoFuncWeakMapGet(CallFrame* callFrame) { WeakMapData* map = getWeakMapData(callFrame, callFrame->thisValue()); if (!map) return JSValue::encode(jsUndefined()); JSValue key = callFrame->argument(0); if (!key.isObject()) return JSValue::encode(throwTypeError(callFrame, WTF::ASCIILiteral("A WeakMap cannot have a non-object key"))); return JSValue::encode(map->get(asObject(key))); }