@locker/shared
Advanced tools
Comparing version 0.17.5 to 0.17.6
@@ -14,11 +14,11 @@ /*! | ||
construct: ReflectConstruct$LWS, | ||
defineProperty: ReflectDefineProperty$LWS, | ||
deleteProperty: ReflectDeleteProperty$LWS, | ||
has: ReflectHas$LWS, | ||
get: ReflectGet$LWS, | ||
getOwnPropertyDescriptor: ReflectGetOwnPropertyDescriptor$LWS, | ||
getPrototypeOf: ReflectGetPrototypeOf$LWS, | ||
has: ReflectHas$LWS, | ||
ownKeys: ReflectOwnKeys$LWS, | ||
set: ReflectSet$LWS, | ||
setPrototypeOf: ReflectSetPrototypeOf$LWS, | ||
defineProperty: ReflectDefineProperty$LWS, | ||
getOwnPropertyDescriptor: ReflectGetOwnPropertyDescriptor$LWS, | ||
ownKeys: ReflectOwnKeys$LWS | ||
setPrototypeOf: ReflectSetPrototypeOf$LWS | ||
} = Reflect; | ||
@@ -75,5 +75,2 @@ const ObjectCtor$LWS = Object; | ||
const { | ||
prototype: SymbolProto$LWS | ||
} = SymbolCtor$LWS; | ||
const { | ||
for: SymbolFor$LWS, | ||
@@ -87,3 +84,3 @@ iterator: SymbolIterator$LWS, | ||
valueOf: SymbolProtoValueOf$LWS | ||
} = SymbolProto$LWS; | ||
} = SymbolCtor$LWS.prototype; | ||
const ArrayCtor$LWS = Array; | ||
@@ -256,2 +253,3 @@ const { | ||
const UNCOMPILED_LOCATION_NAME$LWS = `uncompiledLocation${LOCKER_IDENTIFIER_MARKER$LWS}`; | ||
const UNCOMPILED_TOP_NAME$LWS = `uncompiledTop${LOCKER_IDENTIFIER_MARKER$LWS}`; | ||
const WEBPACK_REQUIRE_NAME$LWS = '__webpack_require__'; | ||
@@ -807,2 +805,334 @@ const DateCtor$LWS = Date; | ||
const { | ||
parse: JSONParse$LWS, | ||
stringify: JSONStringify$LWS | ||
} = JSON; | ||
const LOCKER_NEAR_MEMBRANE_SERIALIZED_VALUE_SYMBOL$LWS = SymbolFor$LWS('@@lockerNearMembraneSerializedValue'); | ||
const LOCKER_NEAR_MEMBRANE_SYMBOL$LWS = SymbolFor$LWS('@@lockerNearMembrane'); | ||
function getNearMembraneSerializedValue$LWS(object$LWS) { | ||
return LOCKER_NEAR_MEMBRANE_SERIALIZED_VALUE_SYMBOL$LWS in object$LWS ? undefined : object$LWS[LOCKER_NEAR_MEMBRANE_SERIALIZED_VALUE_SYMBOL$LWS]; | ||
} | ||
function isNearMembrane$LWS(value$LWS) { | ||
if (typeof value$LWS === 'object' && value$LWS !== null || typeof value$LWS === 'function') { | ||
return !(LOCKER_NEAR_MEMBRANE_SYMBOL$LWS in value$LWS) && value$LWS[LOCKER_NEAR_MEMBRANE_SYMBOL$LWS] === true; | ||
} | ||
return false; | ||
} | ||
const SEEN_OBJECTS_MAP$LWS = toSafeMap$LWS(new MapCtor$LWS()); | ||
function cloneBoxedPrimitive$LWS(object$LWS) { | ||
return ObjectCtor$LWS(getNearMembraneSerializedValue$LWS(object$LWS)); | ||
} | ||
function cloneMap$LWS(map$LWS, queue$LWS) { | ||
// Section 2.7.3 StructuredSerializeInternal: | ||
// https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal | ||
// Step 26.1.1: Let copiedList be a new empty List. | ||
const clone$LWS = new MapCtor$LWS(); // Step 26.1.2: For each Record { [[Key]], [[Value]] } entry of value.[[MapData]]... | ||
const entriesIterable$LWS = ReflectApply$LWS(MapProtoEntries$LWS, map$LWS, []); // Step 26.1.3 For each Record { [[Key]], [[Value]] } entry of copiedList: | ||
let { | ||
length: queueOffset$LWS | ||
} = queue$LWS; // eslint-disable-next-line no-constant-condition | ||
while (true) { | ||
const { | ||
done: done$LWS, | ||
value: subKeyValuePair$LWS | ||
} = entriesIterable$LWS.next(); | ||
if (done$LWS) { | ||
break; | ||
} | ||
const { | ||
0: subKey$LWS, | ||
1: subValue$LWS | ||
} = subKeyValuePair$LWS; | ||
let subCloneKey$LWS; // Step 26.1.3.1: Let serializedKey be ? StructuredSerializeInternal(entry.[[Key]], forStorage, memory). | ||
queue$LWS[queueOffset$LWS++] = [subClone$LWS => { | ||
subCloneKey$LWS = subClone$LWS; | ||
}, subKey$LWS]; // Step 26.1.3.2: Let serializedValue be ? StructuredSerializeInternal(entry.[[Value]], forStorage, memory). | ||
queue$LWS[queueOffset$LWS++] = [subCloneValue$LWS => { | ||
ReflectApply$LWS(MapProtoSet$LWS, clone$LWS, [subCloneKey$LWS, subCloneValue$LWS]); | ||
}, subValue$LWS]; | ||
} | ||
return clone$LWS; | ||
} | ||
function cloneRegExp$LWS(regexp$LWS) { | ||
const { | ||
flags: flags$LWS, | ||
source: source$LWS | ||
} = JSONParse$LWS(getNearMembraneSerializedValue$LWS(regexp$LWS)); | ||
return new RegExpCtor$LWS(source$LWS, flags$LWS); | ||
} | ||
function cloneSet$LWS(set$LWS, queue$LWS) { | ||
// Section 2.7.3 StructuredSerializeInternal: | ||
// https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal | ||
// Step 26.2.1: Let copiedList be a new empty List. | ||
const clone$LWS = new SetCtor$LWS(); // Step 26.2.2: For each entry of value.[[SetData]]... | ||
const valuesIterable$LWS = ReflectApply$LWS(SetProtoValues$LWS, set$LWS, []); // Step 26.2.3: For each entry of copiedList: | ||
let { | ||
length: queueOffset$LWS | ||
} = queue$LWS; // eslint-disable-next-line no-constant-condition | ||
while (true) { | ||
const { | ||
done: done$LWS, | ||
value: subValue$LWS | ||
} = valuesIterable$LWS.next(); | ||
if (done$LWS) { | ||
break; | ||
} // Step 26.2.3.1: Let serializedEntry be ? StructuredSerializeInternal(entry, forStorage, memory). | ||
queue$LWS[queueOffset$LWS++] = [subCloneValue$LWS => { | ||
ReflectApply$LWS(SetProtoAdd$LWS, clone$LWS, [subCloneValue$LWS]); | ||
}, subValue$LWS]; | ||
} | ||
return clone$LWS; | ||
} | ||
function enqueue$LWS(queue$LWS, originalValue$LWS, cloneValue$LWS) { | ||
// Section 2.7.3 StructuredSerializeInternal: | ||
// https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal | ||
// Step 26.4: Otherwise, for each key in ! EnumerableOwnPropertyNames(value, key)... | ||
// Note: Object.keys() performs EnumerableOwnPropertyNames() internally as | ||
// defined in ECMA262: | ||
// https://tc39.es/ecma262/#sec-object.keys | ||
const keys$LWS = ObjectKeys$LWS(originalValue$LWS); | ||
let { | ||
length: queueOffset$LWS | ||
} = queue$LWS; | ||
for (let i$LWS = 0, { | ||
length: length$LWS | ||
} = keys$LWS; i$LWS < length$LWS; i$LWS += 1) { | ||
// Step 26.4.1.1: Let inputValue be ? value.[[Get]](key, value). | ||
// The [[Get]] operation is defined in ECMA262 for ordinary objects, | ||
// argument objects, integer-indexed exotic objects, module namespace | ||
// objects, and proxy objects. | ||
// https://tc39.es/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots-get-p-receiver | ||
const key$LWS = keys$LWS[i$LWS]; | ||
const subValue$LWS = originalValue$LWS[key$LWS]; | ||
queue$LWS[queueOffset$LWS++] = [subCloneValue$LWS => { | ||
// Step 26.4.1.3: Property descriptor attributes are not | ||
// preserved during deserialization because only keys and | ||
// values are captured in serialized.[[Properties]]. | ||
cloneValue$LWS[key$LWS] = subCloneValue$LWS; | ||
}, subValue$LWS]; | ||
} | ||
} // This function is the unguarded internal variant of `partialStructuredClone()`. | ||
// Any error thrown that is captured by `partialStructuredClone()` is treated as | ||
// a `DataCloneError`. This function clones blue membrane proxied arrays, plain | ||
// objects, maps, regexps, sets, and boxed primitives. The following non-membrane | ||
// proxied objects are set by reference instead of cloning: | ||
// ArrayBuffer | ||
// BigInt64Array | ||
// BigUint64Array | ||
// Blob | ||
// DataView | ||
// Date | ||
// DOMException | ||
// DOMMatrix | ||
// DOMMatrixReadOnly | ||
// DOMPoint | ||
// DOMPointReadOnly | ||
// DOMQuad | ||
// DOMRect | ||
// DOMRectReadOnly | ||
// Error | ||
// EvalError | ||
// File | ||
// FileList | ||
// Float32Array | ||
// Float64Array | ||
// ImageBitMap | ||
// ImageData | ||
// Int8Array | ||
// Int16Array | ||
// Int32Array | ||
// RangeError | ||
// ReferenceError | ||
// SyntaxError | ||
// TypeError | ||
// Uint8Array | ||
// Uint8ClampedArray | ||
// Uint16Array | ||
// Uint32Array | ||
// URIError | ||
// | ||
// Note: | ||
// This function performs brand checks using `Object.prototype.toString`. The | ||
// results can be faked with `Symbol.toStringTag` property values and are a poor | ||
// substitute for native internal slot checks. However, for our purposes they | ||
// are perfectly fine and avoid having to repeatedly walk the prototype of proxied | ||
// values. Cloned values should be passed to native methods, like `postMessage()`, | ||
// which perform their own validation with internal slot checks. | ||
function partialStructuredCloneInternal$LWS(value$LWS) { | ||
// Using a queue instead of recursive function calls avoids call stack limits | ||
// and enables cloning more complex and deeply nested objects. | ||
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Too_much_recursion | ||
let result$LWS; | ||
const queue$LWS = [[subClone$LWS => { | ||
result$LWS = subClone$LWS; | ||
}, value$LWS]]; // eslint-disable-next-line no-labels | ||
queueLoop: while (queue$LWS.length) { | ||
// Section 2.7.3 StructuredSerializeInternal: | ||
// https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal | ||
// prettier-ignore | ||
const { | ||
0: setter$LWS, | ||
1: originalValue$LWS | ||
} = ReflectApply$LWS(ArrayProtoShift$LWS, queue$LWS, []); // Step 4: If Type(value) is Undefined, Null, Boolean, Number, BigInt, or String | ||
if (originalValue$LWS === null || originalValue$LWS === undefined || typeof originalValue$LWS === 'boolean' || typeof originalValue$LWS === 'number' || typeof originalValue$LWS === 'string' || typeof originalValue$LWS === 'bigint') { | ||
setter$LWS(originalValue$LWS); // eslint-disable-next-line no-continue, no-extra-label, no-labels | ||
continue queueLoop; | ||
} // Step 5: If Type(value) is Symbol, then throw a 'DataCloneError' DOMException. | ||
if (typeof originalValue$LWS === 'symbol') { | ||
// Stop cloning and set the original value and defer throwing to | ||
// native methods. | ||
setter$LWS(originalValue$LWS); // eslint-disable-next-line no-extra-label, no-labels | ||
break queueLoop; | ||
} // To support circular references check if the original value has been | ||
// seen. If it has then use the clone associated with its record instead | ||
// of creating a new clone. | ||
let cloneValue$LWS = SEEN_OBJECTS_MAP$LWS.get(originalValue$LWS); | ||
if (cloneValue$LWS) { | ||
setter$LWS(cloneValue$LWS); // eslint-disable-next-line no-continue, no-extra-label, no-labels | ||
continue queueLoop; | ||
} // Perform a brand check on originalValue. | ||
const brand$LWS = getBrand$LWS(originalValue$LWS); // eslint-disable-next-line default-case | ||
switch (brand$LWS) { | ||
// Step 19: Otherwise, if value is a platform object... | ||
case TO_STRING_BRAND_OBJECT$LWS: | ||
{ | ||
const proto$LWS = ReflectGetPrototypeOf$LWS(originalValue$LWS); | ||
if (proto$LWS === ObjectProto$LWS || proto$LWS === null) { | ||
cloneValue$LWS = {}; // Step 19.4: Set deep to true. | ||
enqueue$LWS(queue$LWS, originalValue$LWS, cloneValue$LWS); | ||
} | ||
break; | ||
} | ||
// Step 18: Otherwise, if value is an Array exotic object... | ||
case TO_STRING_BRAND_ARRAY$LWS: | ||
// Step 18.1 Let valueLenDescriptor be ? OrdinaryGetOwnProperty(value, 'length'). | ||
// Note: Rather than perform the more complex OrdinaryGetOwnProperty() | ||
// operation for 'length' because it is a non-configurable property | ||
// we can access it with the simpler [[Get]]() operation defined | ||
// in ECMA262. | ||
// https://tc39.es/ecma262/#sec-integer-indexed-exotic-objects-get-p-receiver | ||
cloneValue$LWS = ArrayCtor$LWS(originalValue$LWS.length); // Step 18.4: Set deep to true. | ||
enqueue$LWS(queue$LWS, originalValue$LWS, cloneValue$LWS); | ||
break; | ||
// Step 15: Otherwise, if value has [[MapData]] internal slot... | ||
// Step 15.2: Set deep to true. | ||
case TO_STRING_BRAND_MAP$LWS: | ||
cloneValue$LWS = cloneMap$LWS(originalValue$LWS, queue$LWS); | ||
break; | ||
// Step 16: Otherwise, if value has [[SetData]] internal slot... | ||
// Step 16.2: Set deep to true. | ||
case TO_STRING_BRAND_SET$LWS: | ||
cloneValue$LWS = cloneSet$LWS(originalValue$LWS, queue$LWS); | ||
break; | ||
} | ||
if (cloneValue$LWS === undefined) { | ||
// istanbul ignore else | ||
if (!isNearMembrane$LWS(originalValue$LWS)) { | ||
// Skip cloning non-membrane proxied objects. | ||
SEEN_OBJECTS_MAP$LWS.set(originalValue$LWS, originalValue$LWS); | ||
setter$LWS(originalValue$LWS); // eslint-disable-next-line no-extra-label, no-labels | ||
continue queueLoop; | ||
} // Cases ordered by a guestimate on frequency of encounter. | ||
// eslint-disable-next-line default-case | ||
switch (brand$LWS) { | ||
// Step 12: Otherwise, if value has a [[RegExpMatcher]] internal slot... | ||
case TO_STRING_BRAND_REG_EXP$LWS: | ||
cloneValue$LWS = cloneRegExp$LWS(originalValue$LWS); | ||
break; | ||
// Step 7: If value has a [[BooleanData]] internal slot... | ||
case TO_STRING_BRAND_BOOLEAN$LWS: // Step 8: Otherwise, if value has a [[NumberData]] internal slot... | ||
// eslint-disable-next-line no-fallthrough | ||
case TO_STRING_BRAND_NUMBER$LWS: // Step 9: Otherwise, if value has a [[BigIntData]] internal slot... | ||
// eslint-disable-next-line no-fallthrough | ||
case TO_STRING_BRAND_BIG_INT$LWS: // Step 10: Otherwise, if value has a [[StringData]] internal slot... | ||
// eslint-disable-next-line no-fallthrough | ||
case TO_STRING_BRAND_STRING$LWS: | ||
cloneValue$LWS = cloneBoxedPrimitive$LWS(originalValue$LWS); | ||
break; | ||
} | ||
} // Step 21: Otherwise, if IsCallable(value) is true, then throw a 'DataCloneError' | ||
// Step 20: Otherwise, if value is a platform object, then throw a 'DataCloneError' | ||
if (cloneValue$LWS === undefined) { | ||
// Stop cloning and set the original value and defer throwing to | ||
// native methods. | ||
setter$LWS(originalValue$LWS); // eslint-disable-next-line no-extra-label, no-labels | ||
break queueLoop; | ||
} | ||
SEEN_OBJECTS_MAP$LWS.set(originalValue$LWS, cloneValue$LWS); | ||
setter$LWS(cloneValue$LWS); | ||
} | ||
return result$LWS; | ||
} | ||
function partialStructuredClone$LWS(value$LWS) { | ||
let result$LWS = value$LWS; | ||
try { | ||
result$LWS = partialStructuredCloneInternal$LWS(value$LWS); // eslint-disable-next-line no-empty | ||
} catch (_unused15$LWS) {} | ||
SEEN_OBJECTS_MAP$LWS.clear(); | ||
return result$LWS; | ||
} | ||
function shallowCloneArray$LWS(array$LWS) { | ||
@@ -835,4 +1165,9 @@ return ReflectApply$LWS(ArrayProtoSlice$LWS, array$LWS, [0]); | ||
ReflectApply$LWS(consoleWarnRef$LWS, consoleRef$LWS, args$LWS); | ||
} | ||
} // Used by '@locker/near-membrane-base' | ||
const ErrorCtor$LWS = Error; // Used by '@locker/near-membrane-' packages. | ||
const TypeErrorCtor$LWS = TypeError; | ||
class LockerSecurityError$LWS extends Error { | ||
@@ -845,21 +1180,23 @@ constructor(message$LWS) { | ||
const { | ||
parse: JSONParse$LWS, | ||
stringify: JSONStringify$LWS | ||
} = JSON; | ||
const LOCKER_LIVE_VALUE_SYMBOL$LWS = SymbolFor$LWS('@@lockerLiveValue'); // This is used by packages/locker-core-engine/src/LockerFilter.js | ||
const trackedLiveTargets$LWS = toSafeWeakSet$LWS(new WeakSetCtor$LWS()); // This is used by packages/locker-core-engine/src/LockerFilter.js | ||
const SYMBOL_LIVE_OBJECT$LWS = LOCKER_LIVE_VALUE_SYMBOL$LWS; | ||
const SYMBOL_LIVE_OBJECT$LWS = SymbolFor$LWS('@@lockerLiveValue'); | ||
function isLiveObject$LWS(value$LWS) { | ||
// Based on the isTargetLive() function of | ||
// salesforce/near-membrane/packages/near-membrane-base/src/membrane.ts. | ||
if (value$LWS === null || value$LWS === undefined || value$LWS === ObjectProto$LWS || value$LWS === RegExpProto$LWS) { | ||
function isTargetLive$LWS(target$LWS, targetTraits$LWS = 0 | ||
/* TargetTraits.None */ | ||
) { | ||
if (targetTraits$LWS & 1 | ||
/* TargetTraits.IsArray */ | ||
|| targetTraits$LWS & 2 | ||
/* TargetTraits.IsArrayBufferView */ | ||
|| targetTraits$LWS & 64 | ||
/* TargetTraits.Revoked */ | ||
|| target$LWS === null || target$LWS === undefined || target$LWS === ObjectProto$LWS || target$LWS === RegExpProto$LWS) { | ||
return false; | ||
} | ||
if (typeof value$LWS === 'function') { | ||
if (typeof target$LWS === 'function') { | ||
try { | ||
return ObjectHasOwn$LWS(value$LWS, LOCKER_LIVE_VALUE_SYMBOL$LWS); // eslint-disable-next-line no-empty | ||
} catch (_unused15$LWS) {} | ||
return trackedLiveTargets$LWS.has(target$LWS) || ObjectHasOwn$LWS(target$LWS, SYMBOL_LIVE_OBJECT$LWS); // eslint-disable-next-line no-empty | ||
} catch (_unused16$LWS) {} | ||
@@ -869,3 +1206,10 @@ return false; | ||
if (typeof value$LWS === 'object') { | ||
if (typeof target$LWS === 'object') { | ||
try { | ||
if (trackedLiveTargets$LWS.has(target$LWS) || ObjectHasOwn$LWS(target$LWS, SYMBOL_LIVE_OBJECT$LWS)) { | ||
return true; | ||
} // eslint-disable-next-line no-empty | ||
} catch (_unused17$LWS) {} | ||
let constructor$LWS; | ||
@@ -876,38 +1220,35 @@ | ||
constructor: constructor$LWS | ||
} = value$LWS); | ||
} = target$LWS); | ||
if (constructor$LWS === ObjectCtor$LWS) { | ||
// If the constructor, own or inherited, points to `Object` | ||
// then `value` is not likely a prototype object. | ||
// then `target` is not likely a prototype object. | ||
return true; | ||
} // eslint-disable-next-line no-empty | ||
} catch (_unused16$LWS) {} | ||
} catch (_unused18$LWS) {} | ||
try { | ||
if (ObjectHasOwn$LWS(value$LWS, LOCKER_LIVE_VALUE_SYMBOL$LWS)) { | ||
if (ReflectGetPrototypeOf$LWS(target$LWS) === null && ( // Ensure `target` is not an `Object.prototype` from an iframe. | ||
typeof constructor$LWS !== 'function' || constructor$LWS.prototype !== target$LWS)) { | ||
return true; | ||
} // eslint-disable-next-line no-empty | ||
} catch (_unused17$LWS) {} | ||
} catch (_unused19$LWS) {} | ||
try { | ||
if (ReflectGetPrototypeOf$LWS(value$LWS) === null && ( // Ensure `value` is not an `Object.prototype` from an iframe. | ||
typeof constructor$LWS !== 'function' || constructor$LWS.prototype !== value$LWS)) { | ||
return true; | ||
} // eslint-disable-next-line no-empty | ||
if (targetTraits$LWS === 0 | ||
/* TargetTraits.None */ | ||
) { | ||
try { | ||
if (ArrayIsArray$LWS(target$LWS)) { | ||
return true; | ||
} | ||
} catch (_unused20$LWS) { | ||
// The target is a revoked proxy. | ||
return false; | ||
} | ||
} catch (_unused18$LWS) {} | ||
try { | ||
if (ArrayIsArray$LWS(value$LWS)) { | ||
if (ArrayBufferIsView$LWS(target$LWS)) { | ||
return true; | ||
} | ||
} catch (_unused19$LWS) { | ||
// The value is a revoked proxy. | ||
return false; | ||
} | ||
if (ArrayBufferIsView$LWS(value$LWS)) { | ||
return true; | ||
} // Section 25.1.5.1 get ArrayBuffer.prototype.byteLength | ||
@@ -921,8 +1262,8 @@ // https://tc39.es/ecma262/#sec-get-regexp.prototype.source | ||
try { | ||
if (ObjectHasOwn$LWS(value$LWS, 'lastIndex')) { | ||
ReflectApply$LWS(RegExpProtoSourceGetter$LWS, value$LWS, []); | ||
if (ObjectHasOwn$LWS(target$LWS, 'lastIndex')) { | ||
ReflectApply$LWS(RegExpProtoSourceGetter$LWS, target$LWS, []); | ||
return true; | ||
} // eslint-disable-next-line no-empty | ||
} catch (_unused20$LWS) {} // Section 25.1.5.1 get ArrayBuffer.prototype.byteLength | ||
} catch (_unused21$LWS) {} // Section 25.1.5.1 get ArrayBuffer.prototype.byteLength | ||
// https://tc39.es/ecma262/#sec-get-arraybuffer.prototype.bytelength | ||
@@ -933,8 +1274,8 @@ // Step 2: Perform RequireInternalSlot(O, [[ArrayBufferData]]). | ||
try { | ||
if ('byteLength' in value$LWS) { | ||
ReflectApply$LWS(ArrayBufferProtoByteLengthGetter$LWS, value$LWS, []); | ||
if ('byteLength' in target$LWS) { | ||
ReflectApply$LWS(ArrayBufferProtoByteLengthGetter$LWS, target$LWS, []); | ||
return true; | ||
} // eslint-disable-next-line no-empty | ||
} catch (_unused21$LWS) {} | ||
} catch (_unused22$LWS) {} | ||
} | ||
@@ -945,16 +1286,16 @@ | ||
function markLiveObject$LWS(target$LWS) { | ||
ReflectDefineProperty$LWS(target$LWS, LOCKER_LIVE_VALUE_SYMBOL$LWS, { | ||
__proto__: null, | ||
value: undefined | ||
}); | ||
function markTargetAsLive$LWS(target$LWS) { | ||
if ((typeof target$LWS === 'object' && target$LWS !== null || typeof target$LWS === 'function') && !isTargetLive$LWS(target$LWS)) { | ||
ReflectDefineProperty$LWS(target$LWS, SYMBOL_LIVE_OBJECT$LWS, { | ||
__proto__: null, | ||
value: undefined | ||
}); | ||
} | ||
return target$LWS; | ||
} | ||
function toLiveValue$LWS(value$LWS) { | ||
if (typeof value$LWS === 'object' && value$LWS !== null || typeof value$LWS === 'function') { | ||
return isLiveObject$LWS(value$LWS) ? value$LWS : markLiveObject$LWS(value$LWS); | ||
} | ||
return value$LWS; | ||
function trackTargetAsLive$LWS(target$LWS) { | ||
trackedLiveTargets$LWS.add(target$LWS); | ||
return target$LWS; | ||
} | ||
@@ -989,17 +1330,2 @@ | ||
const LOCKER_NEAR_MEMBRANE_SERIALIZED_VALUE_SYMBOL$LWS = SymbolFor$LWS('@@lockerNearMembraneSerializedValue'); | ||
const LOCKER_NEAR_MEMBRANE_SYMBOL$LWS = SymbolFor$LWS('@@lockerNearMembrane'); | ||
function getNearMembraneSerializedValue$LWS(object$LWS) { | ||
return LOCKER_NEAR_MEMBRANE_SERIALIZED_VALUE_SYMBOL$LWS in object$LWS ? undefined : object$LWS[LOCKER_NEAR_MEMBRANE_SERIALIZED_VALUE_SYMBOL$LWS]; | ||
} | ||
function isNearMembrane$LWS(value$LWS) { | ||
if (typeof value$LWS === 'object' && value$LWS !== null || typeof value$LWS === 'function') { | ||
return !(LOCKER_NEAR_MEMBRANE_SYMBOL$LWS in value$LWS) && value$LWS[LOCKER_NEAR_MEMBRANE_SYMBOL$LWS] === true; | ||
} | ||
return false; | ||
} | ||
const PromiseCtor$LWS = Promise; | ||
@@ -1046,2 +1372,3 @@ const { | ||
exports.DateProtoValueOf = DateProtoValueOf$LWS; | ||
exports.ErrorCtor = ErrorCtor$LWS; | ||
exports.FunctionProtoBind = FunctionProtoBind$LWS; | ||
@@ -1120,3 +1447,2 @@ exports.FunctionProtoToString = FunctionProtoToString$LWS; | ||
exports.SymbolIterator = SymbolIterator$LWS; | ||
exports.SymbolProto = SymbolProto$LWS; | ||
exports.SymbolProtoToString = SymbolProtoToString$LWS; | ||
@@ -1144,3 +1470,5 @@ exports.SymbolProtoValueOf = SymbolProtoValueOf$LWS; | ||
exports.TO_STRING_BRAND_WEAK_SET = TO_STRING_BRAND_WEAK_SET$LWS; | ||
exports.TypeErrorCtor = TypeErrorCtor$LWS; | ||
exports.UNCOMPILED_LOCATION_NAME = UNCOMPILED_LOCATION_NAME$LWS; | ||
exports.UNCOMPILED_TOP_NAME = UNCOMPILED_TOP_NAME$LWS; | ||
exports.WEBPACK_REQUIRE_NAME = WEBPACK_REQUIRE_NAME$LWS; | ||
@@ -1164,3 +1492,2 @@ exports.WeakMapCtor = WeakMapCtor$LWS; | ||
exports.isConvertibleToString = isConvertibleToString$LWS; | ||
exports.isLiveObject = isLiveObject$LWS; | ||
exports.isNamespacePrefixed = isNamespacePrefixed$LWS; | ||
@@ -1170,8 +1497,9 @@ exports.isNearMembrane = isNearMembrane$LWS; | ||
exports.isObjectLike = isObjectLike$LWS; | ||
exports.markLiveObject = markLiveObject$LWS; | ||
exports.isTargetLive = isTargetLive$LWS; | ||
exports.markTargetAsLive = markTargetAsLive$LWS; | ||
exports.noop = noop$LWS; | ||
exports.partialStructuredClone = partialStructuredClone$LWS; | ||
exports.prefixNamespace = prefixNamespace$LWS; | ||
exports.shallowCloneArray = shallowCloneArray$LWS; | ||
exports.shallowCloneOptions = shallowCloneOptions$LWS; | ||
exports.toLiveValue = toLiveValue$LWS; | ||
exports.toSafeArray = toSafeArray$LWS; | ||
@@ -1184,3 +1512,4 @@ exports.toSafeMap = toSafeMap$LWS; | ||
exports.toString = toString$LWS; | ||
exports.trackTargetAsLive = trackTargetAsLive$LWS; | ||
exports.unprefixNamespace = unprefixNamespace$LWS; | ||
/*! version: 0.17.5 */ | ||
/*! version: 0.17.6 */ |
@@ -9,11 +9,11 @@ /*! | ||
construct: ReflectConstruct$LWS, | ||
defineProperty: ReflectDefineProperty$LWS, | ||
deleteProperty: ReflectDeleteProperty$LWS, | ||
has: ReflectHas$LWS, | ||
get: ReflectGet$LWS, | ||
getOwnPropertyDescriptor: ReflectGetOwnPropertyDescriptor$LWS, | ||
getPrototypeOf: ReflectGetPrototypeOf$LWS, | ||
has: ReflectHas$LWS, | ||
ownKeys: ReflectOwnKeys$LWS, | ||
set: ReflectSet$LWS, | ||
setPrototypeOf: ReflectSetPrototypeOf$LWS, | ||
defineProperty: ReflectDefineProperty$LWS, | ||
getOwnPropertyDescriptor: ReflectGetOwnPropertyDescriptor$LWS, | ||
ownKeys: ReflectOwnKeys$LWS | ||
setPrototypeOf: ReflectSetPrototypeOf$LWS | ||
} = Reflect; | ||
@@ -70,5 +70,2 @@ const ObjectCtor$LWS = Object; | ||
const { | ||
prototype: SymbolProto$LWS | ||
} = SymbolCtor$LWS; | ||
const { | ||
for: SymbolFor$LWS, | ||
@@ -82,3 +79,3 @@ iterator: SymbolIterator$LWS, | ||
valueOf: SymbolProtoValueOf$LWS | ||
} = SymbolProto$LWS; | ||
} = SymbolCtor$LWS.prototype; | ||
const ArrayCtor$LWS = Array; | ||
@@ -251,2 +248,3 @@ const { | ||
const UNCOMPILED_LOCATION_NAME$LWS = `uncompiledLocation${LOCKER_IDENTIFIER_MARKER$LWS}`; | ||
const UNCOMPILED_TOP_NAME$LWS = `uncompiledTop${LOCKER_IDENTIFIER_MARKER$LWS}`; | ||
const WEBPACK_REQUIRE_NAME$LWS = '__webpack_require__'; | ||
@@ -802,2 +800,334 @@ const DateCtor$LWS = Date; | ||
const { | ||
parse: JSONParse$LWS, | ||
stringify: JSONStringify$LWS | ||
} = JSON; | ||
const LOCKER_NEAR_MEMBRANE_SERIALIZED_VALUE_SYMBOL$LWS = SymbolFor$LWS('@@lockerNearMembraneSerializedValue'); | ||
const LOCKER_NEAR_MEMBRANE_SYMBOL$LWS = SymbolFor$LWS('@@lockerNearMembrane'); | ||
function getNearMembraneSerializedValue$LWS(object$LWS) { | ||
return LOCKER_NEAR_MEMBRANE_SERIALIZED_VALUE_SYMBOL$LWS in object$LWS ? undefined : object$LWS[LOCKER_NEAR_MEMBRANE_SERIALIZED_VALUE_SYMBOL$LWS]; | ||
} | ||
function isNearMembrane$LWS(value$LWS) { | ||
if (typeof value$LWS === 'object' && value$LWS !== null || typeof value$LWS === 'function') { | ||
return !(LOCKER_NEAR_MEMBRANE_SYMBOL$LWS in value$LWS) && value$LWS[LOCKER_NEAR_MEMBRANE_SYMBOL$LWS] === true; | ||
} | ||
return false; | ||
} | ||
const SEEN_OBJECTS_MAP$LWS = toSafeMap$LWS(new MapCtor$LWS()); | ||
function cloneBoxedPrimitive$LWS(object$LWS) { | ||
return ObjectCtor$LWS(getNearMembraneSerializedValue$LWS(object$LWS)); | ||
} | ||
function cloneMap$LWS(map$LWS, queue$LWS) { | ||
// Section 2.7.3 StructuredSerializeInternal: | ||
// https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal | ||
// Step 26.1.1: Let copiedList be a new empty List. | ||
const clone$LWS = new MapCtor$LWS(); // Step 26.1.2: For each Record { [[Key]], [[Value]] } entry of value.[[MapData]]... | ||
const entriesIterable$LWS = ReflectApply$LWS(MapProtoEntries$LWS, map$LWS, []); // Step 26.1.3 For each Record { [[Key]], [[Value]] } entry of copiedList: | ||
let { | ||
length: queueOffset$LWS | ||
} = queue$LWS; // eslint-disable-next-line no-constant-condition | ||
while (true) { | ||
const { | ||
done: done$LWS, | ||
value: subKeyValuePair$LWS | ||
} = entriesIterable$LWS.next(); | ||
if (done$LWS) { | ||
break; | ||
} | ||
const { | ||
0: subKey$LWS, | ||
1: subValue$LWS | ||
} = subKeyValuePair$LWS; | ||
let subCloneKey$LWS; // Step 26.1.3.1: Let serializedKey be ? StructuredSerializeInternal(entry.[[Key]], forStorage, memory). | ||
queue$LWS[queueOffset$LWS++] = [subClone$LWS => { | ||
subCloneKey$LWS = subClone$LWS; | ||
}, subKey$LWS]; // Step 26.1.3.2: Let serializedValue be ? StructuredSerializeInternal(entry.[[Value]], forStorage, memory). | ||
queue$LWS[queueOffset$LWS++] = [subCloneValue$LWS => { | ||
ReflectApply$LWS(MapProtoSet$LWS, clone$LWS, [subCloneKey$LWS, subCloneValue$LWS]); | ||
}, subValue$LWS]; | ||
} | ||
return clone$LWS; | ||
} | ||
function cloneRegExp$LWS(regexp$LWS) { | ||
const { | ||
flags: flags$LWS, | ||
source: source$LWS | ||
} = JSONParse$LWS(getNearMembraneSerializedValue$LWS(regexp$LWS)); | ||
return new RegExpCtor$LWS(source$LWS, flags$LWS); | ||
} | ||
function cloneSet$LWS(set$LWS, queue$LWS) { | ||
// Section 2.7.3 StructuredSerializeInternal: | ||
// https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal | ||
// Step 26.2.1: Let copiedList be a new empty List. | ||
const clone$LWS = new SetCtor$LWS(); // Step 26.2.2: For each entry of value.[[SetData]]... | ||
const valuesIterable$LWS = ReflectApply$LWS(SetProtoValues$LWS, set$LWS, []); // Step 26.2.3: For each entry of copiedList: | ||
let { | ||
length: queueOffset$LWS | ||
} = queue$LWS; // eslint-disable-next-line no-constant-condition | ||
while (true) { | ||
const { | ||
done: done$LWS, | ||
value: subValue$LWS | ||
} = valuesIterable$LWS.next(); | ||
if (done$LWS) { | ||
break; | ||
} // Step 26.2.3.1: Let serializedEntry be ? StructuredSerializeInternal(entry, forStorage, memory). | ||
queue$LWS[queueOffset$LWS++] = [subCloneValue$LWS => { | ||
ReflectApply$LWS(SetProtoAdd$LWS, clone$LWS, [subCloneValue$LWS]); | ||
}, subValue$LWS]; | ||
} | ||
return clone$LWS; | ||
} | ||
function enqueue$LWS(queue$LWS, originalValue$LWS, cloneValue$LWS) { | ||
// Section 2.7.3 StructuredSerializeInternal: | ||
// https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal | ||
// Step 26.4: Otherwise, for each key in ! EnumerableOwnPropertyNames(value, key)... | ||
// Note: Object.keys() performs EnumerableOwnPropertyNames() internally as | ||
// defined in ECMA262: | ||
// https://tc39.es/ecma262/#sec-object.keys | ||
const keys$LWS = ObjectKeys$LWS(originalValue$LWS); | ||
let { | ||
length: queueOffset$LWS | ||
} = queue$LWS; | ||
for (let i$LWS = 0, { | ||
length: length$LWS | ||
} = keys$LWS; i$LWS < length$LWS; i$LWS += 1) { | ||
// Step 26.4.1.1: Let inputValue be ? value.[[Get]](key, value). | ||
// The [[Get]] operation is defined in ECMA262 for ordinary objects, | ||
// argument objects, integer-indexed exotic objects, module namespace | ||
// objects, and proxy objects. | ||
// https://tc39.es/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots-get-p-receiver | ||
const key$LWS = keys$LWS[i$LWS]; | ||
const subValue$LWS = originalValue$LWS[key$LWS]; | ||
queue$LWS[queueOffset$LWS++] = [subCloneValue$LWS => { | ||
// Step 26.4.1.3: Property descriptor attributes are not | ||
// preserved during deserialization because only keys and | ||
// values are captured in serialized.[[Properties]]. | ||
cloneValue$LWS[key$LWS] = subCloneValue$LWS; | ||
}, subValue$LWS]; | ||
} | ||
} // This function is the unguarded internal variant of `partialStructuredClone()`. | ||
// Any error thrown that is captured by `partialStructuredClone()` is treated as | ||
// a `DataCloneError`. This function clones blue membrane proxied arrays, plain | ||
// objects, maps, regexps, sets, and boxed primitives. The following non-membrane | ||
// proxied objects are set by reference instead of cloning: | ||
// ArrayBuffer | ||
// BigInt64Array | ||
// BigUint64Array | ||
// Blob | ||
// DataView | ||
// Date | ||
// DOMException | ||
// DOMMatrix | ||
// DOMMatrixReadOnly | ||
// DOMPoint | ||
// DOMPointReadOnly | ||
// DOMQuad | ||
// DOMRect | ||
// DOMRectReadOnly | ||
// Error | ||
// EvalError | ||
// File | ||
// FileList | ||
// Float32Array | ||
// Float64Array | ||
// ImageBitMap | ||
// ImageData | ||
// Int8Array | ||
// Int16Array | ||
// Int32Array | ||
// RangeError | ||
// ReferenceError | ||
// SyntaxError | ||
// TypeError | ||
// Uint8Array | ||
// Uint8ClampedArray | ||
// Uint16Array | ||
// Uint32Array | ||
// URIError | ||
// | ||
// Note: | ||
// This function performs brand checks using `Object.prototype.toString`. The | ||
// results can be faked with `Symbol.toStringTag` property values and are a poor | ||
// substitute for native internal slot checks. However, for our purposes they | ||
// are perfectly fine and avoid having to repeatedly walk the prototype of proxied | ||
// values. Cloned values should be passed to native methods, like `postMessage()`, | ||
// which perform their own validation with internal slot checks. | ||
function partialStructuredCloneInternal$LWS(value$LWS) { | ||
// Using a queue instead of recursive function calls avoids call stack limits | ||
// and enables cloning more complex and deeply nested objects. | ||
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Too_much_recursion | ||
let result$LWS; | ||
const queue$LWS = [[subClone$LWS => { | ||
result$LWS = subClone$LWS; | ||
}, value$LWS]]; // eslint-disable-next-line no-labels | ||
queueLoop: while (queue$LWS.length) { | ||
// Section 2.7.3 StructuredSerializeInternal: | ||
// https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal | ||
// prettier-ignore | ||
const { | ||
0: setter$LWS, | ||
1: originalValue$LWS | ||
} = ReflectApply$LWS(ArrayProtoShift$LWS, queue$LWS, []); // Step 4: If Type(value) is Undefined, Null, Boolean, Number, BigInt, or String | ||
if (originalValue$LWS === null || originalValue$LWS === undefined || typeof originalValue$LWS === 'boolean' || typeof originalValue$LWS === 'number' || typeof originalValue$LWS === 'string' || typeof originalValue$LWS === 'bigint') { | ||
setter$LWS(originalValue$LWS); // eslint-disable-next-line no-continue, no-extra-label, no-labels | ||
continue queueLoop; | ||
} // Step 5: If Type(value) is Symbol, then throw a 'DataCloneError' DOMException. | ||
if (typeof originalValue$LWS === 'symbol') { | ||
// Stop cloning and set the original value and defer throwing to | ||
// native methods. | ||
setter$LWS(originalValue$LWS); // eslint-disable-next-line no-extra-label, no-labels | ||
break queueLoop; | ||
} // To support circular references check if the original value has been | ||
// seen. If it has then use the clone associated with its record instead | ||
// of creating a new clone. | ||
let cloneValue$LWS = SEEN_OBJECTS_MAP$LWS.get(originalValue$LWS); | ||
if (cloneValue$LWS) { | ||
setter$LWS(cloneValue$LWS); // eslint-disable-next-line no-continue, no-extra-label, no-labels | ||
continue queueLoop; | ||
} // Perform a brand check on originalValue. | ||
const brand$LWS = getBrand$LWS(originalValue$LWS); // eslint-disable-next-line default-case | ||
switch (brand$LWS) { | ||
// Step 19: Otherwise, if value is a platform object... | ||
case TO_STRING_BRAND_OBJECT$LWS: | ||
{ | ||
const proto$LWS = ReflectGetPrototypeOf$LWS(originalValue$LWS); | ||
if (proto$LWS === ObjectProto$LWS || proto$LWS === null) { | ||
cloneValue$LWS = {}; // Step 19.4: Set deep to true. | ||
enqueue$LWS(queue$LWS, originalValue$LWS, cloneValue$LWS); | ||
} | ||
break; | ||
} | ||
// Step 18: Otherwise, if value is an Array exotic object... | ||
case TO_STRING_BRAND_ARRAY$LWS: | ||
// Step 18.1 Let valueLenDescriptor be ? OrdinaryGetOwnProperty(value, 'length'). | ||
// Note: Rather than perform the more complex OrdinaryGetOwnProperty() | ||
// operation for 'length' because it is a non-configurable property | ||
// we can access it with the simpler [[Get]]() operation defined | ||
// in ECMA262. | ||
// https://tc39.es/ecma262/#sec-integer-indexed-exotic-objects-get-p-receiver | ||
cloneValue$LWS = ArrayCtor$LWS(originalValue$LWS.length); // Step 18.4: Set deep to true. | ||
enqueue$LWS(queue$LWS, originalValue$LWS, cloneValue$LWS); | ||
break; | ||
// Step 15: Otherwise, if value has [[MapData]] internal slot... | ||
// Step 15.2: Set deep to true. | ||
case TO_STRING_BRAND_MAP$LWS: | ||
cloneValue$LWS = cloneMap$LWS(originalValue$LWS, queue$LWS); | ||
break; | ||
// Step 16: Otherwise, if value has [[SetData]] internal slot... | ||
// Step 16.2: Set deep to true. | ||
case TO_STRING_BRAND_SET$LWS: | ||
cloneValue$LWS = cloneSet$LWS(originalValue$LWS, queue$LWS); | ||
break; | ||
} | ||
if (cloneValue$LWS === undefined) { | ||
// istanbul ignore else | ||
if (!isNearMembrane$LWS(originalValue$LWS)) { | ||
// Skip cloning non-membrane proxied objects. | ||
SEEN_OBJECTS_MAP$LWS.set(originalValue$LWS, originalValue$LWS); | ||
setter$LWS(originalValue$LWS); // eslint-disable-next-line no-extra-label, no-labels | ||
continue queueLoop; | ||
} // Cases ordered by a guestimate on frequency of encounter. | ||
// eslint-disable-next-line default-case | ||
switch (brand$LWS) { | ||
// Step 12: Otherwise, if value has a [[RegExpMatcher]] internal slot... | ||
case TO_STRING_BRAND_REG_EXP$LWS: | ||
cloneValue$LWS = cloneRegExp$LWS(originalValue$LWS); | ||
break; | ||
// Step 7: If value has a [[BooleanData]] internal slot... | ||
case TO_STRING_BRAND_BOOLEAN$LWS: // Step 8: Otherwise, if value has a [[NumberData]] internal slot... | ||
// eslint-disable-next-line no-fallthrough | ||
case TO_STRING_BRAND_NUMBER$LWS: // Step 9: Otherwise, if value has a [[BigIntData]] internal slot... | ||
// eslint-disable-next-line no-fallthrough | ||
case TO_STRING_BRAND_BIG_INT$LWS: // Step 10: Otherwise, if value has a [[StringData]] internal slot... | ||
// eslint-disable-next-line no-fallthrough | ||
case TO_STRING_BRAND_STRING$LWS: | ||
cloneValue$LWS = cloneBoxedPrimitive$LWS(originalValue$LWS); | ||
break; | ||
} | ||
} // Step 21: Otherwise, if IsCallable(value) is true, then throw a 'DataCloneError' | ||
// Step 20: Otherwise, if value is a platform object, then throw a 'DataCloneError' | ||
if (cloneValue$LWS === undefined) { | ||
// Stop cloning and set the original value and defer throwing to | ||
// native methods. | ||
setter$LWS(originalValue$LWS); // eslint-disable-next-line no-extra-label, no-labels | ||
break queueLoop; | ||
} | ||
SEEN_OBJECTS_MAP$LWS.set(originalValue$LWS, cloneValue$LWS); | ||
setter$LWS(cloneValue$LWS); | ||
} | ||
return result$LWS; | ||
} | ||
function partialStructuredClone$LWS(value$LWS) { | ||
let result$LWS = value$LWS; | ||
try { | ||
result$LWS = partialStructuredCloneInternal$LWS(value$LWS); // eslint-disable-next-line no-empty | ||
} catch (_unused15$LWS) {} | ||
SEEN_OBJECTS_MAP$LWS.clear(); | ||
return result$LWS; | ||
} | ||
function shallowCloneArray$LWS(array$LWS) { | ||
@@ -830,4 +1160,9 @@ return ReflectApply$LWS(ArrayProtoSlice$LWS, array$LWS, [0]); | ||
ReflectApply$LWS(consoleWarnRef$LWS, consoleRef$LWS, args$LWS); | ||
} | ||
} // Used by '@locker/near-membrane-base' | ||
const ErrorCtor$LWS = Error; // Used by '@locker/near-membrane-' packages. | ||
const TypeErrorCtor$LWS = TypeError; | ||
class LockerSecurityError$LWS extends Error { | ||
@@ -840,21 +1175,23 @@ constructor(message$LWS) { | ||
const { | ||
parse: JSONParse$LWS, | ||
stringify: JSONStringify$LWS | ||
} = JSON; | ||
const LOCKER_LIVE_VALUE_SYMBOL$LWS = SymbolFor$LWS('@@lockerLiveValue'); // This is used by packages/locker-core-engine/src/LockerFilter.js | ||
const trackedLiveTargets$LWS = toSafeWeakSet$LWS(new WeakSetCtor$LWS()); // This is used by packages/locker-core-engine/src/LockerFilter.js | ||
const SYMBOL_LIVE_OBJECT$LWS = LOCKER_LIVE_VALUE_SYMBOL$LWS; | ||
const SYMBOL_LIVE_OBJECT$LWS = SymbolFor$LWS('@@lockerLiveValue'); | ||
function isLiveObject$LWS(value$LWS) { | ||
// Based on the isTargetLive() function of | ||
// salesforce/near-membrane/packages/near-membrane-base/src/membrane.ts. | ||
if (value$LWS === null || value$LWS === undefined || value$LWS === ObjectProto$LWS || value$LWS === RegExpProto$LWS) { | ||
function isTargetLive$LWS(target$LWS, targetTraits$LWS = 0 | ||
/* TargetTraits.None */ | ||
) { | ||
if (targetTraits$LWS & 1 | ||
/* TargetTraits.IsArray */ | ||
|| targetTraits$LWS & 2 | ||
/* TargetTraits.IsArrayBufferView */ | ||
|| targetTraits$LWS & 64 | ||
/* TargetTraits.Revoked */ | ||
|| target$LWS === null || target$LWS === undefined || target$LWS === ObjectProto$LWS || target$LWS === RegExpProto$LWS) { | ||
return false; | ||
} | ||
if (typeof value$LWS === 'function') { | ||
if (typeof target$LWS === 'function') { | ||
try { | ||
return ObjectHasOwn$LWS(value$LWS, LOCKER_LIVE_VALUE_SYMBOL$LWS); // eslint-disable-next-line no-empty | ||
} catch (_unused15$LWS) {} | ||
return trackedLiveTargets$LWS.has(target$LWS) || ObjectHasOwn$LWS(target$LWS, SYMBOL_LIVE_OBJECT$LWS); // eslint-disable-next-line no-empty | ||
} catch (_unused16$LWS) {} | ||
@@ -864,3 +1201,10 @@ return false; | ||
if (typeof value$LWS === 'object') { | ||
if (typeof target$LWS === 'object') { | ||
try { | ||
if (trackedLiveTargets$LWS.has(target$LWS) || ObjectHasOwn$LWS(target$LWS, SYMBOL_LIVE_OBJECT$LWS)) { | ||
return true; | ||
} // eslint-disable-next-line no-empty | ||
} catch (_unused17$LWS) {} | ||
let constructor$LWS; | ||
@@ -871,38 +1215,35 @@ | ||
constructor: constructor$LWS | ||
} = value$LWS); | ||
} = target$LWS); | ||
if (constructor$LWS === ObjectCtor$LWS) { | ||
// If the constructor, own or inherited, points to `Object` | ||
// then `value` is not likely a prototype object. | ||
// then `target` is not likely a prototype object. | ||
return true; | ||
} // eslint-disable-next-line no-empty | ||
} catch (_unused16$LWS) {} | ||
} catch (_unused18$LWS) {} | ||
try { | ||
if (ObjectHasOwn$LWS(value$LWS, LOCKER_LIVE_VALUE_SYMBOL$LWS)) { | ||
if (ReflectGetPrototypeOf$LWS(target$LWS) === null && ( // Ensure `target` is not an `Object.prototype` from an iframe. | ||
typeof constructor$LWS !== 'function' || constructor$LWS.prototype !== target$LWS)) { | ||
return true; | ||
} // eslint-disable-next-line no-empty | ||
} catch (_unused17$LWS) {} | ||
} catch (_unused19$LWS) {} | ||
try { | ||
if (ReflectGetPrototypeOf$LWS(value$LWS) === null && ( // Ensure `value` is not an `Object.prototype` from an iframe. | ||
typeof constructor$LWS !== 'function' || constructor$LWS.prototype !== value$LWS)) { | ||
return true; | ||
} // eslint-disable-next-line no-empty | ||
if (targetTraits$LWS === 0 | ||
/* TargetTraits.None */ | ||
) { | ||
try { | ||
if (ArrayIsArray$LWS(target$LWS)) { | ||
return true; | ||
} | ||
} catch (_unused20$LWS) { | ||
// The target is a revoked proxy. | ||
return false; | ||
} | ||
} catch (_unused18$LWS) {} | ||
try { | ||
if (ArrayIsArray$LWS(value$LWS)) { | ||
if (ArrayBufferIsView$LWS(target$LWS)) { | ||
return true; | ||
} | ||
} catch (_unused19$LWS) { | ||
// The value is a revoked proxy. | ||
return false; | ||
} | ||
if (ArrayBufferIsView$LWS(value$LWS)) { | ||
return true; | ||
} // Section 25.1.5.1 get ArrayBuffer.prototype.byteLength | ||
@@ -916,8 +1257,8 @@ // https://tc39.es/ecma262/#sec-get-regexp.prototype.source | ||
try { | ||
if (ObjectHasOwn$LWS(value$LWS, 'lastIndex')) { | ||
ReflectApply$LWS(RegExpProtoSourceGetter$LWS, value$LWS, []); | ||
if (ObjectHasOwn$LWS(target$LWS, 'lastIndex')) { | ||
ReflectApply$LWS(RegExpProtoSourceGetter$LWS, target$LWS, []); | ||
return true; | ||
} // eslint-disable-next-line no-empty | ||
} catch (_unused20$LWS) {} // Section 25.1.5.1 get ArrayBuffer.prototype.byteLength | ||
} catch (_unused21$LWS) {} // Section 25.1.5.1 get ArrayBuffer.prototype.byteLength | ||
// https://tc39.es/ecma262/#sec-get-arraybuffer.prototype.bytelength | ||
@@ -928,8 +1269,8 @@ // Step 2: Perform RequireInternalSlot(O, [[ArrayBufferData]]). | ||
try { | ||
if ('byteLength' in value$LWS) { | ||
ReflectApply$LWS(ArrayBufferProtoByteLengthGetter$LWS, value$LWS, []); | ||
if ('byteLength' in target$LWS) { | ||
ReflectApply$LWS(ArrayBufferProtoByteLengthGetter$LWS, target$LWS, []); | ||
return true; | ||
} // eslint-disable-next-line no-empty | ||
} catch (_unused21$LWS) {} | ||
} catch (_unused22$LWS) {} | ||
} | ||
@@ -940,16 +1281,16 @@ | ||
function markLiveObject$LWS(target$LWS) { | ||
ReflectDefineProperty$LWS(target$LWS, LOCKER_LIVE_VALUE_SYMBOL$LWS, { | ||
__proto__: null, | ||
value: undefined | ||
}); | ||
function markTargetAsLive$LWS(target$LWS) { | ||
if ((typeof target$LWS === 'object' && target$LWS !== null || typeof target$LWS === 'function') && !isTargetLive$LWS(target$LWS)) { | ||
ReflectDefineProperty$LWS(target$LWS, SYMBOL_LIVE_OBJECT$LWS, { | ||
__proto__: null, | ||
value: undefined | ||
}); | ||
} | ||
return target$LWS; | ||
} | ||
function toLiveValue$LWS(value$LWS) { | ||
if (typeof value$LWS === 'object' && value$LWS !== null || typeof value$LWS === 'function') { | ||
return isLiveObject$LWS(value$LWS) ? value$LWS : markLiveObject$LWS(value$LWS); | ||
} | ||
return value$LWS; | ||
function trackTargetAsLive$LWS(target$LWS) { | ||
trackedLiveTargets$LWS.add(target$LWS); | ||
return target$LWS; | ||
} | ||
@@ -984,17 +1325,2 @@ | ||
const LOCKER_NEAR_MEMBRANE_SERIALIZED_VALUE_SYMBOL$LWS = SymbolFor$LWS('@@lockerNearMembraneSerializedValue'); | ||
const LOCKER_NEAR_MEMBRANE_SYMBOL$LWS = SymbolFor$LWS('@@lockerNearMembrane'); | ||
function getNearMembraneSerializedValue$LWS(object$LWS) { | ||
return LOCKER_NEAR_MEMBRANE_SERIALIZED_VALUE_SYMBOL$LWS in object$LWS ? undefined : object$LWS[LOCKER_NEAR_MEMBRANE_SERIALIZED_VALUE_SYMBOL$LWS]; | ||
} | ||
function isNearMembrane$LWS(value$LWS) { | ||
if (typeof value$LWS === 'object' && value$LWS !== null || typeof value$LWS === 'function') { | ||
return !(LOCKER_NEAR_MEMBRANE_SYMBOL$LWS in value$LWS) && value$LWS[LOCKER_NEAR_MEMBRANE_SYMBOL$LWS] === true; | ||
} | ||
return false; | ||
} | ||
const PromiseCtor$LWS = Promise; | ||
@@ -1020,3 +1346,3 @@ const { | ||
export { ArrayBufferIsView$LWS as ArrayBufferIsView, ArrayBufferProtoByteLengthGetter$LWS as ArrayBufferProtoByteLengthGetter, ArrayConcat$LWS as ArrayConcat, ArrayCtor$LWS as ArrayCtor, ArrayIsArray$LWS as ArrayIsArray, ArrayProtoFilter$LWS as ArrayProtoFilter, ArrayProtoIncludes$LWS as ArrayProtoIncludes, ArrayProtoIndexOf$LWS as ArrayProtoIndexOf, ArrayProtoJoin$LWS as ArrayProtoJoin, ArrayProtoPush$LWS as ArrayProtoPush, ArrayProtoShift$LWS as ArrayProtoShift, ArrayProtoSlice$LWS as ArrayProtoSlice, ArrayProtoSort$LWS as ArrayProtoSort, ArrayProtoUnshift$LWS as ArrayProtoUnshift, BigIntProtoValueOf$LWS as BigIntProtoValueOf, BooleanProtoValueOf$LWS as BooleanProtoValueOf, CHAR_ELLIPSIS$LWS as CHAR_ELLIPSIS, CHAR_QUOTE_DOUBLE$LWS as CHAR_QUOTE_DOUBLE, CHAR_QUOTE_SINGLE$LWS as CHAR_QUOTE_SINGLE, DateNow$LWS as DateNow, DateProtoValueOf$LWS as DateProtoValueOf, FunctionProtoBind$LWS as FunctionProtoBind, FunctionProtoToString$LWS as FunctionProtoToString, JSONParse$LWS as JSONParse, JSONStringify$LWS as JSONStringify, LOCKER_IDENTIFIER_MARKER$LWS as LOCKER_IDENTIFIER_MARKER, LOCKER_UNMINIFIED_FLAG$LWS as LOCKER_UNMINIFIED_FLAG, LockerSecurityError$LWS as LockerSecurityError, MapCtor$LWS as MapCtor, MapProtoEntries$LWS as MapProtoEntries, MapProtoSet$LWS as MapProtoSet, MapProtoSizeGetter$LWS as MapProtoSizeGetter, MathMin$LWS as MathMin, NumberIsFinite$LWS as NumberIsFinite, NumberIsInteger$LWS as NumberIsInteger, NumberProtoToFixed$LWS as NumberProtoToFixed, NumberProtoValueOf$LWS as NumberProtoValueOf, ObjectAssign$LWS as ObjectAssign, ObjectCtor$LWS as ObjectCtor, ObjectFreeze$LWS as ObjectFreeze, ObjectGetOwnPropertyDescriptors$LWS as ObjectGetOwnPropertyDescriptors, ObjectGetOwnPropertySymbols$LWS as ObjectGetOwnPropertySymbols, ObjectHasOwn$LWS as ObjectHasOwn, ObjectKeys$LWS as ObjectKeys, ObjectLookupOwnGetter$LWS as ObjectLookupOwnGetter, ObjectLookupOwnSetter$LWS as ObjectLookupOwnSetter, ObjectLookupOwnValue$LWS as ObjectLookupOwnValue, ObjectPreventExtensions$LWS as ObjectPreventExtensions, ObjectProto$LWS as ObjectProto, ObjectProtoToString$LWS as ObjectProtoToString, PromiseProtoCatch$LWS as PromiseProtoCatch, PromiseProtoThen$LWS as PromiseProtoThen, PromiseReject$LWS as PromiseReject, PromiseResolve$LWS as PromiseResolve, ProxyCtor$LWS as ProxyCtor, ProxyRevocable$LWS as ProxyRevocable, ReflectApply$LWS as ReflectApply, ReflectConstruct$LWS as ReflectConstruct, ReflectDefineProperty$LWS as ReflectDefineProperty, ReflectDeleteProperty$LWS as ReflectDeleteProperty, ReflectGet$LWS as ReflectGet, ReflectGetOwnPropertyDescriptor$LWS as ReflectGetOwnPropertyDescriptor, ReflectGetPrototypeOf$LWS as ReflectGetPrototypeOf, ReflectHas$LWS as ReflectHas, ReflectOwnKeys$LWS as ReflectOwnKeys, ReflectSet$LWS as ReflectSet, ReflectSetPrototypeOf$LWS as ReflectSetPrototypeOf, RegExpCtor$LWS as RegExpCtor, RegExpProto$LWS as RegExpProto, RegExpProtoExec$LWS as RegExpProtoExec, RegExpProtoSourceGetter$LWS as RegExpProtoSourceGetter, RegExpProtoTest$LWS as RegExpProtoTest, SANDBOX_EVAL_CONTEXT_NAME$LWS as SANDBOX_EVAL_CONTEXT_NAME, SANDBOX_EVAL_HELPERS_NAME$LWS as SANDBOX_EVAL_HELPERS_NAME, SUPPORTS_BIG_INT$LWS as SUPPORTS_BIG_INT, SYMBOL_LIVE_OBJECT$LWS as SYMBOL_LIVE_OBJECT, SetCtor$LWS as SetCtor, SetProtoAdd$LWS as SetProtoAdd, SetProtoSizeGetter$LWS as SetProtoSizeGetter, SetProtoValues$LWS as SetProtoValues, StringCtor$LWS as StringCtor, StringProtoEndsWith$LWS as StringProtoEndsWith, StringProtoIncludes$LWS as StringProtoIncludes, StringProtoIndexOf$LWS as StringProtoIndexOf, StringProtoMatch$LWS as StringProtoMatch, StringProtoReplace$LWS as StringProtoReplace, StringProtoSlice$LWS as StringProtoSlice, StringProtoSplit$LWS as StringProtoSplit, StringProtoStartsWith$LWS as StringProtoStartsWith, StringProtoToLowerCase$LWS as StringProtoToLowerCase, StringProtoToUpperCase$LWS as StringProtoToUpperCase, StringProtoValueOf$LWS as StringProtoValueOf, SymbolFor$LWS as SymbolFor, SymbolIterator$LWS as SymbolIterator, SymbolProto$LWS as SymbolProto, SymbolProtoToString$LWS as SymbolProtoToString, SymbolProtoValueOf$LWS as SymbolProtoValueOf, SymbolToStringTag$LWS as SymbolToStringTag, SymbolUnscopables$LWS as SymbolUnscopables, TO_STRING_BRAND_ARRAY$LWS as TO_STRING_BRAND_ARRAY, TO_STRING_BRAND_ARRAY_BUFFER$LWS as TO_STRING_BRAND_ARRAY_BUFFER, TO_STRING_BRAND_BIG_INT$LWS as TO_STRING_BRAND_BIG_INT, TO_STRING_BRAND_BOOLEAN$LWS as TO_STRING_BRAND_BOOLEAN, TO_STRING_BRAND_DATE$LWS as TO_STRING_BRAND_DATE, TO_STRING_BRAND_ERROR$LWS as TO_STRING_BRAND_ERROR, TO_STRING_BRAND_FUNCTION$LWS as TO_STRING_BRAND_FUNCTION, TO_STRING_BRAND_MAP$LWS as TO_STRING_BRAND_MAP, TO_STRING_BRAND_NULL$LWS as TO_STRING_BRAND_NULL, TO_STRING_BRAND_NUMBER$LWS as TO_STRING_BRAND_NUMBER, TO_STRING_BRAND_OBJECT$LWS as TO_STRING_BRAND_OBJECT, TO_STRING_BRAND_REG_EXP$LWS as TO_STRING_BRAND_REG_EXP, TO_STRING_BRAND_SET$LWS as TO_STRING_BRAND_SET, TO_STRING_BRAND_STRING$LWS as TO_STRING_BRAND_STRING, TO_STRING_BRAND_SYMBOL$LWS as TO_STRING_BRAND_SYMBOL, TO_STRING_BRAND_UNDEFINED$LWS as TO_STRING_BRAND_UNDEFINED, TO_STRING_BRAND_WEAK_MAP$LWS as TO_STRING_BRAND_WEAK_MAP, TO_STRING_BRAND_WEAK_SET$LWS as TO_STRING_BRAND_WEAK_SET, UNCOMPILED_LOCATION_NAME$LWS as UNCOMPILED_LOCATION_NAME, WEBPACK_REQUIRE_NAME$LWS as WEBPACK_REQUIRE_NAME, WeakMapCtor$LWS as WeakMapCtor, WeakMapProtoHas$LWS as WeakMapProtoHas, WeakSetCtor$LWS as WeakSetCtor, WeakSetProtoHas$LWS as WeakSetProtoHas, alwaysNull$LWS as alwaysNull, capitalizeFirstChar$LWS as capitalizeFirstChar, consoleWarn$LWS as consoleWarn, createRevokedProxy$LWS as createRevokedProxy, enquote$LWS as enquote, escapeRegExp$LWS as escapeRegExp, extractFunctionBodySource$LWS as extractFunctionBodySource, getBrand$LWS as getBrand, getNamespacePrefix$LWS as getNamespacePrefix, getNearMembraneSerializedValue$LWS as getNearMembraneSerializedValue, getTimestamp$LWS as getTimestamp, indexOfPragma$LWS as indexOfPragma, isConvertibleToString$LWS as isConvertibleToString, isLiveObject$LWS as isLiveObject, isNamespacePrefixed$LWS as isNamespacePrefixed, isNearMembrane$LWS as isNearMembrane, isObject$LWS as isObject, isObjectLike$LWS as isObjectLike, markLiveObject$LWS as markLiveObject, noop$LWS as noop, prefixNamespace$LWS as prefixNamespace, shallowCloneArray$LWS as shallowCloneArray, shallowCloneOptions$LWS as shallowCloneOptions, toLiveValue$LWS as toLiveValue, toSafeArray$LWS as toSafeArray, toSafeMap$LWS as toSafeMap, toSafeSet$LWS as toSafeSet, toSafeTemplateStringValue$LWS as toSafeTemplateStringValue, toSafeWeakMap$LWS as toSafeWeakMap, toSafeWeakSet$LWS as toSafeWeakSet, toString$LWS as toString, unprefixNamespace$LWS as unprefixNamespace }; | ||
/*! version: 0.17.5 */ | ||
export { ArrayBufferIsView$LWS as ArrayBufferIsView, ArrayBufferProtoByteLengthGetter$LWS as ArrayBufferProtoByteLengthGetter, ArrayConcat$LWS as ArrayConcat, ArrayCtor$LWS as ArrayCtor, ArrayIsArray$LWS as ArrayIsArray, ArrayProtoFilter$LWS as ArrayProtoFilter, ArrayProtoIncludes$LWS as ArrayProtoIncludes, ArrayProtoIndexOf$LWS as ArrayProtoIndexOf, ArrayProtoJoin$LWS as ArrayProtoJoin, ArrayProtoPush$LWS as ArrayProtoPush, ArrayProtoShift$LWS as ArrayProtoShift, ArrayProtoSlice$LWS as ArrayProtoSlice, ArrayProtoSort$LWS as ArrayProtoSort, ArrayProtoUnshift$LWS as ArrayProtoUnshift, BigIntProtoValueOf$LWS as BigIntProtoValueOf, BooleanProtoValueOf$LWS as BooleanProtoValueOf, CHAR_ELLIPSIS$LWS as CHAR_ELLIPSIS, CHAR_QUOTE_DOUBLE$LWS as CHAR_QUOTE_DOUBLE, CHAR_QUOTE_SINGLE$LWS as CHAR_QUOTE_SINGLE, DateNow$LWS as DateNow, DateProtoValueOf$LWS as DateProtoValueOf, ErrorCtor$LWS as ErrorCtor, FunctionProtoBind$LWS as FunctionProtoBind, FunctionProtoToString$LWS as FunctionProtoToString, JSONParse$LWS as JSONParse, JSONStringify$LWS as JSONStringify, LOCKER_IDENTIFIER_MARKER$LWS as LOCKER_IDENTIFIER_MARKER, LOCKER_UNMINIFIED_FLAG$LWS as LOCKER_UNMINIFIED_FLAG, LockerSecurityError$LWS as LockerSecurityError, MapCtor$LWS as MapCtor, MapProtoEntries$LWS as MapProtoEntries, MapProtoSet$LWS as MapProtoSet, MapProtoSizeGetter$LWS as MapProtoSizeGetter, MathMin$LWS as MathMin, NumberIsFinite$LWS as NumberIsFinite, NumberIsInteger$LWS as NumberIsInteger, NumberProtoToFixed$LWS as NumberProtoToFixed, NumberProtoValueOf$LWS as NumberProtoValueOf, ObjectAssign$LWS as ObjectAssign, ObjectCtor$LWS as ObjectCtor, ObjectFreeze$LWS as ObjectFreeze, ObjectGetOwnPropertyDescriptors$LWS as ObjectGetOwnPropertyDescriptors, ObjectGetOwnPropertySymbols$LWS as ObjectGetOwnPropertySymbols, ObjectHasOwn$LWS as ObjectHasOwn, ObjectKeys$LWS as ObjectKeys, ObjectLookupOwnGetter$LWS as ObjectLookupOwnGetter, ObjectLookupOwnSetter$LWS as ObjectLookupOwnSetter, ObjectLookupOwnValue$LWS as ObjectLookupOwnValue, ObjectPreventExtensions$LWS as ObjectPreventExtensions, ObjectProto$LWS as ObjectProto, ObjectProtoToString$LWS as ObjectProtoToString, PromiseProtoCatch$LWS as PromiseProtoCatch, PromiseProtoThen$LWS as PromiseProtoThen, PromiseReject$LWS as PromiseReject, PromiseResolve$LWS as PromiseResolve, ProxyCtor$LWS as ProxyCtor, ProxyRevocable$LWS as ProxyRevocable, ReflectApply$LWS as ReflectApply, ReflectConstruct$LWS as ReflectConstruct, ReflectDefineProperty$LWS as ReflectDefineProperty, ReflectDeleteProperty$LWS as ReflectDeleteProperty, ReflectGet$LWS as ReflectGet, ReflectGetOwnPropertyDescriptor$LWS as ReflectGetOwnPropertyDescriptor, ReflectGetPrototypeOf$LWS as ReflectGetPrototypeOf, ReflectHas$LWS as ReflectHas, ReflectOwnKeys$LWS as ReflectOwnKeys, ReflectSet$LWS as ReflectSet, ReflectSetPrototypeOf$LWS as ReflectSetPrototypeOf, RegExpCtor$LWS as RegExpCtor, RegExpProto$LWS as RegExpProto, RegExpProtoExec$LWS as RegExpProtoExec, RegExpProtoSourceGetter$LWS as RegExpProtoSourceGetter, RegExpProtoTest$LWS as RegExpProtoTest, SANDBOX_EVAL_CONTEXT_NAME$LWS as SANDBOX_EVAL_CONTEXT_NAME, SANDBOX_EVAL_HELPERS_NAME$LWS as SANDBOX_EVAL_HELPERS_NAME, SUPPORTS_BIG_INT$LWS as SUPPORTS_BIG_INT, SYMBOL_LIVE_OBJECT$LWS as SYMBOL_LIVE_OBJECT, SetCtor$LWS as SetCtor, SetProtoAdd$LWS as SetProtoAdd, SetProtoSizeGetter$LWS as SetProtoSizeGetter, SetProtoValues$LWS as SetProtoValues, StringCtor$LWS as StringCtor, StringProtoEndsWith$LWS as StringProtoEndsWith, StringProtoIncludes$LWS as StringProtoIncludes, StringProtoIndexOf$LWS as StringProtoIndexOf, StringProtoMatch$LWS as StringProtoMatch, StringProtoReplace$LWS as StringProtoReplace, StringProtoSlice$LWS as StringProtoSlice, StringProtoSplit$LWS as StringProtoSplit, StringProtoStartsWith$LWS as StringProtoStartsWith, StringProtoToLowerCase$LWS as StringProtoToLowerCase, StringProtoToUpperCase$LWS as StringProtoToUpperCase, StringProtoValueOf$LWS as StringProtoValueOf, SymbolFor$LWS as SymbolFor, SymbolIterator$LWS as SymbolIterator, SymbolProtoToString$LWS as SymbolProtoToString, SymbolProtoValueOf$LWS as SymbolProtoValueOf, SymbolToStringTag$LWS as SymbolToStringTag, SymbolUnscopables$LWS as SymbolUnscopables, TO_STRING_BRAND_ARRAY$LWS as TO_STRING_BRAND_ARRAY, TO_STRING_BRAND_ARRAY_BUFFER$LWS as TO_STRING_BRAND_ARRAY_BUFFER, TO_STRING_BRAND_BIG_INT$LWS as TO_STRING_BRAND_BIG_INT, TO_STRING_BRAND_BOOLEAN$LWS as TO_STRING_BRAND_BOOLEAN, TO_STRING_BRAND_DATE$LWS as TO_STRING_BRAND_DATE, TO_STRING_BRAND_ERROR$LWS as TO_STRING_BRAND_ERROR, TO_STRING_BRAND_FUNCTION$LWS as TO_STRING_BRAND_FUNCTION, TO_STRING_BRAND_MAP$LWS as TO_STRING_BRAND_MAP, TO_STRING_BRAND_NULL$LWS as TO_STRING_BRAND_NULL, TO_STRING_BRAND_NUMBER$LWS as TO_STRING_BRAND_NUMBER, TO_STRING_BRAND_OBJECT$LWS as TO_STRING_BRAND_OBJECT, TO_STRING_BRAND_REG_EXP$LWS as TO_STRING_BRAND_REG_EXP, TO_STRING_BRAND_SET$LWS as TO_STRING_BRAND_SET, TO_STRING_BRAND_STRING$LWS as TO_STRING_BRAND_STRING, TO_STRING_BRAND_SYMBOL$LWS as TO_STRING_BRAND_SYMBOL, TO_STRING_BRAND_UNDEFINED$LWS as TO_STRING_BRAND_UNDEFINED, TO_STRING_BRAND_WEAK_MAP$LWS as TO_STRING_BRAND_WEAK_MAP, TO_STRING_BRAND_WEAK_SET$LWS as TO_STRING_BRAND_WEAK_SET, TypeErrorCtor$LWS as TypeErrorCtor, UNCOMPILED_LOCATION_NAME$LWS as UNCOMPILED_LOCATION_NAME, UNCOMPILED_TOP_NAME$LWS as UNCOMPILED_TOP_NAME, WEBPACK_REQUIRE_NAME$LWS as WEBPACK_REQUIRE_NAME, WeakMapCtor$LWS as WeakMapCtor, WeakMapProtoHas$LWS as WeakMapProtoHas, WeakSetCtor$LWS as WeakSetCtor, WeakSetProtoHas$LWS as WeakSetProtoHas, alwaysNull$LWS as alwaysNull, capitalizeFirstChar$LWS as capitalizeFirstChar, consoleWarn$LWS as consoleWarn, createRevokedProxy$LWS as createRevokedProxy, enquote$LWS as enquote, escapeRegExp$LWS as escapeRegExp, extractFunctionBodySource$LWS as extractFunctionBodySource, getBrand$LWS as getBrand, getNamespacePrefix$LWS as getNamespacePrefix, getNearMembraneSerializedValue$LWS as getNearMembraneSerializedValue, getTimestamp$LWS as getTimestamp, indexOfPragma$LWS as indexOfPragma, isConvertibleToString$LWS as isConvertibleToString, isNamespacePrefixed$LWS as isNamespacePrefixed, isNearMembrane$LWS as isNearMembrane, isObject$LWS as isObject, isObjectLike$LWS as isObjectLike, isTargetLive$LWS as isTargetLive, markTargetAsLive$LWS as markTargetAsLive, noop$LWS as noop, partialStructuredClone$LWS as partialStructuredClone, prefixNamespace$LWS as prefixNamespace, shallowCloneArray$LWS as shallowCloneArray, shallowCloneOptions$LWS as shallowCloneOptions, toSafeArray$LWS as toSafeArray, toSafeMap$LWS as toSafeMap, toSafeSet$LWS as toSafeSet, toSafeTemplateStringValue$LWS as toSafeTemplateStringValue, toSafeWeakMap$LWS as toSafeWeakMap, toSafeWeakSet$LWS as toSafeWeakSet, toString$LWS as toString, trackTargetAsLive$LWS as trackTargetAsLive, unprefixNamespace$LWS as unprefixNamespace }; | ||
/*! version: 0.17.6 */ |
{ | ||
"name": "@locker/shared", | ||
"version": "0.17.5", | ||
"version": "0.17.6", | ||
"license": "SEE LICENSE IN LICENSE.txt", | ||
"author": "Salesforce UI Security Team", | ||
"description": "Locker Next Shared Utilities", | ||
"description": "Lightning Web Security shared language utilities", | ||
"main": "dist/index.cjs.js", | ||
@@ -24,3 +24,3 @@ "module": "dist/index.js", | ||
], | ||
"gitHead": "24ab3751ddc04e9297bfb649805e260d8a2ddaa1" | ||
"gitHead": "6d03d19514584700ab4e4993bc5da71494441ce5" | ||
} |
@@ -0,3 +1,4 @@ | ||
export declare function partialStructuredClone(value: any): any; | ||
export declare function shallowCloneArray(array: any[] | readonly any[]): any[]; | ||
export declare function shallowCloneOptions(options: any): any; | ||
//# sourceMappingURL=clone.d.ts.map |
@@ -27,3 +27,4 @@ export declare const LOCKER_IDENTIFIER_MARKER = "$LWS"; | ||
export declare const UNCOMPILED_LOCATION_NAME: string; | ||
export declare const UNCOMPILED_TOP_NAME: string; | ||
export declare const WEBPACK_REQUIRE_NAME = "__webpack_require__"; | ||
//# sourceMappingURL=constants.d.ts.map |
@@ -0,1 +1,3 @@ | ||
export declare const ErrorCtor: ErrorConstructor; | ||
export declare const TypeErrorCtor: TypeErrorConstructor; | ||
export declare class LockerSecurityError extends Error { | ||
@@ -2,0 +4,0 @@ constructor(message: string); |
@@ -0,5 +1,7 @@ | ||
import type { ProxyTarget } from './types'; | ||
import { TargetTraits } from './types'; | ||
export declare const SYMBOL_LIVE_OBJECT: symbol; | ||
export declare function isLiveObject(value: any): boolean; | ||
export declare function markLiveObject(target: object): object; | ||
export declare function toLiveValue(value: any): any; | ||
export declare function isTargetLive(target: ProxyTarget, targetTraits?: TargetTraits): boolean; | ||
export declare function markTargetAsLive<T extends ProxyTarget>(target: T): T; | ||
export declare function trackTargetAsLive<T extends ProxyTarget>(target: T): T; | ||
//# sourceMappingURL=LiveObject.d.ts.map |
@@ -1,2 +0,2 @@ | ||
export declare const ReflectApply: typeof Reflect.apply, ReflectConstruct: typeof Reflect.construct, ReflectDeleteProperty: typeof Reflect.deleteProperty, ReflectHas: typeof Reflect.has, ReflectGet: typeof Reflect.get, ReflectGetPrototypeOf: typeof Reflect.getPrototypeOf, ReflectSet: typeof Reflect.set, ReflectSetPrototypeOf: typeof Reflect.setPrototypeOf, ReflectDefineProperty: typeof Reflect.defineProperty, ReflectGetOwnPropertyDescriptor: typeof Reflect.getOwnPropertyDescriptor, ReflectOwnKeys: typeof Reflect.ownKeys; | ||
export declare const ReflectApply: typeof Reflect.apply, ReflectConstruct: typeof Reflect.construct, ReflectDefineProperty: typeof Reflect.defineProperty, ReflectDeleteProperty: typeof Reflect.deleteProperty, ReflectGet: typeof Reflect.get, ReflectGetOwnPropertyDescriptor: typeof Reflect.getOwnPropertyDescriptor, ReflectGetPrototypeOf: typeof Reflect.getPrototypeOf, ReflectHas: typeof Reflect.has, ReflectOwnKeys: typeof Reflect.ownKeys, ReflectSet: typeof Reflect.set, ReflectSetPrototypeOf: typeof Reflect.setPrototypeOf; | ||
//# sourceMappingURL=Reflect.d.ts.map |
@@ -1,4 +0,3 @@ | ||
export declare const SymbolProto: Symbol; | ||
export declare const SymbolFor: (key: string) => symbol, SymbolIterator: symbol, SymbolToStringTag: symbol, SymbolUnscopables: symbol; | ||
export declare const SymbolProtoToString: () => string, SymbolProtoValueOf: () => symbol; | ||
//# sourceMappingURL=Symbol.d.ts.map |
@@ -9,2 +9,3 @@ export declare type Getter = () => any; | ||
export declare type NearMembraneSerializedValue = bigint | boolean | number | string | symbol; | ||
export declare type ProxyTarget = CallableFunction | any[] | object; | ||
export interface SandboxRecord { | ||
@@ -18,3 +19,3 @@ BASIC_INSTRUMENTATION_DATA: any; | ||
distortions: WeakMap<any, any>; | ||
endowments: object | undefined; | ||
endowments: object; | ||
globalObject: typeof globalThis; | ||
@@ -24,3 +25,2 @@ helpers: any; | ||
key: string; | ||
opaque: boolean; | ||
sandboxEvaluator: Function; | ||
@@ -32,2 +32,12 @@ top: SandboxRecord; | ||
export declare type Setter = (value: any) => void; | ||
export declare const enum TargetTraits { | ||
None = 0, | ||
IsArray = 1, | ||
IsArrayBufferView = 2, | ||
IsFunction = 4, | ||
IsArrowFunction = 8, | ||
IsObject = 16, | ||
IsTypedArray = 32, | ||
Revoked = 64 | ||
} | ||
//# sourceMappingURL=types.d.ts.map |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
142342
65
2654
0
4