rspkify 0.0.0-beta.0

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.
@@ -0,0 +1,630 @@
1
+ var lib$1 = {};
2
+
3
+ var picocolors$1 = {exports: {}};
4
+
5
+ let p = process || {}, argv = p.argv || [], env = p.env || {};
6
+ let isColorSupported$1 =
7
+ !(!!env.NO_COLOR || argv.includes("--no-color")) &&
8
+ (!!env.FORCE_COLOR || argv.includes("--color") || p.platform === "win32" || ((p.stdout || {}).isTTY && env.TERM !== "dumb") || !!env.CI);
9
+
10
+ let formatter = (open, close, replace = open) =>
11
+ input => {
12
+ let string = "" + input, index = string.indexOf(close, open.length);
13
+ return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close
14
+ };
15
+
16
+ let replaceClose = (string, close, replace, index) => {
17
+ let result = "", cursor = 0;
18
+ do {
19
+ result += string.substring(cursor, index) + replace;
20
+ cursor = index + close.length;
21
+ index = string.indexOf(close, cursor);
22
+ } while (~index)
23
+ return result + string.substring(cursor)
24
+ };
25
+
26
+ let createColors = (enabled = isColorSupported$1) => {
27
+ let f = enabled ? formatter : () => String;
28
+ return {
29
+ isColorSupported: enabled,
30
+ reset: f("\x1b[0m", "\x1b[0m"),
31
+ bold: f("\x1b[1m", "\x1b[22m", "\x1b[22m\x1b[1m"),
32
+ dim: f("\x1b[2m", "\x1b[22m", "\x1b[22m\x1b[2m"),
33
+ italic: f("\x1b[3m", "\x1b[23m"),
34
+ underline: f("\x1b[4m", "\x1b[24m"),
35
+ inverse: f("\x1b[7m", "\x1b[27m"),
36
+ hidden: f("\x1b[8m", "\x1b[28m"),
37
+ strikethrough: f("\x1b[9m", "\x1b[29m"),
38
+
39
+ black: f("\x1b[30m", "\x1b[39m"),
40
+ red: f("\x1b[31m", "\x1b[39m"),
41
+ green: f("\x1b[32m", "\x1b[39m"),
42
+ yellow: f("\x1b[33m", "\x1b[39m"),
43
+ blue: f("\x1b[34m", "\x1b[39m"),
44
+ magenta: f("\x1b[35m", "\x1b[39m"),
45
+ cyan: f("\x1b[36m", "\x1b[39m"),
46
+ white: f("\x1b[37m", "\x1b[39m"),
47
+ gray: f("\x1b[90m", "\x1b[39m"),
48
+
49
+ bgBlack: f("\x1b[40m", "\x1b[49m"),
50
+ bgRed: f("\x1b[41m", "\x1b[49m"),
51
+ bgGreen: f("\x1b[42m", "\x1b[49m"),
52
+ bgYellow: f("\x1b[43m", "\x1b[49m"),
53
+ bgBlue: f("\x1b[44m", "\x1b[49m"),
54
+ bgMagenta: f("\x1b[45m", "\x1b[49m"),
55
+ bgCyan: f("\x1b[46m", "\x1b[49m"),
56
+ bgWhite: f("\x1b[47m", "\x1b[49m"),
57
+
58
+ blackBright: f("\x1b[90m", "\x1b[39m"),
59
+ redBright: f("\x1b[91m", "\x1b[39m"),
60
+ greenBright: f("\x1b[92m", "\x1b[39m"),
61
+ yellowBright: f("\x1b[93m", "\x1b[39m"),
62
+ blueBright: f("\x1b[94m", "\x1b[39m"),
63
+ magentaBright: f("\x1b[95m", "\x1b[39m"),
64
+ cyanBright: f("\x1b[96m", "\x1b[39m"),
65
+ whiteBright: f("\x1b[97m", "\x1b[39m"),
66
+
67
+ bgBlackBright: f("\x1b[100m", "\x1b[49m"),
68
+ bgRedBright: f("\x1b[101m", "\x1b[49m"),
69
+ bgGreenBright: f("\x1b[102m", "\x1b[49m"),
70
+ bgYellowBright: f("\x1b[103m", "\x1b[49m"),
71
+ bgBlueBright: f("\x1b[104m", "\x1b[49m"),
72
+ bgMagentaBright: f("\x1b[105m", "\x1b[49m"),
73
+ bgCyanBright: f("\x1b[106m", "\x1b[49m"),
74
+ bgWhiteBright: f("\x1b[107m", "\x1b[49m"),
75
+ }
76
+ };
77
+
78
+ picocolors$1.exports = createColors();
79
+ picocolors$1.exports.createColors = createColors;
80
+
81
+ var picocolorsExports = picocolors$1.exports;
82
+
83
+ var jsTokens$1 = {};
84
+
85
+ // Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell
86
+ // License: MIT. (See LICENSE.)
87
+
88
+ Object.defineProperty(jsTokens$1, "__esModule", {
89
+ value: true
90
+ });
91
+
92
+ // This regex comes from regex.coffee, and is inserted here by generate-index.js
93
+ // (run `npm run build`).
94
+ jsTokens$1.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g;
95
+
96
+ jsTokens$1.matchToToken = function(match) {
97
+ var token = {type: "invalid", value: match[0], closed: undefined};
98
+ if (match[ 1]) token.type = "string" , token.closed = !!(match[3] || match[4]);
99
+ else if (match[ 5]) token.type = "comment";
100
+ else if (match[ 6]) token.type = "comment", token.closed = !!match[7];
101
+ else if (match[ 8]) token.type = "regex";
102
+ else if (match[ 9]) token.type = "number";
103
+ else if (match[10]) token.type = "name";
104
+ else if (match[11]) token.type = "punctuator";
105
+ else if (match[12]) token.type = "whitespace";
106
+ return token
107
+ };
108
+
109
+ var lib = {};
110
+
111
+ var identifier = {};
112
+
113
+ Object.defineProperty(identifier, "__esModule", {
114
+ value: true
115
+ });
116
+ identifier.isIdentifierChar = isIdentifierChar;
117
+ identifier.isIdentifierName = isIdentifierName;
118
+ identifier.isIdentifierStart = isIdentifierStart;
119
+ let nonASCIIidentifierStartChars = "\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\u0560-\u0588\u05d0-\u05ea\u05ef-\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\u0870-\u0887\u0889-\u088f\u08a0-\u08c9\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\u0c5c\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdc-\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\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\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\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-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c8a\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\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\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\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\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7dc\ua7f1-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\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-\uab69\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";
120
+ let nonASCIIidentifierChars = "\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0897-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1add\u1ae0-\u1aeb\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65";
121
+ const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
122
+ const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
123
+ nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
124
+ const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 7, 25, 39, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 5, 57, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 24, 43, 261, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 33, 24, 3, 24, 45, 74, 6, 0, 67, 12, 65, 1, 2, 0, 15, 4, 10, 7381, 42, 31, 98, 114, 8702, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 208, 30, 2, 2, 2, 1, 2, 6, 3, 4, 10, 1, 225, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4381, 3, 5773, 3, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 8489];
125
+ const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 78, 5, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 199, 7, 137, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 55, 9, 266, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 233, 0, 3, 0, 8, 1, 6, 0, 475, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
126
+ function isInAstralSet(code, set) {
127
+ let pos = 0x10000;
128
+ for (let i = 0, length = set.length; i < length; i += 2) {
129
+ pos += set[i];
130
+ if (pos > code) return false;
131
+ pos += set[i + 1];
132
+ if (pos >= code) return true;
133
+ }
134
+ return false;
135
+ }
136
+ function isIdentifierStart(code) {
137
+ if (code < 65) return code === 36;
138
+ if (code <= 90) return true;
139
+ if (code < 97) return code === 95;
140
+ if (code <= 122) return true;
141
+ if (code <= 0xffff) {
142
+ return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));
143
+ }
144
+ return isInAstralSet(code, astralIdentifierStartCodes);
145
+ }
146
+ function isIdentifierChar(code) {
147
+ if (code < 48) return code === 36;
148
+ if (code < 58) return true;
149
+ if (code < 65) return false;
150
+ if (code <= 90) return true;
151
+ if (code < 97) return code === 95;
152
+ if (code <= 122) return true;
153
+ if (code <= 0xffff) {
154
+ return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));
155
+ }
156
+ return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
157
+ }
158
+ function isIdentifierName(name) {
159
+ let isFirst = true;
160
+ for (let i = 0; i < name.length; i++) {
161
+ let cp = name.charCodeAt(i);
162
+ if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {
163
+ const trail = name.charCodeAt(++i);
164
+ if ((trail & 0xfc00) === 0xdc00) {
165
+ cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);
166
+ }
167
+ }
168
+ if (isFirst) {
169
+ isFirst = false;
170
+ if (!isIdentifierStart(cp)) {
171
+ return false;
172
+ }
173
+ } else if (!isIdentifierChar(cp)) {
174
+ return false;
175
+ }
176
+ }
177
+ return !isFirst;
178
+ }
179
+
180
+ var keyword = {};
181
+
182
+ Object.defineProperty(keyword, "__esModule", {
183
+ value: true
184
+ });
185
+ keyword.isKeyword = isKeyword;
186
+ keyword.isReservedWord = isReservedWord;
187
+ keyword.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;
188
+ keyword.isStrictBindReservedWord = isStrictBindReservedWord;
189
+ keyword.isStrictReservedWord = isStrictReservedWord;
190
+ const reservedWords = {
191
+ keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
192
+ strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
193
+ strictBind: ["eval", "arguments"]
194
+ };
195
+ const keywords = new Set(reservedWords.keyword);
196
+ const reservedWordsStrictSet = new Set(reservedWords.strict);
197
+ const reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
198
+ function isReservedWord(word, inModule) {
199
+ return inModule && word === "await" || word === "enum";
200
+ }
201
+ function isStrictReservedWord(word, inModule) {
202
+ return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
203
+ }
204
+ function isStrictBindOnlyReservedWord(word) {
205
+ return reservedWordsStrictBindSet.has(word);
206
+ }
207
+ function isStrictBindReservedWord(word, inModule) {
208
+ return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
209
+ }
210
+ function isKeyword(word) {
211
+ return keywords.has(word);
212
+ }
213
+
214
+ (function (exports$1) {
215
+
216
+ Object.defineProperty(exports$1, "__esModule", {
217
+ value: true
218
+ });
219
+ Object.defineProperty(exports$1, "isIdentifierChar", {
220
+ enumerable: true,
221
+ get: function () {
222
+ return _identifier.isIdentifierChar;
223
+ }
224
+ });
225
+ Object.defineProperty(exports$1, "isIdentifierName", {
226
+ enumerable: true,
227
+ get: function () {
228
+ return _identifier.isIdentifierName;
229
+ }
230
+ });
231
+ Object.defineProperty(exports$1, "isIdentifierStart", {
232
+ enumerable: true,
233
+ get: function () {
234
+ return _identifier.isIdentifierStart;
235
+ }
236
+ });
237
+ Object.defineProperty(exports$1, "isKeyword", {
238
+ enumerable: true,
239
+ get: function () {
240
+ return _keyword.isKeyword;
241
+ }
242
+ });
243
+ Object.defineProperty(exports$1, "isReservedWord", {
244
+ enumerable: true,
245
+ get: function () {
246
+ return _keyword.isReservedWord;
247
+ }
248
+ });
249
+ Object.defineProperty(exports$1, "isStrictBindOnlyReservedWord", {
250
+ enumerable: true,
251
+ get: function () {
252
+ return _keyword.isStrictBindOnlyReservedWord;
253
+ }
254
+ });
255
+ Object.defineProperty(exports$1, "isStrictBindReservedWord", {
256
+ enumerable: true,
257
+ get: function () {
258
+ return _keyword.isStrictBindReservedWord;
259
+ }
260
+ });
261
+ Object.defineProperty(exports$1, "isStrictReservedWord", {
262
+ enumerable: true,
263
+ get: function () {
264
+ return _keyword.isStrictReservedWord;
265
+ }
266
+ });
267
+ var _identifier = identifier;
268
+ var _keyword = keyword;
269
+
270
+
271
+ } (lib));
272
+
273
+ Object.defineProperty(lib$1, '__esModule', { value: true });
274
+
275
+ var picocolors = picocolorsExports;
276
+ var jsTokens = jsTokens$1;
277
+ var helperValidatorIdentifier = lib;
278
+
279
+ function isColorSupported() {
280
+ return (typeof process === "object" && (process.env.FORCE_COLOR === "0" || process.env.FORCE_COLOR === "false") ? false : picocolors.isColorSupported
281
+ );
282
+ }
283
+ const compose = (f, g) => v => f(g(v));
284
+ function buildDefs(colors) {
285
+ return {
286
+ keyword: colors.cyan,
287
+ capitalized: colors.yellow,
288
+ jsxIdentifier: colors.yellow,
289
+ punctuator: colors.yellow,
290
+ number: colors.magenta,
291
+ string: colors.green,
292
+ regex: colors.magenta,
293
+ comment: colors.gray,
294
+ invalid: compose(compose(colors.white, colors.bgRed), colors.bold),
295
+ gutter: colors.gray,
296
+ marker: compose(colors.red, colors.bold),
297
+ message: compose(colors.red, colors.bold),
298
+ reset: colors.reset
299
+ };
300
+ }
301
+ const defsOn = buildDefs(picocolors.createColors(true));
302
+ const defsOff = buildDefs(picocolors.createColors(false));
303
+ function getDefs(enabled) {
304
+ return enabled ? defsOn : defsOff;
305
+ }
306
+
307
+ const sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]);
308
+ const NEWLINE$1 = /\r\n|[\n\r\u2028\u2029]/;
309
+ const BRACKET = /^[()[\]{}]$/;
310
+ let tokenize;
311
+ const JSX_TAG = /^[a-z][\w-]*$/i;
312
+ const getTokenType = function (token, offset, text) {
313
+ if (token.type === "name") {
314
+ const tokenValue = token.value;
315
+ if (helperValidatorIdentifier.isKeyword(tokenValue) || helperValidatorIdentifier.isStrictReservedWord(tokenValue, true) || sometimesKeywords.has(tokenValue)) {
316
+ return "keyword";
317
+ }
318
+ if (JSX_TAG.test(tokenValue) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) === "</")) {
319
+ return "jsxIdentifier";
320
+ }
321
+ const firstChar = String.fromCodePoint(tokenValue.codePointAt(0));
322
+ if (firstChar !== firstChar.toLowerCase()) {
323
+ return "capitalized";
324
+ }
325
+ }
326
+ if (token.type === "punctuator" && BRACKET.test(token.value)) {
327
+ return "bracket";
328
+ }
329
+ if (token.type === "invalid" && (token.value === "@" || token.value === "#")) {
330
+ return "punctuator";
331
+ }
332
+ return token.type;
333
+ };
334
+ tokenize = function* (text) {
335
+ let match;
336
+ while (match = jsTokens.default.exec(text)) {
337
+ const token = jsTokens.matchToToken(match);
338
+ yield {
339
+ type: getTokenType(token, match.index, text),
340
+ value: token.value
341
+ };
342
+ }
343
+ };
344
+ function highlight(text) {
345
+ if (text === "") return "";
346
+ const defs = getDefs(true);
347
+ let highlighted = "";
348
+ for (const {
349
+ type,
350
+ value
351
+ } of tokenize(text)) {
352
+ if (type in defs) {
353
+ highlighted += value.split(NEWLINE$1).map(str => defs[type](str)).join("\n");
354
+ } else {
355
+ highlighted += value;
356
+ }
357
+ }
358
+ return highlighted;
359
+ }
360
+
361
+ let deprecationWarningShown = false;
362
+ const NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
363
+ function getMarkerLines(loc, source, opts, startLineBaseZero) {
364
+ const startLoc = Object.assign({
365
+ column: 0,
366
+ line: -1
367
+ }, loc.start);
368
+ const endLoc = Object.assign({}, startLoc, loc.end);
369
+ const {
370
+ linesAbove = 2,
371
+ linesBelow = 3
372
+ } = opts || {};
373
+ const startLine = startLoc.line - startLineBaseZero;
374
+ const startColumn = startLoc.column;
375
+ const endLine = endLoc.line - startLineBaseZero;
376
+ const endColumn = endLoc.column;
377
+ let start = Math.max(startLine - (linesAbove + 1), 0);
378
+ let end = Math.min(source.length, endLine + linesBelow);
379
+ if (startLine === -1) {
380
+ start = 0;
381
+ }
382
+ if (endLine === -1) {
383
+ end = source.length;
384
+ }
385
+ const lineDiff = endLine - startLine;
386
+ const markerLines = {};
387
+ if (lineDiff) {
388
+ for (let i = 0; i <= lineDiff; i++) {
389
+ const lineNumber = i + startLine;
390
+ if (!startColumn) {
391
+ markerLines[lineNumber] = true;
392
+ } else if (i === 0) {
393
+ const sourceLength = source[lineNumber - 1].length;
394
+ markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];
395
+ } else if (i === lineDiff) {
396
+ markerLines[lineNumber] = [0, endColumn];
397
+ } else {
398
+ const sourceLength = source[lineNumber - i].length;
399
+ markerLines[lineNumber] = [0, sourceLength];
400
+ }
401
+ }
402
+ } else {
403
+ if (startColumn === endColumn) {
404
+ if (startColumn) {
405
+ markerLines[startLine] = [startColumn, 0];
406
+ } else {
407
+ markerLines[startLine] = true;
408
+ }
409
+ } else {
410
+ markerLines[startLine] = [startColumn, endColumn - startColumn];
411
+ }
412
+ }
413
+ return {
414
+ start,
415
+ end,
416
+ markerLines
417
+ };
418
+ }
419
+ function codeFrameColumns(rawLines, loc, opts = {}) {
420
+ const shouldHighlight = opts.forceColor || isColorSupported() && opts.highlightCode;
421
+ const startLineBaseZero = (opts.startLine || 1) - 1;
422
+ const defs = getDefs(shouldHighlight);
423
+ const lines = rawLines.split(NEWLINE);
424
+ const {
425
+ start,
426
+ end,
427
+ markerLines
428
+ } = getMarkerLines(loc, lines, opts, startLineBaseZero);
429
+ const hasColumns = loc.start && typeof loc.start.column === "number";
430
+ const numberMaxWidth = String(end + startLineBaseZero).length;
431
+ const highlightedLines = shouldHighlight ? highlight(rawLines) : rawLines;
432
+ let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line, index) => {
433
+ const number = start + 1 + index;
434
+ const paddedNumber = ` ${number + startLineBaseZero}`.slice(-numberMaxWidth);
435
+ const gutter = ` ${paddedNumber} |`;
436
+ const hasMarker = markerLines[number];
437
+ const lastMarkerLine = !markerLines[number + 1];
438
+ if (hasMarker) {
439
+ let markerLine = "";
440
+ if (Array.isArray(hasMarker)) {
441
+ const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " ");
442
+ const numberOfMarkers = hasMarker[1] || 1;
443
+ markerLine = ["\n ", defs.gutter(gutter.replace(/\d/g, " ")), " ", markerSpacing, defs.marker("^").repeat(numberOfMarkers)].join("");
444
+ if (lastMarkerLine && opts.message) {
445
+ markerLine += " " + defs.message(opts.message);
446
+ }
447
+ }
448
+ return [defs.marker(">"), defs.gutter(gutter), line.length > 0 ? ` ${line}` : "", markerLine].join("");
449
+ } else {
450
+ return ` ${defs.gutter(gutter)}${line.length > 0 ? ` ${line}` : ""}`;
451
+ }
452
+ }).join("\n");
453
+ if (opts.message && !hasColumns) {
454
+ frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message}\n${frame}`;
455
+ }
456
+ if (shouldHighlight) {
457
+ return defs.reset(frame);
458
+ } else {
459
+ return frame;
460
+ }
461
+ }
462
+ function index (rawLines, lineNumber, colNumber, opts = {}) {
463
+ if (!deprecationWarningShown) {
464
+ deprecationWarningShown = true;
465
+ const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";
466
+ if (process.emitWarning) {
467
+ process.emitWarning(message, "DeprecationWarning");
468
+ } else {
469
+ const deprecationError = new Error(message);
470
+ deprecationError.name = "DeprecationWarning";
471
+ console.warn(new Error(message));
472
+ }
473
+ }
474
+ colNumber = Math.max(colNumber, 0);
475
+ const location = {
476
+ start: {
477
+ column: colNumber,
478
+ line: lineNumber
479
+ }
480
+ };
481
+ return codeFrameColumns(rawLines, location, opts);
482
+ }
483
+
484
+ var codeFrameColumns_1 = lib$1.codeFrameColumns = codeFrameColumns;
485
+ lib$1.default = index;
486
+ lib$1.highlight = highlight;
487
+
488
+ const getOffsets = ({
489
+ oneBased,
490
+ oneBasedLine = oneBased,
491
+ oneBasedColumn = oneBased,
492
+ } = {}) => [oneBasedLine ? 1 : 0, oneBasedColumn ? 1 : 0];
493
+
494
+ // Performance https://github.com/sindresorhus/index-to-position/pull/9
495
+ function getPosition(text, textIndex, options) {
496
+ const lineBreakBefore = textIndex === 0 ? -1 : text.lastIndexOf('\n', textIndex - 1);
497
+ const [lineOffset, columnOffset] = getOffsets(options);
498
+ return {
499
+ line: lineBreakBefore === -1
500
+ ? lineOffset
501
+ : text.slice(0, lineBreakBefore + 1).match(/\n/g).length + lineOffset,
502
+ column: textIndex - lineBreakBefore - 1 + columnOffset,
503
+ };
504
+ }
505
+
506
+ function indexToPosition(text, textIndex, options) {
507
+ if (typeof text !== 'string') {
508
+ throw new TypeError('Text parameter should be a string');
509
+ }
510
+
511
+ if (!Number.isInteger(textIndex)) {
512
+ throw new TypeError('Index parameter should be an integer');
513
+ }
514
+
515
+ if (textIndex < 0 || textIndex > text.length) {
516
+ throw new RangeError('Index out of bounds');
517
+ }
518
+
519
+ return getPosition(text, textIndex, options);
520
+ }
521
+
522
+ const getCodePoint = character => `\\u{${character.codePointAt(0).toString(16)}}`;
523
+
524
+ class JSONError extends Error {
525
+ name = 'JSONError';
526
+ fileName;
527
+ #input;
528
+ #jsonParseError;
529
+ #message;
530
+ #codeFrame;
531
+ #rawCodeFrame;
532
+
533
+ constructor(messageOrOptions) {
534
+ // JSONError constructor used accept string
535
+ // TODO[>=9]: Remove this `if` on next major version
536
+ if (typeof messageOrOptions === 'string') {
537
+ super();
538
+ this.#message = messageOrOptions;
539
+ } else {
540
+ const {jsonParseError, fileName, input} = messageOrOptions;
541
+ // We cannot pass message to `super()`, otherwise the message accessor will be overridden.
542
+ // https://262.ecma-international.org/14.0/#sec-error-message
543
+ super(undefined, {cause: jsonParseError});
544
+
545
+ this.#input = input;
546
+ this.#jsonParseError = jsonParseError;
547
+ this.fileName = fileName;
548
+ }
549
+
550
+ Error.captureStackTrace?.(this, JSONError);
551
+ }
552
+
553
+ get message() {
554
+ this.#message ??= `${addCodePointToUnexpectedToken(this.#jsonParseError.message)}${this.#input === '' ? ' while parsing empty string' : ''}`;
555
+
556
+ const {codeFrame} = this;
557
+ return `${this.#message}${this.fileName ? ` in ${this.fileName}` : ''}${codeFrame ? `\n\n${codeFrame}\n` : ''}`;
558
+ }
559
+
560
+ set message(message) {
561
+ this.#message = message;
562
+ }
563
+
564
+ #getCodeFrame(highlightCode) {
565
+ // TODO[>=9]: Remove this `if` on next major version
566
+ if (!this.#jsonParseError) {
567
+ return;
568
+ }
569
+
570
+ const input = this.#input;
571
+
572
+ const location = getErrorLocation(input, this.#jsonParseError.message);
573
+ if (!location) {
574
+ return;
575
+ }
576
+
577
+ return codeFrameColumns_1(input, {start: location}, {highlightCode});
578
+ }
579
+
580
+ get codeFrame() {
581
+ this.#codeFrame ??= this.#getCodeFrame(/* highlightCode */ true);
582
+ return this.#codeFrame;
583
+ }
584
+
585
+ get rawCodeFrame() {
586
+ this.#rawCodeFrame ??= this.#getCodeFrame(/* highlightCode */ false);
587
+ return this.#rawCodeFrame;
588
+ }
589
+ }
590
+
591
+ const getErrorLocation = (string, message) => {
592
+ const match = message.match(/in JSON at position (?<index>\d+)(?: \(line (?<line>\d+) column (?<column>\d+)\))?$/);
593
+
594
+ if (!match) {
595
+ return;
596
+ }
597
+
598
+ const {index, line, column} = match.groups;
599
+
600
+ if (line && column) {
601
+ return {line: Number(line), column: Number(column)};
602
+ }
603
+
604
+ return indexToPosition(string, Number(index), {oneBased: true});
605
+ };
606
+
607
+ const addCodePointToUnexpectedToken = message => message.replace(
608
+ // TODO[engine:node@>=20]: The token always quoted after Node.js 20
609
+ /(?<=^Unexpected token )(?<quote>')?(.)\k<quote>/,
610
+ (_, _quote, token) => `"${token}"(${getCodePoint(token)})`,
611
+ );
612
+
613
+ function parseJson(string, reviver, fileName) {
614
+ if (typeof reviver === 'string') {
615
+ fileName = reviver;
616
+ reviver = undefined;
617
+ }
618
+
619
+ try {
620
+ return JSON.parse(string, reviver);
621
+ } catch (error) {
622
+ throw new JSONError({
623
+ jsonParseError: error,
624
+ fileName,
625
+ input: string,
626
+ });
627
+ }
628
+ }
629
+
630
+ export { JSONError, parseJson as default };