| constructor.js |
---
es6id: 23.3.1
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.
--- |
424 |
- |
| empty-iterable.js |
---
es6id: 23.3.1.1
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.
...
--- |
802 |
- |
| get-set-method-failure.js |
---
es6id: 23.3.1.1
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).
...
--- |
727 |
- |
| iterable-failure.js |
---
es6id: 23.3.1.1
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).
...
--- |
477 |
- |
| iterable.js |
---
es6id: 23.3.1.1
esid: sec-weakmap-iterable
description: >
Returns the new WeakMap adding the objects from the iterable parameter.
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).
includes: [compareArray.js]
--- |
1345 |
- |
| iterator-close-after-set-failure.js |
---
es6id: 23.3.1.1
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]
--- |
998 |
- |
| iterator-item-first-entry-returns-abrupt.js |
---
es6id: 23.3.1.1
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]
--- |
1011 |
- |
| iterator-item-second-entry-returns-abrupt.js |
---
es6id: 23.3.1.1
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]
--- |
1012 |
- |
| iterator-items-are-not-object-close-iterator.js |
---
es6id: 23.3.1.1
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
--- |
1601 |
- |
| iterator-items-are-not-object.js |
---
es6id: 23.3.1.1
esid: sec-weakmap-iterable
description: >
Throws a TypeError if iterable itens are not Objects.
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]
--- |
1129 |
- |
| iterator-next-failure.js |
---
es6id: 23.3.1.1
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]
--- |
628 |
- |
| iterator-value-failure.js |
---
es6id: 23.3.1.1
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]
--- |
749 |
- |
| length.js |
---
es6id: 23.3.2
esid: sec-properties-of-the-weakmap-constructor
description: >
The length property of the WeakMap constructor is 0.
includes: [propertyHelper.js]
--- |
508 |
- |
| name.js |
---
es6id: 23.3.1.1
esid: sec-weakmap-iterable
description: >
WeakMap ( [ iterable ] )
17 ECMAScript Standard Built-in Objects
includes: [propertyHelper.js]
--- |
519 |
- |
| no-iterable.js |
---
es6id: 23.3.1.1
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.
...
--- |
771 |
- |
| properties-of-map-instances.js |
---
es6id: 23.3.4
esid: sec-properties-of-weakmap-instances
description: >
WeakMap instances are ordinary objects that inherit properties from the
WeakMap prototype.
--- |
470 |
- |
| properties-of-the-weakmap-prototype-object.js |
---
es6id: 23.3.3
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.
--- |
822 |
- |
| proto-from-ctor-realm.js |
---
es6id: 23.3.1.1
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]
--- |
938 |
- |
| prototype |
|
|
- |
| prototype-of-weakmap.js |
---
es6id: 23.3.2
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).
--- |
501 |
- |
| set-not-callable-throws.js |
---
es6id: 23.3.1.1
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.
...
--- |
710 |
- |
| undefined-newtarget.js |
---
es6id: 23.3.1.1
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.
--- |
476 |
- |
| weakmap.js |
---
es6id: 23.3.1.1
esid: sec-weakmap-iterable
description: >
WeakMap ( [ iterable ] )
17 ECMAScript Standard Built-in Objects
includes: [propertyHelper.js]
--- |
417 |
- |