browser.js |
|
0 |
call-parameters-object-getownpropertynames.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
[[OwnPropertyKeys]] ( )
7. Let trapResultArray be ? Call(trap, handler, « target »).
features: [Proxy]
--- |
823 |
call-parameters-object-getownpropertysymbols.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
[[OwnPropertyKeys]] ( )
7. Let trapResultArray be ? Call(trap, handler, « target »).
features: [Proxy, Symbol]
--- |
889 |
call-parameters-object-keys.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
[[OwnPropertyKeys]] ( )
7. Let trapResultArray be ? Call(trap, handler, « target »).
features: [Proxy]
--- |
789 |
extensible-return-trap-result-absent-not-configurable-keys.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
If target is extensible, return the non-falsy trap result if target doesn't
contain any non-configurable keys.
info: |
[[OwnPropertyKeys]] ( )
...
15. If extensibleTarget is true and targetNonconfigurableKeys is empty, then
a. Return trapResult.
features: [Proxy]
--- |
798 |
extensible-return-trap-result.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
If target is extensible, return the non-falsy trap result if it contains all
of target's non-configurable keys.
info: |
[[OwnPropertyKeys]] ( )
...
18. If extensibleTarget is true, return trapResult.
features: [Proxy]
--- |
855 |
not-extensible-missing-keys-throws.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
If target is not extensible, the result must contain all the keys of the own
properties of the target object.
info: |
[[OwnPropertyKeys]] ( )
...
19. For each key that is an element of targetConfigurableKeys, do
a. If key is not an element of uncheckedResultKeys, throw a TypeError
exception.
features: [Proxy]
--- |
825 |
not-extensible-new-keys-throws.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
If target is not extensible, the result can't contain keys names not
contained in the target object.
info: |
[[OwnPropertyKeys]] ( )
...
20. If uncheckedResultKeys is not empty, throw a TypeError exception.
features: [Proxy]
--- |
720 |
not-extensible-return-keys.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
If target is not extensible, the result must contain all the keys of the own
properties of the target object and no other values
info: |
[[OwnPropertyKeys]] ( )
...
21. Return trapResult.
features: [Proxy]
--- |
797 |
null-handler.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
[[OwnPropertyKeys]] ( )
2. If handler is null, throw a TypeError exception.
features: [Proxy]
--- |
479 |
return-all-non-configurable-keys.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
The result List must contain the keys of all non-configurable own properties
of the target object.
info: |
[[OwnPropertyKeys]] ( )
...
17. For each key that is an element of targetNonconfigurableKeys, do
a. If key is not an element of uncheckedResultKeys, throw a TypeError
exception.
features: [Proxy]
--- |
875 |
return-duplicate-entries-throws.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
The returned list must not contain any duplicate entries.
info: |
[[OwnPropertyKeys]] ( )
...
9. If trapResult contains any duplicate entries, throw a TypeError exception.
features: [Proxy]
--- |
610 |
return-duplicate-symbol-entries-throws.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
The returned list must not contain any duplicate entries.
info: |
[[OwnPropertyKeys]] ( )
...
9. If trapResult contains any duplicate entries, throw a TypeError exception.
features: [Proxy, Symbol]
--- |
632 |
return-is-abrupt.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
Trap returns abrupt.
info: |
[[OwnPropertyKeys]] ( )
...
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ? CreateListFromArrayLike(trapResultArray, « String, Symbol »).
features: [Proxy]
--- |
660 |
return-not-list-object-throws-realm.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
If return is not a list object, throw a TypeError exception (honoring
the Realm of the current execution context)
info: |
...
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ? CreateListFromArrayLike(trapResultArray, « String,
Symbol »).
...
#sec-createlistfromarraylike
7.3.17 CreateListFromArrayLike (obj [, elementTypes] )
2. If Type(obj) is not Object, throw a TypeError exception.
features: [cross-realm, Proxy, Symbol]
--- |
957 |
return-not-list-object-throws.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
If return is not a list object, throw a TypeError exception
info: |
[[OwnPropertyKeys]] ( )
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ? CreateListFromArrayLike(trapResultArray, « String,
Symbol »).
...
#sec-createlistfromarraylike
7.3.17 CreateListFromArrayLike (obj [, elementTypes] )
2. If Type(obj) is not Object, throw a TypeError exception.
features: [Proxy, Symbol]
--- |
883 |
return-type-throws-array.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
The returned list must not have entries whose type does not match
« String, Symbol ».
info: |
[[OwnPropertyKeys]] ( )
...
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ?
CreateListFromArrayLike(trapResultArray, « String, Symbol »).
...
CreateListFromArrayLike ( obj [ , elementTypes ] )
...
6. Repeat, while index < len
...
d. If Type(next) is not an element of elementTypes,
throw a TypeError exception.
features: [Proxy]
--- |
947 |
return-type-throws-boolean.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
The returned list must not have entries whose type does not match
« String, Symbol ».
info: |
[[OwnPropertyKeys]] ( )
...
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ?
CreateListFromArrayLike(trapResultArray, « String, Symbol »).
...
CreateListFromArrayLike ( obj [ , elementTypes ] )
...
6. Repeat, while index < len
...
d. If Type(next) is not an element of elementTypes,
throw a TypeError exception.
features: [Proxy]
--- |
937 |
return-type-throws-null.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
The returned list must not have entries whose type does not match
« String, Symbol ».
info: |
[[OwnPropertyKeys]] ( )
...
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ?
CreateListFromArrayLike(trapResultArray, « String, Symbol »).
...
CreateListFromArrayLike ( obj [ , elementTypes ] )
...
6. Repeat, while index < len
...
d. If Type(next) is not an element of elementTypes,
throw a TypeError exception.
features: [Proxy]
--- |
937 |
return-type-throws-number.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
The returned list must not have entries whose type does not match
« String, Symbol ».
info: |
[[OwnPropertyKeys]] ( )
...
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ?
CreateListFromArrayLike(trapResultArray, « String, Symbol »).
...
CreateListFromArrayLike ( obj [ , elementTypes ] )
...
6. Repeat, while index < len
...
d. If Type(next) is not an element of elementTypes,
throw a TypeError exception.
features: [Proxy]
--- |
934 |
return-type-throws-object.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
The returned list must not have entries whose type does not match
« String, Symbol ».
info: |
[[OwnPropertyKeys]] ( )
...
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ?
CreateListFromArrayLike(trapResultArray, « String, Symbol »).
...
CreateListFromArrayLike ( obj [ , elementTypes ] )
...
6. Repeat, while index < len
...
d. If Type(next) is not an element of elementTypes,
throw a TypeError exception.
features: [Proxy]
--- |
935 |
return-type-throws-undefined.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
The returned list must not have entries whose type does not match
« String, Symbol ».
info: |
[[OwnPropertyKeys]] ( )
...
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ?
CreateListFromArrayLike(trapResultArray, « String, Symbol »).
...
CreateListFromArrayLike ( obj [ , elementTypes ] )
...
6. Repeat, while index < len
...
d. If Type(next) is not an element of elementTypes,
throw a TypeError exception.
features: [Proxy]
--- |
942 |
shell.js |
|
0 |
trap-is-missing-target-is-proxy.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
If "ownKeys" trap is null or undefined, [[OwnPropertyKeys]] call is
properly forwarded to [[ProxyTarget]] (which is also a Proxy object).
info: |
[[OwnPropertyKeys]] ( )
[...]
4. Let target be O.[[ProxyTarget]].
5. Let trap be ? GetMethod(handler, "ownKeys").
6. If trap is undefined, then
a. Return ? target.[[OwnPropertyKeys]]().
[[OwnPropertyKeys]] ( )
1. Let keys be a new empty List.
[...]
5. For each integer i starting with 0 such that i < len, in ascending order, do
a. Add ! ToString(i) as the last element of keys.
[...]
7. For each own property key P of O such that Type(P) is String and P is not an
array index, in ascending chronological order of property creation, do
a. Add P as the last element of keys.
8. For each own property key P of O such that Type(P) is Symbol, in ascending
chronological order of property creation, do
a. Add P as the last element of keys.
9. Return keys.
includes: [compareArray.js]
features: [Symbol, Proxy, Reflect]
--- |
1518 |
trap-is-not-callable-realm.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
Throws if trap is not callable (honoring the Realm of the current execution
context)
info: |
[[OwnPropertyKeys]] ( )
5. Let trap be GetMethod(handler, "ownKeys").
...
#sec-getmethod
7.3.9 GetMethod (O, P)
4. If IsCallable(func) is false, throw a TypeError exception.
features: [cross-realm, Proxy]
--- |
753 |
trap-is-not-callable.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
Trap is not callable.
info: |
[[OwnPropertyKeys]] ( )
5. Let trap be ? GetMethod(handler, "ownKeys").
...
#sec-getmethod
7.3.9 GetMethod (O, P)
4. If IsCallable(func) is false, throw a TypeError exception.
features: [Proxy]
--- |
632 |
trap-is-null-target-is-proxy.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
If "ownKeys" trap is null or undefined, [[OwnPropertyKeys]] call is
properly forwarded to [[ProxyTarget]] (which is also a Proxy object).
info: |
[[OwnPropertyKeys]] ( )
[...]
4. Let target be O.[[ProxyTarget]].
5. Let trap be ? GetMethod(handler, "ownKeys").
6. If trap is undefined, then
a. Return ? target.[[OwnPropertyKeys]]().
OrdinaryOwnPropertyKeys ( O )
1. Let keys be a new empty List.
2. For each own property key P of O that is an array index,
in ascending numeric index order, do
a. Add P as the last element of keys.
3. For each own property key P of O that is a String but is not an
array index, in ascending chronological order of property creation, do
a. Add P as the last element of keys.
[...]
5. Return keys.
includes: [compareArray.js]
features: [Proxy]
--- |
1357 |
trap-is-undefined-target-is-proxy.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
If "ownKeys" trap is null or undefined, [[OwnPropertyKeys]] call is
properly forwarded to [[ProxyTarget]] (which is also a Proxy object).
info: |
[[OwnPropertyKeys]] ( )
[...]
4. Let target be O.[[ProxyTarget]].
5. Let trap be ? GetMethod(handler, "ownKeys").
6. If trap is undefined, then
a. Return ? target.[[OwnPropertyKeys]]().
[[OwnPropertyKeys]] ( )
[...]
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ? CreateListFromArrayLike(trapResultArray, « String, Symbol »).
[...]
23. Return trapResult.
includes: [compareArray.js]
features: [Symbol, Proxy, Reflect]
--- |
1153 |
trap-is-undefined.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
[[OwnPropertyKeys]] ( )
6. If trap is undefined, then Return target.[[OwnPropertyKeys]]()
features: [Proxy]
--- |
595 |