basic.js |
---
esid: sec-json.rawjson
description: Basic functionality of JSON.rawJSON().
info: |
JSON.rawJSON ( text )
1. Let jsonString be ? ToString(text).
...
4. Let internalSlotsList be « [[IsRawJSON]] ».
5. Let obj be OrdinaryObjectCreate(null, internalSlotsList).
6. Perform ! CreateDataPropertyOrThrow(obj, "rawJSON", jsonString).
7. Perform ! SetIntegrityLevel(obj, frozen).
8. Return obj.
features: [json-parse-with-source]
--- |
2079 |
bigint-raw-json-can-be-stringified.js |
---
esid: sec-json.rawjson
description: BigInt rawJSON can be stringified.
info: |
JSON.rawJSON ( text )
1. Let jsonString be ? ToString(text).
...
4. Let internalSlotsList be « [[IsRawJSON]] ».
5. Let obj be OrdinaryObjectCreate(null, internalSlotsList).
6. Perform ! CreateDataPropertyOrThrow(obj, "rawJSON", jsonString).
7. Perform ! SetIntegrityLevel(obj, frozen).
8. Return obj.
features: [BigInt, json-parse-with-source]
--- |
1345 |
browser.js |
|
0 |
builtin.js |
---
esid: sec-json.rawjson
description: >
JSON.rawJSON meets the requirements for built-in objects
info: |
JSON.isRawJSON ( O )
18 ECMAScript Standard Built-in Objects
...
Unless specified otherwise, a built-in object that is callable as a function
is a built-in function object with the characteristics described in 10.3.
Unless specified otherwise, the [[Extensible]] internal slot of a built-in
object initially has the value true. Every built-in function object has a
[[Realm]] internal slot whose value is the Realm Record of the realm for
which the object was initially created.
...
Unless otherwise specified every built-in function and every built-in
constructor has the Function prototype object, which is the initial value of
the expression Function.prototype (20.2.3), as the value of its [[Prototype]]
internal slot.
...
Built-in function objects that are not identified as constructors do not
implement the [[Construct]] internal method unless otherwise specified in the
description of a particular function.
features: [json-parse-with-source]
--- |
1920 |
illegal-empty-and-start-end-chars.js |
---
esid: sec-json.rawjson
description: Throw SyntaxError on empty string, or illegal start/end chars
info: |
JSON.rawJSON ( text )
1. Let jsonString be ? ToString(text).
2. Throw a SyntaxError exception if jsonString is the empty String, or if
either the first or last code unit of jsonString is any of 0x0009
(CHARACTER TABULATION), 0x000A (LINE FEED), 0x000D (CARRIAGE RETURN), or
0x0020 (SPACE).
features: [json-parse-with-source]
--- |
1133 |
invalid-JSON-text.js |
---
esid: sec-json.rawjson
description: >
Inputs not convertible to string, or convertible to invalid JSON string
info: |
JSON.rawJSON ( text )
1. Let jsonString be ? ToString(text).
...
3. Parse StringToCodePoints(jsonString) as a JSON text as specified in
ECMA-404. Throw a SyntaxError exception if it is not a valid JSON text as
defined in that specification, or if its outermost value is an object or
array as defined in that specification.
features: [json-parse-with-source]
--- |
1134 |
length.js |
---
esid: sec-built-in-function-objects
description: >
JSON.rawJSON.length value and descriptor.
info: |
Every built-in function object, including constructors, has a *"length"*
property whose value is a non-negative integral Number. Unless otherwise
specified, this value is the number of required parameters shown in the
subclause heading for the function description. Optional parameters and rest
parameters are not included in the parameter count.
Unless otherwise specified, the *"length"* property of a built-in function
object has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*,
[[Configurable]]: *true* }.
includes: [propertyHelper.js]
features: [json-parse-with-source]
--- |
1210 |
name.js |
---
esid: sec-built-in-function-objects
description: >
JSON.rawJSON.name value and descriptor.
info: |
Every built-in function object, including constructors, has a *"name"*
property whose value is a String. Unless otherwise specified, this value is
the name that is given to the function in this specification. Functions that
are identified as anonymous functions use the empty String as the value of
the *"name"* property. For functions that are specified as properties of
objects, the name value is the property name string used to access the
function. Functions that are specified as get or set accessor functions of
built-in properties have *"get"* or *"set"* (respectively) passed to the
prefix parameter when calling CreateBuiltinFunction.
The value of the *"name"* property is explicitly specified for each built-in
function whose property key is a Symbol value. If such an explicitly
specified value starts with the prefix *"get "* or *"set "* and the function
for which it is specified is a get or set accessor function of a built-in
property, the value without the prefix is passed to the name parameter, and
the value *"get"* or *"set"* (respectively) is passed to the prefix
parameter when calling CreateBuiltinFunction.
Unless otherwise specified, the *"name"* property of a built-in function
object has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*,
[[Configurable]]: *true* }.
includes: [propertyHelper.js]
features: [json-parse-with-source]
--- |
2041 |
not-a-constructor.js |
---
esid: sec-ecmascript-standard-built-in-objects
description: >
JSON.rawJSON does not implement [[Construct]], is not new-able
info: |
ECMAScript Function Objects
Built-in function objects that are not identified as constructors do not
implement the [[Construct]] internal method unless otherwise specified in
the description of a particular function.
sec-evaluatenew
...
7. If IsConstructor(constructor) is false, throw a TypeError exception.
...
includes: [isConstructor.js]
features: [json-parse-with-source, Reflect.construct]
--- |
1077 |
prop-desc.js |
---
esid: sec-json.rawjson
description: >
Property type and descriptor.
info: |
JSON.rawJSON ( text )
18 ECMAScript Standard Built-in Objects
...
Every other data property described in clauses 19 through 28 and in Annex B.2
has the attributes { [[Writable]]: true, [[Enumerable]]: false,
[[Configurable]]: true } unless otherwise specified.
includes: [propertyHelper.js]
features: [json-parse-with-source]
--- |
880 |
returns-expected-object.js |
---
esid: sec-json.rawjson
description: Object returned from JSON.rawJSON() is the expected shape.
info: |
JSON.rawJSON ( text )
5. Let _obj_ be OrdinaryObjectCreate(*null*, _internalSlotsList_).
6. Perform ! CreateDataPropertyOrThrow(_obj_, *"rawJSON"*, _jsonString_).
...
8. Return _obj_.
includes: [compareArray.js]
features: [json-parse-with-source]
--- |
1548 |
shell.js |
---
description: |
Test if a given function is a constructor function.
defines: [isConstructor]
features: [Reflect.construct]
--- |
596 |