@nocobase/plugin-charts 1.2.13-alpha → 1.3.0-alpha.20240710084543

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.
Files changed (84) hide show
  1. package/package.json +2 -2
  2. package/dist/client/ChartBlockEngine.d.ts +0 -36
  3. package/dist/client/ChartBlockEngineDesigner.d.ts +0 -12
  4. package/dist/client/ChartBlockInitializer.d.ts +0 -11
  5. package/dist/client/ChartQueryBlockInitializer.d.ts +0 -18
  6. package/dist/client/ChartQueryMetadataProvider.d.ts +0 -18
  7. package/dist/client/DataSetPreviewTable.d.ts +0 -14
  8. package/dist/client/Icons.d.ts +0 -9
  9. package/dist/client/chartRenderComponents/index.d.ts +0 -10
  10. package/dist/client/hooks/index.d.ts +0 -12
  11. package/dist/client/index.d.ts +0 -15
  12. package/dist/client/index.js +0 -53
  13. package/dist/client/locale/index.d.ts +0 -11
  14. package/dist/client/select/CustomSelect.d.ts +0 -19
  15. package/dist/client/select/ReadPretty.d.ts +0 -10
  16. package/dist/client/select/index.d.ts +0 -10
  17. package/dist/client/select/shared.d.ts +0 -15
  18. package/dist/client/settings/AddNewQuery.d.ts +0 -11
  19. package/dist/client/settings/ConfigureFields.d.ts +0 -10
  20. package/dist/client/settings/QueriesTable.d.ts +0 -10
  21. package/dist/client/settings/queryTypes.d.ts +0 -13
  22. package/dist/client/settings/schemas/chartsQueries.d.ts +0 -16
  23. package/dist/client/templates/AreaTemplate.d.ts +0 -73
  24. package/dist/client/templates/BarTemplate.d.ts +0 -88
  25. package/dist/client/templates/ColumnTemplate.d.ts +0 -88
  26. package/dist/client/templates/FunnelTemplate.d.ts +0 -74
  27. package/dist/client/templates/LineTemplate.d.ts +0 -75
  28. package/dist/client/templates/PieTemplate.d.ts +0 -79
  29. package/dist/client/templates/RadarTemplate.d.ts +0 -79
  30. package/dist/client/templates/ScatterTemplate.d.ts +0 -99
  31. package/dist/client/templates/TableTemplate.d.ts +0 -36
  32. package/dist/client/templates/index.d.ts +0 -9
  33. package/dist/client/utils.d.ts +0 -11
  34. package/dist/externalVersion.js +0 -25
  35. package/dist/index.d.ts +0 -10
  36. package/dist/index.js +0 -48
  37. package/dist/locale/en-US.d.ts +0 -31
  38. package/dist/locale/en-US.js +0 -53
  39. package/dist/locale/es-ES.d.ts +0 -61
  40. package/dist/locale/es-ES.js +0 -83
  41. package/dist/locale/fr-FR.d.ts +0 -10
  42. package/dist/locale/fr-FR.js +0 -32
  43. package/dist/locale/ja-JP.d.ts +0 -10
  44. package/dist/locale/ja-JP.js +0 -32
  45. package/dist/locale/ko_KR.d.ts +0 -70
  46. package/dist/locale/ko_KR.js +0 -92
  47. package/dist/locale/pt-BR.d.ts +0 -31
  48. package/dist/locale/pt-BR.js +0 -53
  49. package/dist/locale/ru-RU.d.ts +0 -10
  50. package/dist/locale/ru-RU.js +0 -32
  51. package/dist/locale/tr-TR.d.ts +0 -10
  52. package/dist/locale/tr-TR.js +0 -32
  53. package/dist/locale/zh-CN.d.ts +0 -70
  54. package/dist/locale/zh-CN.js +0 -92
  55. package/dist/node_modules/json5/dist/index.js +0 -1737
  56. package/dist/node_modules/json5/dist/index.min.js +0 -1
  57. package/dist/node_modules/json5/lib/cli.js +0 -152
  58. package/dist/node_modules/json5/lib/index.d.ts +0 -4
  59. package/dist/node_modules/json5/lib/index.js +0 -1
  60. package/dist/node_modules/json5/lib/parse.d.ts +0 -15
  61. package/dist/node_modules/json5/lib/parse.js +0 -1114
  62. package/dist/node_modules/json5/lib/register.js +0 -13
  63. package/dist/node_modules/json5/lib/require.js +0 -4
  64. package/dist/node_modules/json5/lib/stringify.d.ts +0 -89
  65. package/dist/node_modules/json5/lib/stringify.js +0 -261
  66. package/dist/node_modules/json5/lib/unicode.d.ts +0 -3
  67. package/dist/node_modules/json5/lib/unicode.js +0 -4
  68. package/dist/node_modules/json5/lib/util.d.ts +0 -5
  69. package/dist/node_modules/json5/lib/util.js +0 -35
  70. package/dist/node_modules/json5/package.json +0 -1
  71. package/dist/server/actions/chartsQueries.d.ts +0 -11
  72. package/dist/server/actions/chartsQueries.js +0 -95
  73. package/dist/server/actions/index.d.ts +0 -8
  74. package/dist/server/actions/index.js +0 -9
  75. package/dist/server/collections/chartsQueries.d.ts +0 -10
  76. package/dist/server/collections/chartsQueries.js +0 -56
  77. package/dist/server/index.d.ts +0 -9
  78. package/dist/server/index.js +0 -42
  79. package/dist/server/plugin.d.ts +0 -22
  80. package/dist/server/plugin.js +0 -98
  81. package/dist/server/query.d.ts +0 -20
  82. package/dist/server/query.js +0 -68
  83. package/dist/server/shared/index.d.ts +0 -10
  84. package/dist/server/shared/index.js +0 -36
@@ -1,1737 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3
- typeof define === 'function' && define.amd ? define(factory) :
4
- (global.JSON5 = factory());
5
- }(this, (function () { 'use strict';
6
-
7
- function createCommonjsModule(fn, module) {
8
- return module = { exports: {} }, fn(module, module.exports), module.exports;
9
- }
10
-
11
- var _global = createCommonjsModule(function (module) {
12
- // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
13
- var global = module.exports = typeof window != 'undefined' && window.Math == Math
14
- ? window : typeof self != 'undefined' && self.Math == Math ? self
15
- // eslint-disable-next-line no-new-func
16
- : Function('return this')();
17
- if (typeof __g == 'number') { __g = global; } // eslint-disable-line no-undef
18
- });
19
-
20
- var _core = createCommonjsModule(function (module) {
21
- var core = module.exports = { version: '2.6.5' };
22
- if (typeof __e == 'number') { __e = core; } // eslint-disable-line no-undef
23
- });
24
- var _core_1 = _core.version;
25
-
26
- var _isObject = function (it) {
27
- return typeof it === 'object' ? it !== null : typeof it === 'function';
28
- };
29
-
30
- var _anObject = function (it) {
31
- if (!_isObject(it)) { throw TypeError(it + ' is not an object!'); }
32
- return it;
33
- };
34
-
35
- var _fails = function (exec) {
36
- try {
37
- return !!exec();
38
- } catch (e) {
39
- return true;
40
- }
41
- };
42
-
43
- // Thank's IE8 for his funny defineProperty
44
- var _descriptors = !_fails(function () {
45
- return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
46
- });
47
-
48
- var document = _global.document;
49
- // typeof document.createElement is 'object' in old IE
50
- var is = _isObject(document) && _isObject(document.createElement);
51
- var _domCreate = function (it) {
52
- return is ? document.createElement(it) : {};
53
- };
54
-
55
- var _ie8DomDefine = !_descriptors && !_fails(function () {
56
- return Object.defineProperty(_domCreate('div'), 'a', { get: function () { return 7; } }).a != 7;
57
- });
58
-
59
- // 7.1.1 ToPrimitive(input [, PreferredType])
60
-
61
- // instead of the ES6 spec version, we didn't implement @@toPrimitive case
62
- // and the second argument - flag - preferred type is a string
63
- var _toPrimitive = function (it, S) {
64
- if (!_isObject(it)) { return it; }
65
- var fn, val;
66
- if (S && typeof (fn = it.toString) == 'function' && !_isObject(val = fn.call(it))) { return val; }
67
- if (typeof (fn = it.valueOf) == 'function' && !_isObject(val = fn.call(it))) { return val; }
68
- if (!S && typeof (fn = it.toString) == 'function' && !_isObject(val = fn.call(it))) { return val; }
69
- throw TypeError("Can't convert object to primitive value");
70
- };
71
-
72
- var dP = Object.defineProperty;
73
-
74
- var f = _descriptors ? Object.defineProperty : function defineProperty(O, P, Attributes) {
75
- _anObject(O);
76
- P = _toPrimitive(P, true);
77
- _anObject(Attributes);
78
- if (_ie8DomDefine) { try {
79
- return dP(O, P, Attributes);
80
- } catch (e) { /* empty */ } }
81
- if ('get' in Attributes || 'set' in Attributes) { throw TypeError('Accessors not supported!'); }
82
- if ('value' in Attributes) { O[P] = Attributes.value; }
83
- return O;
84
- };
85
-
86
- var _objectDp = {
87
- f: f
88
- };
89
-
90
- var _propertyDesc = function (bitmap, value) {
91
- return {
92
- enumerable: !(bitmap & 1),
93
- configurable: !(bitmap & 2),
94
- writable: !(bitmap & 4),
95
- value: value
96
- };
97
- };
98
-
99
- var _hide = _descriptors ? function (object, key, value) {
100
- return _objectDp.f(object, key, _propertyDesc(1, value));
101
- } : function (object, key, value) {
102
- object[key] = value;
103
- return object;
104
- };
105
-
106
- var hasOwnProperty = {}.hasOwnProperty;
107
- var _has = function (it, key) {
108
- return hasOwnProperty.call(it, key);
109
- };
110
-
111
- var id = 0;
112
- var px = Math.random();
113
- var _uid = function (key) {
114
- return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
115
- };
116
-
117
- var _library = false;
118
-
119
- var _shared = createCommonjsModule(function (module) {
120
- var SHARED = '__core-js_shared__';
121
- var store = _global[SHARED] || (_global[SHARED] = {});
122
-
123
- (module.exports = function (key, value) {
124
- return store[key] || (store[key] = value !== undefined ? value : {});
125
- })('versions', []).push({
126
- version: _core.version,
127
- mode: _library ? 'pure' : 'global',
128
- copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
129
- });
130
- });
131
-
132
- var _functionToString = _shared('native-function-to-string', Function.toString);
133
-
134
- var _redefine = createCommonjsModule(function (module) {
135
- var SRC = _uid('src');
136
-
137
- var TO_STRING = 'toString';
138
- var TPL = ('' + _functionToString).split(TO_STRING);
139
-
140
- _core.inspectSource = function (it) {
141
- return _functionToString.call(it);
142
- };
143
-
144
- (module.exports = function (O, key, val, safe) {
145
- var isFunction = typeof val == 'function';
146
- if (isFunction) { _has(val, 'name') || _hide(val, 'name', key); }
147
- if (O[key] === val) { return; }
148
- if (isFunction) { _has(val, SRC) || _hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); }
149
- if (O === _global) {
150
- O[key] = val;
151
- } else if (!safe) {
152
- delete O[key];
153
- _hide(O, key, val);
154
- } else if (O[key]) {
155
- O[key] = val;
156
- } else {
157
- _hide(O, key, val);
158
- }
159
- // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
160
- })(Function.prototype, TO_STRING, function toString() {
161
- return typeof this == 'function' && this[SRC] || _functionToString.call(this);
162
- });
163
- });
164
-
165
- var _aFunction = function (it) {
166
- if (typeof it != 'function') { throw TypeError(it + ' is not a function!'); }
167
- return it;
168
- };
169
-
170
- // optional / simple context binding
171
-
172
- var _ctx = function (fn, that, length) {
173
- _aFunction(fn);
174
- if (that === undefined) { return fn; }
175
- switch (length) {
176
- case 1: return function (a) {
177
- return fn.call(that, a);
178
- };
179
- case 2: return function (a, b) {
180
- return fn.call(that, a, b);
181
- };
182
- case 3: return function (a, b, c) {
183
- return fn.call(that, a, b, c);
184
- };
185
- }
186
- return function (/* ...args */) {
187
- return fn.apply(that, arguments);
188
- };
189
- };
190
-
191
- var PROTOTYPE = 'prototype';
192
-
193
- var $export = function (type, name, source) {
194
- var IS_FORCED = type & $export.F;
195
- var IS_GLOBAL = type & $export.G;
196
- var IS_STATIC = type & $export.S;
197
- var IS_PROTO = type & $export.P;
198
- var IS_BIND = type & $export.B;
199
- var target = IS_GLOBAL ? _global : IS_STATIC ? _global[name] || (_global[name] = {}) : (_global[name] || {})[PROTOTYPE];
200
- var exports = IS_GLOBAL ? _core : _core[name] || (_core[name] = {});
201
- var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});
202
- var key, own, out, exp;
203
- if (IS_GLOBAL) { source = name; }
204
- for (key in source) {
205
- // contains in native
206
- own = !IS_FORCED && target && target[key] !== undefined;
207
- // export native or passed
208
- out = (own ? target : source)[key];
209
- // bind timers to global for call from export context
210
- exp = IS_BIND && own ? _ctx(out, _global) : IS_PROTO && typeof out == 'function' ? _ctx(Function.call, out) : out;
211
- // extend global
212
- if (target) { _redefine(target, key, out, type & $export.U); }
213
- // export
214
- if (exports[key] != out) { _hide(exports, key, exp); }
215
- if (IS_PROTO && expProto[key] != out) { expProto[key] = out; }
216
- }
217
- };
218
- _global.core = _core;
219
- // type bitmap
220
- $export.F = 1; // forced
221
- $export.G = 2; // global
222
- $export.S = 4; // static
223
- $export.P = 8; // proto
224
- $export.B = 16; // bind
225
- $export.W = 32; // wrap
226
- $export.U = 64; // safe
227
- $export.R = 128; // real proto method for `library`
228
- var _export = $export;
229
-
230
- // 7.1.4 ToInteger
231
- var ceil = Math.ceil;
232
- var floor = Math.floor;
233
- var _toInteger = function (it) {
234
- return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
235
- };
236
-
237
- // 7.2.1 RequireObjectCoercible(argument)
238
- var _defined = function (it) {
239
- if (it == undefined) { throw TypeError("Can't call method on " + it); }
240
- return it;
241
- };
242
-
243
- // true -> String#at
244
- // false -> String#codePointAt
245
- var _stringAt = function (TO_STRING) {
246
- return function (that, pos) {
247
- var s = String(_defined(that));
248
- var i = _toInteger(pos);
249
- var l = s.length;
250
- var a, b;
251
- if (i < 0 || i >= l) { return TO_STRING ? '' : undefined; }
252
- a = s.charCodeAt(i);
253
- return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
254
- ? TO_STRING ? s.charAt(i) : a
255
- : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
256
- };
257
- };
258
-
259
- var $at = _stringAt(false);
260
- _export(_export.P, 'String', {
261
- // 21.1.3.3 String.prototype.codePointAt(pos)
262
- codePointAt: function codePointAt(pos) {
263
- return $at(this, pos);
264
- }
265
- });
266
-
267
- var codePointAt = _core.String.codePointAt;
268
-
269
- var max = Math.max;
270
- var min = Math.min;
271
- var _toAbsoluteIndex = function (index, length) {
272
- index = _toInteger(index);
273
- return index < 0 ? max(index + length, 0) : min(index, length);
274
- };
275
-
276
- var fromCharCode = String.fromCharCode;
277
- var $fromCodePoint = String.fromCodePoint;
278
-
279
- // length should be 1, old FF problem
280
- _export(_export.S + _export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {
281
- // 21.1.2.2 String.fromCodePoint(...codePoints)
282
- fromCodePoint: function fromCodePoint(x) {
283
- var arguments$1 = arguments;
284
- // eslint-disable-line no-unused-vars
285
- var res = [];
286
- var aLen = arguments.length;
287
- var i = 0;
288
- var code;
289
- while (aLen > i) {
290
- code = +arguments$1[i++];
291
- if (_toAbsoluteIndex(code, 0x10ffff) !== code) { throw RangeError(code + ' is not a valid code point'); }
292
- res.push(code < 0x10000
293
- ? fromCharCode(code)
294
- : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)
295
- );
296
- } return res.join('');
297
- }
298
- });
299
-
300
- var fromCodePoint = _core.String.fromCodePoint;
301
-
302
- // This is a generated file. Do not edit.
303
- var Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/;
304
- var ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;
305
- var ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/;
306
-
307
- var unicode = {
308
- Space_Separator: Space_Separator,
309
- ID_Start: ID_Start,
310
- ID_Continue: ID_Continue
311
- };
312
-
313
- var util = {
314
- isSpaceSeparator: function isSpaceSeparator (c) {
315
- return typeof c === 'string' && unicode.Space_Separator.test(c)
316
- },
317
-
318
- isIdStartChar: function isIdStartChar (c) {
319
- return typeof c === 'string' && (
320
- (c >= 'a' && c <= 'z') ||
321
- (c >= 'A' && c <= 'Z') ||
322
- (c === '$') || (c === '_') ||
323
- unicode.ID_Start.test(c)
324
- )
325
- },
326
-
327
- isIdContinueChar: function isIdContinueChar (c) {
328
- return typeof c === 'string' && (
329
- (c >= 'a' && c <= 'z') ||
330
- (c >= 'A' && c <= 'Z') ||
331
- (c >= '0' && c <= '9') ||
332
- (c === '$') || (c === '_') ||
333
- (c === '\u200C') || (c === '\u200D') ||
334
- unicode.ID_Continue.test(c)
335
- )
336
- },
337
-
338
- isDigit: function isDigit (c) {
339
- return typeof c === 'string' && /[0-9]/.test(c)
340
- },
341
-
342
- isHexDigit: function isHexDigit (c) {
343
- return typeof c === 'string' && /[0-9A-Fa-f]/.test(c)
344
- },
345
- };
346
-
347
- var source;
348
- var parseState;
349
- var stack;
350
- var pos;
351
- var line;
352
- var column;
353
- var token;
354
- var key;
355
- var root;
356
-
357
- var parse = function parse (text, reviver) {
358
- source = String(text);
359
- parseState = 'start';
360
- stack = [];
361
- pos = 0;
362
- line = 1;
363
- column = 0;
364
- token = undefined;
365
- key = undefined;
366
- root = undefined;
367
-
368
- do {
369
- token = lex();
370
-
371
- // This code is unreachable.
372
- // if (!parseStates[parseState]) {
373
- // throw invalidParseState()
374
- // }
375
-
376
- parseStates[parseState]();
377
- } while (token.type !== 'eof')
378
-
379
- if (typeof reviver === 'function') {
380
- return internalize({'': root}, '', reviver)
381
- }
382
-
383
- return root
384
- };
385
-
386
- function internalize (holder, name, reviver) {
387
- var value = holder[name];
388
- if (value != null && typeof value === 'object') {
389
- if (Array.isArray(value)) {
390
- for (var i = 0; i < value.length; i++) {
391
- var key = String(i);
392
- var replacement = internalize(value, key, reviver);
393
- if (replacement === undefined) {
394
- delete value[key];
395
- } else {
396
- Object.defineProperty(value, key, {
397
- value: replacement,
398
- writable: true,
399
- enumerable: true,
400
- configurable: true,
401
- });
402
- }
403
- }
404
- } else {
405
- for (var key$1 in value) {
406
- var replacement$1 = internalize(value, key$1, reviver);
407
- if (replacement$1 === undefined) {
408
- delete value[key$1];
409
- } else {
410
- Object.defineProperty(value, key$1, {
411
- value: replacement$1,
412
- writable: true,
413
- enumerable: true,
414
- configurable: true,
415
- });
416
- }
417
- }
418
- }
419
- }
420
-
421
- return reviver.call(holder, name, value)
422
- }
423
-
424
- var lexState;
425
- var buffer;
426
- var doubleQuote;
427
- var sign;
428
- var c;
429
-
430
- function lex () {
431
- lexState = 'default';
432
- buffer = '';
433
- doubleQuote = false;
434
- sign = 1;
435
-
436
- for (;;) {
437
- c = peek();
438
-
439
- // This code is unreachable.
440
- // if (!lexStates[lexState]) {
441
- // throw invalidLexState(lexState)
442
- // }
443
-
444
- var token = lexStates[lexState]();
445
- if (token) {
446
- return token
447
- }
448
- }
449
- }
450
-
451
- function peek () {
452
- if (source[pos]) {
453
- return String.fromCodePoint(source.codePointAt(pos))
454
- }
455
- }
456
-
457
- function read () {
458
- var c = peek();
459
-
460
- if (c === '\n') {
461
- line++;
462
- column = 0;
463
- } else if (c) {
464
- column += c.length;
465
- } else {
466
- column++;
467
- }
468
-
469
- if (c) {
470
- pos += c.length;
471
- }
472
-
473
- return c
474
- }
475
-
476
- var lexStates = {
477
- default: function default$1 () {
478
- switch (c) {
479
- case '\t':
480
- case '\v':
481
- case '\f':
482
- case ' ':
483
- case '\u00A0':
484
- case '\uFEFF':
485
- case '\n':
486
- case '\r':
487
- case '\u2028':
488
- case '\u2029':
489
- read();
490
- return
491
-
492
- case '/':
493
- read();
494
- lexState = 'comment';
495
- return
496
-
497
- case undefined:
498
- read();
499
- return newToken('eof')
500
- }
501
-
502
- if (util.isSpaceSeparator(c)) {
503
- read();
504
- return
505
- }
506
-
507
- // This code is unreachable.
508
- // if (!lexStates[parseState]) {
509
- // throw invalidLexState(parseState)
510
- // }
511
-
512
- return lexStates[parseState]()
513
- },
514
-
515
- comment: function comment () {
516
- switch (c) {
517
- case '*':
518
- read();
519
- lexState = 'multiLineComment';
520
- return
521
-
522
- case '/':
523
- read();
524
- lexState = 'singleLineComment';
525
- return
526
- }
527
-
528
- throw invalidChar(read())
529
- },
530
-
531
- multiLineComment: function multiLineComment () {
532
- switch (c) {
533
- case '*':
534
- read();
535
- lexState = 'multiLineCommentAsterisk';
536
- return
537
-
538
- case undefined:
539
- throw invalidChar(read())
540
- }
541
-
542
- read();
543
- },
544
-
545
- multiLineCommentAsterisk: function multiLineCommentAsterisk () {
546
- switch (c) {
547
- case '*':
548
- read();
549
- return
550
-
551
- case '/':
552
- read();
553
- lexState = 'default';
554
- return
555
-
556
- case undefined:
557
- throw invalidChar(read())
558
- }
559
-
560
- read();
561
- lexState = 'multiLineComment';
562
- },
563
-
564
- singleLineComment: function singleLineComment () {
565
- switch (c) {
566
- case '\n':
567
- case '\r':
568
- case '\u2028':
569
- case '\u2029':
570
- read();
571
- lexState = 'default';
572
- return
573
-
574
- case undefined:
575
- read();
576
- return newToken('eof')
577
- }
578
-
579
- read();
580
- },
581
-
582
- value: function value () {
583
- switch (c) {
584
- case '{':
585
- case '[':
586
- return newToken('punctuator', read())
587
-
588
- case 'n':
589
- read();
590
- literal('ull');
591
- return newToken('null', null)
592
-
593
- case 't':
594
- read();
595
- literal('rue');
596
- return newToken('boolean', true)
597
-
598
- case 'f':
599
- read();
600
- literal('alse');
601
- return newToken('boolean', false)
602
-
603
- case '-':
604
- case '+':
605
- if (read() === '-') {
606
- sign = -1;
607
- }
608
-
609
- lexState = 'sign';
610
- return
611
-
612
- case '.':
613
- buffer = read();
614
- lexState = 'decimalPointLeading';
615
- return
616
-
617
- case '0':
618
- buffer = read();
619
- lexState = 'zero';
620
- return
621
-
622
- case '1':
623
- case '2':
624
- case '3':
625
- case '4':
626
- case '5':
627
- case '6':
628
- case '7':
629
- case '8':
630
- case '9':
631
- buffer = read();
632
- lexState = 'decimalInteger';
633
- return
634
-
635
- case 'I':
636
- read();
637
- literal('nfinity');
638
- return newToken('numeric', Infinity)
639
-
640
- case 'N':
641
- read();
642
- literal('aN');
643
- return newToken('numeric', NaN)
644
-
645
- case '"':
646
- case "'":
647
- doubleQuote = (read() === '"');
648
- buffer = '';
649
- lexState = 'string';
650
- return
651
- }
652
-
653
- throw invalidChar(read())
654
- },
655
-
656
- identifierNameStartEscape: function identifierNameStartEscape () {
657
- if (c !== 'u') {
658
- throw invalidChar(read())
659
- }
660
-
661
- read();
662
- var u = unicodeEscape();
663
- switch (u) {
664
- case '$':
665
- case '_':
666
- break
667
-
668
- default:
669
- if (!util.isIdStartChar(u)) {
670
- throw invalidIdentifier()
671
- }
672
-
673
- break
674
- }
675
-
676
- buffer += u;
677
- lexState = 'identifierName';
678
- },
679
-
680
- identifierName: function identifierName () {
681
- switch (c) {
682
- case '$':
683
- case '_':
684
- case '\u200C':
685
- case '\u200D':
686
- buffer += read();
687
- return
688
-
689
- case '\\':
690
- read();
691
- lexState = 'identifierNameEscape';
692
- return
693
- }
694
-
695
- if (util.isIdContinueChar(c)) {
696
- buffer += read();
697
- return
698
- }
699
-
700
- return newToken('identifier', buffer)
701
- },
702
-
703
- identifierNameEscape: function identifierNameEscape () {
704
- if (c !== 'u') {
705
- throw invalidChar(read())
706
- }
707
-
708
- read();
709
- var u = unicodeEscape();
710
- switch (u) {
711
- case '$':
712
- case '_':
713
- case '\u200C':
714
- case '\u200D':
715
- break
716
-
717
- default:
718
- if (!util.isIdContinueChar(u)) {
719
- throw invalidIdentifier()
720
- }
721
-
722
- break
723
- }
724
-
725
- buffer += u;
726
- lexState = 'identifierName';
727
- },
728
-
729
- sign: function sign$1 () {
730
- switch (c) {
731
- case '.':
732
- buffer = read();
733
- lexState = 'decimalPointLeading';
734
- return
735
-
736
- case '0':
737
- buffer = read();
738
- lexState = 'zero';
739
- return
740
-
741
- case '1':
742
- case '2':
743
- case '3':
744
- case '4':
745
- case '5':
746
- case '6':
747
- case '7':
748
- case '8':
749
- case '9':
750
- buffer = read();
751
- lexState = 'decimalInteger';
752
- return
753
-
754
- case 'I':
755
- read();
756
- literal('nfinity');
757
- return newToken('numeric', sign * Infinity)
758
-
759
- case 'N':
760
- read();
761
- literal('aN');
762
- return newToken('numeric', NaN)
763
- }
764
-
765
- throw invalidChar(read())
766
- },
767
-
768
- zero: function zero () {
769
- switch (c) {
770
- case '.':
771
- buffer += read();
772
- lexState = 'decimalPoint';
773
- return
774
-
775
- case 'e':
776
- case 'E':
777
- buffer += read();
778
- lexState = 'decimalExponent';
779
- return
780
-
781
- case 'x':
782
- case 'X':
783
- buffer += read();
784
- lexState = 'hexadecimal';
785
- return
786
- }
787
-
788
- return newToken('numeric', sign * 0)
789
- },
790
-
791
- decimalInteger: function decimalInteger () {
792
- switch (c) {
793
- case '.':
794
- buffer += read();
795
- lexState = 'decimalPoint';
796
- return
797
-
798
- case 'e':
799
- case 'E':
800
- buffer += read();
801
- lexState = 'decimalExponent';
802
- return
803
- }
804
-
805
- if (util.isDigit(c)) {
806
- buffer += read();
807
- return
808
- }
809
-
810
- return newToken('numeric', sign * Number(buffer))
811
- },
812
-
813
- decimalPointLeading: function decimalPointLeading () {
814
- if (util.isDigit(c)) {
815
- buffer += read();
816
- lexState = 'decimalFraction';
817
- return
818
- }
819
-
820
- throw invalidChar(read())
821
- },
822
-
823
- decimalPoint: function decimalPoint () {
824
- switch (c) {
825
- case 'e':
826
- case 'E':
827
- buffer += read();
828
- lexState = 'decimalExponent';
829
- return
830
- }
831
-
832
- if (util.isDigit(c)) {
833
- buffer += read();
834
- lexState = 'decimalFraction';
835
- return
836
- }
837
-
838
- return newToken('numeric', sign * Number(buffer))
839
- },
840
-
841
- decimalFraction: function decimalFraction () {
842
- switch (c) {
843
- case 'e':
844
- case 'E':
845
- buffer += read();
846
- lexState = 'decimalExponent';
847
- return
848
- }
849
-
850
- if (util.isDigit(c)) {
851
- buffer += read();
852
- return
853
- }
854
-
855
- return newToken('numeric', sign * Number(buffer))
856
- },
857
-
858
- decimalExponent: function decimalExponent () {
859
- switch (c) {
860
- case '+':
861
- case '-':
862
- buffer += read();
863
- lexState = 'decimalExponentSign';
864
- return
865
- }
866
-
867
- if (util.isDigit(c)) {
868
- buffer += read();
869
- lexState = 'decimalExponentInteger';
870
- return
871
- }
872
-
873
- throw invalidChar(read())
874
- },
875
-
876
- decimalExponentSign: function decimalExponentSign () {
877
- if (util.isDigit(c)) {
878
- buffer += read();
879
- lexState = 'decimalExponentInteger';
880
- return
881
- }
882
-
883
- throw invalidChar(read())
884
- },
885
-
886
- decimalExponentInteger: function decimalExponentInteger () {
887
- if (util.isDigit(c)) {
888
- buffer += read();
889
- return
890
- }
891
-
892
- return newToken('numeric', sign * Number(buffer))
893
- },
894
-
895
- hexadecimal: function hexadecimal () {
896
- if (util.isHexDigit(c)) {
897
- buffer += read();
898
- lexState = 'hexadecimalInteger';
899
- return
900
- }
901
-
902
- throw invalidChar(read())
903
- },
904
-
905
- hexadecimalInteger: function hexadecimalInteger () {
906
- if (util.isHexDigit(c)) {
907
- buffer += read();
908
- return
909
- }
910
-
911
- return newToken('numeric', sign * Number(buffer))
912
- },
913
-
914
- string: function string () {
915
- switch (c) {
916
- case '\\':
917
- read();
918
- buffer += escape();
919
- return
920
-
921
- case '"':
922
- if (doubleQuote) {
923
- read();
924
- return newToken('string', buffer)
925
- }
926
-
927
- buffer += read();
928
- return
929
-
930
- case "'":
931
- if (!doubleQuote) {
932
- read();
933
- return newToken('string', buffer)
934
- }
935
-
936
- buffer += read();
937
- return
938
-
939
- case '\n':
940
- case '\r':
941
- throw invalidChar(read())
942
-
943
- case '\u2028':
944
- case '\u2029':
945
- separatorChar(c);
946
- break
947
-
948
- case undefined:
949
- throw invalidChar(read())
950
- }
951
-
952
- buffer += read();
953
- },
954
-
955
- start: function start () {
956
- switch (c) {
957
- case '{':
958
- case '[':
959
- return newToken('punctuator', read())
960
-
961
- // This code is unreachable since the default lexState handles eof.
962
- // case undefined:
963
- // return newToken('eof')
964
- }
965
-
966
- lexState = 'value';
967
- },
968
-
969
- beforePropertyName: function beforePropertyName () {
970
- switch (c) {
971
- case '$':
972
- case '_':
973
- buffer = read();
974
- lexState = 'identifierName';
975
- return
976
-
977
- case '\\':
978
- read();
979
- lexState = 'identifierNameStartEscape';
980
- return
981
-
982
- case '}':
983
- return newToken('punctuator', read())
984
-
985
- case '"':
986
- case "'":
987
- doubleQuote = (read() === '"');
988
- lexState = 'string';
989
- return
990
- }
991
-
992
- if (util.isIdStartChar(c)) {
993
- buffer += read();
994
- lexState = 'identifierName';
995
- return
996
- }
997
-
998
- throw invalidChar(read())
999
- },
1000
-
1001
- afterPropertyName: function afterPropertyName () {
1002
- if (c === ':') {
1003
- return newToken('punctuator', read())
1004
- }
1005
-
1006
- throw invalidChar(read())
1007
- },
1008
-
1009
- beforePropertyValue: function beforePropertyValue () {
1010
- lexState = 'value';
1011
- },
1012
-
1013
- afterPropertyValue: function afterPropertyValue () {
1014
- switch (c) {
1015
- case ',':
1016
- case '}':
1017
- return newToken('punctuator', read())
1018
- }
1019
-
1020
- throw invalidChar(read())
1021
- },
1022
-
1023
- beforeArrayValue: function beforeArrayValue () {
1024
- if (c === ']') {
1025
- return newToken('punctuator', read())
1026
- }
1027
-
1028
- lexState = 'value';
1029
- },
1030
-
1031
- afterArrayValue: function afterArrayValue () {
1032
- switch (c) {
1033
- case ',':
1034
- case ']':
1035
- return newToken('punctuator', read())
1036
- }
1037
-
1038
- throw invalidChar(read())
1039
- },
1040
-
1041
- end: function end () {
1042
- // This code is unreachable since it's handled by the default lexState.
1043
- // if (c === undefined) {
1044
- // read()
1045
- // return newToken('eof')
1046
- // }
1047
-
1048
- throw invalidChar(read())
1049
- },
1050
- };
1051
-
1052
- function newToken (type, value) {
1053
- return {
1054
- type: type,
1055
- value: value,
1056
- line: line,
1057
- column: column,
1058
- }
1059
- }
1060
-
1061
- function literal (s) {
1062
- for (var i = 0, list = s; i < list.length; i += 1) {
1063
- var c = list[i];
1064
-
1065
- var p = peek();
1066
-
1067
- if (p !== c) {
1068
- throw invalidChar(read())
1069
- }
1070
-
1071
- read();
1072
- }
1073
- }
1074
-
1075
- function escape () {
1076
- var c = peek();
1077
- switch (c) {
1078
- case 'b':
1079
- read();
1080
- return '\b'
1081
-
1082
- case 'f':
1083
- read();
1084
- return '\f'
1085
-
1086
- case 'n':
1087
- read();
1088
- return '\n'
1089
-
1090
- case 'r':
1091
- read();
1092
- return '\r'
1093
-
1094
- case 't':
1095
- read();
1096
- return '\t'
1097
-
1098
- case 'v':
1099
- read();
1100
- return '\v'
1101
-
1102
- case '0':
1103
- read();
1104
- if (util.isDigit(peek())) {
1105
- throw invalidChar(read())
1106
- }
1107
-
1108
- return '\0'
1109
-
1110
- case 'x':
1111
- read();
1112
- return hexEscape()
1113
-
1114
- case 'u':
1115
- read();
1116
- return unicodeEscape()
1117
-
1118
- case '\n':
1119
- case '\u2028':
1120
- case '\u2029':
1121
- read();
1122
- return ''
1123
-
1124
- case '\r':
1125
- read();
1126
- if (peek() === '\n') {
1127
- read();
1128
- }
1129
-
1130
- return ''
1131
-
1132
- case '1':
1133
- case '2':
1134
- case '3':
1135
- case '4':
1136
- case '5':
1137
- case '6':
1138
- case '7':
1139
- case '8':
1140
- case '9':
1141
- throw invalidChar(read())
1142
-
1143
- case undefined:
1144
- throw invalidChar(read())
1145
- }
1146
-
1147
- return read()
1148
- }
1149
-
1150
- function hexEscape () {
1151
- var buffer = '';
1152
- var c = peek();
1153
-
1154
- if (!util.isHexDigit(c)) {
1155
- throw invalidChar(read())
1156
- }
1157
-
1158
- buffer += read();
1159
-
1160
- c = peek();
1161
- if (!util.isHexDigit(c)) {
1162
- throw invalidChar(read())
1163
- }
1164
-
1165
- buffer += read();
1166
-
1167
- return String.fromCodePoint(parseInt(buffer, 16))
1168
- }
1169
-
1170
- function unicodeEscape () {
1171
- var buffer = '';
1172
- var count = 4;
1173
-
1174
- while (count-- > 0) {
1175
- var c = peek();
1176
- if (!util.isHexDigit(c)) {
1177
- throw invalidChar(read())
1178
- }
1179
-
1180
- buffer += read();
1181
- }
1182
-
1183
- return String.fromCodePoint(parseInt(buffer, 16))
1184
- }
1185
-
1186
- var parseStates = {
1187
- start: function start () {
1188
- if (token.type === 'eof') {
1189
- throw invalidEOF()
1190
- }
1191
-
1192
- push();
1193
- },
1194
-
1195
- beforePropertyName: function beforePropertyName () {
1196
- switch (token.type) {
1197
- case 'identifier':
1198
- case 'string':
1199
- key = token.value;
1200
- parseState = 'afterPropertyName';
1201
- return
1202
-
1203
- case 'punctuator':
1204
- // This code is unreachable since it's handled by the lexState.
1205
- // if (token.value !== '}') {
1206
- // throw invalidToken()
1207
- // }
1208
-
1209
- pop();
1210
- return
1211
-
1212
- case 'eof':
1213
- throw invalidEOF()
1214
- }
1215
-
1216
- // This code is unreachable since it's handled by the lexState.
1217
- // throw invalidToken()
1218
- },
1219
-
1220
- afterPropertyName: function afterPropertyName () {
1221
- // This code is unreachable since it's handled by the lexState.
1222
- // if (token.type !== 'punctuator' || token.value !== ':') {
1223
- // throw invalidToken()
1224
- // }
1225
-
1226
- if (token.type === 'eof') {
1227
- throw invalidEOF()
1228
- }
1229
-
1230
- parseState = 'beforePropertyValue';
1231
- },
1232
-
1233
- beforePropertyValue: function beforePropertyValue () {
1234
- if (token.type === 'eof') {
1235
- throw invalidEOF()
1236
- }
1237
-
1238
- push();
1239
- },
1240
-
1241
- beforeArrayValue: function beforeArrayValue () {
1242
- if (token.type === 'eof') {
1243
- throw invalidEOF()
1244
- }
1245
-
1246
- if (token.type === 'punctuator' && token.value === ']') {
1247
- pop();
1248
- return
1249
- }
1250
-
1251
- push();
1252
- },
1253
-
1254
- afterPropertyValue: function afterPropertyValue () {
1255
- // This code is unreachable since it's handled by the lexState.
1256
- // if (token.type !== 'punctuator') {
1257
- // throw invalidToken()
1258
- // }
1259
-
1260
- if (token.type === 'eof') {
1261
- throw invalidEOF()
1262
- }
1263
-
1264
- switch (token.value) {
1265
- case ',':
1266
- parseState = 'beforePropertyName';
1267
- return
1268
-
1269
- case '}':
1270
- pop();
1271
- }
1272
-
1273
- // This code is unreachable since it's handled by the lexState.
1274
- // throw invalidToken()
1275
- },
1276
-
1277
- afterArrayValue: function afterArrayValue () {
1278
- // This code is unreachable since it's handled by the lexState.
1279
- // if (token.type !== 'punctuator') {
1280
- // throw invalidToken()
1281
- // }
1282
-
1283
- if (token.type === 'eof') {
1284
- throw invalidEOF()
1285
- }
1286
-
1287
- switch (token.value) {
1288
- case ',':
1289
- parseState = 'beforeArrayValue';
1290
- return
1291
-
1292
- case ']':
1293
- pop();
1294
- }
1295
-
1296
- // This code is unreachable since it's handled by the lexState.
1297
- // throw invalidToken()
1298
- },
1299
-
1300
- end: function end () {
1301
- // This code is unreachable since it's handled by the lexState.
1302
- // if (token.type !== 'eof') {
1303
- // throw invalidToken()
1304
- // }
1305
- },
1306
- };
1307
-
1308
- function push () {
1309
- var value;
1310
-
1311
- switch (token.type) {
1312
- case 'punctuator':
1313
- switch (token.value) {
1314
- case '{':
1315
- value = {};
1316
- break
1317
-
1318
- case '[':
1319
- value = [];
1320
- break
1321
- }
1322
-
1323
- break
1324
-
1325
- case 'null':
1326
- case 'boolean':
1327
- case 'numeric':
1328
- case 'string':
1329
- value = token.value;
1330
- break
1331
-
1332
- // This code is unreachable.
1333
- // default:
1334
- // throw invalidToken()
1335
- }
1336
-
1337
- if (root === undefined) {
1338
- root = value;
1339
- } else {
1340
- var parent = stack[stack.length - 1];
1341
- if (Array.isArray(parent)) {
1342
- parent.push(value);
1343
- } else {
1344
- Object.defineProperty(parent, key, {
1345
- value: value,
1346
- writable: true,
1347
- enumerable: true,
1348
- configurable: true,
1349
- });
1350
- }
1351
- }
1352
-
1353
- if (value !== null && typeof value === 'object') {
1354
- stack.push(value);
1355
-
1356
- if (Array.isArray(value)) {
1357
- parseState = 'beforeArrayValue';
1358
- } else {
1359
- parseState = 'beforePropertyName';
1360
- }
1361
- } else {
1362
- var current = stack[stack.length - 1];
1363
- if (current == null) {
1364
- parseState = 'end';
1365
- } else if (Array.isArray(current)) {
1366
- parseState = 'afterArrayValue';
1367
- } else {
1368
- parseState = 'afterPropertyValue';
1369
- }
1370
- }
1371
- }
1372
-
1373
- function pop () {
1374
- stack.pop();
1375
-
1376
- var current = stack[stack.length - 1];
1377
- if (current == null) {
1378
- parseState = 'end';
1379
- } else if (Array.isArray(current)) {
1380
- parseState = 'afterArrayValue';
1381
- } else {
1382
- parseState = 'afterPropertyValue';
1383
- }
1384
- }
1385
-
1386
- // This code is unreachable.
1387
- // function invalidParseState () {
1388
- // return new Error(`JSON5: invalid parse state '${parseState}'`)
1389
- // }
1390
-
1391
- // This code is unreachable.
1392
- // function invalidLexState (state) {
1393
- // return new Error(`JSON5: invalid lex state '${state}'`)
1394
- // }
1395
-
1396
- function invalidChar (c) {
1397
- if (c === undefined) {
1398
- return syntaxError(("JSON5: invalid end of input at " + line + ":" + column))
1399
- }
1400
-
1401
- return syntaxError(("JSON5: invalid character '" + (formatChar(c)) + "' at " + line + ":" + column))
1402
- }
1403
-
1404
- function invalidEOF () {
1405
- return syntaxError(("JSON5: invalid end of input at " + line + ":" + column))
1406
- }
1407
-
1408
- // This code is unreachable.
1409
- // function invalidToken () {
1410
- // if (token.type === 'eof') {
1411
- // return syntaxError(`JSON5: invalid end of input at ${line}:${column}`)
1412
- // }
1413
-
1414
- // const c = String.fromCodePoint(token.value.codePointAt(0))
1415
- // return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`)
1416
- // }
1417
-
1418
- function invalidIdentifier () {
1419
- column -= 5;
1420
- return syntaxError(("JSON5: invalid identifier character at " + line + ":" + column))
1421
- }
1422
-
1423
- function separatorChar (c) {
1424
- console.warn(("JSON5: '" + (formatChar(c)) + "' in strings is not valid ECMAScript; consider escaping"));
1425
- }
1426
-
1427
- function formatChar (c) {
1428
- var replacements = {
1429
- "'": "\\'",
1430
- '"': '\\"',
1431
- '\\': '\\\\',
1432
- '\b': '\\b',
1433
- '\f': '\\f',
1434
- '\n': '\\n',
1435
- '\r': '\\r',
1436
- '\t': '\\t',
1437
- '\v': '\\v',
1438
- '\0': '\\0',
1439
- '\u2028': '\\u2028',
1440
- '\u2029': '\\u2029',
1441
- };
1442
-
1443
- if (replacements[c]) {
1444
- return replacements[c]
1445
- }
1446
-
1447
- if (c < ' ') {
1448
- var hexString = c.charCodeAt(0).toString(16);
1449
- return '\\x' + ('00' + hexString).substring(hexString.length)
1450
- }
1451
-
1452
- return c
1453
- }
1454
-
1455
- function syntaxError (message) {
1456
- var err = new SyntaxError(message);
1457
- err.lineNumber = line;
1458
- err.columnNumber = column;
1459
- return err
1460
- }
1461
-
1462
- var stringify = function stringify (value, replacer, space) {
1463
- var stack = [];
1464
- var indent = '';
1465
- var propertyList;
1466
- var replacerFunc;
1467
- var gap = '';
1468
- var quote;
1469
-
1470
- if (
1471
- replacer != null &&
1472
- typeof replacer === 'object' &&
1473
- !Array.isArray(replacer)
1474
- ) {
1475
- space = replacer.space;
1476
- quote = replacer.quote;
1477
- replacer = replacer.replacer;
1478
- }
1479
-
1480
- if (typeof replacer === 'function') {
1481
- replacerFunc = replacer;
1482
- } else if (Array.isArray(replacer)) {
1483
- propertyList = [];
1484
- for (var i = 0, list = replacer; i < list.length; i += 1) {
1485
- var v = list[i];
1486
-
1487
- var item = (void 0);
1488
-
1489
- if (typeof v === 'string') {
1490
- item = v;
1491
- } else if (
1492
- typeof v === 'number' ||
1493
- v instanceof String ||
1494
- v instanceof Number
1495
- ) {
1496
- item = String(v);
1497
- }
1498
-
1499
- if (item !== undefined && propertyList.indexOf(item) < 0) {
1500
- propertyList.push(item);
1501
- }
1502
- }
1503
- }
1504
-
1505
- if (space instanceof Number) {
1506
- space = Number(space);
1507
- } else if (space instanceof String) {
1508
- space = String(space);
1509
- }
1510
-
1511
- if (typeof space === 'number') {
1512
- if (space > 0) {
1513
- space = Math.min(10, Math.floor(space));
1514
- gap = ' '.substr(0, space);
1515
- }
1516
- } else if (typeof space === 'string') {
1517
- gap = space.substr(0, 10);
1518
- }
1519
-
1520
- return serializeProperty('', {'': value})
1521
-
1522
- function serializeProperty (key, holder) {
1523
- var value = holder[key];
1524
- if (value != null) {
1525
- if (typeof value.toJSON5 === 'function') {
1526
- value = value.toJSON5(key);
1527
- } else if (typeof value.toJSON === 'function') {
1528
- value = value.toJSON(key);
1529
- }
1530
- }
1531
-
1532
- if (replacerFunc) {
1533
- value = replacerFunc.call(holder, key, value);
1534
- }
1535
-
1536
- if (value instanceof Number) {
1537
- value = Number(value);
1538
- } else if (value instanceof String) {
1539
- value = String(value);
1540
- } else if (value instanceof Boolean) {
1541
- value = value.valueOf();
1542
- }
1543
-
1544
- switch (value) {
1545
- case null: return 'null'
1546
- case true: return 'true'
1547
- case false: return 'false'
1548
- }
1549
-
1550
- if (typeof value === 'string') {
1551
- return quoteString(value, false)
1552
- }
1553
-
1554
- if (typeof value === 'number') {
1555
- return String(value)
1556
- }
1557
-
1558
- if (typeof value === 'object') {
1559
- return Array.isArray(value) ? serializeArray(value) : serializeObject(value)
1560
- }
1561
-
1562
- return undefined
1563
- }
1564
-
1565
- function quoteString (value) {
1566
- var quotes = {
1567
- "'": 0.1,
1568
- '"': 0.2,
1569
- };
1570
-
1571
- var replacements = {
1572
- "'": "\\'",
1573
- '"': '\\"',
1574
- '\\': '\\\\',
1575
- '\b': '\\b',
1576
- '\f': '\\f',
1577
- '\n': '\\n',
1578
- '\r': '\\r',
1579
- '\t': '\\t',
1580
- '\v': '\\v',
1581
- '\0': '\\0',
1582
- '\u2028': '\\u2028',
1583
- '\u2029': '\\u2029',
1584
- };
1585
-
1586
- var product = '';
1587
-
1588
- for (var i = 0; i < value.length; i++) {
1589
- var c = value[i];
1590
- switch (c) {
1591
- case "'":
1592
- case '"':
1593
- quotes[c]++;
1594
- product += c;
1595
- continue
1596
-
1597
- case '\0':
1598
- if (util.isDigit(value[i + 1])) {
1599
- product += '\\x00';
1600
- continue
1601
- }
1602
- }
1603
-
1604
- if (replacements[c]) {
1605
- product += replacements[c];
1606
- continue
1607
- }
1608
-
1609
- if (c < ' ') {
1610
- var hexString = c.charCodeAt(0).toString(16);
1611
- product += '\\x' + ('00' + hexString).substring(hexString.length);
1612
- continue
1613
- }
1614
-
1615
- product += c;
1616
- }
1617
-
1618
- var quoteChar = quote || Object.keys(quotes).reduce(function (a, b) { return (quotes[a] < quotes[b]) ? a : b; });
1619
-
1620
- product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar]);
1621
-
1622
- return quoteChar + product + quoteChar
1623
- }
1624
-
1625
- function serializeObject (value) {
1626
- if (stack.indexOf(value) >= 0) {
1627
- throw TypeError('Converting circular structure to JSON5')
1628
- }
1629
-
1630
- stack.push(value);
1631
-
1632
- var stepback = indent;
1633
- indent = indent + gap;
1634
-
1635
- var keys = propertyList || Object.keys(value);
1636
- var partial = [];
1637
- for (var i = 0, list = keys; i < list.length; i += 1) {
1638
- var key = list[i];
1639
-
1640
- var propertyString = serializeProperty(key, value);
1641
- if (propertyString !== undefined) {
1642
- var member = serializeKey(key) + ':';
1643
- if (gap !== '') {
1644
- member += ' ';
1645
- }
1646
- member += propertyString;
1647
- partial.push(member);
1648
- }
1649
- }
1650
-
1651
- var final;
1652
- if (partial.length === 0) {
1653
- final = '{}';
1654
- } else {
1655
- var properties;
1656
- if (gap === '') {
1657
- properties = partial.join(',');
1658
- final = '{' + properties + '}';
1659
- } else {
1660
- var separator = ',\n' + indent;
1661
- properties = partial.join(separator);
1662
- final = '{\n' + indent + properties + ',\n' + stepback + '}';
1663
- }
1664
- }
1665
-
1666
- stack.pop();
1667
- indent = stepback;
1668
- return final
1669
- }
1670
-
1671
- function serializeKey (key) {
1672
- if (key.length === 0) {
1673
- return quoteString(key, true)
1674
- }
1675
-
1676
- var firstChar = String.fromCodePoint(key.codePointAt(0));
1677
- if (!util.isIdStartChar(firstChar)) {
1678
- return quoteString(key, true)
1679
- }
1680
-
1681
- for (var i = firstChar.length; i < key.length; i++) {
1682
- if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) {
1683
- return quoteString(key, true)
1684
- }
1685
- }
1686
-
1687
- return key
1688
- }
1689
-
1690
- function serializeArray (value) {
1691
- if (stack.indexOf(value) >= 0) {
1692
- throw TypeError('Converting circular structure to JSON5')
1693
- }
1694
-
1695
- stack.push(value);
1696
-
1697
- var stepback = indent;
1698
- indent = indent + gap;
1699
-
1700
- var partial = [];
1701
- for (var i = 0; i < value.length; i++) {
1702
- var propertyString = serializeProperty(String(i), value);
1703
- partial.push((propertyString !== undefined) ? propertyString : 'null');
1704
- }
1705
-
1706
- var final;
1707
- if (partial.length === 0) {
1708
- final = '[]';
1709
- } else {
1710
- if (gap === '') {
1711
- var properties = partial.join(',');
1712
- final = '[' + properties + ']';
1713
- } else {
1714
- var separator = ',\n' + indent;
1715
- var properties$1 = partial.join(separator);
1716
- final = '[\n' + indent + properties$1 + ',\n' + stepback + ']';
1717
- }
1718
- }
1719
-
1720
- stack.pop();
1721
- indent = stepback;
1722
- return final
1723
- }
1724
- };
1725
-
1726
- var JSON5 = {
1727
- parse: parse,
1728
- stringify: stringify,
1729
- };
1730
-
1731
- var lib = JSON5;
1732
-
1733
- var es5 = lib;
1734
-
1735
- return es5;
1736
-
1737
- })));