json-6 1.1.6 → 1.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -107
- package/dist/index.js +14 -24
- package/dist/index.min.js +1 -1
- package/dist/index.min.mjs +1 -1
- package/dist/index.mjs +14 -24
- package/dist/json6.d.ts.map +1 -1
- package/lib/json6.js +10 -20
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ or the 1000 pound gorilla solution). It aims to make it easier for
|
|
|
11
11
|
*humans to write and maintain* by hand. It does this by adding some minimal
|
|
12
12
|
syntax features directly from ECMAScript 6.
|
|
13
13
|
|
|
14
|
-
JSON6
|
|
14
|
+
JSON6 extends JSON with additional data syntax, although adds **no new data types**,
|
|
15
15
|
and **works with all existing JSON content**. Some features allowed in JSON6
|
|
16
16
|
are not directly supported by Javascript; although all javascript parsable
|
|
17
17
|
features can be used in JSON6, except functions or any other code construct,
|
|
@@ -180,46 +180,9 @@ multi-line string; but keeps newline',
|
|
|
180
180
|
}
|
|
181
181
|
```
|
|
182
182
|
|
|
183
|
-
This implementation’s own [package.
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
// This file is written in JSON6 syntax, naturally, but npm needs a regular
|
|
187
|
-
// JSON file, so compile via `npm run build`. Be sure to keep both in sync!
|
|
188
|
-
|
|
189
|
-
{
|
|
190
|
-
name: 'JSON6',
|
|
191
|
-
version: '0.1.105',
|
|
192
|
-
description: 'JSON for the ES6 era.',
|
|
193
|
-
keywords: ['json', 'es6'],
|
|
194
|
-
author: 'd3x0r <d3x0r@github.com>',
|
|
195
|
-
contributors: [
|
|
196
|
-
// TODO: Should we remove this section in favor of GitHub's list?
|
|
197
|
-
// https://github.com/d3x0r/JSON6/contributors
|
|
198
|
-
],
|
|
199
|
-
main: 'lib/JSON6.js',
|
|
200
|
-
bin: 'lib/cli.js',
|
|
201
|
-
files: ["lib/"],
|
|
202
|
-
dependencies: {},
|
|
203
|
-
devDependencies: {
|
|
204
|
-
gulp: "^3.9.1",
|
|
205
|
-
'gulp-jshint': "^2.0.0",
|
|
206
|
-
jshint: "^2.9.1",
|
|
207
|
-
'jshint-stylish': "^2.1.0",
|
|
208
|
-
mocha: "^2.4.5"
|
|
209
|
-
},
|
|
210
|
-
scripts: {
|
|
211
|
-
build: 'node ./lib/cli.js -c package.JSON6',
|
|
212
|
-
test: 'mocha --ui exports --reporter spec',
|
|
213
|
-
// TODO: Would it be better to define these in a mocha.opts file?
|
|
214
|
-
},
|
|
215
|
-
homepage: 'http://github.com/d3x0r/JSON6/',
|
|
216
|
-
license: 'MIT',
|
|
217
|
-
repository: {
|
|
218
|
-
type: 'git',
|
|
219
|
-
url: 'https://github.com/d3x0r/JSON6',
|
|
220
|
-
},
|
|
221
|
-
}
|
|
222
|
-
```
|
|
183
|
+
This implementation’s own [package.json6](package.json6) is a maintained real-world
|
|
184
|
+
example. npm needs a regular JSON file, so run `npm run build` after editing
|
|
185
|
+
`package.json6` to regenerate `package.json`.
|
|
223
186
|
|
|
224
187
|
|
|
225
188
|
## Community
|
|
@@ -261,13 +224,13 @@ Then in both cases, you can simply replace native `JSON` calls with `JSON6`:
|
|
|
261
224
|
|
|
262
225
|
```js
|
|
263
226
|
var obj = JSON6.parse('{unquoted:"key",trailing:"comma",}');
|
|
264
|
-
var str = JSON6.stringify(obj); /*
|
|
227
|
+
var str = JSON6.stringify(obj); /* emits JSON6 text */
|
|
265
228
|
```
|
|
266
229
|
|
|
267
230
|
|JSON6 Methods | parameters | Description |
|
|
268
231
|
|-----|-----|-----|
|
|
269
232
|
|parse| (string [,reviver] [,options]) | supports all of the JSON6 features listed above, as well as the native [`reviver` argument][json-parse]. See [Options](#options) for `options`. |
|
|
270
|
-
|stringify | (value [,replacer] [,space] [,options]) | converts object to
|
|
233
|
+
|stringify | (value [,replacer] [,space] [,options]) | converts object to JSON6. [stringify][json-stringify]. `options.sortKeys` (default `true`) can be set to `false` to keep an object's own key order instead of sorting it. |
|
|
271
234
|
|escape | ( string ) | substitutes ", \, ', and ` with backslashed sequences. (prevent 'JSON injection') |
|
|
272
235
|
|begin| (cb [,reviver] [,options] ) | create a JSON6 stream processor. cb is called with (value) for each value decoded from input given with write(). Optional reviver is called with each object before being passed to callback. `options` are the same as for `parse` and stay in effect across a bare `reset()`. |
|
|
273
236
|
|
|
@@ -391,7 +354,7 @@ in every context, and that can buy a lot:
|
|
|
391
354
|
|
|
392
355
|
### JSON6 Streaming
|
|
393
356
|
|
|
394
|
-
A Parser that returns objects as they are encountered in a stream can be created. `
|
|
357
|
+
A Parser that returns objects as they are encountered in a stream can be created. `JSON6.begin( dataCallback, reviver );` The callback is called for each complete object in a stream of data that is passed.
|
|
395
358
|
|
|
396
359
|
`JSON6.begin( cb, reviver )` returns an object with a few methods.
|
|
397
360
|
|
|
@@ -418,7 +381,7 @@ A Parser that returns objects as they are encountered in a stream can be created
|
|
|
418
381
|
function dataCallback( value ) {
|
|
419
382
|
console.log( "Value from stream:", value );
|
|
420
383
|
}
|
|
421
|
-
var parser =
|
|
384
|
+
var parser = JSON6.begin( dataCallback );
|
|
422
385
|
|
|
423
386
|
parser.write( '"Hello ' ); // a broken simple value string, results as 'Hello World!'
|
|
424
387
|
parser.write( 'World!"' );
|
|
@@ -445,7 +408,7 @@ If you’re running this on Node, you can also register a JSON6 `require()` hook
|
|
|
445
408
|
to let you `require()` `.json6` files just like you can `.json` files:
|
|
446
409
|
|
|
447
410
|
```js
|
|
448
|
-
require('
|
|
411
|
+
require('json-6/lib/require');
|
|
449
412
|
require('./path/to/foo'); // tries foo.json6 after foo.js, foo.json, etc.
|
|
450
413
|
require('./path/to/bar.json6');
|
|
451
414
|
```
|
|
@@ -569,7 +532,16 @@ other extensions. [JSOX](https://github.com/d3x0r/JSOX) takes the same stance.
|
|
|
569
532
|
JavaScript-subset guarantee can turn on [`esStrictCompatible`](#options).
|
|
570
533
|
|
|
571
534
|
## Changelog
|
|
572
|
-
- 1.1.
|
|
535
|
+
- 1.1.8(pre)
|
|
536
|
+
- 1.1.7
|
|
537
|
+
- A reviver's return value for the root is now used; it was discarded, so `parse("2", v => v * 10)` returned `2` (#61).
|
|
538
|
+
- `stringify` runs a replacer on the raw value and quotes afterwards; a replacer used to receive strings already quoted, and a string it returned was emitted bare. A function replacer now also sees a root `null` or `undefined` (#62).
|
|
539
|
+
- `stringify` quotes object keys containing `[`, `]`, any quote character, or any whitespace, so they parse back (#63).
|
|
540
|
+
- A comment may directly follow a number (`{a:1/* c */}`), and a block comment closes correctly after consecutive asterisks (`/***/`) (#64).
|
|
541
|
+
- A root string split across `write()` calls is delivered before the next value in the same chunk, instead of throwing "two values with no separator" (#65).
|
|
542
|
+
- README: streaming examples use `JSON6.begin`, the require hook is `json-6/lib/require`, the stale inline manifest is replaced by a link to `package.json6`, and JSON6 is described as extending JSON rather than as a superset of JavaScript (#66).
|
|
543
|
+
- `npm test` and `test-lite` now type-check test files too (`tsc` runs after lint); the production build only checked `lib/`.
|
|
544
|
+
- Older changelog entries moved to [CHANGELOG.md](./CHANGELOG.md).
|
|
573
545
|
- 1.1.6
|
|
574
546
|
- Fix the shipped `dist/json6.d.ts`: tsc emitted `export =` next to `export type` lines, which TypeScript 5.x rejects (TS2309) for any consumer compiling without `skipLibCheck`. The types now live in a namespace merged with the export (#60).
|
|
575
547
|
- `normalizeNumericKeys` parse option: an unquoted numeric key becomes `String(Number(key))`, so `{1e3:1}` gives key `"1000"` as a JS object literal would (#59).
|
|
@@ -617,66 +589,8 @@ JavaScript-subset guarantee can turn on [`esStrictCompatible`](#options).
|
|
|
617
589
|
- 1.1.3
|
|
618
590
|
- fixes '\v' decoding.
|
|
619
591
|
- fixes parsing hex numbers with a-f.
|
|
620
|
-
-
|
|
621
|
-
|
|
622
|
-
- added tests from sack.vfs JSON6 updates.
|
|
623
|
-
- 1.1.1
|
|
624
|
-
- Added stringifier
|
|
625
|
-
- emits unquoted object field names, if valid to be unquoted.
|
|
626
|
-
- emits Infinity
|
|
627
|
-
- emits NaN
|
|
628
|
-
- Added forgiving '+' collection for numbers.
|
|
629
|
-
- Improved(implemented) node module loader interface `lib/import.mjs` which enables `.json6` extension for import.
|
|
630
|
-
- 1.0.8
|
|
631
|
-
- throw error when streaming, and an error is encountered, persist throwing on new writes.
|
|
632
|
-
- 1.0.7
|
|
633
|
-
- Remove octal string escapes (Only overly clever people use those?)
|
|
634
|
-
- Add \0 literal escape.
|
|
635
|
-
- removed leading 0 octal interpretation.
|
|
636
|
-
- fix trailing comma handling
|
|
637
|
-
- clarify error reporting
|
|
638
|
-
- Coverage completion
|
|
639
|
-
- improve error tests
|
|
640
|
-
- integrate with Travis.
|
|
641
|
-
- 1.0.6
|
|
642
|
-
- Remove leading 0 octal interpretation; code reformats, test framework improvements.
|
|
643
|
-
- Implement automated mocha tests; fixed several edge cases
|
|
644
|
-
- Comments that are open at the end of a document (stream flush), will throw an error; they should be closed with an end of line or `*/` as appropriate.
|
|
645
|
-
- keywords are accepted as unquoted strings for object field names.
|
|
646
|
-
- Improved error reporting for incomplete escape sequeneces at the end of strings.
|
|
647
|
-
- 1.0.5 - Add interpretation of `nbsp` (codepoint 0xa0); (In the spirit of 'human readable') A 'visible' whitespace is treated as a whitespace.
|
|
648
|
-
- 1.0.4 - error publishing (bump to republish)
|
|
649
|
-
- 1.0.3
|
|
650
|
-
- Fix clearing negative flag used with NaN.
|
|
651
|
-
- update build products to produce an esm module.
|
|
652
|
-
- 1.0.2 - Udate in Readme updated.
|
|
653
|
-
- 1.0.1 - Fix homepage reference.
|
|
654
|
-
- 1.0.0 - Fix bug reading surrogate pairs, and error with > 65k buffers. Release 1.0. I don't see this changing beyond the current functionality.
|
|
655
|
-
- 0.1.127 - Fix bad shift/unshift/pop methods.
|
|
656
|
-
- 0.1.126 - Fix handling very wide characters. Improved number parsing speed. Fix string character escapes. Update documentation to include '0o' prefix for numbers.
|
|
657
|
-
- 0.1.125 - Fix some `let`s that were causing deoptimization
|
|
658
|
-
- 0.1.123 - Fix `npm install json-6` in readme. Remove dev dependancies that aren't used. Fix #8 Wierd arrays [test](./tests/json6TestObjectArray.js)
|
|
659
|
-
- 0.1.122 - Fix referencing `val.negative` that should be just `negative`.
|
|
660
|
-
- 0.1.121 - Optimization; use `Number()` instead of `new Number()`
|
|
661
|
-
- 0.1.120 - If a non-string is passed to parse, convert to a string using String(msg).
|
|
662
|
-
- 0.1.119 - standardize errors; fix negative sign for -Infinity.
|
|
663
|
-
- 0.1.118 - Fix "use strict" undefined variables string_status and exponent_digit. Issue #4.
|
|
664
|
-
- 0.1.117 - documentation and license updates. (Issue #3)
|
|
665
|
-
- 0.1.116 - Updated docs; Fixed stream parse issue with numbers.
|
|
666
|
-
- 0.1.115 - Fix object key names with spaces being accepted. Fix number parsing to be more strict.
|
|
667
|
-
- 0.1.114 - Fix true/false values.
|
|
668
|
-
- 0.1.113 - documentation update fix.
|
|
669
|
-
- 0.1.112 - fix streaming error at end of string, and values in some circumstances.
|
|
670
|
-
- 0.1.111 - fix packaging error.
|
|
671
|
-
- 0.1.110 - fix empty elements in arrays. `[,]` = `[<empty item>]` not `[undefined]`. improve test.
|
|
672
|
-
- 0.1.109 - fix redundant result with certain buffers.
|
|
673
|
-
- 0.1.108 - rename 'add' to 'write' for compatibilty with other sack.vfs JSON6 parser.
|
|
674
|
-
- 0.1.107 - fix variable used for gathering Strings that caused permanent error
|
|
675
|
-
- 0.1.106 - fix handling whitespace after keyword
|
|
676
|
-
- 0.1.105 - Add a streaming interface.
|
|
677
|
-
- 0.1.104 - Readme updates.
|
|
678
|
-
- 0.1.103 - Add underscore as a zero-space-non-breaking-whitespace for numbers.
|
|
679
|
-
|
|
592
|
+
- previous changes
|
|
593
|
+
- Tail of changelog [CHANGELOG.md](CHANGELOG.md).
|
|
680
594
|
|
|
681
595
|
## License
|
|
682
596
|
|
package/dist/index.js
CHANGED
|
@@ -1692,7 +1692,7 @@
|
|
|
1692
1692
|
hasRequiredJson6 = 1;
|
|
1693
1693
|
(function (module) {
|
|
1694
1694
|
|
|
1695
|
-
const version = "1.1.
|
|
1695
|
+
const version = "1.1.7";
|
|
1696
1696
|
const VALUE_UNDEFINED = -1;
|
|
1697
1697
|
const VALUE_UNSET = 0;
|
|
1698
1698
|
const VALUE_NULL = 1;
|
|
@@ -2162,13 +2162,13 @@
|
|
|
2162
2162
|
if (!status) throw new Error("Parser is in an error state, please reset.");
|
|
2163
2163
|
for (retcode = this._write(/** @type {string|undefined|null} */msg, false); retcode > 0; retcode = this._write()) {
|
|
2164
2164
|
this.finalError();
|
|
2165
|
-
if (typeof reviver === 'function')
|
|
2165
|
+
if (typeof reviver === 'function') result =
|
|
2166
2166
|
/**
|
|
2167
2167
|
* @param {Record<string, unknown>} holder
|
|
2168
2168
|
* @param {string} key
|
|
2169
2169
|
* @returns {unknown}
|
|
2170
2170
|
*/
|
|
2171
|
-
|
|
2171
|
+
function walk(holder, key) {
|
|
2172
2172
|
const value = holder[key];
|
|
2173
2173
|
if (value && typeof value === 'object') {
|
|
2174
2174
|
const record = /** @type {Record<string, unknown>} */value;
|
|
@@ -2184,7 +2184,7 @@
|
|
|
2184
2184
|
}
|
|
2185
2185
|
}
|
|
2186
2186
|
return reviver.call(holder, key, value);
|
|
2187
|
-
}
|
|
2187
|
+
}({
|
|
2188
2188
|
'': result
|
|
2189
2189
|
}, '');
|
|
2190
2190
|
cb(result);
|
|
@@ -2556,7 +2556,7 @@
|
|
|
2556
2556
|
// break;
|
|
2557
2557
|
}
|
|
2558
2558
|
} else {
|
|
2559
|
-
if (cInt == 32 /*' '*/ || cInt == 160 /*   */ || cInt == 13 || cInt == 10 || cInt == 9 || cInt == 11 /*VT*/ || cInt == 12 /*FF*/ || cInt == 0x2028 /*LS*/ || cInt == 0x2029 /*PS*/ || cInt == 0xFEFF || cInt == 44 /*','*/ || cInt == 125 /*'}'*/ || cInt == 93 /*']'*/ || cInt == 58 /*':'*/) {
|
|
2559
|
+
if (cInt == 32 /*' '*/ || cInt == 160 /*   */ || cInt == 13 || cInt == 10 || cInt == 9 || cInt == 11 /*VT*/ || cInt == 12 /*FF*/ || cInt == 0x2028 /*LS*/ || cInt == 0x2029 /*PS*/ || cInt == 0xFEFF || cInt == 44 /*','*/ || cInt == 125 /*'}'*/ || cInt == 93 /*']'*/ || cInt == 58 /*':'*/ || cInt == 47 /*'/'*/) {
|
|
2560
2560
|
break;
|
|
2561
2561
|
} else {
|
|
2562
2562
|
if (complete_at_end) {
|
|
@@ -2614,6 +2614,7 @@
|
|
|
2614
2614
|
if (string_status > 0) {
|
|
2615
2615
|
gatheringString = false;
|
|
2616
2616
|
val.value_type = VALUE_STRING;
|
|
2617
|
+
if (parse_context != CONTEXT_OBJECT_FIELD) word = WORD_POS_END;
|
|
2617
2618
|
}
|
|
2618
2619
|
}
|
|
2619
2620
|
if (gatheringNumber) {
|
|
@@ -2649,7 +2650,7 @@
|
|
|
2649
2650
|
if (cInt == 42 /*'*'*/) comment = 4;
|
|
2650
2651
|
} else {
|
|
2651
2652
|
// if( comment == 4 ) { // '/* ... *'
|
|
2652
|
-
if (cInt == 47 /*'/'*/) comment = 0;else comment = 3; //
|
|
2653
|
+
if (cInt == 47 /*'/'*/) comment = 0;else if (cInt != 42 /*'*'*/) comment = 3; // another '*' can still begin the close
|
|
2653
2654
|
}
|
|
2654
2655
|
continue;
|
|
2655
2656
|
}
|
|
@@ -3218,14 +3219,14 @@
|
|
|
3218
3219
|
parser.finalError();
|
|
3219
3220
|
throw new Error("No value found in document");
|
|
3220
3221
|
}
|
|
3221
|
-
|
|
3222
|
-
if (typeof reviver === 'function')
|
|
3222
|
+
let result = parser.value();
|
|
3223
|
+
if (typeof reviver === 'function') result =
|
|
3223
3224
|
/**
|
|
3224
3225
|
* @param {Record<string, unknown>} holder
|
|
3225
3226
|
* @param {string} key
|
|
3226
3227
|
* @returns {unknown}
|
|
3227
3228
|
*/
|
|
3228
|
-
|
|
3229
|
+
function walk(holder, key) {
|
|
3229
3230
|
const value = holder[key];
|
|
3230
3231
|
if (value && typeof value === 'object') {
|
|
3231
3232
|
const record = /** @type {Record<string, unknown>} */value;
|
|
@@ -3241,7 +3242,7 @@
|
|
|
3241
3242
|
}
|
|
3242
3243
|
}
|
|
3243
3244
|
return reviver.call(holder, key, value);
|
|
3244
|
-
}
|
|
3245
|
+
}({
|
|
3245
3246
|
'': result
|
|
3246
3247
|
}, '');
|
|
3247
3248
|
return result;
|
|
@@ -3319,7 +3320,7 @@
|
|
|
3319
3320
|
function getIdentifier(s) {
|
|
3320
3321
|
if (!s.length) return useQuote + useQuote;
|
|
3321
3322
|
// should check also for if any non ident in string...
|
|
3322
|
-
return s in keywords /* [ "true","false","null","NaN","Infinity","undefined"].find( keyword=>keyword===s )*/ || /([0-9-])/.test(s[0]) || /
|
|
3323
|
+
return s in keywords /* [ "true","false","null","NaN","Infinity","undefined"].find( keyword=>keyword===s )*/ || /([0-9-])/.test(s[0]) || /[\s"'`[\]#{}()<>!+\-*/.:,]/.test(s) ? useQuote + JSON6.escape(s) + useQuote : s;
|
|
3323
3324
|
}
|
|
3324
3325
|
|
|
3325
3326
|
/**
|
|
@@ -3331,8 +3332,7 @@
|
|
|
3331
3332
|
* @returns {string|undefined}
|
|
3332
3333
|
*/
|
|
3333
3334
|
function stringify(stringifier, object, replacer, space, asField) {
|
|
3334
|
-
if (object === undefined) return "undefined";
|
|
3335
|
-
if (object === null) return "null";
|
|
3335
|
+
if (object === undefined && typeof replacer !== "function") return "undefined";
|
|
3336
3336
|
/** @type {string} */
|
|
3337
3337
|
let gap = "";
|
|
3338
3338
|
/** @type {string} */
|
|
@@ -3379,16 +3379,6 @@
|
|
|
3379
3379
|
const mind = gap;
|
|
3380
3380
|
/** @type {unknown} */
|
|
3381
3381
|
let value = holder[key];
|
|
3382
|
-
// A string *value* must always be quoted: unlike an object key,
|
|
3383
|
-
// a bareword here would parse back as an identifier/variable
|
|
3384
|
-
// reference rather than as the string itself, so `getIdentifier`
|
|
3385
|
-
// (which intentionally leaves identifier-shaped keys unquoted)
|
|
3386
|
-
// is not applicable to values. Using it here previously emitted
|
|
3387
|
-
// invalid, non-reparseable output for any identifier-shaped
|
|
3388
|
-
// string value (e.g. `"hello"` became the bare word `hello`).
|
|
3389
|
-
if ("string" === typeof value) {
|
|
3390
|
-
value = useQuote + JSON6.escape(value) + useQuote;
|
|
3391
|
-
}
|
|
3392
3382
|
if (value !== undefined && value !== null && typeof value === "object" && typeof toJSOX === "function") {
|
|
3393
3383
|
// is encoding?
|
|
3394
3384
|
gap += indent;
|
|
@@ -3404,7 +3394,7 @@
|
|
|
3404
3394
|
// What happens next depends on the value's type.
|
|
3405
3395
|
switch (typeof value) {
|
|
3406
3396
|
case "string":
|
|
3407
|
-
return value;
|
|
3397
|
+
return useQuote + JSON6.escape(value) + useQuote;
|
|
3408
3398
|
case "number":
|
|
3409
3399
|
return '' + value;
|
|
3410
3400
|
//useQuote+JSOX.escape( value )+useQuote;
|
package/dist/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).JSON5=t()}(this,function(){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var n,r,i={};function o(){if(r)return n;r=1;var t=function(e){return e&&e.Math===Math&&e};return n=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof e&&e)||t("object"==typeof n&&n)||function(){return this}()||Function("return this")()}var u,a,s,c,f,l,p,g,h={};function v(){return a?u:(a=1,u=function(e){try{return!!e()}catch(e){return!0}})}function b(){if(c)return s;c=1;var e=v();return s=!e(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})}function d(){if(l)return f;l=1;var e=v();return f=!e(function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})}function y(){if(g)return p;g=1;var e=d(),t=Function.prototype.call;return p=e?t.bind(t):function(){return t.apply(t,arguments)},p}var m,w,k,S,O,j,_,x,P,C,E,N,A,$,T,I,L,M,z,F,U,q,D,W,K,R,J,B,G,X,Q,V,Y,H,Z,ee,te,ne,re,ie,oe,ue={};function ae(){return k?w:(k=1,w=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}})}function se(){if(O)return S;O=1;var e=d(),t=Function.prototype,n=t.call,r=e&&t.bind.bind(n,n);return S=e?r:function(e){return function(){return n.apply(e,arguments)}},S}function ce(){if(_)return j;_=1;var e=se(),t=e({}.toString),n=e("".slice);return j=function(e){return n(t(e),8,-1)}}function fe(){return E?C:(E=1,C=function(e){return null==e})}function le(){if(A)return N;A=1;var e=fe(),t=TypeError;return N=function(n){if(e(n))throw new t("Can't call method on "+n);return n}}function pe(){if(T)return $;T=1;var e=function(){if(P)return x;P=1;var e=se(),t=v(),n=ce(),r=Object,i=e("".split);return x=t(function(){return!r("z").propertyIsEnumerable(0)})?function(e){return"String"===n(e)?i(e,""):r(e)}:r}(),t=le();return $=function(n){return e(t(n))}}function ge(){if(L)return I;L=1;var e="object"==typeof document&&document.all;return I=void 0===e&&void 0!==e?function(t){return"function"==typeof t||t===e}:function(e){return"function"==typeof e}}function he(){if(z)return M;z=1;var e=ge();return M=function(t){return"object"==typeof t?null!==t:e(t)}}function ve(){if(U)return F;U=1;var e=o(),t=ge();return F=function(n,r){return arguments.length<2?(i=e[n],t(i)?i:void 0):e[n]&&e[n][r];var i},F}function be(){if(J)return R;J=1;var e,t,n=o(),r=function(){if(K)return W;K=1;var e=o().navigator,t=e&&e.userAgent;return W=t?String(t):""}(),i=n.process,u=n.Deno,a=i&&i.versions||u&&u.version,s=a&&a.v8;return s&&(t=(e=s.split("."))[0]>0&&e[0]<4?1:+(e[0]+e[1])),!t&&r&&(!(e=r.match(/Edge\/(\d+)/))||e[1]>=74)&&(e=r.match(/Chrome\/(\d+)/))&&(t=+e[1]),R=t}function de(){if(G)return B;G=1;var e=be(),t=v(),n=o().String;return B=!!Object.getOwnPropertySymbols&&!t(function(){var t=Symbol("symbol detection");return!n(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&e&&e<41})}function ye(){if(Q)return X;Q=1;var e=de();return X=e&&!Symbol.sham&&"symbol"==typeof Symbol.iterator}function me(){if(Y)return V;Y=1;var e=ve(),t=ge(),n=function(){if(D)return q;D=1;var e=se();return q=e({}.isPrototypeOf)}(),r=ye(),i=Object;return V=r?function(e){return"symbol"==typeof e}:function(r){var o=e("Symbol");return t(o)&&n(o.prototype,i(r))}}function we(){if(Z)return H;Z=1;var e=String;return H=function(t){try{return e(t)}catch(e){return"Object"}}}function ke(){if(te)return ee;te=1;var e=ge(),t=we(),n=TypeError;return ee=function(r){if(e(r))return r;throw new n(t(r)+" is not a function")}}function Se(){if(re)return ne;re=1;var e=ke(),t=fe();return ne=function(n,r){var i=n[r];return t(i)?void 0:e(i)}}function Oe(){if(oe)return ie;oe=1;var e=y(),t=ge(),n=he(),r=TypeError;return ie=function(i,o){var u,a;if("string"===o&&t(u=i.toString)&&!n(a=e(u,i)))return a;if(t(u=i.valueOf)&&!n(a=e(u,i)))return a;if("string"!==o&&t(u=i.toString)&&!n(a=e(u,i)))return a;throw new r("Can't convert object to primitive value")}}var je,_e,xe,Pe,Ce,Ee,Ne,Ae,$e,Te,Ie,Le,Me,ze,Fe,Ue,qe,De,We,Ke,Re,Je,Be,Ge,Xe={exports:{}};function Qe(){if(Pe)return xe;Pe=1;var e=o(),t=Object.defineProperty;return xe=function(n,r){try{t(e,n,{value:r,configurable:!0,writable:!0})}catch(t){e[n]=r}return r}}function Ve(){if(Ce)return Xe.exports;Ce=1;var e=_e?je:(_e=1,je=!1),t=o(),n=Qe(),r="__core-js_shared__",i=Xe.exports=t[r]||n(r,{});return(i.versions||(i.versions=[])).push({version:"3.50.0",mode:e?"pure":"global",copyright:"© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.",license:"https://github.com/zloirock/core-js/blob/v3.50.0/LICENSE",source:"https://github.com/zloirock/core-js"}),Xe.exports}function Ye(){if(Ne)return Ee;Ne=1;var e=Ve(),t=Object.create||Object;return Ee=function(n,r){return e[n]||(e[n]=r||t(null))}}function He(){if($e)return Ae;$e=1;var e=le(),t=Object;return Ae=function(n){return t(e(n))}}function Ze(){if(Ie)return Te;Ie=1;var e=se(),t=He(),n=e({}.hasOwnProperty);return Te=Object.hasOwn||function(e,r){return n(t(e),r)}}function et(){if(Me)return Le;Me=1;var e=se(),t=0,n=Math.random(),r=e(1.1.toString);return Le=function(e){return"Symbol("+(void 0===e?"":e)+")_"+r(++t+n,36)}}function tt(){if(Fe)return ze;Fe=1;var e=o(),t=Ye(),n=Ze(),r=et(),i=de(),u=ye(),a=e.Symbol,s=t("wks"),c=u?a.for||a:a&&a.withoutSetter||r;return ze=function(e){return n(s,e)||(s[e]=i&&n(a,e)?a[e]:c("Symbol."+e)),s[e]}}function nt(){if(qe)return Ue;qe=1;var e=y(),t=he(),n=me(),r=Se(),i=Oe(),o=tt(),u=TypeError,a=o("toPrimitive");return Ue=function(o,s){if(!t(o)||n(o))return o;var c,f=r(o,a);if(f){if(void 0===s&&(s="default"),c=e(f,o,s),!t(c)||n(c))return c;throw new u("Can't convert object to primitive value")}return void 0===s&&(s="number"),i(o,s)}}function rt(){if(We)return De;We=1;var e=nt(),t=me();return De=function(n){var r=e(n,"string");return t(r)?r:r+""}}function it(){if(Be)return Je;Be=1;var e=b(),t=v(),n=function(){if(Re)return Ke;Re=1;var e=o(),t=he(),n=e.document,r=t(n)&&t(n.createElement);return Ke=function(e){return r?n.createElement(e):{}}}();return Je=!e&&!t(function(){return 7!==Object.defineProperty(n("div"),"a",{get:function(){return 7}}).a})}function ot(){if(Ge)return h;Ge=1;var e=b(),t=y(),n=function(){if(m)return ue;m=1;var e={}.propertyIsEnumerable,t=Object.getOwnPropertyDescriptor,n=t&&!e.call({1:2},1);return ue.f=n?function(e){var n=t(this,e);return!!n&&n.enumerable}:e,ue}(),r=ae(),i=pe(),o=rt(),u=Ze(),a=it(),s=Object.getOwnPropertyDescriptor;return h.f=e?s:function(e,c){if(e=i(e),c=o(c),a)try{return s(e,c)}catch(e){}if(u(e,c))return r(!t(n.f,e,c),e[c])},h}var ut,at,st,ct,ft,lt,pt,gt={};function ht(){if(ct)return st;ct=1;var e=he(),t=String,n=TypeError;return st=function(r){if(e(r))return r;throw new n(t(r)+" is not an object")}}function vt(){if(ft)return gt;ft=1;var e=b(),t=it(),n=function(){if(at)return ut;at=1;var e=b(),t=v();return ut=e&&t(function(){return 42!==Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype})}(),r=ht(),i=rt(),o=TypeError,u=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s="enumerable",c="configurable",f="writable";return gt.f=e?n?function(e,t,n){if(r(e),t=i(t),r(n),"function"==typeof e&&"prototype"===t&&"value"in n&&f in n&&!n[f]){var o=a(e,t);o&&o[f]&&(e[t]=n.value,n={configurable:c in n?n[c]:o[c],enumerable:s in n?n[s]:o[s],writable:!1})}return u(e,t,n)}:u:function(e,n,a){if(r(e),n=i(n),r(a),t)try{return u(e,n,a)}catch(e){}if("get"in a||"set"in a)throw new o("Accessors not supported");return"value"in a&&(e[n]=a.value),e},gt}function bt(){if(pt)return lt;pt=1;var e=b(),t=vt(),n=ae();return lt=e?function(e,r,i){return t.f(e,r,n(1,i))}:function(e,t,n){return e[t]=n,e}}var dt,yt,mt,wt,kt,St,Ot,jt,_t,xt,Pt,Ct,Et,Nt,At,$t={exports:{}};function Tt(){if(wt)return mt;wt=1;var e=se(),t=ge(),n=Ve(),r=e(Function.toString);return t(n.inspectSource)||(n.inspectSource=function(e){return r(e)}),mt=n.inspectSource}function It(){if(jt)return Ot;jt=1;var e=Ye(),t=et(),n=e("keys");return Ot=function(e){return n[e]||(n[e]=t(e))}}function Lt(){return xt?_t:(xt=1,_t={})}function Mt(){if(Ct)return Pt;Ct=1;var e,t,n,r=function(){if(St)return kt;St=1;var e=o(),t=ge(),n=e.WeakMap;return kt=t(n)&&/native code/.test(String(n))}(),i=o(),u=he(),a=bt(),s=Ze(),c=Ve(),f=It(),l=Lt(),p="Object already initialized",g=i.TypeError,h=i.WeakMap;if(r||c.state){var v=c.state||(c.state=new h);v.get=v.get,v.has=v.has,v.set=v.set,e=function(e,t){if(v.has(e))throw new g(p);return t.facade=e,v.set(e,t),t},t=function(e){return v.get(e)||{}},n=function(e){return v.has(e)}}else{var b=f("state");l[b]=!0,e=function(e,t){if(s(e,b))throw new g(p);return t.facade=e,a(e,b,t),t},t=function(e){return s(e,b)?e[b]:{}},n=function(e){return s(e,b)}}return Pt={set:e,get:t,has:n,enforce:function(r){return n(r)?t(r):e(r,{})},getterFor:function(e){return function(n){var r;if(!u(n)||(r=t(n)).type!==e)throw new g("Incompatible receiver, "+e+" required");return r}}}}function zt(){if(Et)return $t.exports;Et=1;var e=se(),t=v(),n=ge(),r=Ze(),i=b(),o=function(){if(yt)return dt;yt=1;var e=b(),t=Ze(),n=Function.prototype,r=e&&Object.getOwnPropertyDescriptor,i=t(n,"name"),o=i&&"something"===function(){}.name,u=i&&(!e||e&&r(n,"name").configurable);return dt={EXISTS:i,PROPER:o,CONFIGURABLE:u}}().CONFIGURABLE,u=Tt(),a=Mt(),s=a.enforce,c=a.get,f=String,l=Object.defineProperty,p=e("".slice),g=e("".replace),h=e([].join),d=i&&!t(function(){return 8!==l(function(){},"length",{value:8}).length}),y=String(String).split("String"),m=$t.exports=function(e,t,n){"Symbol("===p(f(t),0,7)&&(t="["+g(f(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!r(e,"name")||o&&e.name!==t)&&(i?l(e,"name",{value:t,configurable:!0}):e.name=t),d&&n&&r(n,"arity")&&e.length!==n.arity&&l(e,"length",{value:n.arity});try{n&&r(n,"constructor")&&n.constructor?i&&l(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var u=s(e);return r(u,"source")||(u.source=h(y,"string"==typeof t?t:"")),e};return Function.prototype.toString=m(function(){return n(this)&&c(this).source||u(this)},"toString"),$t.exports}function Ft(){if(At)return Nt;At=1;var e=ge(),t=vt(),n=zt(),r=Qe();return Nt=function(i,o,u,a){a||(a={});var s=a.enumerable,c=void 0!==a.name?a.name:o;if(e(u)&&n(u,c,a),a.global)s?i[o]=u:r(o,u);else{try{a.unsafe?i[o]&&(s=!0):delete i[o]}catch(e){}s?i[o]=u:t.f(i,o,{value:u,enumerable:!1,configurable:!a.nonConfigurable,writable:!a.nonWritable})}return i}}var Ut,qt,Dt,Wt,Kt,Rt,Jt,Bt,Gt,Xt,Qt,Vt,Yt,Ht,Zt,en,tn,nn={};function rn(){if(Wt)return Dt;Wt=1;var e=function(){if(qt)return Ut;qt=1;var e=Math.ceil,t=Math.floor;return Ut=Math.trunc||function(n){var r=+n;return(r>0?t:e)(r)}}();return Dt=function(t){var n=+t;return n!=n||0===n?0:e(n)}}function on(){if(Rt)return Kt;Rt=1;var e=rn(),t=Math.max,n=Math.min;return Kt=function(r,i){var o=e(r);return o<0?t(o+i,0):n(o,i)}}function un(){if(Bt)return Jt;Bt=1;var e=rn(),t=Math.min;return Jt=function(n){var r=e(n);return r>0?t(r,9007199254740991):0}}function an(){if(Xt)return Gt;Xt=1;var e=un();return Gt=function(t){return e(t.length)}}function sn(){if(Ht)return Yt;Ht=1;var e=se(),t=Ze(),n=pe(),r=function(){if(Vt)return Qt;Vt=1;var e=pe(),t=on(),n=an(),r=function(r){return function(i,o,u){var a=e(i),s=n(a);if(0===s)return!r&&-1;var c,f=t(u,s);if(r&&o!=o){for(;s>f;)if((c=a[f++])!=c)return!0}else for(;s>f;f++)if((r||f in a)&&a[f]===o)return r||f||0;return!r&&-1}};return Qt={includes:r(!0),indexOf:r(!1)}}().indexOf,i=Lt(),o=e([].push);return Yt=function(e,u){var a,s=n(e),c=0,f=[];for(a in s)!t(i,a)&&t(s,a)&&o(f,a);for(;u.length>c;)t(s,a=u[c++])&&(~r(f,a)||o(f,a));return f}}var cn,fn,ln,pn,gn,hn,vn,bn,dn,yn,mn,wn,kn,Sn,On,jn,_n,xn,Pn,Cn,En,Nn,An,$n,Tn,In,Ln,Mn,zn,Fn={};function Un(){if(ln)return fn;ln=1;var e=ve(),t=se(),n=function(){if(tn)return nn;tn=1;var e=sn(),t=(en?Zt:(en=1,Zt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"])).concat("length","prototype");return nn.f=Object.getOwnPropertyNames||function(n){return e(n,t)},nn}(),r=(cn||(cn=1,Fn.f=Object.getOwnPropertySymbols),Fn),i=ht(),o=t([].concat);return fn=e("Reflect","ownKeys")||function(e){var t=n.f(i(e)),u=r.f;return u?o(t,u(e)):t}}function qn(){if(gn)return pn;gn=1;var e=Ze(),t=Un(),n=ot(),r=vt();return pn=function(i,o,u){for(var a=t(o),s=r.f,c=n.f,f=0;f<a.length;f++){var l=a[f];e(i,l)||u&&e(u,l)||s(i,l,c(o,l))}}}function Dn(){if(dn)return bn;dn=1;var e=o(),t=ot().f,n=bt(),r=Ft(),i=Qe(),u=qn(),a=function(){if(vn)return hn;vn=1;var e=v(),t=ge(),n=/#|\.prototype\./,r=function(n,r){var s=o[i(n)];return s===a||s!==u&&(t(r)?e(r):!!r)},i=r.normalize=function(e){return String(e).replace(n,".").toLowerCase()},o=r.data={},u=r.NATIVE="N",a=r.POLYFILL="P";return hn=r}();return bn=function(o,s){var c,f,l,p,g,h=o.target,v=o.global,b=o.stat;if(c=v?e:b?e[h]||i(h,{}):e[h]&&e[h].prototype)for(f in s){if(p=s[f],l=o.dontCallGetSet?(g=t(c,f))&&g.value:c[f],!a(v?f:h+(b?".":"#")+f,o.forced)&&void 0!==l){if(typeof p==typeof l)continue;u(p,l)}(o.sham||l&&l.sham)&&n(p,"sham",!0),r(c,f,p,o)}}}function Wn(){if(kn)return wn;kn=1;var e=function(){if(mn)return yn;mn=1;var e={};return e[tt()("toStringTag")]="z",yn="[object z]"===String(e)}(),t=ge(),n=ce(),r=tt()("toStringTag"),i=Object,o="Arguments"===n(function(){return arguments}());return wn=e?n:function(e){var u,a,s;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(a=function(e,t){try{return e[t]}catch(e){}}(u=i(e),r))?a:o?n(u):"Object"===(s=n(u))&&t(u.callee)?"Arguments":s}}function Kn(){if(On)return Sn;On=1;var e=Wn(),t=String;return Sn=function(n){if("Symbol"===e(n))throw new TypeError("Cannot convert a Symbol value to a string");return t(n)}}function Rn(){if(xn)return i;xn=1;var e=Dn(),t=function(){if(_n)return jn;_n=1;var e=se(),t=rn(),n=Kn(),r=le(),i=e("".charAt),o=e("".charCodeAt),u=e("".slice),a=function(e){return function(a,s){var c,f,l=n(r(a)),p=t(s),g=l.length;return p<0||p>=g?e?"":void 0:(c=o(l,p))<55296||c>56319||p+1===g||(f=o(l,p+1))<56320||f>57343?e?i(l,p):c:e?u(l,p,p+2):f-56320+(c-55296<<10)+65536}};return jn={codeAt:a(!1),charAt:a(!0)}}().codeAt;return e({target:"String",proto:!0},{codePointAt:function(e){return t(this,e)}}),i}function Jn(){if(Cn)return Pn;Cn=1;var e=o(),t=se();return Pn=function(n,r){return t(e[n].prototype[r])}}function Bn(){if($n)return An;$n=1;var e=function(){if(Nn)return En;Nn=1,Rn();var e=Jn();return En=e("String","codePointAt")}();return An=e}function Gn(){if(Mn)return Ln;Mn=1;var e=function(){if(In)return Tn;In=1;var e=Bn();return Tn=e}();return Ln=e}var Xn,Qn,Vn,Yn,Hn,Zn,er,tr,nr,rr,ir,or,ur,ar={};function sr(){if(Vn)return Qn;Vn=1;var e=o();return Qn=e}function cr(){if(Hn)return Yn;Hn=1,function(){if(Xn)return ar;Xn=1;var e=Dn(),t=se(),n=on(),r=RangeError,i=String.fromCharCode,o=String.fromCodePoint,u=t([].join);e({target:"String",stat:!0,arity:1,forced:!!o&&1!==o.length},{fromCodePoint:function(e){for(var t,o=[],a=arguments.length,s=0;a>s;){if(n(t=+arguments[s],1114111)!==t)throw new r(t+" is not a valid code point");o[s++]=t<65536?i(t):i(55296+((t-=65536)>>10),t%1024+56320)}return u(o,"")}})}();var e=sr();return Yn=e.String.fromCodePoint}function fr(){if(nr)return tr;nr=1;var e=function(){if(er)return Zn;er=1;var e=cr();return Zn=e}();return tr=e}function lr(){return ur?or:(ur=1,or=function(){if(ir)return rr;ir=1;var e=fr();return rr=e}())}var pr,gr,hr,vr,br,dr={exports:{}};function yr(){return pr||(pr=1,function(e){const t=29,n=31,r=/^[$_\p{ID_Start}][$_\p{ID_Continue}]*$/u,i=/(\d)_(?=\d)/g,o=[];function u(){return o.pop()||{context:0,elements:null,element_array:null,name:null}}function a(e){o.push(e)}const s=[];function c(e){s.push(e)}function f(e,t){if(void 0===e)throw new Error(t||"Unexpected undefined value");return e}const l={escape:function(e){let t="";if(!e)return e;for(let n=0;n<e.length;n++){const r=e[n];'"'!=r&&"\\"!=r&&"`"!=r&&"'"!=r||(t+="\\"),t+=r}return t}};l.begin=function(e,o,l){const p=l;let g=!(!p||!p.esStrictCompatible),h=!(!p||!p.forbidTemplateSubstitution),v=!(!p||!p.warnWithCommentWithoutEOL),b=!(!p||!p.normalizeNumericKeys);const d={name:null,value_type:0,string:"",contains:null},y={line:1,col:0};let m,w=0,k=0,S=!0,O=!1,j=null,_=[],x=0,P=0,C=!1,E=!1,N=!1,A=!1,$=!1,T=null,I=!1,L=!1,M=!1,z=!1,F=!1,U=!1,q=!1,D=!1,W=0,K=0,R=!1,J=!1;const B={first:null,last:null,saved:null,push(e){let t=this.saved;t?(this.saved=t.next,t.node=e,t.next=null,t.prior=this.last):t={node:e,next:null,prior:this.last},this.last||(this.first=t),this.last=t},pop(){const e=this.last;if(!e)throw new Error("context stack underflow");return(this.last=e.prior)||(this.first=null),e.next=this.saved,this.saved=e,e.node}},G={save:void 0,first:null,last:null,saved:null,push(e){let t=this.saved;t?(this.saved=t.next,t.node=e,t.next=null,t.prior=this.last):t={node:e,next:null,prior:this.last},this.last?this.last.next=t:this.first=t,this.last=t},shift(){const e=this.first;return e?(this.first=e.next,this.first||(this.last=null),e.next=this.saved,this.saved=e,e.node):null},unshift(e){const t=this.saved;this.saved=t.next,t.node=e,t.next=this.first,t.prior=null,this.first||(this.last=t),this.first=t}};function X(e){throw new Error(`${e} at ${w} [${y.line}:${y.col}]`)}return{finalError(){if(0!==P)switch(P){case 1:return X("Comment began at end of document");case 2:v&&console.log("Warning: '//' comment without end of line ended document");break;case 3:return X("Open comment '/*' is missing close at end of document");case 4:return X("Incomplete '/* *' close at end of document")}I&&X("Incomplete string")},value(){this.finalError();const e=j;return j=void 0,e},reset(e){const t=void 0===e?p:e;g=!(!t||!t.esStrictCompatible),h=!(!t||!t.forbidTemplateSubstitution),v=!(!t||!t.warnWithCommentWithoutEOL),b=!(!t||!t.normalizeNumericKeys),k=0,S=!0,G.last&&(G.last.next=G.save),G.save=G.first,G.first=G.last=null,B.last&&(B.last.next=B.saved),B.saved=G.first,B.first=B.last=null,_=null,m=void 0,x=0,d.value_type=0,d.name=null,d.string="",y.line=1,y.col=0,O=!1,M=!1,P=0,R=!1,M=!1,J=!1,T=null,I=!1,z=!1,F=!1,U=!1,q=!1,D=!1,W=0,K=0},write(t){let n;if(!e)throw new Error("Callback function must be passed to begin, or you can't get values from the stream.");if(void 0!==t&&"string"!=typeof t&&(t=String(t)),!S)throw new Error("Parser is in an error state, please reset.");for(n=this._write(t,!1);n>0&&(this.finalError(),"function"==typeof o&&function e(t,n){const r=t[n];if(r&&"object"==typeof r){const t=r;for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const r=e(t,n);void 0!==r?t[n]=r:delete t[n]}}return o.call(t,n,r)}({"":j},""),e(j),j=void 0,!(n<2));n=this._write());n&&this.finalError()},_write(e,o){let l,p="",v=0;function Q(e,t){throw new Error(`${e} '${String.fromCodePoint(t)}' unexpected at ${w} (near '${p.substr(w>4?w-4:0,w>4?3:w-1)}[${String.fromCodePoint(t)}]${p.substr(w,10)}') [${y.line}:${y.col}]`)}function V(e){if(13===e){if(w<p.length&&10===p.charCodeAt(w))return}else if(10!==e&&8232!==e&&8233!==e)return;y.line++,y.col=0}function Y(){d.value_type=0,d.string="",M=!1}function H(e){k>0&&k<t&&(void 0===e?X("Incomplete keyword"):Q("Incomplete keyword",e)),M&&0==d.value_type&&(void 0===e?X("Sign with no number following"):Q("Sign with no number following",e))}function Z(e){0!=d.value_type&&Q("Two values with no separator between them",e)}function ee(){if(Number.isNaN(Number(d.string)))throw S=!1,new Error(`Invalid number '${d.string}' at ${w} [${y.line}:${y.col}]`)}function te(){const e=_;switch(d.value_type){case 5:e.push((O?-1:1)*Number(d.string));break;case 4:e.push(d.string);break;case 2:e.push(!0);break;case 3:e.push(!1);break;case 8:case 9:e.push(NaN);break;case 10:e.push(-1/0);break;case 11:e.push(1/0);break;case 1:e.push(null);break;case-1:e.push(void 0);break;case 13:e.push(void 0),delete e[e.length-1];break;case 6:case 7:e.push(d.contains)}}function ne(){const e=m,t=d.name;switch(d.value_type){case 5:e[t]=(O?-1:1)*Number(d.string);break;case 4:e[t]=d.string;break;case 2:e[t]=!0;break;case 3:e[t]=!1;break;case 8:case 9:e[t]=NaN;break;case 10:e[t]=-1/0;break;case 11:e[t]=1/0;break;case 1:e[t]=null;break;case-1:e[t]=void 0;break;case 6:case 7:e[t]=d.contains}}function re(e){let t=0;const n=g&&96!==e,r=96===e&&h;for(;0==t&&w<p.length;){let i=p.charAt(w);const o=f(p.codePointAt(w++),"Unexpected end of string");if(o>=65536&&(i+=p.charAt(w),w++),y.col++,o==e)z?(D?Q("Incomplete hexidecimal sequence",o):U?Q("Incomplete long unicode sequence",o):q&&Q("Incomplete unicode sequence",o),F?(F=!1,t=1):d.string+=i,z=!1):t=1;else if(z){if(U){if(125==o){d.string+=String.fromCodePoint(W),U=!1,q=!1,z=!1;continue}W*=16,o>=48&&o<=57?W+=o-48:o>=65&&o<=70?W+=o-65+10:o>=97&&o<=102?W+=o-97+10:Q("(escaped character, parsing hex of \\u)",o);continue}if(D||q){if(0===K&&123===o){U=!0;continue}W*=16,o>=48&&o<=57?W+=o-48:o>=65&&o<=70?W+=o-65+10:o>=97&&o<=102?W+=o-97+10:Q(q?"(escaped character, parsing hex of \\u)":"(escaped character, parsing hex of \\x)",o),K++,q?4==K&&(d.string+=String.fromCodePoint(W),q=!1,z=!1):2==K&&(d.string+=String.fromCodePoint(W),D=!1,z=!1);continue}switch(o){case 13:F=!0,V(o);continue;case 8232:case 8233:case 10:F=!1,V(o);break;case 116:d.string+="\t";break;case 98:d.string+="\b";break;case 48:g&&p.charCodeAt(w)>=48&&p.charCodeAt(w)<=57&&Q("Legacy octal string escapes are not allowed when the 'esStrictCompatible' option is set",p.charCodeAt(w)),d.string+="\0";break;case 110:d.string+="\n";break;case 114:d.string+="\r";break;case 102:d.string+="\f";break;case 118:d.string+="\v";break;case 120:D=!0,K=0,W=0;continue;case 117:q=!0,K=0,W=0;continue;default:g&&o>=49&&o<=57&&Q("Legacy octal string escapes are not allowed when the 'esStrictCompatible' option is set",o),d.string+=i}z=!1}else 92===o?(z=!0,J=!1):(!n||10!==o&&13!==o||Q("Literal line terminators inside single- or double-quoted strings require the 'esStrictCompatible' option to be off",o),r&&(J&&123===o&&Q("Template substitution ${ } is not allowed when the 'forbidTemplateSubstitution' option is set",o),J=36===o),F=!1,V(o),d.string+=i)}return t}function ie(){let e;for(;(e=w)<p.length;){const t=p.charAt(e),n=f(p.codePointAt(w++),"Unexpected end of number");if(n>=65536&&Q("fault while parsing number;",n),y.col++,95!=n)if(n>=48&&n<=57)g&&"0"===d.string&&Q("Legacy octal / leading-zero numbers are not allowed when the 'esStrictCompatible' option is set",n),N&&($=!0),d.string+=t;else if(45==n||43==n)0==d.string.length||N&&!A&&!$?(d.string+=t,A=!0):(S=!1,Q("fault while parsing number;",n));else if(46==n)E||C||N?(S=!1,Q("fault while parsing number;",n)):(d.string+=t,E=!0);else if(C&&(n>=95&&n<=102||n>=65&&n<=70))d.string+=t;else if(120==n||98==n||111==n||88==n||66==n||79==n)C||"0"!=d.string?(S=!1,Q("fault while parsing number;",n)):(C=!0,d.string+=t);else{if(101!=n&&69!=n){if(32==n||160==n||13==n||10==n||9==n||11==n||12==n||8232==n||8233==n||65279==n||44==n||125==n||93==n||58==n)break;o&&(S=!1,Q("fault while parsing number;",n));break}N?(S=!1,Q("fault while parsing number;",n)):(d.string+=t,N=!0)}}w>e&&y.col--,w=e,o||w!=p.length?(L=!1,ee(),d.value_type=5,0==x&&(R=!0)):L=!0}if(!S)return-1;if(e&&e.length)l=function(){let e=s.pop();return e?e.n=0:e={buf:null,n:0},e}(),l.buf=e,G.push(l);else if(L){if(L=!1,ee(),d.value_type=5,0!=x)throw new Error("context stack is not empty at flush");R=!0,v=1}for(;S&&(l=G.shift());){if(w=l.n,p=l.buf,I){if(null===T)throw new Error("Parser string start was unset");re(T)>0&&(I=!1,d.value_type=4)}for(L&&ie();!R&&S&&w<p.length;){let e=p.charAt(w);const o=f(p.codePointAt(w++),"Unexpected end of input while parsing");if(o>=65536&&(e+=p.charAt(w),w++),y.col++,P)V(o),1==P?42==o?P=3:47!=o?Q("fault while parsing;",o):P=2:2==P?10!=o&&13!=o&&8232!=o&&8233!=o||(P=0):3==P?42==o&&(P=4):P=47==o?0:3;else{switch(o){case 47:P=1;break;case 123:(k==t||30==k||3==x&&0==k)&&Q("fault while parsing; getting field name unexpected ",o),Z(o);{const e=u();d.value_type=6;const t={};0==x&&(j=m=t),e.context=x,e.elements=m,e.element_array=_,e.name=d.name,m=t,B.push(e),Y(),x=3}break;case 91:if(3!=x&&k!=t&&30!=k||Q("Fault while parsing; while getting field name unexpected",o),0==d.value_type||-1==d.value_type){const e=u();d.value_type=7;const t=[];0==x?j=_=t:4==x&&(m[d.name]=t),e.context=x,e.elements=m,e.element_array=_,e.name=d.name,_=t,B.push(e),Y(),x=1}else Q("Unexpected array open after previous value",o);break;case 58:if(3==x){if(k=0,g&&4!==d.value_type&&!r.test(d.string)&&Number.isNaN(Number(d.string.replace(i,"$1")))&&Q("Unquoted keys must be valid identifiers when the 'esStrictCompatible' option is set",o),b&&4!==d.value_type&&""!==d.string){const e=Number(d.string.replace(i,"$1"));Number.isNaN(e)||(d.string=String(e))}d.name=d.string,d.string="",x=4,d.value_type=0}else Q(1==x?"(in array, got colon out of string):parsing fault;":"(outside any object, got colon out of string):parsing fault;",o);break;case 125:if(k==n&&(k=0),H(o),3==x){k!=t&&30!=k&&4!=d.value_type||Q("Object field name with no value",o),d.value_type=6,d.contains=m;const e=B.pop();d.name=e.name,x=e.context,m=e.elements,_=e.element_array,a(e),0==x&&(R=!0)}else if(4==x){0!=d.value_type?ne():Q("Fault while parsing field value, close with no value",o),d.value_type=6,d.contains=m;const e=B.pop();d.name=e.name,x=e.context,m=e.elements,_=e.element_array,a(e),0==x&&(R=!0)}else Q("Fault while parsing; unexpected",o);O=!1,M=!1;break;case 93:if(k==n&&(k=0),H(o),1==x){0!=d.value_type&&te(),d.value_type=7,d.contains=_;{const e=B.pop();d.name=e.name,x=e.context,m=e.elements,_=e.element_array,a(e)}0==x&&(R=!0)}else Q(`bad context ${x}; fault while parsing`,o);O=!1,M=!1;break;case 44:k==n&&(k=0),H(o),1==x?(0==d.value_type&&(d.value_type=13),te(),Y()):4==x?(x=3,0!=d.value_type?(ne(),Y()):Q("Unexpected comma after object field name",o)):(S=!1,Q("bad context; excessive commas while parsing;",o)),O=!1,M=!1;break;default:if(3==x)switch(o){case 96:g&&Q("Backtick-quoted keys are not allowed when the 'esStrictCompatible' option is set",o);case 34:case 39:if(0==k){0!=d.value_type&&Q("String begin after previous value",o);re(o)?d.value_type=4:(T=o,I=!0)}else Q("fault while parsing; quote not at start of field name",o);break;case 10:case 13:case 32:case 160:case 9:case 11:case 12:case 8232:case 8233:case 65279:V(o),k==n?k=0:k==t&&(k=30);break;default:30==k&&(S=!1,Q("fault while parsing; character unexpected",o)),0==k&&(k=t),d.string+=e}else switch(o){case 96:case 34:case 39:if(0===d.value_type){re(o)?(d.value_type=4,k=n):(T=o,I=!0)}else Q("String unexpected",o);break;case 10:case 32:case 160:case 9:case 13:case 11:case 12:case 8232:case 8233:case 65279:if(V(o),k==n){k=0,M=!1,0==x&&(R=!0);break}0!==k&&(S=!1,Q("fault parsing whitespace",o));break;case 116:0==k?(Z(o),k=1):27==k?k=28:(S=!1,Q("fault parsing",o));break;case 114:1==k?k=2:(S=!1,Q("fault parsing",o));break;case 117:2==k?k=3:9==k?k=10:0==k?(Z(o),k=12):(S=!1,Q("fault parsing",o));break;case 101:3==k?(d.value_type=2,k=n):8==k?(d.value_type=3,k=n):14==k?k=15:18==k?k=19:(S=!1,Q("fault parsing",o));break;case 110:0==k?(Z(o),k=9):12==k?k=13:17==k?k=18:22==k?k=23:25==k?k=26:(S=!1,Q("fault parsing",o));break;case 100:13==k?k=14:19==k?(d.value_type=-1,k=n):(S=!1,Q("fault parsing",o));break;case 105:16==k?k=17:24==k?k=25:26==k?k=27:(S=!1,Q("fault parsing",o));break;case 108:10==k?k=11:11==k?(d.value_type=1,k=n):6==k?k=7:(S=!1,Q("fault parsing",o));break;case 102:0==k?(Z(o),k=5):15==k?k=16:23==k?k=24:(S=!1,Q("fault parsing",o));break;case 97:5==k?k=6:20==k?k=21:(S=!1,Q("fault parsing",o));break;case 115:7==k?k=8:(S=!1,Q("fault parsing",o));break;case 73:0==k?(Z(o),k=22):(S=!1,Q("fault parsing",o));break;case 78:0==k?(Z(o),k=20):21==k?(d.value_type=O?8:9,O=!1,k=n):(S=!1,Q("fault parsing",o));break;case 121:28==k?(d.value_type=O?10:11,O=!1,k=n):(S=!1,Q("fault parsing",o));break;case 45:0==k?(Z(o),g&&M&&Q("Multiple consecutive signs are not allowed when the 'esStrictCompatible' option is set",o),M=!0,O=!O):(S=!1,Q("fault parsing",o));break;case 43:0!==k?(S=!1,Q("fault parsing",o)):(Z(o),g&&M&&Q("Multiple consecutive signs are not allowed when the 'esStrictCompatible' option is set",o),M=!0);break;default:o>=48&&o<=57||43==o||46==o||45==o?(Z(o),C=!1,N=!1,A=!1,$=!1,E=!1,M=!1,d.string=e,l.n=w,ie()):(S=!1,Q("fault parsing",o))}}if(R){k==n&&(k=0);break}}}if(w==p.length?(c(l),o&&H(),I||L||3==x?v=0:0!=x||0==d.value_type&&!j||(R=!0,v=1)):(l.n=w,G.unshift(l),v=2),R)break}if(R&&0!=d.value_type){switch(d.value_type){case 5:j=(O?-1:1)*Number(d.string);break;case 4:j=d.string;break;case 2:j=!0;break;case 3:j=!1;break;case 1:j=null;break;case-1:j=void 0;break;case 9:case 8:j=NaN;break;case 11:j=1/0;break;case 10:j=-1/0;break;case 6:case 7:j=d.contains}O=!1,d.string="",d.value_type=0}return R=!1,v}}};const p=[Object.freeze(l.begin())];let g=0;l.parse=function(e,t,n){const r=g++;p.length<=r&&p.push(Object.freeze(l.begin()));const i=p[r];"string"!=typeof e&&(e=String(e)),i.reset(n);try{if(i._write(e,!0)<=0)throw i.finalError(),new Error("No value found in document");const n=i.value();return"function"==typeof t&&function e(n,r){const i=n[r];if(i&&"object"==typeof i){const t=i;for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const r=e(t,n);void 0!==r?t[n]=r:delete t[n]}}return t.call(n,r,i)}({"":n},""),n}finally{g--}},l.stringifierActive=null,l.stringifier=function(){const e={true:!0,false:!1,null:null,NaN:NaN,Infinity:1/0,undefined:void 0};let t='"',n=!1,r=!0;return{stringify(e,o,u,a){return function(e,o,u,a,s){if(void 0===o)return"undefined";if(null===o)return"null";let c="",f="";const p=l.stringifierActive;l.stringifierActive=e,s||(s="");if("number"==typeof a)for(let e=0;e<a;e+=1)f+=" ";else"string"==typeof a&&(f=a);const g=u;if(u&&"function"!=typeof u&&("object"!=typeof u||"number"!=typeof u.length))throw new Error("JSON6.stringify unknown replacer type.");const h=v(s,{[s]:o});return l.stringifierActive=p,h;function v(e,o){const u=c;let a=o[e];switch("string"==typeof a&&(a=t+l.escape(a)+t),null!=a&&"object"==typeof a&&"function"==typeof toJSOX&&(c+=f,c=u),"function"==typeof g&&(a=g.call(o,e,a)),typeof a){case"string":return a;case"number":return""+a;case"boolean":return String(a);case"object":{if(!a)return"null";if(Array.isArray(a)){const e=a,t=e;c+=f;const n=[];for(let r=0;r<e.length;r++){if(!(r in e)){n.push("");continue}const i=v(String(r),t);n.push(void 0===i?"undefined":i)}const r=e.length>0&&!(e.length-1 in e),i=0===n.length?"[]":c?"[\n"+c+n.join(",\n"+c)+(r?",":"")+"\n"+u+"]":"["+n.join(",")+(r?",":"")+"]";return c=u,i}const e=a;c+=f;const t=[];if(g&&"object"==typeof g){const n=g.length;for(let r=0;r<n;r+=1)if("string"==typeof g[r]){const n=g[r],o=v(n,e);o&&t.push(i(n)+(c?": ":":")+o)}}else{const o=[];for(const t in e)if((!n||Object.prototype.propertyIsEnumerable.call(e,t))&&Object.prototype.hasOwnProperty.call(e,t))if(r){let e;for(e=0;e<o.length;e++)if(o[e]>t){o.splice(e,0,t);break}e===o.length&&o.push(t)}else o.push(t);for(let n=0;n<o.length;n++){const r=o[n];if(Object.prototype.hasOwnProperty.call(e,r)){const n=v(r,e);n&&t.push(i(r)+(c?": ":":")+n)}}}const o=0===t.length?"{}":c?"{\n"+c+t.join(",\n"+c)+"\n"+u+"}":"{"+t.join(",")+"}";return c=u,o}}}}(this,e,o,u,a)},setQuote(e){t=e},get ignoreNonEnumerable(){return n},set ignoreNonEnumerable(e){n=e},get sortKeys(){return r},set sortKeys(e){r=e}};function i(n){return n.length?n in e||/([0-9-])/.test(n[0])||/((\n|\r|\t)|[ #{}()<>!+\-*/.:,])/.test(n)?t+l.escape(n)+t:n:t+t}},l.stringify=function(e,t,n,r){const i=l.stringifier();return r&&!1===r.sortKeys&&(i.sortKeys=!1),i.stringify(e,t,n)},l.version="1.1.6",e&&e.exports&&(e.exports=l)}(dr)),dr.exports}return t(function(){if(br)return vr;br=1,zn||(zn=1,Gn()),lr();const e=hr?gr:(hr=1,gr=yr());return vr=e}())});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).JSON5=t()}(this,function(){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var n,r,i={};function o(){if(r)return n;r=1;var t=function(e){return e&&e.Math===Math&&e};return n=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof e&&e)||t("object"==typeof n&&n)||function(){return this}()||Function("return this")()}var u,a,s,c,f,l,p,g,h={};function v(){return a?u:(a=1,u=function(e){try{return!!e()}catch(e){return!0}})}function b(){if(c)return s;c=1;var e=v();return s=!e(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})}function d(){if(l)return f;l=1;var e=v();return f=!e(function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})}function y(){if(g)return p;g=1;var e=d(),t=Function.prototype.call;return p=e?t.bind(t):function(){return t.apply(t,arguments)},p}var m,w,k,S,O,j,_,x,P,C,E,N,A,$,T,I,L,M,z,F,U,q,D,W,K,R,J,B,G,X,Q,V,Y,H,Z,ee,te,ne,re,ie,oe,ue={};function ae(){return k?w:(k=1,w=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}})}function se(){if(O)return S;O=1;var e=d(),t=Function.prototype,n=t.call,r=e&&t.bind.bind(n,n);return S=e?r:function(e){return function(){return n.apply(e,arguments)}},S}function ce(){if(_)return j;_=1;var e=se(),t=e({}.toString),n=e("".slice);return j=function(e){return n(t(e),8,-1)}}function fe(){return E?C:(E=1,C=function(e){return null==e})}function le(){if(A)return N;A=1;var e=fe(),t=TypeError;return N=function(n){if(e(n))throw new t("Can't call method on "+n);return n}}function pe(){if(T)return $;T=1;var e=function(){if(P)return x;P=1;var e=se(),t=v(),n=ce(),r=Object,i=e("".split);return x=t(function(){return!r("z").propertyIsEnumerable(0)})?function(e){return"String"===n(e)?i(e,""):r(e)}:r}(),t=le();return $=function(n){return e(t(n))}}function ge(){if(L)return I;L=1;var e="object"==typeof document&&document.all;return I=void 0===e&&void 0!==e?function(t){return"function"==typeof t||t===e}:function(e){return"function"==typeof e}}function he(){if(z)return M;z=1;var e=ge();return M=function(t){return"object"==typeof t?null!==t:e(t)}}function ve(){if(U)return F;U=1;var e=o(),t=ge();return F=function(n,r){return arguments.length<2?(i=e[n],t(i)?i:void 0):e[n]&&e[n][r];var i},F}function be(){if(J)return R;J=1;var e,t,n=o(),r=function(){if(K)return W;K=1;var e=o().navigator,t=e&&e.userAgent;return W=t?String(t):""}(),i=n.process,u=n.Deno,a=i&&i.versions||u&&u.version,s=a&&a.v8;return s&&(t=(e=s.split("."))[0]>0&&e[0]<4?1:+(e[0]+e[1])),!t&&r&&(!(e=r.match(/Edge\/(\d+)/))||e[1]>=74)&&(e=r.match(/Chrome\/(\d+)/))&&(t=+e[1]),R=t}function de(){if(G)return B;G=1;var e=be(),t=v(),n=o().String;return B=!!Object.getOwnPropertySymbols&&!t(function(){var t=Symbol("symbol detection");return!n(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&e&&e<41})}function ye(){if(Q)return X;Q=1;var e=de();return X=e&&!Symbol.sham&&"symbol"==typeof Symbol.iterator}function me(){if(Y)return V;Y=1;var e=ve(),t=ge(),n=function(){if(D)return q;D=1;var e=se();return q=e({}.isPrototypeOf)}(),r=ye(),i=Object;return V=r?function(e){return"symbol"==typeof e}:function(r){var o=e("Symbol");return t(o)&&n(o.prototype,i(r))}}function we(){if(Z)return H;Z=1;var e=String;return H=function(t){try{return e(t)}catch(e){return"Object"}}}function ke(){if(te)return ee;te=1;var e=ge(),t=we(),n=TypeError;return ee=function(r){if(e(r))return r;throw new n(t(r)+" is not a function")}}function Se(){if(re)return ne;re=1;var e=ke(),t=fe();return ne=function(n,r){var i=n[r];return t(i)?void 0:e(i)}}function Oe(){if(oe)return ie;oe=1;var e=y(),t=ge(),n=he(),r=TypeError;return ie=function(i,o){var u,a;if("string"===o&&t(u=i.toString)&&!n(a=e(u,i)))return a;if(t(u=i.valueOf)&&!n(a=e(u,i)))return a;if("string"!==o&&t(u=i.toString)&&!n(a=e(u,i)))return a;throw new r("Can't convert object to primitive value")}}var je,_e,xe,Pe,Ce,Ee,Ne,Ae,$e,Te,Ie,Le,Me,ze,Fe,Ue,qe,De,We,Ke,Re,Je,Be,Ge,Xe={exports:{}};function Qe(){if(Pe)return xe;Pe=1;var e=o(),t=Object.defineProperty;return xe=function(n,r){try{t(e,n,{value:r,configurable:!0,writable:!0})}catch(t){e[n]=r}return r}}function Ve(){if(Ce)return Xe.exports;Ce=1;var e=_e?je:(_e=1,je=!1),t=o(),n=Qe(),r="__core-js_shared__",i=Xe.exports=t[r]||n(r,{});return(i.versions||(i.versions=[])).push({version:"3.50.0",mode:e?"pure":"global",copyright:"© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.",license:"https://github.com/zloirock/core-js/blob/v3.50.0/LICENSE",source:"https://github.com/zloirock/core-js"}),Xe.exports}function Ye(){if(Ne)return Ee;Ne=1;var e=Ve(),t=Object.create||Object;return Ee=function(n,r){return e[n]||(e[n]=r||t(null))}}function He(){if($e)return Ae;$e=1;var e=le(),t=Object;return Ae=function(n){return t(e(n))}}function Ze(){if(Ie)return Te;Ie=1;var e=se(),t=He(),n=e({}.hasOwnProperty);return Te=Object.hasOwn||function(e,r){return n(t(e),r)}}function et(){if(Me)return Le;Me=1;var e=se(),t=0,n=Math.random(),r=e(1.1.toString);return Le=function(e){return"Symbol("+(void 0===e?"":e)+")_"+r(++t+n,36)}}function tt(){if(Fe)return ze;Fe=1;var e=o(),t=Ye(),n=Ze(),r=et(),i=de(),u=ye(),a=e.Symbol,s=t("wks"),c=u?a.for||a:a&&a.withoutSetter||r;return ze=function(e){return n(s,e)||(s[e]=i&&n(a,e)?a[e]:c("Symbol."+e)),s[e]}}function nt(){if(qe)return Ue;qe=1;var e=y(),t=he(),n=me(),r=Se(),i=Oe(),o=tt(),u=TypeError,a=o("toPrimitive");return Ue=function(o,s){if(!t(o)||n(o))return o;var c,f=r(o,a);if(f){if(void 0===s&&(s="default"),c=e(f,o,s),!t(c)||n(c))return c;throw new u("Can't convert object to primitive value")}return void 0===s&&(s="number"),i(o,s)}}function rt(){if(We)return De;We=1;var e=nt(),t=me();return De=function(n){var r=e(n,"string");return t(r)?r:r+""}}function it(){if(Be)return Je;Be=1;var e=b(),t=v(),n=function(){if(Re)return Ke;Re=1;var e=o(),t=he(),n=e.document,r=t(n)&&t(n.createElement);return Ke=function(e){return r?n.createElement(e):{}}}();return Je=!e&&!t(function(){return 7!==Object.defineProperty(n("div"),"a",{get:function(){return 7}}).a})}function ot(){if(Ge)return h;Ge=1;var e=b(),t=y(),n=function(){if(m)return ue;m=1;var e={}.propertyIsEnumerable,t=Object.getOwnPropertyDescriptor,n=t&&!e.call({1:2},1);return ue.f=n?function(e){var n=t(this,e);return!!n&&n.enumerable}:e,ue}(),r=ae(),i=pe(),o=rt(),u=Ze(),a=it(),s=Object.getOwnPropertyDescriptor;return h.f=e?s:function(e,c){if(e=i(e),c=o(c),a)try{return s(e,c)}catch(e){}if(u(e,c))return r(!t(n.f,e,c),e[c])},h}var ut,at,st,ct,ft,lt,pt,gt={};function ht(){if(ct)return st;ct=1;var e=he(),t=String,n=TypeError;return st=function(r){if(e(r))return r;throw new n(t(r)+" is not an object")}}function vt(){if(ft)return gt;ft=1;var e=b(),t=it(),n=function(){if(at)return ut;at=1;var e=b(),t=v();return ut=e&&t(function(){return 42!==Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype})}(),r=ht(),i=rt(),o=TypeError,u=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s="enumerable",c="configurable",f="writable";return gt.f=e?n?function(e,t,n){if(r(e),t=i(t),r(n),"function"==typeof e&&"prototype"===t&&"value"in n&&f in n&&!n[f]){var o=a(e,t);o&&o[f]&&(e[t]=n.value,n={configurable:c in n?n[c]:o[c],enumerable:s in n?n[s]:o[s],writable:!1})}return u(e,t,n)}:u:function(e,n,a){if(r(e),n=i(n),r(a),t)try{return u(e,n,a)}catch(e){}if("get"in a||"set"in a)throw new o("Accessors not supported");return"value"in a&&(e[n]=a.value),e},gt}function bt(){if(pt)return lt;pt=1;var e=b(),t=vt(),n=ae();return lt=e?function(e,r,i){return t.f(e,r,n(1,i))}:function(e,t,n){return e[t]=n,e}}var dt,yt,mt,wt,kt,St,Ot,jt,_t,xt,Pt,Ct,Et,Nt,At,$t={exports:{}};function Tt(){if(wt)return mt;wt=1;var e=se(),t=ge(),n=Ve(),r=e(Function.toString);return t(n.inspectSource)||(n.inspectSource=function(e){return r(e)}),mt=n.inspectSource}function It(){if(jt)return Ot;jt=1;var e=Ye(),t=et(),n=e("keys");return Ot=function(e){return n[e]||(n[e]=t(e))}}function Lt(){return xt?_t:(xt=1,_t={})}function Mt(){if(Ct)return Pt;Ct=1;var e,t,n,r=function(){if(St)return kt;St=1;var e=o(),t=ge(),n=e.WeakMap;return kt=t(n)&&/native code/.test(String(n))}(),i=o(),u=he(),a=bt(),s=Ze(),c=Ve(),f=It(),l=Lt(),p="Object already initialized",g=i.TypeError,h=i.WeakMap;if(r||c.state){var v=c.state||(c.state=new h);v.get=v.get,v.has=v.has,v.set=v.set,e=function(e,t){if(v.has(e))throw new g(p);return t.facade=e,v.set(e,t),t},t=function(e){return v.get(e)||{}},n=function(e){return v.has(e)}}else{var b=f("state");l[b]=!0,e=function(e,t){if(s(e,b))throw new g(p);return t.facade=e,a(e,b,t),t},t=function(e){return s(e,b)?e[b]:{}},n=function(e){return s(e,b)}}return Pt={set:e,get:t,has:n,enforce:function(r){return n(r)?t(r):e(r,{})},getterFor:function(e){return function(n){var r;if(!u(n)||(r=t(n)).type!==e)throw new g("Incompatible receiver, "+e+" required");return r}}}}function zt(){if(Et)return $t.exports;Et=1;var e=se(),t=v(),n=ge(),r=Ze(),i=b(),o=function(){if(yt)return dt;yt=1;var e=b(),t=Ze(),n=Function.prototype,r=e&&Object.getOwnPropertyDescriptor,i=t(n,"name"),o=i&&"something"===function(){}.name,u=i&&(!e||e&&r(n,"name").configurable);return dt={EXISTS:i,PROPER:o,CONFIGURABLE:u}}().CONFIGURABLE,u=Tt(),a=Mt(),s=a.enforce,c=a.get,f=String,l=Object.defineProperty,p=e("".slice),g=e("".replace),h=e([].join),d=i&&!t(function(){return 8!==l(function(){},"length",{value:8}).length}),y=String(String).split("String"),m=$t.exports=function(e,t,n){"Symbol("===p(f(t),0,7)&&(t="["+g(f(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!r(e,"name")||o&&e.name!==t)&&(i?l(e,"name",{value:t,configurable:!0}):e.name=t),d&&n&&r(n,"arity")&&e.length!==n.arity&&l(e,"length",{value:n.arity});try{n&&r(n,"constructor")&&n.constructor?i&&l(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var u=s(e);return r(u,"source")||(u.source=h(y,"string"==typeof t?t:"")),e};return Function.prototype.toString=m(function(){return n(this)&&c(this).source||u(this)},"toString"),$t.exports}function Ft(){if(At)return Nt;At=1;var e=ge(),t=vt(),n=zt(),r=Qe();return Nt=function(i,o,u,a){a||(a={});var s=a.enumerable,c=void 0!==a.name?a.name:o;if(e(u)&&n(u,c,a),a.global)s?i[o]=u:r(o,u);else{try{a.unsafe?i[o]&&(s=!0):delete i[o]}catch(e){}s?i[o]=u:t.f(i,o,{value:u,enumerable:!1,configurable:!a.nonConfigurable,writable:!a.nonWritable})}return i}}var Ut,qt,Dt,Wt,Kt,Rt,Jt,Bt,Gt,Xt,Qt,Vt,Yt,Ht,Zt,en,tn,nn={};function rn(){if(Wt)return Dt;Wt=1;var e=function(){if(qt)return Ut;qt=1;var e=Math.ceil,t=Math.floor;return Ut=Math.trunc||function(n){var r=+n;return(r>0?t:e)(r)}}();return Dt=function(t){var n=+t;return n!=n||0===n?0:e(n)}}function on(){if(Rt)return Kt;Rt=1;var e=rn(),t=Math.max,n=Math.min;return Kt=function(r,i){var o=e(r);return o<0?t(o+i,0):n(o,i)}}function un(){if(Bt)return Jt;Bt=1;var e=rn(),t=Math.min;return Jt=function(n){var r=e(n);return r>0?t(r,9007199254740991):0}}function an(){if(Xt)return Gt;Xt=1;var e=un();return Gt=function(t){return e(t.length)}}function sn(){if(Ht)return Yt;Ht=1;var e=se(),t=Ze(),n=pe(),r=function(){if(Vt)return Qt;Vt=1;var e=pe(),t=on(),n=an(),r=function(r){return function(i,o,u){var a=e(i),s=n(a);if(0===s)return!r&&-1;var c,f=t(u,s);if(r&&o!=o){for(;s>f;)if((c=a[f++])!=c)return!0}else for(;s>f;f++)if((r||f in a)&&a[f]===o)return r||f||0;return!r&&-1}};return Qt={includes:r(!0),indexOf:r(!1)}}().indexOf,i=Lt(),o=e([].push);return Yt=function(e,u){var a,s=n(e),c=0,f=[];for(a in s)!t(i,a)&&t(s,a)&&o(f,a);for(;u.length>c;)t(s,a=u[c++])&&(~r(f,a)||o(f,a));return f}}var cn,fn,ln,pn,gn,hn,vn,bn,dn,yn,mn,wn,kn,Sn,On,jn,_n,xn,Pn,Cn,En,Nn,An,$n,Tn,In,Ln,Mn,zn,Fn={};function Un(){if(ln)return fn;ln=1;var e=ve(),t=se(),n=function(){if(tn)return nn;tn=1;var e=sn(),t=(en?Zt:(en=1,Zt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"])).concat("length","prototype");return nn.f=Object.getOwnPropertyNames||function(n){return e(n,t)},nn}(),r=(cn||(cn=1,Fn.f=Object.getOwnPropertySymbols),Fn),i=ht(),o=t([].concat);return fn=e("Reflect","ownKeys")||function(e){var t=n.f(i(e)),u=r.f;return u?o(t,u(e)):t}}function qn(){if(gn)return pn;gn=1;var e=Ze(),t=Un(),n=ot(),r=vt();return pn=function(i,o,u){for(var a=t(o),s=r.f,c=n.f,f=0;f<a.length;f++){var l=a[f];e(i,l)||u&&e(u,l)||s(i,l,c(o,l))}}}function Dn(){if(dn)return bn;dn=1;var e=o(),t=ot().f,n=bt(),r=Ft(),i=Qe(),u=qn(),a=function(){if(vn)return hn;vn=1;var e=v(),t=ge(),n=/#|\.prototype\./,r=function(n,r){var s=o[i(n)];return s===a||s!==u&&(t(r)?e(r):!!r)},i=r.normalize=function(e){return String(e).replace(n,".").toLowerCase()},o=r.data={},u=r.NATIVE="N",a=r.POLYFILL="P";return hn=r}();return bn=function(o,s){var c,f,l,p,g,h=o.target,v=o.global,b=o.stat;if(c=v?e:b?e[h]||i(h,{}):e[h]&&e[h].prototype)for(f in s){if(p=s[f],l=o.dontCallGetSet?(g=t(c,f))&&g.value:c[f],!a(v?f:h+(b?".":"#")+f,o.forced)&&void 0!==l){if(typeof p==typeof l)continue;u(p,l)}(o.sham||l&&l.sham)&&n(p,"sham",!0),r(c,f,p,o)}}}function Wn(){if(kn)return wn;kn=1;var e=function(){if(mn)return yn;mn=1;var e={};return e[tt()("toStringTag")]="z",yn="[object z]"===String(e)}(),t=ge(),n=ce(),r=tt()("toStringTag"),i=Object,o="Arguments"===n(function(){return arguments}());return wn=e?n:function(e){var u,a,s;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(a=function(e,t){try{return e[t]}catch(e){}}(u=i(e),r))?a:o?n(u):"Object"===(s=n(u))&&t(u.callee)?"Arguments":s}}function Kn(){if(On)return Sn;On=1;var e=Wn(),t=String;return Sn=function(n){if("Symbol"===e(n))throw new TypeError("Cannot convert a Symbol value to a string");return t(n)}}function Rn(){if(xn)return i;xn=1;var e=Dn(),t=function(){if(_n)return jn;_n=1;var e=se(),t=rn(),n=Kn(),r=le(),i=e("".charAt),o=e("".charCodeAt),u=e("".slice),a=function(e){return function(a,s){var c,f,l=n(r(a)),p=t(s),g=l.length;return p<0||p>=g?e?"":void 0:(c=o(l,p))<55296||c>56319||p+1===g||(f=o(l,p+1))<56320||f>57343?e?i(l,p):c:e?u(l,p,p+2):f-56320+(c-55296<<10)+65536}};return jn={codeAt:a(!1),charAt:a(!0)}}().codeAt;return e({target:"String",proto:!0},{codePointAt:function(e){return t(this,e)}}),i}function Jn(){if(Cn)return Pn;Cn=1;var e=o(),t=se();return Pn=function(n,r){return t(e[n].prototype[r])}}function Bn(){if($n)return An;$n=1;var e=function(){if(Nn)return En;Nn=1,Rn();var e=Jn();return En=e("String","codePointAt")}();return An=e}function Gn(){if(Mn)return Ln;Mn=1;var e=function(){if(In)return Tn;In=1;var e=Bn();return Tn=e}();return Ln=e}var Xn,Qn,Vn,Yn,Hn,Zn,er,tr,nr,rr,ir,or,ur,ar={};function sr(){if(Vn)return Qn;Vn=1;var e=o();return Qn=e}function cr(){if(Hn)return Yn;Hn=1,function(){if(Xn)return ar;Xn=1;var e=Dn(),t=se(),n=on(),r=RangeError,i=String.fromCharCode,o=String.fromCodePoint,u=t([].join);e({target:"String",stat:!0,arity:1,forced:!!o&&1!==o.length},{fromCodePoint:function(e){for(var t,o=[],a=arguments.length,s=0;a>s;){if(n(t=+arguments[s],1114111)!==t)throw new r(t+" is not a valid code point");o[s++]=t<65536?i(t):i(55296+((t-=65536)>>10),t%1024+56320)}return u(o,"")}})}();var e=sr();return Yn=e.String.fromCodePoint}function fr(){if(nr)return tr;nr=1;var e=function(){if(er)return Zn;er=1;var e=cr();return Zn=e}();return tr=e}function lr(){return ur?or:(ur=1,or=function(){if(ir)return rr;ir=1;var e=fr();return rr=e}())}var pr,gr,hr,vr,br,dr={exports:{}};function yr(){return pr||(pr=1,function(e){const t=29,n=31,r=/^[$_\p{ID_Start}][$_\p{ID_Continue}]*$/u,i=/(\d)_(?=\d)/g,o=[];function u(){return o.pop()||{context:0,elements:null,element_array:null,name:null}}function a(e){o.push(e)}const s=[];function c(e){s.push(e)}function f(e,t){if(void 0===e)throw new Error(t||"Unexpected undefined value");return e}const l={escape:function(e){let t="";if(!e)return e;for(let n=0;n<e.length;n++){const r=e[n];'"'!=r&&"\\"!=r&&"`"!=r&&"'"!=r||(t+="\\"),t+=r}return t}};l.begin=function(e,o,l){const p=l;let g=!(!p||!p.esStrictCompatible),h=!(!p||!p.forbidTemplateSubstitution),v=!(!p||!p.warnWithCommentWithoutEOL),b=!(!p||!p.normalizeNumericKeys);const d={name:null,value_type:0,string:"",contains:null},y={line:1,col:0};let m,w=0,k=0,S=!0,O=!1,j=null,_=[],x=0,P=0,C=!1,E=!1,N=!1,A=!1,$=!1,T=null,I=!1,L=!1,M=!1,z=!1,F=!1,U=!1,q=!1,D=!1,W=0,K=0,R=!1,J=!1;const B={first:null,last:null,saved:null,push(e){let t=this.saved;t?(this.saved=t.next,t.node=e,t.next=null,t.prior=this.last):t={node:e,next:null,prior:this.last},this.last||(this.first=t),this.last=t},pop(){const e=this.last;if(!e)throw new Error("context stack underflow");return(this.last=e.prior)||(this.first=null),e.next=this.saved,this.saved=e,e.node}},G={save:void 0,first:null,last:null,saved:null,push(e){let t=this.saved;t?(this.saved=t.next,t.node=e,t.next=null,t.prior=this.last):t={node:e,next:null,prior:this.last},this.last?this.last.next=t:this.first=t,this.last=t},shift(){const e=this.first;return e?(this.first=e.next,this.first||(this.last=null),e.next=this.saved,this.saved=e,e.node):null},unshift(e){const t=this.saved;this.saved=t.next,t.node=e,t.next=this.first,t.prior=null,this.first||(this.last=t),this.first=t}};function X(e){throw new Error(`${e} at ${w} [${y.line}:${y.col}]`)}return{finalError(){if(0!==P)switch(P){case 1:return X("Comment began at end of document");case 2:v&&console.log("Warning: '//' comment without end of line ended document");break;case 3:return X("Open comment '/*' is missing close at end of document");case 4:return X("Incomplete '/* *' close at end of document")}I&&X("Incomplete string")},value(){this.finalError();const e=j;return j=void 0,e},reset(e){const t=void 0===e?p:e;g=!(!t||!t.esStrictCompatible),h=!(!t||!t.forbidTemplateSubstitution),v=!(!t||!t.warnWithCommentWithoutEOL),b=!(!t||!t.normalizeNumericKeys),k=0,S=!0,G.last&&(G.last.next=G.save),G.save=G.first,G.first=G.last=null,B.last&&(B.last.next=B.saved),B.saved=G.first,B.first=B.last=null,_=null,m=void 0,x=0,d.value_type=0,d.name=null,d.string="",y.line=1,y.col=0,O=!1,M=!1,P=0,R=!1,M=!1,J=!1,T=null,I=!1,z=!1,F=!1,U=!1,q=!1,D=!1,W=0,K=0},write(t){let n;if(!e)throw new Error("Callback function must be passed to begin, or you can't get values from the stream.");if(void 0!==t&&"string"!=typeof t&&(t=String(t)),!S)throw new Error("Parser is in an error state, please reset.");for(n=this._write(t,!1);n>0&&(this.finalError(),"function"==typeof o&&(j=function e(t,n){const r=t[n];if(r&&"object"==typeof r){const t=r;for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const r=e(t,n);void 0!==r?t[n]=r:delete t[n]}}return o.call(t,n,r)}({"":j},"")),e(j),j=void 0,!(n<2));n=this._write());n&&this.finalError()},_write(e,o){let l,p="",v=0;function Q(e,t){throw new Error(`${e} '${String.fromCodePoint(t)}' unexpected at ${w} (near '${p.substr(w>4?w-4:0,w>4?3:w-1)}[${String.fromCodePoint(t)}]${p.substr(w,10)}') [${y.line}:${y.col}]`)}function V(e){if(13===e){if(w<p.length&&10===p.charCodeAt(w))return}else if(10!==e&&8232!==e&&8233!==e)return;y.line++,y.col=0}function Y(){d.value_type=0,d.string="",M=!1}function H(e){k>0&&k<t&&(void 0===e?X("Incomplete keyword"):Q("Incomplete keyword",e)),M&&0==d.value_type&&(void 0===e?X("Sign with no number following"):Q("Sign with no number following",e))}function Z(e){0!=d.value_type&&Q("Two values with no separator between them",e)}function ee(){if(Number.isNaN(Number(d.string)))throw S=!1,new Error(`Invalid number '${d.string}' at ${w} [${y.line}:${y.col}]`)}function te(){const e=_;switch(d.value_type){case 5:e.push((O?-1:1)*Number(d.string));break;case 4:e.push(d.string);break;case 2:e.push(!0);break;case 3:e.push(!1);break;case 8:case 9:e.push(NaN);break;case 10:e.push(-1/0);break;case 11:e.push(1/0);break;case 1:e.push(null);break;case-1:e.push(void 0);break;case 13:e.push(void 0),delete e[e.length-1];break;case 6:case 7:e.push(d.contains)}}function ne(){const e=m,t=d.name;switch(d.value_type){case 5:e[t]=(O?-1:1)*Number(d.string);break;case 4:e[t]=d.string;break;case 2:e[t]=!0;break;case 3:e[t]=!1;break;case 8:case 9:e[t]=NaN;break;case 10:e[t]=-1/0;break;case 11:e[t]=1/0;break;case 1:e[t]=null;break;case-1:e[t]=void 0;break;case 6:case 7:e[t]=d.contains}}function re(e){let t=0;const n=g&&96!==e,r=96===e&&h;for(;0==t&&w<p.length;){let i=p.charAt(w);const o=f(p.codePointAt(w++),"Unexpected end of string");if(o>=65536&&(i+=p.charAt(w),w++),y.col++,o==e)z?(D?Q("Incomplete hexidecimal sequence",o):U?Q("Incomplete long unicode sequence",o):q&&Q("Incomplete unicode sequence",o),F?(F=!1,t=1):d.string+=i,z=!1):t=1;else if(z){if(U){if(125==o){d.string+=String.fromCodePoint(W),U=!1,q=!1,z=!1;continue}W*=16,o>=48&&o<=57?W+=o-48:o>=65&&o<=70?W+=o-65+10:o>=97&&o<=102?W+=o-97+10:Q("(escaped character, parsing hex of \\u)",o);continue}if(D||q){if(0===K&&123===o){U=!0;continue}W*=16,o>=48&&o<=57?W+=o-48:o>=65&&o<=70?W+=o-65+10:o>=97&&o<=102?W+=o-97+10:Q(q?"(escaped character, parsing hex of \\u)":"(escaped character, parsing hex of \\x)",o),K++,q?4==K&&(d.string+=String.fromCodePoint(W),q=!1,z=!1):2==K&&(d.string+=String.fromCodePoint(W),D=!1,z=!1);continue}switch(o){case 13:F=!0,V(o);continue;case 8232:case 8233:case 10:F=!1,V(o);break;case 116:d.string+="\t";break;case 98:d.string+="\b";break;case 48:g&&p.charCodeAt(w)>=48&&p.charCodeAt(w)<=57&&Q("Legacy octal string escapes are not allowed when the 'esStrictCompatible' option is set",p.charCodeAt(w)),d.string+="\0";break;case 110:d.string+="\n";break;case 114:d.string+="\r";break;case 102:d.string+="\f";break;case 118:d.string+="\v";break;case 120:D=!0,K=0,W=0;continue;case 117:q=!0,K=0,W=0;continue;default:g&&o>=49&&o<=57&&Q("Legacy octal string escapes are not allowed when the 'esStrictCompatible' option is set",o),d.string+=i}z=!1}else 92===o?(z=!0,J=!1):(!n||10!==o&&13!==o||Q("Literal line terminators inside single- or double-quoted strings require the 'esStrictCompatible' option to be off",o),r&&(J&&123===o&&Q("Template substitution ${ } is not allowed when the 'forbidTemplateSubstitution' option is set",o),J=36===o),F=!1,V(o),d.string+=i)}return t}function ie(){let e;for(;(e=w)<p.length;){const t=p.charAt(e),n=f(p.codePointAt(w++),"Unexpected end of number");if(n>=65536&&Q("fault while parsing number;",n),y.col++,95!=n)if(n>=48&&n<=57)g&&"0"===d.string&&Q("Legacy octal / leading-zero numbers are not allowed when the 'esStrictCompatible' option is set",n),N&&($=!0),d.string+=t;else if(45==n||43==n)0==d.string.length||N&&!A&&!$?(d.string+=t,A=!0):(S=!1,Q("fault while parsing number;",n));else if(46==n)E||C||N?(S=!1,Q("fault while parsing number;",n)):(d.string+=t,E=!0);else if(C&&(n>=95&&n<=102||n>=65&&n<=70))d.string+=t;else if(120==n||98==n||111==n||88==n||66==n||79==n)C||"0"!=d.string?(S=!1,Q("fault while parsing number;",n)):(C=!0,d.string+=t);else{if(101!=n&&69!=n){if(32==n||160==n||13==n||10==n||9==n||11==n||12==n||8232==n||8233==n||65279==n||44==n||125==n||93==n||58==n||47==n)break;o&&(S=!1,Q("fault while parsing number;",n));break}N?(S=!1,Q("fault while parsing number;",n)):(d.string+=t,N=!0)}}w>e&&y.col--,w=e,o||w!=p.length?(L=!1,ee(),d.value_type=5,0==x&&(R=!0)):L=!0}if(!S)return-1;if(e&&e.length)l=function(){let e=s.pop();return e?e.n=0:e={buf:null,n:0},e}(),l.buf=e,G.push(l);else if(L){if(L=!1,ee(),d.value_type=5,0!=x)throw new Error("context stack is not empty at flush");R=!0,v=1}for(;S&&(l=G.shift());){if(w=l.n,p=l.buf,I){if(null===T)throw new Error("Parser string start was unset");re(T)>0&&(I=!1,d.value_type=4,3!=x&&(k=n))}for(L&&ie();!R&&S&&w<p.length;){let e=p.charAt(w);const o=f(p.codePointAt(w++),"Unexpected end of input while parsing");if(o>=65536&&(e+=p.charAt(w),w++),y.col++,P)V(o),1==P?42==o?P=3:47!=o?Q("fault while parsing;",o):P=2:2==P?10!=o&&13!=o&&8232!=o&&8233!=o||(P=0):3==P?42==o&&(P=4):47==o?P=0:42!=o&&(P=3);else{switch(o){case 47:P=1;break;case 123:(k==t||30==k||3==x&&0==k)&&Q("fault while parsing; getting field name unexpected ",o),Z(o);{const e=u();d.value_type=6;const t={};0==x&&(j=m=t),e.context=x,e.elements=m,e.element_array=_,e.name=d.name,m=t,B.push(e),Y(),x=3}break;case 91:if(3!=x&&k!=t&&30!=k||Q("Fault while parsing; while getting field name unexpected",o),0==d.value_type||-1==d.value_type){const e=u();d.value_type=7;const t=[];0==x?j=_=t:4==x&&(m[d.name]=t),e.context=x,e.elements=m,e.element_array=_,e.name=d.name,_=t,B.push(e),Y(),x=1}else Q("Unexpected array open after previous value",o);break;case 58:if(3==x){if(k=0,g&&4!==d.value_type&&!r.test(d.string)&&Number.isNaN(Number(d.string.replace(i,"$1")))&&Q("Unquoted keys must be valid identifiers when the 'esStrictCompatible' option is set",o),b&&4!==d.value_type&&""!==d.string){const e=Number(d.string.replace(i,"$1"));Number.isNaN(e)||(d.string=String(e))}d.name=d.string,d.string="",x=4,d.value_type=0}else Q(1==x?"(in array, got colon out of string):parsing fault;":"(outside any object, got colon out of string):parsing fault;",o);break;case 125:if(k==n&&(k=0),H(o),3==x){k!=t&&30!=k&&4!=d.value_type||Q("Object field name with no value",o),d.value_type=6,d.contains=m;const e=B.pop();d.name=e.name,x=e.context,m=e.elements,_=e.element_array,a(e),0==x&&(R=!0)}else if(4==x){0!=d.value_type?ne():Q("Fault while parsing field value, close with no value",o),d.value_type=6,d.contains=m;const e=B.pop();d.name=e.name,x=e.context,m=e.elements,_=e.element_array,a(e),0==x&&(R=!0)}else Q("Fault while parsing; unexpected",o);O=!1,M=!1;break;case 93:if(k==n&&(k=0),H(o),1==x){0!=d.value_type&&te(),d.value_type=7,d.contains=_;{const e=B.pop();d.name=e.name,x=e.context,m=e.elements,_=e.element_array,a(e)}0==x&&(R=!0)}else Q(`bad context ${x}; fault while parsing`,o);O=!1,M=!1;break;case 44:k==n&&(k=0),H(o),1==x?(0==d.value_type&&(d.value_type=13),te(),Y()):4==x?(x=3,0!=d.value_type?(ne(),Y()):Q("Unexpected comma after object field name",o)):(S=!1,Q("bad context; excessive commas while parsing;",o)),O=!1,M=!1;break;default:if(3==x)switch(o){case 96:g&&Q("Backtick-quoted keys are not allowed when the 'esStrictCompatible' option is set",o);case 34:case 39:if(0==k){0!=d.value_type&&Q("String begin after previous value",o);re(o)?d.value_type=4:(T=o,I=!0)}else Q("fault while parsing; quote not at start of field name",o);break;case 10:case 13:case 32:case 160:case 9:case 11:case 12:case 8232:case 8233:case 65279:V(o),k==n?k=0:k==t&&(k=30);break;default:30==k&&(S=!1,Q("fault while parsing; character unexpected",o)),0==k&&(k=t),d.string+=e}else switch(o){case 96:case 34:case 39:if(0===d.value_type){re(o)?(d.value_type=4,k=n):(T=o,I=!0)}else Q("String unexpected",o);break;case 10:case 32:case 160:case 9:case 13:case 11:case 12:case 8232:case 8233:case 65279:if(V(o),k==n){k=0,M=!1,0==x&&(R=!0);break}0!==k&&(S=!1,Q("fault parsing whitespace",o));break;case 116:0==k?(Z(o),k=1):27==k?k=28:(S=!1,Q("fault parsing",o));break;case 114:1==k?k=2:(S=!1,Q("fault parsing",o));break;case 117:2==k?k=3:9==k?k=10:0==k?(Z(o),k=12):(S=!1,Q("fault parsing",o));break;case 101:3==k?(d.value_type=2,k=n):8==k?(d.value_type=3,k=n):14==k?k=15:18==k?k=19:(S=!1,Q("fault parsing",o));break;case 110:0==k?(Z(o),k=9):12==k?k=13:17==k?k=18:22==k?k=23:25==k?k=26:(S=!1,Q("fault parsing",o));break;case 100:13==k?k=14:19==k?(d.value_type=-1,k=n):(S=!1,Q("fault parsing",o));break;case 105:16==k?k=17:24==k?k=25:26==k?k=27:(S=!1,Q("fault parsing",o));break;case 108:10==k?k=11:11==k?(d.value_type=1,k=n):6==k?k=7:(S=!1,Q("fault parsing",o));break;case 102:0==k?(Z(o),k=5):15==k?k=16:23==k?k=24:(S=!1,Q("fault parsing",o));break;case 97:5==k?k=6:20==k?k=21:(S=!1,Q("fault parsing",o));break;case 115:7==k?k=8:(S=!1,Q("fault parsing",o));break;case 73:0==k?(Z(o),k=22):(S=!1,Q("fault parsing",o));break;case 78:0==k?(Z(o),k=20):21==k?(d.value_type=O?8:9,O=!1,k=n):(S=!1,Q("fault parsing",o));break;case 121:28==k?(d.value_type=O?10:11,O=!1,k=n):(S=!1,Q("fault parsing",o));break;case 45:0==k?(Z(o),g&&M&&Q("Multiple consecutive signs are not allowed when the 'esStrictCompatible' option is set",o),M=!0,O=!O):(S=!1,Q("fault parsing",o));break;case 43:0!==k?(S=!1,Q("fault parsing",o)):(Z(o),g&&M&&Q("Multiple consecutive signs are not allowed when the 'esStrictCompatible' option is set",o),M=!0);break;default:o>=48&&o<=57||43==o||46==o||45==o?(Z(o),C=!1,N=!1,A=!1,$=!1,E=!1,M=!1,d.string=e,l.n=w,ie()):(S=!1,Q("fault parsing",o))}}if(R){k==n&&(k=0);break}}}if(w==p.length?(c(l),o&&H(),I||L||3==x?v=0:0!=x||0==d.value_type&&!j||(R=!0,v=1)):(l.n=w,G.unshift(l),v=2),R)break}if(R&&0!=d.value_type){switch(d.value_type){case 5:j=(O?-1:1)*Number(d.string);break;case 4:j=d.string;break;case 2:j=!0;break;case 3:j=!1;break;case 1:j=null;break;case-1:j=void 0;break;case 9:case 8:j=NaN;break;case 11:j=1/0;break;case 10:j=-1/0;break;case 6:case 7:j=d.contains}O=!1,d.string="",d.value_type=0}return R=!1,v}}};const p=[Object.freeze(l.begin())];let g=0;l.parse=function(e,t,n){const r=g++;p.length<=r&&p.push(Object.freeze(l.begin()));const i=p[r];"string"!=typeof e&&(e=String(e)),i.reset(n);try{if(i._write(e,!0)<=0)throw i.finalError(),new Error("No value found in document");let n=i.value();return"function"==typeof t&&(n=function e(n,r){const i=n[r];if(i&&"object"==typeof i){const t=i;for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const r=e(t,n);void 0!==r?t[n]=r:delete t[n]}}return t.call(n,r,i)}({"":n},"")),n}finally{g--}},l.stringifierActive=null,l.stringifier=function(){const e={true:!0,false:!1,null:null,NaN:NaN,Infinity:1/0,undefined:void 0};let t='"',n=!1,r=!0;return{stringify(e,o,u,a){return function(e,o,u,a,s){if(void 0===o&&"function"!=typeof u)return"undefined";let c="",f="";const p=l.stringifierActive;l.stringifierActive=e,s||(s="");if("number"==typeof a)for(let e=0;e<a;e+=1)f+=" ";else"string"==typeof a&&(f=a);const g=u;if(u&&"function"!=typeof u&&("object"!=typeof u||"number"!=typeof u.length))throw new Error("JSON6.stringify unknown replacer type.");const h=v(s,{[s]:o});return l.stringifierActive=p,h;function v(e,o){const u=c;let a=o[e];switch(null!=a&&"object"==typeof a&&"function"==typeof toJSOX&&(c+=f,c=u),"function"==typeof g&&(a=g.call(o,e,a)),typeof a){case"string":return t+l.escape(a)+t;case"number":return""+a;case"boolean":return String(a);case"object":{if(!a)return"null";if(Array.isArray(a)){const e=a,t=e;c+=f;const n=[];for(let r=0;r<e.length;r++){if(!(r in e)){n.push("");continue}const i=v(String(r),t);n.push(void 0===i?"undefined":i)}const r=e.length>0&&!(e.length-1 in e),i=0===n.length?"[]":c?"[\n"+c+n.join(",\n"+c)+(r?",":"")+"\n"+u+"]":"["+n.join(",")+(r?",":"")+"]";return c=u,i}const e=a;c+=f;const t=[];if(g&&"object"==typeof g){const n=g.length;for(let r=0;r<n;r+=1)if("string"==typeof g[r]){const n=g[r],o=v(n,e);o&&t.push(i(n)+(c?": ":":")+o)}}else{const o=[];for(const t in e)if((!n||Object.prototype.propertyIsEnumerable.call(e,t))&&Object.prototype.hasOwnProperty.call(e,t))if(r){let e;for(e=0;e<o.length;e++)if(o[e]>t){o.splice(e,0,t);break}e===o.length&&o.push(t)}else o.push(t);for(let n=0;n<o.length;n++){const r=o[n];if(Object.prototype.hasOwnProperty.call(e,r)){const n=v(r,e);n&&t.push(i(r)+(c?": ":":")+n)}}}const o=0===t.length?"{}":c?"{\n"+c+t.join(",\n"+c)+"\n"+u+"}":"{"+t.join(",")+"}";return c=u,o}}}}(this,e,o,u,a)},setQuote(e){t=e},get ignoreNonEnumerable(){return n},set ignoreNonEnumerable(e){n=e},get sortKeys(){return r},set sortKeys(e){r=e}};function i(n){return n.length?n in e||/([0-9-])/.test(n[0])||/[\s"'`[\]#{}()<>!+\-*/.:,]/.test(n)?t+l.escape(n)+t:n:t+t}},l.stringify=function(e,t,n,r){const i=l.stringifier();return r&&!1===r.sortKeys&&(i.sortKeys=!1),i.stringify(e,t,n)},l.version="1.1.7",e&&e.exports&&(e.exports=l)}(dr)),dr.exports}return t(function(){if(br)return vr;br=1,zn||(zn=1,Gn()),lr();const e=hr?gr:(hr=1,gr=yr());return vr=e}())});
|
package/dist/index.min.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t,n,s,r={exports:{}};function a(){return t||(t=1,function(e){const t=29,n=31,s=/^[$_\p{ID_Start}][$_\p{ID_Continue}]*$/u,r=/(\d)_(?=\d)/g,a=[];function i(){return a.pop()||{context:0,elements:null,element_array:null,name:null}}function o(e){a.push(e)}const l=[];function c(e){l.push(e)}function u(e,t){if(void 0===e)throw new Error(t||"Unexpected undefined value");return e}const f={escape:function(e){let t="";if(!e)return e;for(let n=0;n<e.length;n++){const s=e[n];'"'!=s&&"\\"!=s&&"`"!=s&&"'"!=s||(t+="\\"),t+=s}return t}};f.begin=function(e,a,f){const p=f;let h=!(!p||!p.esStrictCompatible),g=!(!p||!p.forbidTemplateSubstitution),b=!(!p||!p.warnWithCommentWithoutEOL),d=!(!p||!p.normalizeNumericKeys);const m={name:null,value_type:0,string:"",contains:null},y={line:1,col:0};let v,w=0,k=0,_=!0,x=!1,N=null,S=[],C=0,$=0,j=!1,E=!1,O=!1,A=!1,P=!1,I=null,q=!1,U=!1,K=!1,L=!1,z=!1,T=!1,W=!1,F=!1,M=0,D=0,J=!1,B=!1;const Q={first:null,last:null,saved:null,push(e){let t=this.saved;t?(this.saved=t.next,t.node=e,t.next=null,t.prior=this.last):t={node:e,next:null,prior:this.last},this.last||(this.first=t),this.last=t},pop(){const e=this.last;if(!e)throw new Error("context stack underflow");return(this.last=e.prior)||(this.first=null),e.next=this.saved,this.saved=e,e.node}},X={save:void 0,first:null,last:null,saved:null,push(e){let t=this.saved;t?(this.saved=t.next,t.node=e,t.next=null,t.prior=this.last):t={node:e,next:null,prior:this.last},this.last?this.last.next=t:this.first=t,this.last=t},shift(){const e=this.first;return e?(this.first=e.next,this.first||(this.last=null),e.next=this.saved,this.saved=e,e.node):null},unshift(e){const t=this.saved;this.saved=t.next,t.node=e,t.next=this.first,t.prior=null,this.first||(this.last=t),this.first=t}};function G(e){throw new Error(`${e} at ${w} [${y.line}:${y.col}]`)}return{finalError(){if(0!==$)switch($){case 1:return G("Comment began at end of document");case 2:b&&console.log("Warning: '//' comment without end of line ended document");break;case 3:return G("Open comment '/*' is missing close at end of document");case 4:return G("Incomplete '/* *' close at end of document")}q&&G("Incomplete string")},value(){this.finalError();const e=N;return N=void 0,e},reset(e){const t=void 0===e?p:e;h=!(!t||!t.esStrictCompatible),g=!(!t||!t.forbidTemplateSubstitution),b=!(!t||!t.warnWithCommentWithoutEOL),d=!(!t||!t.normalizeNumericKeys),k=0,_=!0,X.last&&(X.last.next=X.save),X.save=X.first,X.first=X.last=null,Q.last&&(Q.last.next=Q.saved),Q.saved=X.first,Q.first=Q.last=null,S=null,v=void 0,C=0,m.value_type=0,m.name=null,m.string="",y.line=1,y.col=0,x=!1,K=!1,$=0,J=!1,K=!1,B=!1,I=null,q=!1,L=!1,z=!1,T=!1,W=!1,F=!1,M=0,D=0},write(t){let n;if(!e)throw new Error("Callback function must be passed to begin, or you can't get values from the stream.");if(void 0!==t&&"string"!=typeof t&&(t=String(t)),!_)throw new Error("Parser is in an error state, please reset.");for(n=this._write(t,!1);n>0&&(this.finalError(),"function"==typeof a&&function e(t,n){const s=t[n];if(s&&"object"==typeof s){const t=s;for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const s=e(t,n);void 0!==s?t[n]=s:delete t[n]}}return a.call(t,n,s)}({"":N},""),e(N),N=void 0,!(n<2));n=this._write());n&&this.finalError()},_write(e,a){let f,p="",b=0;function H(e,t){throw new Error(`${e} '${String.fromCodePoint(t)}' unexpected at ${w} (near '${p.substr(w>4?w-4:0,w>4?3:w-1)}[${String.fromCodePoint(t)}]${p.substr(w,10)}') [${y.line}:${y.col}]`)}function R(e){if(13===e){if(w<p.length&&10===p.charCodeAt(w))return}else if(10!==e&&8232!==e&&8233!==e)return;y.line++,y.col=0}function V(){m.value_type=0,m.string="",K=!1}function Y(e){k>0&&k<t&&(void 0===e?G("Incomplete keyword"):H("Incomplete keyword",e)),K&&0==m.value_type&&(void 0===e?G("Sign with no number following"):H("Sign with no number following",e))}function Z(e){0!=m.value_type&&H("Two values with no separator between them",e)}function ee(){if(Number.isNaN(Number(m.string)))throw _=!1,new Error(`Invalid number '${m.string}' at ${w} [${y.line}:${y.col}]`)}function te(){const e=S;switch(m.value_type){case 5:e.push((x?-1:1)*Number(m.string));break;case 4:e.push(m.string);break;case 2:e.push(!0);break;case 3:e.push(!1);break;case 8:case 9:e.push(NaN);break;case 10:e.push(-1/0);break;case 11:e.push(1/0);break;case 1:e.push(null);break;case-1:e.push(void 0);break;case 13:e.push(void 0),delete e[e.length-1];break;case 6:case 7:e.push(m.contains)}}function ne(){const e=v,t=m.name;switch(m.value_type){case 5:e[t]=(x?-1:1)*Number(m.string);break;case 4:e[t]=m.string;break;case 2:e[t]=!0;break;case 3:e[t]=!1;break;case 8:case 9:e[t]=NaN;break;case 10:e[t]=-1/0;break;case 11:e[t]=1/0;break;case 1:e[t]=null;break;case-1:e[t]=void 0;break;case 6:case 7:e[t]=m.contains}}function se(e){let t=0;const n=h&&96!==e,s=96===e&&g;for(;0==t&&w<p.length;){let r=p.charAt(w);const a=u(p.codePointAt(w++),"Unexpected end of string");if(a>=65536&&(r+=p.charAt(w),w++),y.col++,a==e)L?(F?H("Incomplete hexidecimal sequence",a):T?H("Incomplete long unicode sequence",a):W&&H("Incomplete unicode sequence",a),z?(z=!1,t=1):m.string+=r,L=!1):t=1;else if(L){if(T){if(125==a){m.string+=String.fromCodePoint(M),T=!1,W=!1,L=!1;continue}M*=16,a>=48&&a<=57?M+=a-48:a>=65&&a<=70?M+=a-65+10:a>=97&&a<=102?M+=a-97+10:H("(escaped character, parsing hex of \\u)",a);continue}if(F||W){if(0===D&&123===a){T=!0;continue}M*=16,a>=48&&a<=57?M+=a-48:a>=65&&a<=70?M+=a-65+10:a>=97&&a<=102?M+=a-97+10:H(W?"(escaped character, parsing hex of \\u)":"(escaped character, parsing hex of \\x)",a),D++,W?4==D&&(m.string+=String.fromCodePoint(M),W=!1,L=!1):2==D&&(m.string+=String.fromCodePoint(M),F=!1,L=!1);continue}switch(a){case 13:z=!0,R(a);continue;case 8232:case 8233:case 10:z=!1,R(a);break;case 116:m.string+="\t";break;case 98:m.string+="\b";break;case 48:h&&p.charCodeAt(w)>=48&&p.charCodeAt(w)<=57&&H("Legacy octal string escapes are not allowed when the 'esStrictCompatible' option is set",p.charCodeAt(w)),m.string+="\0";break;case 110:m.string+="\n";break;case 114:m.string+="\r";break;case 102:m.string+="\f";break;case 118:m.string+="\v";break;case 120:F=!0,D=0,M=0;continue;case 117:W=!0,D=0,M=0;continue;default:h&&a>=49&&a<=57&&H("Legacy octal string escapes are not allowed when the 'esStrictCompatible' option is set",a),m.string+=r}L=!1}else 92===a?(L=!0,B=!1):(!n||10!==a&&13!==a||H("Literal line terminators inside single- or double-quoted strings require the 'esStrictCompatible' option to be off",a),s&&(B&&123===a&&H("Template substitution ${ } is not allowed when the 'forbidTemplateSubstitution' option is set",a),B=36===a),z=!1,R(a),m.string+=r)}return t}function re(){let e;for(;(e=w)<p.length;){const t=p.charAt(e),n=u(p.codePointAt(w++),"Unexpected end of number");if(n>=65536&&H("fault while parsing number;",n),y.col++,95!=n)if(n>=48&&n<=57)h&&"0"===m.string&&H("Legacy octal / leading-zero numbers are not allowed when the 'esStrictCompatible' option is set",n),O&&(P=!0),m.string+=t;else if(45==n||43==n)0==m.string.length||O&&!A&&!P?(m.string+=t,A=!0):(_=!1,H("fault while parsing number;",n));else if(46==n)E||j||O?(_=!1,H("fault while parsing number;",n)):(m.string+=t,E=!0);else if(j&&(n>=95&&n<=102||n>=65&&n<=70))m.string+=t;else if(120==n||98==n||111==n||88==n||66==n||79==n)j||"0"!=m.string?(_=!1,H("fault while parsing number;",n)):(j=!0,m.string+=t);else{if(101!=n&&69!=n){if(32==n||160==n||13==n||10==n||9==n||11==n||12==n||8232==n||8233==n||65279==n||44==n||125==n||93==n||58==n)break;a&&(_=!1,H("fault while parsing number;",n));break}O?(_=!1,H("fault while parsing number;",n)):(m.string+=t,O=!0)}}w>e&&y.col--,w=e,a||w!=p.length?(U=!1,ee(),m.value_type=5,0==C&&(J=!0)):U=!0}if(!_)return-1;if(e&&e.length)f=function(){let e=l.pop();return e?e.n=0:e={buf:null,n:0},e}(),f.buf=e,X.push(f);else if(U){if(U=!1,ee(),m.value_type=5,0!=C)throw new Error("context stack is not empty at flush");J=!0,b=1}for(;_&&(f=X.shift());){if(w=f.n,p=f.buf,q){if(null===I)throw new Error("Parser string start was unset");se(I)>0&&(q=!1,m.value_type=4)}for(U&&re();!J&&_&&w<p.length;){let e=p.charAt(w);const a=u(p.codePointAt(w++),"Unexpected end of input while parsing");if(a>=65536&&(e+=p.charAt(w),w++),y.col++,$)R(a),1==$?42==a?$=3:47!=a?H("fault while parsing;",a):$=2:2==$?10!=a&&13!=a&&8232!=a&&8233!=a||($=0):3==$?42==a&&($=4):$=47==a?0:3;else{switch(a){case 47:$=1;break;case 123:(k==t||30==k||3==C&&0==k)&&H("fault while parsing; getting field name unexpected ",a),Z(a);{const e=i();m.value_type=6;const t={};0==C&&(N=v=t),e.context=C,e.elements=v,e.element_array=S,e.name=m.name,v=t,Q.push(e),V(),C=3}break;case 91:if(3!=C&&k!=t&&30!=k||H("Fault while parsing; while getting field name unexpected",a),0==m.value_type||-1==m.value_type){const e=i();m.value_type=7;const t=[];0==C?N=S=t:4==C&&(v[m.name]=t),e.context=C,e.elements=v,e.element_array=S,e.name=m.name,S=t,Q.push(e),V(),C=1}else H("Unexpected array open after previous value",a);break;case 58:if(3==C){if(k=0,h&&4!==m.value_type&&!s.test(m.string)&&Number.isNaN(Number(m.string.replace(r,"$1")))&&H("Unquoted keys must be valid identifiers when the 'esStrictCompatible' option is set",a),d&&4!==m.value_type&&""!==m.string){const e=Number(m.string.replace(r,"$1"));Number.isNaN(e)||(m.string=String(e))}m.name=m.string,m.string="",C=4,m.value_type=0}else H(1==C?"(in array, got colon out of string):parsing fault;":"(outside any object, got colon out of string):parsing fault;",a);break;case 125:if(k==n&&(k=0),Y(a),3==C){k!=t&&30!=k&&4!=m.value_type||H("Object field name with no value",a),m.value_type=6,m.contains=v;const e=Q.pop();m.name=e.name,C=e.context,v=e.elements,S=e.element_array,o(e),0==C&&(J=!0)}else if(4==C){0!=m.value_type?ne():H("Fault while parsing field value, close with no value",a),m.value_type=6,m.contains=v;const e=Q.pop();m.name=e.name,C=e.context,v=e.elements,S=e.element_array,o(e),0==C&&(J=!0)}else H("Fault while parsing; unexpected",a);x=!1,K=!1;break;case 93:if(k==n&&(k=0),Y(a),1==C){0!=m.value_type&&te(),m.value_type=7,m.contains=S;{const e=Q.pop();m.name=e.name,C=e.context,v=e.elements,S=e.element_array,o(e)}0==C&&(J=!0)}else H(`bad context ${C}; fault while parsing`,a);x=!1,K=!1;break;case 44:k==n&&(k=0),Y(a),1==C?(0==m.value_type&&(m.value_type=13),te(),V()):4==C?(C=3,0!=m.value_type?(ne(),V()):H("Unexpected comma after object field name",a)):(_=!1,H("bad context; excessive commas while parsing;",a)),x=!1,K=!1;break;default:if(3==C)switch(a){case 96:h&&H("Backtick-quoted keys are not allowed when the 'esStrictCompatible' option is set",a);case 34:case 39:if(0==k){0!=m.value_type&&H("String begin after previous value",a);se(a)?m.value_type=4:(I=a,q=!0)}else H("fault while parsing; quote not at start of field name",a);break;case 10:case 13:case 32:case 160:case 9:case 11:case 12:case 8232:case 8233:case 65279:R(a),k==n?k=0:k==t&&(k=30);break;default:30==k&&(_=!1,H("fault while parsing; character unexpected",a)),0==k&&(k=t),m.string+=e}else switch(a){case 96:case 34:case 39:if(0===m.value_type){se(a)?(m.value_type=4,k=n):(I=a,q=!0)}else H("String unexpected",a);break;case 10:case 32:case 160:case 9:case 13:case 11:case 12:case 8232:case 8233:case 65279:if(R(a),k==n){k=0,K=!1,0==C&&(J=!0);break}0!==k&&(_=!1,H("fault parsing whitespace",a));break;case 116:0==k?(Z(a),k=1):27==k?k=28:(_=!1,H("fault parsing",a));break;case 114:1==k?k=2:(_=!1,H("fault parsing",a));break;case 117:2==k?k=3:9==k?k=10:0==k?(Z(a),k=12):(_=!1,H("fault parsing",a));break;case 101:3==k?(m.value_type=2,k=n):8==k?(m.value_type=3,k=n):14==k?k=15:18==k?k=19:(_=!1,H("fault parsing",a));break;case 110:0==k?(Z(a),k=9):12==k?k=13:17==k?k=18:22==k?k=23:25==k?k=26:(_=!1,H("fault parsing",a));break;case 100:13==k?k=14:19==k?(m.value_type=-1,k=n):(_=!1,H("fault parsing",a));break;case 105:16==k?k=17:24==k?k=25:26==k?k=27:(_=!1,H("fault parsing",a));break;case 108:10==k?k=11:11==k?(m.value_type=1,k=n):6==k?k=7:(_=!1,H("fault parsing",a));break;case 102:0==k?(Z(a),k=5):15==k?k=16:23==k?k=24:(_=!1,H("fault parsing",a));break;case 97:5==k?k=6:20==k?k=21:(_=!1,H("fault parsing",a));break;case 115:7==k?k=8:(_=!1,H("fault parsing",a));break;case 73:0==k?(Z(a),k=22):(_=!1,H("fault parsing",a));break;case 78:0==k?(Z(a),k=20):21==k?(m.value_type=x?8:9,x=!1,k=n):(_=!1,H("fault parsing",a));break;case 121:28==k?(m.value_type=x?10:11,x=!1,k=n):(_=!1,H("fault parsing",a));break;case 45:0==k?(Z(a),h&&K&&H("Multiple consecutive signs are not allowed when the 'esStrictCompatible' option is set",a),K=!0,x=!x):(_=!1,H("fault parsing",a));break;case 43:0!==k?(_=!1,H("fault parsing",a)):(Z(a),h&&K&&H("Multiple consecutive signs are not allowed when the 'esStrictCompatible' option is set",a),K=!0);break;default:a>=48&&a<=57||43==a||46==a||45==a?(Z(a),j=!1,O=!1,A=!1,P=!1,E=!1,K=!1,m.string=e,f.n=w,re()):(_=!1,H("fault parsing",a))}}if(J){k==n&&(k=0);break}}}if(w==p.length?(c(f),a&&Y(),q||U||3==C?b=0:0!=C||0==m.value_type&&!N||(J=!0,b=1)):(f.n=w,X.unshift(f),b=2),J)break}if(J&&0!=m.value_type){switch(m.value_type){case 5:N=(x?-1:1)*Number(m.string);break;case 4:N=m.string;break;case 2:N=!0;break;case 3:N=!1;break;case 1:N=null;break;case-1:N=void 0;break;case 9:case 8:N=NaN;break;case 11:N=1/0;break;case 10:N=-1/0;break;case 6:case 7:N=m.contains}x=!1,m.string="",m.value_type=0}return J=!1,b}}};const p=[Object.freeze(f.begin())];let h=0;f.parse=function(e,t,n){const s=h++;p.length<=s&&p.push(Object.freeze(f.begin()));const r=p[s];"string"!=typeof e&&(e=String(e)),r.reset(n);try{if(r._write(e,!0)<=0)throw r.finalError(),new Error("No value found in document");const n=r.value();return"function"==typeof t&&function e(n,s){const r=n[s];if(r&&"object"==typeof r){const t=r;for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const s=e(t,n);void 0!==s?t[n]=s:delete t[n]}}return t.call(n,s,r)}({"":n},""),n}finally{h--}},f.stringifierActive=null,f.stringifier=function(){const e={true:!0,false:!1,null:null,NaN:NaN,Infinity:1/0,undefined:void 0};let t='"',n=!1,s=!0;return{stringify(e,a,i,o){return function(e,a,i,o,l){if(void 0===a)return"undefined";if(null===a)return"null";let c="",u="";const p=f.stringifierActive;f.stringifierActive=e,l||(l="");if("number"==typeof o)for(let e=0;e<o;e+=1)u+=" ";else"string"==typeof o&&(u=o);const h=i;if(i&&"function"!=typeof i&&("object"!=typeof i||"number"!=typeof i.length))throw new Error("JSON6.stringify unknown replacer type.");const g=b(l,{[l]:a});return f.stringifierActive=p,g;function b(e,a){const i=c;let o=a[e];switch("string"==typeof o&&(o=t+f.escape(o)+t),null!=o&&"object"==typeof o&&"function"==typeof toJSOX&&(c+=u,c=i),"function"==typeof h&&(o=h.call(a,e,o)),typeof o){case"string":return o;case"number":return""+o;case"boolean":return String(o);case"object":{if(!o)return"null";if(Array.isArray(o)){const e=o,t=e;c+=u;const n=[];for(let s=0;s<e.length;s++){if(!(s in e)){n.push("");continue}const r=b(String(s),t);n.push(void 0===r?"undefined":r)}const s=e.length>0&&!(e.length-1 in e),r=0===n.length?"[]":c?"[\n"+c+n.join(",\n"+c)+(s?",":"")+"\n"+i+"]":"["+n.join(",")+(s?",":"")+"]";return c=i,r}const e=o;c+=u;const t=[];if(h&&"object"==typeof h){const n=h.length;for(let s=0;s<n;s+=1)if("string"==typeof h[s]){const n=h[s],a=b(n,e);a&&t.push(r(n)+(c?": ":":")+a)}}else{const a=[];for(const t in e)if((!n||Object.prototype.propertyIsEnumerable.call(e,t))&&Object.prototype.hasOwnProperty.call(e,t))if(s){let e;for(e=0;e<a.length;e++)if(a[e]>t){a.splice(e,0,t);break}e===a.length&&a.push(t)}else a.push(t);for(let n=0;n<a.length;n++){const s=a[n];if(Object.prototype.hasOwnProperty.call(e,s)){const n=b(s,e);n&&t.push(r(s)+(c?": ":":")+n)}}}const a=0===t.length?"{}":c?"{\n"+c+t.join(",\n"+c)+"\n"+i+"}":"{"+t.join(",")+"}";return c=i,a}}}}(this,e,a,i,o)},setQuote(e){t=e},get ignoreNonEnumerable(){return n},set ignoreNonEnumerable(e){n=e},get sortKeys(){return s},set sortKeys(e){s=e}};function r(n){return n.length?n in e||/([0-9-])/.test(n[0])||/((\n|\r|\t)|[ #{}()<>!+\-*/.:,])/.test(n)?t+f.escape(n)+t:n:t+t}},f.stringify=function(e,t,n,s){const r=f.stringifier();return s&&!1===s.sortKeys&&(r.sortKeys=!1),r.stringify(e,t,n)},f.version="1.1.6",e&&e.exports&&(e.exports=f)}(r)),r.exports}var i=e(s?n:(s=1,n=a()));export{i as default};
|
|
1
|
+
function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t,n,s,r={exports:{}};function a(){return t||(t=1,function(e){const t=29,n=31,s=/^[$_\p{ID_Start}][$_\p{ID_Continue}]*$/u,r=/(\d)_(?=\d)/g,a=[];function i(){return a.pop()||{context:0,elements:null,element_array:null,name:null}}function o(e){a.push(e)}const l=[];function c(e){l.push(e)}function u(e,t){if(void 0===e)throw new Error(t||"Unexpected undefined value");return e}const f={escape:function(e){let t="";if(!e)return e;for(let n=0;n<e.length;n++){const s=e[n];'"'!=s&&"\\"!=s&&"`"!=s&&"'"!=s||(t+="\\"),t+=s}return t}};f.begin=function(e,a,f){const p=f;let h=!(!p||!p.esStrictCompatible),g=!(!p||!p.forbidTemplateSubstitution),b=!(!p||!p.warnWithCommentWithoutEOL),d=!(!p||!p.normalizeNumericKeys);const m={name:null,value_type:0,string:"",contains:null},y={line:1,col:0};let v,w=0,k=0,_=!0,x=!1,N=null,S=[],C=0,$=0,j=!1,E=!1,O=!1,A=!1,P=!1,I=null,q=!1,U=!1,K=!1,L=!1,z=!1,T=!1,W=!1,F=!1,M=0,D=0,J=!1,B=!1;const Q={first:null,last:null,saved:null,push(e){let t=this.saved;t?(this.saved=t.next,t.node=e,t.next=null,t.prior=this.last):t={node:e,next:null,prior:this.last},this.last||(this.first=t),this.last=t},pop(){const e=this.last;if(!e)throw new Error("context stack underflow");return(this.last=e.prior)||(this.first=null),e.next=this.saved,this.saved=e,e.node}},X={save:void 0,first:null,last:null,saved:null,push(e){let t=this.saved;t?(this.saved=t.next,t.node=e,t.next=null,t.prior=this.last):t={node:e,next:null,prior:this.last},this.last?this.last.next=t:this.first=t,this.last=t},shift(){const e=this.first;return e?(this.first=e.next,this.first||(this.last=null),e.next=this.saved,this.saved=e,e.node):null},unshift(e){const t=this.saved;this.saved=t.next,t.node=e,t.next=this.first,t.prior=null,this.first||(this.last=t),this.first=t}};function G(e){throw new Error(`${e} at ${w} [${y.line}:${y.col}]`)}return{finalError(){if(0!==$)switch($){case 1:return G("Comment began at end of document");case 2:b&&console.log("Warning: '//' comment without end of line ended document");break;case 3:return G("Open comment '/*' is missing close at end of document");case 4:return G("Incomplete '/* *' close at end of document")}q&&G("Incomplete string")},value(){this.finalError();const e=N;return N=void 0,e},reset(e){const t=void 0===e?p:e;h=!(!t||!t.esStrictCompatible),g=!(!t||!t.forbidTemplateSubstitution),b=!(!t||!t.warnWithCommentWithoutEOL),d=!(!t||!t.normalizeNumericKeys),k=0,_=!0,X.last&&(X.last.next=X.save),X.save=X.first,X.first=X.last=null,Q.last&&(Q.last.next=Q.saved),Q.saved=X.first,Q.first=Q.last=null,S=null,v=void 0,C=0,m.value_type=0,m.name=null,m.string="",y.line=1,y.col=0,x=!1,K=!1,$=0,J=!1,K=!1,B=!1,I=null,q=!1,L=!1,z=!1,T=!1,W=!1,F=!1,M=0,D=0},write(t){let n;if(!e)throw new Error("Callback function must be passed to begin, or you can't get values from the stream.");if(void 0!==t&&"string"!=typeof t&&(t=String(t)),!_)throw new Error("Parser is in an error state, please reset.");for(n=this._write(t,!1);n>0&&(this.finalError(),"function"==typeof a&&(N=function e(t,n){const s=t[n];if(s&&"object"==typeof s){const t=s;for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const s=e(t,n);void 0!==s?t[n]=s:delete t[n]}}return a.call(t,n,s)}({"":N},"")),e(N),N=void 0,!(n<2));n=this._write());n&&this.finalError()},_write(e,a){let f,p="",b=0;function H(e,t){throw new Error(`${e} '${String.fromCodePoint(t)}' unexpected at ${w} (near '${p.substr(w>4?w-4:0,w>4?3:w-1)}[${String.fromCodePoint(t)}]${p.substr(w,10)}') [${y.line}:${y.col}]`)}function R(e){if(13===e){if(w<p.length&&10===p.charCodeAt(w))return}else if(10!==e&&8232!==e&&8233!==e)return;y.line++,y.col=0}function V(){m.value_type=0,m.string="",K=!1}function Y(e){k>0&&k<t&&(void 0===e?G("Incomplete keyword"):H("Incomplete keyword",e)),K&&0==m.value_type&&(void 0===e?G("Sign with no number following"):H("Sign with no number following",e))}function Z(e){0!=m.value_type&&H("Two values with no separator between them",e)}function ee(){if(Number.isNaN(Number(m.string)))throw _=!1,new Error(`Invalid number '${m.string}' at ${w} [${y.line}:${y.col}]`)}function te(){const e=S;switch(m.value_type){case 5:e.push((x?-1:1)*Number(m.string));break;case 4:e.push(m.string);break;case 2:e.push(!0);break;case 3:e.push(!1);break;case 8:case 9:e.push(NaN);break;case 10:e.push(-1/0);break;case 11:e.push(1/0);break;case 1:e.push(null);break;case-1:e.push(void 0);break;case 13:e.push(void 0),delete e[e.length-1];break;case 6:case 7:e.push(m.contains)}}function ne(){const e=v,t=m.name;switch(m.value_type){case 5:e[t]=(x?-1:1)*Number(m.string);break;case 4:e[t]=m.string;break;case 2:e[t]=!0;break;case 3:e[t]=!1;break;case 8:case 9:e[t]=NaN;break;case 10:e[t]=-1/0;break;case 11:e[t]=1/0;break;case 1:e[t]=null;break;case-1:e[t]=void 0;break;case 6:case 7:e[t]=m.contains}}function se(e){let t=0;const n=h&&96!==e,s=96===e&&g;for(;0==t&&w<p.length;){let r=p.charAt(w);const a=u(p.codePointAt(w++),"Unexpected end of string");if(a>=65536&&(r+=p.charAt(w),w++),y.col++,a==e)L?(F?H("Incomplete hexidecimal sequence",a):T?H("Incomplete long unicode sequence",a):W&&H("Incomplete unicode sequence",a),z?(z=!1,t=1):m.string+=r,L=!1):t=1;else if(L){if(T){if(125==a){m.string+=String.fromCodePoint(M),T=!1,W=!1,L=!1;continue}M*=16,a>=48&&a<=57?M+=a-48:a>=65&&a<=70?M+=a-65+10:a>=97&&a<=102?M+=a-97+10:H("(escaped character, parsing hex of \\u)",a);continue}if(F||W){if(0===D&&123===a){T=!0;continue}M*=16,a>=48&&a<=57?M+=a-48:a>=65&&a<=70?M+=a-65+10:a>=97&&a<=102?M+=a-97+10:H(W?"(escaped character, parsing hex of \\u)":"(escaped character, parsing hex of \\x)",a),D++,W?4==D&&(m.string+=String.fromCodePoint(M),W=!1,L=!1):2==D&&(m.string+=String.fromCodePoint(M),F=!1,L=!1);continue}switch(a){case 13:z=!0,R(a);continue;case 8232:case 8233:case 10:z=!1,R(a);break;case 116:m.string+="\t";break;case 98:m.string+="\b";break;case 48:h&&p.charCodeAt(w)>=48&&p.charCodeAt(w)<=57&&H("Legacy octal string escapes are not allowed when the 'esStrictCompatible' option is set",p.charCodeAt(w)),m.string+="\0";break;case 110:m.string+="\n";break;case 114:m.string+="\r";break;case 102:m.string+="\f";break;case 118:m.string+="\v";break;case 120:F=!0,D=0,M=0;continue;case 117:W=!0,D=0,M=0;continue;default:h&&a>=49&&a<=57&&H("Legacy octal string escapes are not allowed when the 'esStrictCompatible' option is set",a),m.string+=r}L=!1}else 92===a?(L=!0,B=!1):(!n||10!==a&&13!==a||H("Literal line terminators inside single- or double-quoted strings require the 'esStrictCompatible' option to be off",a),s&&(B&&123===a&&H("Template substitution ${ } is not allowed when the 'forbidTemplateSubstitution' option is set",a),B=36===a),z=!1,R(a),m.string+=r)}return t}function re(){let e;for(;(e=w)<p.length;){const t=p.charAt(e),n=u(p.codePointAt(w++),"Unexpected end of number");if(n>=65536&&H("fault while parsing number;",n),y.col++,95!=n)if(n>=48&&n<=57)h&&"0"===m.string&&H("Legacy octal / leading-zero numbers are not allowed when the 'esStrictCompatible' option is set",n),O&&(P=!0),m.string+=t;else if(45==n||43==n)0==m.string.length||O&&!A&&!P?(m.string+=t,A=!0):(_=!1,H("fault while parsing number;",n));else if(46==n)E||j||O?(_=!1,H("fault while parsing number;",n)):(m.string+=t,E=!0);else if(j&&(n>=95&&n<=102||n>=65&&n<=70))m.string+=t;else if(120==n||98==n||111==n||88==n||66==n||79==n)j||"0"!=m.string?(_=!1,H("fault while parsing number;",n)):(j=!0,m.string+=t);else{if(101!=n&&69!=n){if(32==n||160==n||13==n||10==n||9==n||11==n||12==n||8232==n||8233==n||65279==n||44==n||125==n||93==n||58==n||47==n)break;a&&(_=!1,H("fault while parsing number;",n));break}O?(_=!1,H("fault while parsing number;",n)):(m.string+=t,O=!0)}}w>e&&y.col--,w=e,a||w!=p.length?(U=!1,ee(),m.value_type=5,0==C&&(J=!0)):U=!0}if(!_)return-1;if(e&&e.length)f=function(){let e=l.pop();return e?e.n=0:e={buf:null,n:0},e}(),f.buf=e,X.push(f);else if(U){if(U=!1,ee(),m.value_type=5,0!=C)throw new Error("context stack is not empty at flush");J=!0,b=1}for(;_&&(f=X.shift());){if(w=f.n,p=f.buf,q){if(null===I)throw new Error("Parser string start was unset");se(I)>0&&(q=!1,m.value_type=4,3!=C&&(k=n))}for(U&&re();!J&&_&&w<p.length;){let e=p.charAt(w);const a=u(p.codePointAt(w++),"Unexpected end of input while parsing");if(a>=65536&&(e+=p.charAt(w),w++),y.col++,$)R(a),1==$?42==a?$=3:47!=a?H("fault while parsing;",a):$=2:2==$?10!=a&&13!=a&&8232!=a&&8233!=a||($=0):3==$?42==a&&($=4):47==a?$=0:42!=a&&($=3);else{switch(a){case 47:$=1;break;case 123:(k==t||30==k||3==C&&0==k)&&H("fault while parsing; getting field name unexpected ",a),Z(a);{const e=i();m.value_type=6;const t={};0==C&&(N=v=t),e.context=C,e.elements=v,e.element_array=S,e.name=m.name,v=t,Q.push(e),V(),C=3}break;case 91:if(3!=C&&k!=t&&30!=k||H("Fault while parsing; while getting field name unexpected",a),0==m.value_type||-1==m.value_type){const e=i();m.value_type=7;const t=[];0==C?N=S=t:4==C&&(v[m.name]=t),e.context=C,e.elements=v,e.element_array=S,e.name=m.name,S=t,Q.push(e),V(),C=1}else H("Unexpected array open after previous value",a);break;case 58:if(3==C){if(k=0,h&&4!==m.value_type&&!s.test(m.string)&&Number.isNaN(Number(m.string.replace(r,"$1")))&&H("Unquoted keys must be valid identifiers when the 'esStrictCompatible' option is set",a),d&&4!==m.value_type&&""!==m.string){const e=Number(m.string.replace(r,"$1"));Number.isNaN(e)||(m.string=String(e))}m.name=m.string,m.string="",C=4,m.value_type=0}else H(1==C?"(in array, got colon out of string):parsing fault;":"(outside any object, got colon out of string):parsing fault;",a);break;case 125:if(k==n&&(k=0),Y(a),3==C){k!=t&&30!=k&&4!=m.value_type||H("Object field name with no value",a),m.value_type=6,m.contains=v;const e=Q.pop();m.name=e.name,C=e.context,v=e.elements,S=e.element_array,o(e),0==C&&(J=!0)}else if(4==C){0!=m.value_type?ne():H("Fault while parsing field value, close with no value",a),m.value_type=6,m.contains=v;const e=Q.pop();m.name=e.name,C=e.context,v=e.elements,S=e.element_array,o(e),0==C&&(J=!0)}else H("Fault while parsing; unexpected",a);x=!1,K=!1;break;case 93:if(k==n&&(k=0),Y(a),1==C){0!=m.value_type&&te(),m.value_type=7,m.contains=S;{const e=Q.pop();m.name=e.name,C=e.context,v=e.elements,S=e.element_array,o(e)}0==C&&(J=!0)}else H(`bad context ${C}; fault while parsing`,a);x=!1,K=!1;break;case 44:k==n&&(k=0),Y(a),1==C?(0==m.value_type&&(m.value_type=13),te(),V()):4==C?(C=3,0!=m.value_type?(ne(),V()):H("Unexpected comma after object field name",a)):(_=!1,H("bad context; excessive commas while parsing;",a)),x=!1,K=!1;break;default:if(3==C)switch(a){case 96:h&&H("Backtick-quoted keys are not allowed when the 'esStrictCompatible' option is set",a);case 34:case 39:if(0==k){0!=m.value_type&&H("String begin after previous value",a);se(a)?m.value_type=4:(I=a,q=!0)}else H("fault while parsing; quote not at start of field name",a);break;case 10:case 13:case 32:case 160:case 9:case 11:case 12:case 8232:case 8233:case 65279:R(a),k==n?k=0:k==t&&(k=30);break;default:30==k&&(_=!1,H("fault while parsing; character unexpected",a)),0==k&&(k=t),m.string+=e}else switch(a){case 96:case 34:case 39:if(0===m.value_type){se(a)?(m.value_type=4,k=n):(I=a,q=!0)}else H("String unexpected",a);break;case 10:case 32:case 160:case 9:case 13:case 11:case 12:case 8232:case 8233:case 65279:if(R(a),k==n){k=0,K=!1,0==C&&(J=!0);break}0!==k&&(_=!1,H("fault parsing whitespace",a));break;case 116:0==k?(Z(a),k=1):27==k?k=28:(_=!1,H("fault parsing",a));break;case 114:1==k?k=2:(_=!1,H("fault parsing",a));break;case 117:2==k?k=3:9==k?k=10:0==k?(Z(a),k=12):(_=!1,H("fault parsing",a));break;case 101:3==k?(m.value_type=2,k=n):8==k?(m.value_type=3,k=n):14==k?k=15:18==k?k=19:(_=!1,H("fault parsing",a));break;case 110:0==k?(Z(a),k=9):12==k?k=13:17==k?k=18:22==k?k=23:25==k?k=26:(_=!1,H("fault parsing",a));break;case 100:13==k?k=14:19==k?(m.value_type=-1,k=n):(_=!1,H("fault parsing",a));break;case 105:16==k?k=17:24==k?k=25:26==k?k=27:(_=!1,H("fault parsing",a));break;case 108:10==k?k=11:11==k?(m.value_type=1,k=n):6==k?k=7:(_=!1,H("fault parsing",a));break;case 102:0==k?(Z(a),k=5):15==k?k=16:23==k?k=24:(_=!1,H("fault parsing",a));break;case 97:5==k?k=6:20==k?k=21:(_=!1,H("fault parsing",a));break;case 115:7==k?k=8:(_=!1,H("fault parsing",a));break;case 73:0==k?(Z(a),k=22):(_=!1,H("fault parsing",a));break;case 78:0==k?(Z(a),k=20):21==k?(m.value_type=x?8:9,x=!1,k=n):(_=!1,H("fault parsing",a));break;case 121:28==k?(m.value_type=x?10:11,x=!1,k=n):(_=!1,H("fault parsing",a));break;case 45:0==k?(Z(a),h&&K&&H("Multiple consecutive signs are not allowed when the 'esStrictCompatible' option is set",a),K=!0,x=!x):(_=!1,H("fault parsing",a));break;case 43:0!==k?(_=!1,H("fault parsing",a)):(Z(a),h&&K&&H("Multiple consecutive signs are not allowed when the 'esStrictCompatible' option is set",a),K=!0);break;default:a>=48&&a<=57||43==a||46==a||45==a?(Z(a),j=!1,O=!1,A=!1,P=!1,E=!1,K=!1,m.string=e,f.n=w,re()):(_=!1,H("fault parsing",a))}}if(J){k==n&&(k=0);break}}}if(w==p.length?(c(f),a&&Y(),q||U||3==C?b=0:0!=C||0==m.value_type&&!N||(J=!0,b=1)):(f.n=w,X.unshift(f),b=2),J)break}if(J&&0!=m.value_type){switch(m.value_type){case 5:N=(x?-1:1)*Number(m.string);break;case 4:N=m.string;break;case 2:N=!0;break;case 3:N=!1;break;case 1:N=null;break;case-1:N=void 0;break;case 9:case 8:N=NaN;break;case 11:N=1/0;break;case 10:N=-1/0;break;case 6:case 7:N=m.contains}x=!1,m.string="",m.value_type=0}return J=!1,b}}};const p=[Object.freeze(f.begin())];let h=0;f.parse=function(e,t,n){const s=h++;p.length<=s&&p.push(Object.freeze(f.begin()));const r=p[s];"string"!=typeof e&&(e=String(e)),r.reset(n);try{if(r._write(e,!0)<=0)throw r.finalError(),new Error("No value found in document");let n=r.value();return"function"==typeof t&&(n=function e(n,s){const r=n[s];if(r&&"object"==typeof r){const t=r;for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const s=e(t,n);void 0!==s?t[n]=s:delete t[n]}}return t.call(n,s,r)}({"":n},"")),n}finally{h--}},f.stringifierActive=null,f.stringifier=function(){const e={true:!0,false:!1,null:null,NaN:NaN,Infinity:1/0,undefined:void 0};let t='"',n=!1,s=!0;return{stringify(e,a,i,o){return function(e,a,i,o,l){if(void 0===a&&"function"!=typeof i)return"undefined";let c="",u="";const p=f.stringifierActive;f.stringifierActive=e,l||(l="");if("number"==typeof o)for(let e=0;e<o;e+=1)u+=" ";else"string"==typeof o&&(u=o);const h=i;if(i&&"function"!=typeof i&&("object"!=typeof i||"number"!=typeof i.length))throw new Error("JSON6.stringify unknown replacer type.");const g=b(l,{[l]:a});return f.stringifierActive=p,g;function b(e,a){const i=c;let o=a[e];switch(null!=o&&"object"==typeof o&&"function"==typeof toJSOX&&(c+=u,c=i),"function"==typeof h&&(o=h.call(a,e,o)),typeof o){case"string":return t+f.escape(o)+t;case"number":return""+o;case"boolean":return String(o);case"object":{if(!o)return"null";if(Array.isArray(o)){const e=o,t=e;c+=u;const n=[];for(let s=0;s<e.length;s++){if(!(s in e)){n.push("");continue}const r=b(String(s),t);n.push(void 0===r?"undefined":r)}const s=e.length>0&&!(e.length-1 in e),r=0===n.length?"[]":c?"[\n"+c+n.join(",\n"+c)+(s?",":"")+"\n"+i+"]":"["+n.join(",")+(s?",":"")+"]";return c=i,r}const e=o;c+=u;const t=[];if(h&&"object"==typeof h){const n=h.length;for(let s=0;s<n;s+=1)if("string"==typeof h[s]){const n=h[s],a=b(n,e);a&&t.push(r(n)+(c?": ":":")+a)}}else{const a=[];for(const t in e)if((!n||Object.prototype.propertyIsEnumerable.call(e,t))&&Object.prototype.hasOwnProperty.call(e,t))if(s){let e;for(e=0;e<a.length;e++)if(a[e]>t){a.splice(e,0,t);break}e===a.length&&a.push(t)}else a.push(t);for(let n=0;n<a.length;n++){const s=a[n];if(Object.prototype.hasOwnProperty.call(e,s)){const n=b(s,e);n&&t.push(r(s)+(c?": ":":")+n)}}}const a=0===t.length?"{}":c?"{\n"+c+t.join(",\n"+c)+"\n"+i+"}":"{"+t.join(",")+"}";return c=i,a}}}}(this,e,a,i,o)},setQuote(e){t=e},get ignoreNonEnumerable(){return n},set ignoreNonEnumerable(e){n=e},get sortKeys(){return s},set sortKeys(e){s=e}};function r(n){return n.length?n in e||/([0-9-])/.test(n[0])||/[\s"'`[\]#{}()<>!+\-*/.:,]/.test(n)?t+f.escape(n)+t:n:t+t}},f.stringify=function(e,t,n,s){const r=f.stringifier();return s&&!1===s.sortKeys&&(r.sortKeys=!1),r.stringify(e,t,n)},f.version="1.1.7",e&&e.exports&&(e.exports=f)}(r)),r.exports}var i=e(s?n:(s=1,n=a()));export{i as default};
|
package/dist/index.mjs
CHANGED
|
@@ -10,7 +10,7 @@ function requireJson6() {
|
|
|
10
10
|
hasRequiredJson6 = 1;
|
|
11
11
|
(function (module) {
|
|
12
12
|
|
|
13
|
-
const version = "1.1.
|
|
13
|
+
const version = "1.1.7";
|
|
14
14
|
const VALUE_UNDEFINED = -1;
|
|
15
15
|
const VALUE_UNSET = 0;
|
|
16
16
|
const VALUE_NULL = 1;
|
|
@@ -480,13 +480,13 @@ function requireJson6() {
|
|
|
480
480
|
if (!status) throw new Error("Parser is in an error state, please reset.");
|
|
481
481
|
for (retcode = this._write(/** @type {string|undefined|null} */msg, false); retcode > 0; retcode = this._write()) {
|
|
482
482
|
this.finalError();
|
|
483
|
-
if (typeof reviver === 'function')
|
|
483
|
+
if (typeof reviver === 'function') result =
|
|
484
484
|
/**
|
|
485
485
|
* @param {Record<string, unknown>} holder
|
|
486
486
|
* @param {string} key
|
|
487
487
|
* @returns {unknown}
|
|
488
488
|
*/
|
|
489
|
-
|
|
489
|
+
function walk(holder, key) {
|
|
490
490
|
const value = holder[key];
|
|
491
491
|
if (value && typeof value === 'object') {
|
|
492
492
|
const record = /** @type {Record<string, unknown>} */value;
|
|
@@ -502,7 +502,7 @@ function requireJson6() {
|
|
|
502
502
|
}
|
|
503
503
|
}
|
|
504
504
|
return reviver.call(holder, key, value);
|
|
505
|
-
}
|
|
505
|
+
}({
|
|
506
506
|
'': result
|
|
507
507
|
}, '');
|
|
508
508
|
cb(result);
|
|
@@ -874,7 +874,7 @@ function requireJson6() {
|
|
|
874
874
|
// break;
|
|
875
875
|
}
|
|
876
876
|
} else {
|
|
877
|
-
if (cInt == 32 /*' '*/ || cInt == 160 /*   */ || cInt == 13 || cInt == 10 || cInt == 9 || cInt == 11 /*VT*/ || cInt == 12 /*FF*/ || cInt == 0x2028 /*LS*/ || cInt == 0x2029 /*PS*/ || cInt == 0xFEFF || cInt == 44 /*','*/ || cInt == 125 /*'}'*/ || cInt == 93 /*']'*/ || cInt == 58 /*':'*/) {
|
|
877
|
+
if (cInt == 32 /*' '*/ || cInt == 160 /*   */ || cInt == 13 || cInt == 10 || cInt == 9 || cInt == 11 /*VT*/ || cInt == 12 /*FF*/ || cInt == 0x2028 /*LS*/ || cInt == 0x2029 /*PS*/ || cInt == 0xFEFF || cInt == 44 /*','*/ || cInt == 125 /*'}'*/ || cInt == 93 /*']'*/ || cInt == 58 /*':'*/ || cInt == 47 /*'/'*/) {
|
|
878
878
|
break;
|
|
879
879
|
} else {
|
|
880
880
|
if (complete_at_end) {
|
|
@@ -932,6 +932,7 @@ function requireJson6() {
|
|
|
932
932
|
if (string_status > 0) {
|
|
933
933
|
gatheringString = false;
|
|
934
934
|
val.value_type = VALUE_STRING;
|
|
935
|
+
if (parse_context != CONTEXT_OBJECT_FIELD) word = WORD_POS_END;
|
|
935
936
|
}
|
|
936
937
|
}
|
|
937
938
|
if (gatheringNumber) {
|
|
@@ -967,7 +968,7 @@ function requireJson6() {
|
|
|
967
968
|
if (cInt == 42 /*'*'*/) comment = 4;
|
|
968
969
|
} else {
|
|
969
970
|
// if( comment == 4 ) { // '/* ... *'
|
|
970
|
-
if (cInt == 47 /*'/'*/) comment = 0;else comment = 3; //
|
|
971
|
+
if (cInt == 47 /*'/'*/) comment = 0;else if (cInt != 42 /*'*'*/) comment = 3; // another '*' can still begin the close
|
|
971
972
|
}
|
|
972
973
|
continue;
|
|
973
974
|
}
|
|
@@ -1536,14 +1537,14 @@ function requireJson6() {
|
|
|
1536
1537
|
parser.finalError();
|
|
1537
1538
|
throw new Error("No value found in document");
|
|
1538
1539
|
}
|
|
1539
|
-
|
|
1540
|
-
if (typeof reviver === 'function')
|
|
1540
|
+
let result = parser.value();
|
|
1541
|
+
if (typeof reviver === 'function') result =
|
|
1541
1542
|
/**
|
|
1542
1543
|
* @param {Record<string, unknown>} holder
|
|
1543
1544
|
* @param {string} key
|
|
1544
1545
|
* @returns {unknown}
|
|
1545
1546
|
*/
|
|
1546
|
-
|
|
1547
|
+
function walk(holder, key) {
|
|
1547
1548
|
const value = holder[key];
|
|
1548
1549
|
if (value && typeof value === 'object') {
|
|
1549
1550
|
const record = /** @type {Record<string, unknown>} */value;
|
|
@@ -1559,7 +1560,7 @@ function requireJson6() {
|
|
|
1559
1560
|
}
|
|
1560
1561
|
}
|
|
1561
1562
|
return reviver.call(holder, key, value);
|
|
1562
|
-
}
|
|
1563
|
+
}({
|
|
1563
1564
|
'': result
|
|
1564
1565
|
}, '');
|
|
1565
1566
|
return result;
|
|
@@ -1637,7 +1638,7 @@ function requireJson6() {
|
|
|
1637
1638
|
function getIdentifier(s) {
|
|
1638
1639
|
if (!s.length) return useQuote + useQuote;
|
|
1639
1640
|
// should check also for if any non ident in string...
|
|
1640
|
-
return s in keywords /* [ "true","false","null","NaN","Infinity","undefined"].find( keyword=>keyword===s )*/ || /([0-9-])/.test(s[0]) || /
|
|
1641
|
+
return s in keywords /* [ "true","false","null","NaN","Infinity","undefined"].find( keyword=>keyword===s )*/ || /([0-9-])/.test(s[0]) || /[\s"'`[\]#{}()<>!+\-*/.:,]/.test(s) ? useQuote + JSON6.escape(s) + useQuote : s;
|
|
1641
1642
|
}
|
|
1642
1643
|
|
|
1643
1644
|
/**
|
|
@@ -1649,8 +1650,7 @@ function requireJson6() {
|
|
|
1649
1650
|
* @returns {string|undefined}
|
|
1650
1651
|
*/
|
|
1651
1652
|
function stringify(stringifier, object, replacer, space, asField) {
|
|
1652
|
-
if (object === undefined) return "undefined";
|
|
1653
|
-
if (object === null) return "null";
|
|
1653
|
+
if (object === undefined && typeof replacer !== "function") return "undefined";
|
|
1654
1654
|
/** @type {string} */
|
|
1655
1655
|
let gap = "";
|
|
1656
1656
|
/** @type {string} */
|
|
@@ -1697,16 +1697,6 @@ function requireJson6() {
|
|
|
1697
1697
|
const mind = gap;
|
|
1698
1698
|
/** @type {unknown} */
|
|
1699
1699
|
let value = holder[key];
|
|
1700
|
-
// A string *value* must always be quoted: unlike an object key,
|
|
1701
|
-
// a bareword here would parse back as an identifier/variable
|
|
1702
|
-
// reference rather than as the string itself, so `getIdentifier`
|
|
1703
|
-
// (which intentionally leaves identifier-shaped keys unquoted)
|
|
1704
|
-
// is not applicable to values. Using it here previously emitted
|
|
1705
|
-
// invalid, non-reparseable output for any identifier-shaped
|
|
1706
|
-
// string value (e.g. `"hello"` became the bare word `hello`).
|
|
1707
|
-
if ("string" === typeof value) {
|
|
1708
|
-
value = useQuote + JSON6.escape(value) + useQuote;
|
|
1709
|
-
}
|
|
1710
1700
|
if (value !== undefined && value !== null && typeof value === "object" && typeof toJSOX === "function") {
|
|
1711
1701
|
// is encoding?
|
|
1712
1702
|
gap += indent;
|
|
@@ -1722,7 +1712,7 @@ function requireJson6() {
|
|
|
1722
1712
|
// What happens next depends on the value's type.
|
|
1723
1713
|
switch (typeof value) {
|
|
1724
1714
|
case "string":
|
|
1725
|
-
return value;
|
|
1715
|
+
return useQuote + JSON6.escape(value) + useQuote;
|
|
1726
1716
|
case "number":
|
|
1727
1717
|
return '' + value;
|
|
1728
1718
|
//useQuote+JSOX.escape( value )+useQuote;
|
package/dist/json6.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json6.d.ts","sourceRoot":"","sources":["../lib/json6.js"],"names":[],"mappings":";IAuMA;;;OAGG;qBAFQ,MAAM,KACJ,MAAM;IAenB;;;;;OAKG;IAEH;;;;OAIG;iBAHQ,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,YACxB,YAAY,GAAC,SAAS,YACtB,iBAAiB;QA6I1B,UAAU;QAiBV,KAAK;QAML;;;;WAIG;QACH,KAAK,gBAJM,iBAAiB;QA6C5B;;WAEG;QACH,KAAK,OAFM,OAAO;QA2ClB;;;WAGG;QACH,MAAM,OAHK,MAAM,GAAC,SAAS,GAAC,IAAI,oBACrB,OAAO;;
|
|
1
|
+
{"version":3,"file":"json6.d.ts","sourceRoot":"","sources":["../lib/json6.js"],"names":[],"mappings":";IAuMA;;;OAGG;qBAFQ,MAAM,KACJ,MAAM;IAenB;;;;;OAKG;IAEH;;;;OAIG;iBAHQ,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,YACxB,YAAY,GAAC,SAAS,YACtB,iBAAiB;QA6I1B,UAAU;QAiBV,KAAK;QAML;;;;WAIG;QACH,KAAK,gBAJM,iBAAiB;QA6C5B;;WAEG;QACH,KAAK,OAFM,OAAO;QA2ClB;;;WAGG;QACH,MAAM,OAHK,MAAM,GAAC,SAAS,GAAC,IAAI,oBACrB,OAAO;;IAm/BpB;;;;OAIG;iBAHQ,OAAO,YACP,YAAY,YACZ,iBAAiB;IAiD5B;;OAEG;IAEH;;;;;;OAMG;IAEH,oCAAoC;uBAAzB,gBAAgB,GAAC,IAAI;;QAY9B;;;;;;WAMG;sBALQ,OAAO,MACP,aAAa,MACb,MAAM,GAAC,MAAM,GAAC,IAAI,OAClB,MAAM,GACJ,MAAM,GAAC,SAAS;QAG7B;;WAEG;oBADQ,MAAM;;;;IA0OnB;;;;OAIG;IAEH;;;;;;OAMG;wBALQ,OAAO,aACP,aAAa,UACb,MAAM,GAAC,MAAM,YACb,qBAAqB,KACnB,MAAM,GAAC,SAAS;;;;AAntD1B,YAGG,SAAS,GAHF;IACR,CAAC,EAAE,MAAM,CAAC;IACV,GAAG,EAAE,IAAI,GAAC,MAAM,CAAA;CACjB,CAAW;AAOZ,YAAkB,iBAAiB,GACnC;;;;;;;;;;;IAAqB,kBAAkB,AAAvC,CAQA,EARW,OAAO,CAQlB;;;;;;;IAAqB,0BAA0B,AAA/C,CAIA,EAJW,OAAO,CAIlB;;;;;;IAAqB,yBAAyB,AAA9C,CAGA,EAHW,OAAO,CAGlB;;;;;;;;;;;;IAAqB,oBAAoB,AAAzC,CASF,EATa,OAAO,CASpB;CAAA,CAAA;AAIE,YAAkB,QAAQ,CADhB,CAAC,IAEX;IAAc,IAAI,EAAP,CAAC,CACZ;IAAuC,IAAI,EAAhC,QAAQ,CAAC,CAAC,CAAC,GAAC,IAAI,GAAC,SAAS,CACrC;IAA6B,KAAK,EAAvB,QAAQ,CAAC,CAAC,CAAC,GAAC,IAAI,CAC7B;CAAA,CAAA;AAGE,YAAkB,OAAO,GACzB;IAAoB,OAAO,EAAhB,CAAC,GAAC,CAAC,GAAC,CAAC,GAAC,CAAC,CAClB;IAAmD,QAAQ,EAAhD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAC,IAAI,GAAC,SAAS,CACjD;IAA2B,aAAa,EAA7B,OAAO,EAAE,GAAC,IAAI,CACzB;IAAwB,IAAI,EAAjB,MAAM,GAAC,IAAI,CACxB;CAAA,CAAA;AA0FE,YAAU,YAAY,GACtB,CAAgB,GAAG,EAAX,MACR,EAAiB,KAAK,EAAd,OACR,KAAU,OACZ,CAAA;AA6yCE,YAAoF,aAAa,GAAvF,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,GAAC,MAAM,CAAC,GAAG,IAAI,CAAe;AAIjG,YAAkB,gBAAgB,GAClC;IAAsG,SAAS,EAApG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,GAAC,MAAM,GAAC,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,GAAC,SAAS,CACpG;IAAgC,QAAQ,EAA7B,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAC9B;IAAoB,mBAAmB,EAA5B,OAAO,CAClB;IAAoB,QAAQ,EAAjB,OAAO,CACpB;CAAA,CAAA;AAkQE,YAAkB,qBAAqB,GACvC;;;;;IAAqB,QAAQ,AAA7B,CAEF,EAFa,OAAO,CAEpB;CAAA,CAAA"}
|
package/lib/json6.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
// This file is based off of https://github.com/d3x0r/sack ./src/netlib/html5.websocket/json6_parser.c
|
|
7
7
|
//
|
|
8
8
|
"use strict";
|
|
9
|
-
const version = "1.1.
|
|
9
|
+
const version = "1.1.7";
|
|
10
10
|
const VALUE_UNDEFINED = -1;
|
|
11
11
|
const VALUE_UNSET = 0;
|
|
12
12
|
const VALUE_NULL = 1;
|
|
@@ -447,7 +447,7 @@ JSON6.begin = function( cb, reviver, options ) {
|
|
|
447
447
|
if( !status ) throw new Error( "Parser is in an error state, please reset." );
|
|
448
448
|
for( retcode = this._write(/** @type {string|undefined|null} */ (msg),false); retcode > 0; retcode = this._write() ) {
|
|
449
449
|
this.finalError();
|
|
450
|
-
if( typeof reviver === 'function' ) (/**
|
|
450
|
+
if( typeof reviver === 'function' ) result = (/**
|
|
451
451
|
* @param {Record<string, unknown>} holder
|
|
452
452
|
* @param {string} key
|
|
453
453
|
* @returns {unknown}
|
|
@@ -876,7 +876,7 @@ JSON6.begin = function( cb, reviver, options ) {
|
|
|
876
876
|
if( cInt == 32/*' '*/ || cInt == 160/*   */ || cInt == 13 || cInt == 10 || cInt == 9
|
|
877
877
|
|| cInt == 11/*VT*/ || cInt == 12/*FF*/ || cInt == 0x2028/*LS*/ || cInt == 0x2029/*PS*/
|
|
878
878
|
|| cInt == 0xFEFF || cInt == 44/*','*/ || cInt == 125/*'}'*/ || cInt == 93/*']'*/
|
|
879
|
-
|| cInt == 58/*':'*/ ) {
|
|
879
|
+
|| cInt == 58/*':'*/ || cInt == 47/*'/'*/ ) {
|
|
880
880
|
break;
|
|
881
881
|
}
|
|
882
882
|
else {
|
|
@@ -940,6 +940,7 @@ JSON6.begin = function( cb, reviver, options ) {
|
|
|
940
940
|
if( string_status > 0 ) {
|
|
941
941
|
gatheringString = false;
|
|
942
942
|
val.value_type = VALUE_STRING;
|
|
943
|
+
if( parse_context != CONTEXT_OBJECT_FIELD ) word = WORD_POS_END;
|
|
943
944
|
}
|
|
944
945
|
}
|
|
945
946
|
if( gatheringNumber ) {
|
|
@@ -972,7 +973,7 @@ JSON6.begin = function( cb, reviver, options ) {
|
|
|
972
973
|
}
|
|
973
974
|
else { // if( comment == 4 ) { // '/* ... *'
|
|
974
975
|
if( cInt == 47/*'/'*/ ) comment = 0;
|
|
975
|
-
else comment = 3; //
|
|
976
|
+
else if( cInt != 42/*'*'*/ ) comment = 3; // another '*' can still begin the close
|
|
976
977
|
}
|
|
977
978
|
continue;
|
|
978
979
|
}
|
|
@@ -1509,8 +1510,8 @@ JSON6.parse = function( msg, reviver, options ) {
|
|
|
1509
1510
|
parser.finalError();
|
|
1510
1511
|
throw new Error( "No value found in document" );
|
|
1511
1512
|
}
|
|
1512
|
-
|
|
1513
|
-
if (typeof reviver === 'function') (/**
|
|
1513
|
+
let result = parser.value();
|
|
1514
|
+
if (typeof reviver === 'function') result = (/**
|
|
1514
1515
|
* @param {Record<string, unknown>} holder
|
|
1515
1516
|
* @param {string} key
|
|
1516
1517
|
* @returns {unknown}
|
|
@@ -1592,7 +1593,7 @@ JSON6.stringifier = function() {
|
|
|
1592
1593
|
// should check also for if any non ident in string...
|
|
1593
1594
|
return ( ( s in keywords /* [ "true","false","null","NaN","Infinity","undefined"].find( keyword=>keyword===s )*/
|
|
1594
1595
|
|| /([0-9-])/.test(s[0])
|
|
1595
|
-
|| /
|
|
1596
|
+
|| /[\s"'`[\]#{}()<>!+\-*/.:,]/.test( s ) )?(useQuote + JSON6.escape(s) +useQuote):s );
|
|
1596
1597
|
}
|
|
1597
1598
|
|
|
1598
1599
|
/**
|
|
@@ -1604,8 +1605,7 @@ JSON6.stringifier = function() {
|
|
|
1604
1605
|
* @returns {string|undefined}
|
|
1605
1606
|
*/
|
|
1606
1607
|
function stringify( stringifier, object, replacer, space, asField ) {
|
|
1607
|
-
if( object === undefined ) return "undefined";
|
|
1608
|
-
if( object === null ) return "null";
|
|
1608
|
+
if( object === undefined && typeof replacer !== "function" ) return "undefined";
|
|
1609
1609
|
/** @type {string} */
|
|
1610
1610
|
let gap = "";
|
|
1611
1611
|
/** @type {string} */
|
|
@@ -1657,16 +1657,6 @@ JSON6.stringifier = function() {
|
|
|
1657
1657
|
const mind = gap;
|
|
1658
1658
|
/** @type {unknown} */
|
|
1659
1659
|
let value = holder[key];
|
|
1660
|
-
// A string *value* must always be quoted: unlike an object key,
|
|
1661
|
-
// a bareword here would parse back as an identifier/variable
|
|
1662
|
-
// reference rather than as the string itself, so `getIdentifier`
|
|
1663
|
-
// (which intentionally leaves identifier-shaped keys unquoted)
|
|
1664
|
-
// is not applicable to values. Using it here previously emitted
|
|
1665
|
-
// invalid, non-reparseable output for any identifier-shaped
|
|
1666
|
-
// string value (e.g. `"hello"` became the bare word `hello`).
|
|
1667
|
-
if( "string" === typeof value ) {
|
|
1668
|
-
value = useQuote + JSON6.escape( value ) + useQuote;
|
|
1669
|
-
}
|
|
1670
1660
|
|
|
1671
1661
|
if( value !== undefined
|
|
1672
1662
|
&& value !== null
|
|
@@ -1687,7 +1677,7 @@ JSON6.stringifier = function() {
|
|
|
1687
1677
|
// What happens next depends on the value's type.
|
|
1688
1678
|
switch (typeof value) {
|
|
1689
1679
|
case "string":
|
|
1690
|
-
return value;
|
|
1680
|
+
return useQuote + JSON6.escape( value ) + useQuote;
|
|
1691
1681
|
case "number":
|
|
1692
1682
|
return '' + value;//useQuote+JSOX.escape( value )+useQuote;
|
|
1693
1683
|
case "boolean":
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "json-6",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.7",
|
|
4
4
|
"description": "JSON for the ES6 era.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"json",
|
|
@@ -95,8 +95,8 @@
|
|
|
95
95
|
"mocha": "node --import ./lib/register.mjs ./node_modules/mocha/lib/cli/cli.js --require ./lib/require.js --recursive",
|
|
96
96
|
"nyc-lite": "nyc npm run mocha-lite",
|
|
97
97
|
"nyc": "nyc npm run mocha",
|
|
98
|
-
"test-lite": "npm run lint && npm run build && npm run nyc-lite",
|
|
99
|
-
"test": "npm run lint && npm run build && npm run nyc"
|
|
98
|
+
"test-lite": "npm run lint && tsc && npm run build && npm run nyc-lite",
|
|
99
|
+
"test": "npm run lint && tsc && npm run build && npm run nyc"
|
|
100
100
|
},
|
|
101
101
|
"homepage": "http://npmjs.org/package/json-6/",
|
|
102
102
|
"engines": {
|