Name Description Size
browser.js 0
constructor.js --- esid: sec-weakmap-constructor description: > The WeakMap constructor is the %WeakMap% intrinsic object and the initial value of the WeakMap property of the global object. --- 432
empty-iterable.js --- esid: sec-weakmap-iterable description: > If the iterable argument is empty, return new WeakMap object. info: | 23.3.1.1 WeakMap ( [ iterable ] ) ... 9. Repeat a. Let next be IteratorStep(iter). b. ReturnIfAbrupt(next). c. If next is false, return map. ... --- 808
get-set-method-failure.js --- esid: sec-weakmap-iterable description: > Return abrupt after getting `set` method. info: | 23.3.1.1 WeakMap ( [ iterable ] ) ... 5. If iterable is not present, let iterable be undefined. 6. If iterable is either undefined or null, let iter be undefined. 7. Else, a. Let adder be Get(map, "set"). b. ReturnIfAbrupt(adder). ... --- 733
is-a-constructor.js --- esid: sec-ecmascript-standard-built-in-objects description: > The WeakMap constructor implements [[Construct]] info: | IsConstructor ( argument ) The abstract operation IsConstructor takes argument argument (an ECMAScript language value). It determines if argument is a function object with a [[Construct]] internal method. It performs the following steps when called: If Type(argument) is not Object, return false. If argument has a [[Construct]] internal method, return true. Return false. includes: [isConstructor.js] features: [Reflect.construct, WeakMap] --- 851
iterable-failure.js --- esid: sec-weakmap-iterable description: > If the iterable argument is undefined, return new WeakMap object. info: | 23.3.1.1 WeakMap ( [ iterable ] ) ... 7. Else, d. Let iter be GetIterator(iterable). e. ReturnIfAbrupt(iter). ... --- 483
iterable-with-object-keys.js --- esid: sec-weakmap-iterable description: > Returns the new WeakMap adding entries from the iterable parameter, with Object keys. info: | WeakMap ( [ _iterable_ ] ) 5. Let _adder_ be ? Get(_map_, *"set"*). 6. Return ? AddEntriesFromIterable(_map_, _iterable_, _adder_). AddEntriesFromIterable: 3. Repeat, i. Let _status_ be Completion(Call(_adder_, _target_, « _k_, _v_ »)). WeakMap.prototype.set( _key_, _value_ ): 6. Let _p_ be the Record {[[Key]]: _key_, [[Value]]: _value_}. 7. Append _p_ as the last element of _entries_. features: [WeakMap] --- 1579
iterable-with-symbol-keys.js --- esid: sec-weakmap-iterable description: > Returns the new WeakMap adding entries from the iterable parameter, with Symbol keys. info: | WeakMap ( [ _iterable_ ] ) 5. Let _adder_ be ? Get(_map_, *"set"*). 6. Return ? AddEntriesFromIterable(_map_, _iterable_, _adder_). AddEntriesFromIterable: 3. Repeat, i. Let _status_ be Completion(Call(_adder_, _target_, « _k_, _v_ »)). WeakMap.prototype.set( _key_, _value_ ): 6. Let _p_ be the Record {[[Key]]: _key_, [[Value]]: _value_}. 7. Append _p_ as the last element of _entries_. features: [Symbol, WeakMap, symbols-as-weakmap-keys] --- 1827
iterator-close-after-set-failure.js --- esid: sec-weakmap-iterable description: > Return IteratorClose(iter, status) if fail on adding value on constructing. info: | WeakMap ( [ iterable ] ) ... 9. Repeat k. Let status be Call(adder, map, «k.[[value]], v.[[value]]»). l. If status is an abrupt completion, return IteratorClose(iter, status). features: [Symbol.iterator] --- 1004
iterator-item-first-entry-returns-abrupt.js --- esid: sec-weakmap-iterable description: > Closes iterator if item first entry completes abruptly. info: | WeakMap ( [ iterable ] ) ... 9. Repeat ... d. Let nextItem be IteratorValue(next). ... g. Let k be Get(nextItem, "0"). h. If k is an abrupt completion, return IteratorClose(iter, k). ... features: [Symbol.iterator] --- 1017
iterator-item-second-entry-returns-abrupt.js --- esid: sec-weakmap-iterable description: > Closes iterator if item second entry completes abruptly. info: | WeakMap ( [ iterable ] ) ... 9. Repeat ... d. Let nextItem be IteratorValue(next). ... i. Let v be Get(nextItem, "1"). j. If v is an abrupt completion, return IteratorClose(iter, v). ... features: [Symbol.iterator] --- 1018
iterator-items-are-not-object-close-iterator.js --- esid: sec-weakmap-iterable description: > Closes the iterator object after not object error on next item. info: | WeakMap ( [ iterable ] ) ... 9. Repeat ... d. Let nextItem be IteratorValue(next). e. ReturnIfAbrupt(nextItem). f. If Type(nextItem) is not Object, i. Let error be Completion{[[type]]: throw, [[value]]: a newly created TypeError object, [[target]]:empty}. ii. Return IteratorClose(iter, error). features: - Symbol - Symbol.iterator --- 1611
iterator-items-keys-cannot-be-held-weakly.js --- esid: sec-weakmap-iterable description: > Throws a TypeError if keys in iterable items cannot be held weakly. info: | WeakMap ( [ _iterable_ ] ) 5. Let _adder_ be ? Get(_map_, *"set"*). 6. Return ? AddEntriesFromIterable(_map_, _iterable_, _adder_). AddEntriesFromIterable: 3. Repeat, i. Let _status_ be Completion(Call(_adder_, _target_, « _k_, _v_ »)). j. IfAbruptCloseIterator(_status_, _iteratorRecord_). WeakMap.prototype.set( _key_, _value_ ): 4. If CanBeHeldWeakly(_key_) is *false*, throw a *TypeError* exception. features: [Symbol, WeakMap] --- 1322
iterator-next-failure.js --- esid: sec-weakmap-iterable description: > Return abrupt from next iterator step. info: | 23.3.1.1 WeakMap ( [ iterable ] ) ... 9. Repeat a. Let next be IteratorStep(iter). b. ReturnIfAbrupt(next). ... features: [Symbol.iterator] --- 634
iterator-value-failure.js --- esid: sec-weakmap-iterable description: > If the iterable argument is empty, return new WeakMap object. info: | 23.3.1.1 WeakMap ( [ iterable ] ) ... 9. Repeat ... d. Let nextItem be IteratorValue(next). e. ReturnIfAbrupt(nextItem). ... features: [Symbol.iterator] --- 755
length.js --- esid: sec-properties-of-the-weakmap-constructor description: > The length property of the WeakMap constructor is 0. includes: [propertyHelper.js] --- 434
name.js --- esid: sec-weakmap-iterable description: > WeakMap ( [ iterable ] ) 17 ECMAScript Standard Built-in Objects includes: [propertyHelper.js] --- 439
no-iterable.js --- esid: sec-weakmap-iterable description: > If the iterable argument is undefined, return new WeakMap object. info: | WeakMap ( [ iterable ] ) ... 5. If iterable is not present, let iterable be undefined. 6. If iterable is either undefined or null, let iter be undefined. ... 8. If iter is undefined, return map. ... --- 777
properties-of-map-instances.js --- esid: sec-properties-of-weakmap-instances description: > WeakMap instances are ordinary objects that inherit properties from the WeakMap prototype. --- 478
properties-of-the-weakmap-prototype-object.js --- esid: sec-properties-of-the-weakmap-prototype-object description: > The WeakMap.prototype's prototype is Object.prototype. info: | 23.3.3 Properties of the WeakMap Prototype Object The WeakMap prototype object is the intrinsic object %WeakMapPrototype%. The value of the [[Prototype]] internal slot of the WeakMap prototype object is the intrinsic object %ObjectPrototype% (19.1.3). The WeakMap prototype object is an ordinary object. It does not have a [[WeakMapData]] internal slot. --- 830
proto-from-ctor-realm.js --- esid: sec-weakmap-iterable description: Default [[Prototype]] value derived from realm of the newTarget info: | [...] 2. Let map be ? OrdinaryCreateFromConstructor(NewTarget, "%WeakMapPrototype%", « [[WeakMapData]] »). [...] 9.1.14 GetPrototypeFromConstructor [...] 3. Let proto be ? Get(constructor, "prototype"). 4. If Type(proto) is not Object, then a. Let realm be ? GetFunctionRealm(constructor). b. Let proto be realm's intrinsic object named intrinsicDefaultProto. [...] features: [cross-realm, Reflect] --- 944
prototype
prototype-of-weakmap.js --- esid: sec-properties-of-the-weakmap-constructor description: > The value of the [[Prototype]] internal slot of the WeakMap constructor is the intrinsic object %FunctionPrototype% (19.2.3). --- 509
set-not-callable-throws.js --- esid: sec-weakmap-iterable description: > Throws TypeError if add is not callable on constructor call. info: | 23.3.1.1 WeakMap ( [ iterable ] ) ... 5. If iterable is not present, let iterable be undefined. 6. If iterable is either undefined or null, let iter be undefined. 7. Else, a. Let adder be Get(map, "set"). b. ReturnIfAbrupt(adder). c. If IsCallable(adder) is false, throw a TypeError exception. ... --- 716
shell.js --- description: | Test if a given function is a constructor function. defines: [isConstructor] features: [Reflect.construct] --- 596
undefined-newtarget.js --- esid: sec-weakmap-iterable description: > Throws a TypeError if NewTarget is undefined. info: | 23.3.1.1 WeakMap ( [ iterable ] ) 1. If NewTarget is undefined, throw a TypeError exception. --- 482
weakmap.js --- esid: sec-weakmap-iterable description: > WeakMap ( [ iterable ] ) 17 ECMAScript Standard Built-in Objects includes: [propertyHelper.js] --- 423