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,633 @@
1
+ 'use strict';
2
+
3
+ var lib$1 = {};
4
+
5
+ var picocolors$1 = {exports: {}};
6
+
7
+ let p = process || {}, argv = p.argv || [], env = p.env || {};
8
+ let isColorSupported$1 =
9
+ !(!!env.NO_COLOR || argv.includes("--no-color")) &&
10
+ (!!env.FORCE_COLOR || argv.includes("--color") || p.platform === "win32" || ((p.stdout || {}).isTTY && env.TERM !== "dumb") || !!env.CI);
11
+
12
+ let formatter = (open, close, replace = open) =>
13
+ input => {
14
+ let string = "" + input, index = string.indexOf(close, open.length);
15
+ return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close
16
+ };
17
+
18
+ let replaceClose = (string, close, replace, index) => {
19
+ let result = "", cursor = 0;
20
+ do {
21
+ result += string.substring(cursor, index) + replace;
22
+ cursor = index + close.length;
23
+ index = string.indexOf(close, cursor);
24
+ } while (~index)
25
+ return result + string.substring(cursor)
26
+ };
27
+
28
+ let createColors = (enabled = isColorSupported$1) => {
29
+ let f = enabled ? formatter : () => String;
30
+ return {
31
+ isColorSupported: enabled,
32
+ reset: f("\x1b[0m", "\x1b[0m"),
33
+ bold: f("\x1b[1m", "\x1b[22m", "\x1b[22m\x1b[1m"),
34
+ dim: f("\x1b[2m", "\x1b[22m", "\x1b[22m\x1b[2m"),
35
+ italic: f("\x1b[3m", "\x1b[23m"),
36
+ underline: f("\x1b[4m", "\x1b[24m"),
37
+ inverse: f("\x1b[7m", "\x1b[27m"),
38
+ hidden: f("\x1b[8m", "\x1b[28m"),
39
+ strikethrough: f("\x1b[9m", "\x1b[29m"),
40
+
41
+ black: f("\x1b[30m", "\x1b[39m"),
42
+ red: f("\x1b[31m", "\x1b[39m"),
43
+ green: f("\x1b[32m", "\x1b[39m"),
44
+ yellow: f("\x1b[33m", "\x1b[39m"),
45
+ blue: f("\x1b[34m", "\x1b[39m"),
46
+ magenta: f("\x1b[35m", "\x1b[39m"),
47
+ cyan: f("\x1b[36m", "\x1b[39m"),
48
+ white: f("\x1b[37m", "\x1b[39m"),
49
+ gray: f("\x1b[90m", "\x1b[39m"),
50
+
51
+ bgBlack: f("\x1b[40m", "\x1b[49m"),
52
+ bgRed: f("\x1b[41m", "\x1b[49m"),
53
+ bgGreen: f("\x1b[42m", "\x1b[49m"),
54
+ bgYellow: f("\x1b[43m", "\x1b[49m"),
55
+ bgBlue: f("\x1b[44m", "\x1b[49m"),
56
+ bgMagenta: f("\x1b[45m", "\x1b[49m"),
57
+ bgCyan: f("\x1b[46m", "\x1b[49m"),
58
+ bgWhite: f("\x1b[47m", "\x1b[49m"),
59
+
60
+ blackBright: f("\x1b[90m", "\x1b[39m"),
61
+ redBright: f("\x1b[91m", "\x1b[39m"),
62
+ greenBright: f("\x1b[92m", "\x1b[39m"),
63
+ yellowBright: f("\x1b[93m", "\x1b[39m"),
64
+ blueBright: f("\x1b[94m", "\x1b[39m"),
65
+ magentaBright: f("\x1b[95m", "\x1b[39m"),
66
+ cyanBright: f("\x1b[96m", "\x1b[39m"),
67
+ whiteBright: f("\x1b[97m", "\x1b[39m"),
68
+
69
+ bgBlackBright: f("\x1b[100m", "\x1b[49m"),
70
+ bgRedBright: f("\x1b[101m", "\x1b[49m"),
71
+ bgGreenBright: f("\x1b[102m", "\x1b[49m"),
72
+ bgYellowBright: f("\x1b[103m", "\x1b[49m"),
73
+ bgBlueBright: f("\x1b[104m", "\x1b[49m"),
74
+ bgMagentaBright: f("\x1b[105m", "\x1b[49m"),
75
+ bgCyanBright: f("\x1b[106m", "\x1b[49m"),
76
+ bgWhiteBright: f("\x1b[107m", "\x1b[49m"),
77
+ }
78
+ };
79
+
80
+ picocolors$1.exports = createColors();
81
+ picocolors$1.exports.createColors = createColors;
82
+
83
+ var picocolorsExports = picocolors$1.exports;
84
+
85
+ var jsTokens$1 = {};
86
+
87
+ // Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell
88
+ // License: MIT. (See LICENSE.)
89
+
90
+ Object.defineProperty(jsTokens$1, "__esModule", {
91
+ value: true
92
+ });
93
+
94
+ // This regex comes from regex.coffee, and is inserted here by generate-index.js
95
+ // (run `npm run build`).
96
+ 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;
97
+
98
+ jsTokens$1.matchToToken = function(match) {
99
+ var token = {type: "invalid", value: match[0], closed: undefined};
100
+ if (match[ 1]) token.type = "string" , token.closed = !!(match[3] || match[4]);
101
+ else if (match[ 5]) token.type = "comment";
102
+ else if (match[ 6]) token.type = "comment", token.closed = !!match[7];
103
+ else if (match[ 8]) token.type = "regex";
104
+ else if (match[ 9]) token.type = "number";
105
+ else if (match[10]) token.type = "name";
106
+ else if (match[11]) token.type = "punctuator";
107
+ else if (match[12]) token.type = "whitespace";
108
+ return token
109
+ };
110
+
111
+ var lib = {};
112
+
113
+ var identifier = {};
114
+
115
+ Object.defineProperty(identifier, "__esModule", {
116
+ value: true
117
+ });
118
+ identifier.isIdentifierChar = isIdentifierChar;
119
+ identifier.isIdentifierName = isIdentifierName;
120
+ identifier.isIdentifierStart = isIdentifierStart;
121
+ 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";
122
+ 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";
123
+ const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
124
+ const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
125
+ nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
126
+ 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];
127
+ 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];
128
+ function isInAstralSet(code, set) {
129
+ let pos = 0x10000;
130
+ for (let i = 0, length = set.length; i < length; i += 2) {
131
+ pos += set[i];
132
+ if (pos > code) return false;
133
+ pos += set[i + 1];
134
+ if (pos >= code) return true;
135
+ }
136
+ return false;
137
+ }
138
+ function isIdentifierStart(code) {
139
+ if (code < 65) return code === 36;
140
+ if (code <= 90) return true;
141
+ if (code < 97) return code === 95;
142
+ if (code <= 122) return true;
143
+ if (code <= 0xffff) {
144
+ return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));
145
+ }
146
+ return isInAstralSet(code, astralIdentifierStartCodes);
147
+ }
148
+ function isIdentifierChar(code) {
149
+ if (code < 48) return code === 36;
150
+ if (code < 58) return true;
151
+ if (code < 65) return false;
152
+ if (code <= 90) return true;
153
+ if (code < 97) return code === 95;
154
+ if (code <= 122) return true;
155
+ if (code <= 0xffff) {
156
+ return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));
157
+ }
158
+ return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
159
+ }
160
+ function isIdentifierName(name) {
161
+ let isFirst = true;
162
+ for (let i = 0; i < name.length; i++) {
163
+ let cp = name.charCodeAt(i);
164
+ if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {
165
+ const trail = name.charCodeAt(++i);
166
+ if ((trail & 0xfc00) === 0xdc00) {
167
+ cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);
168
+ }
169
+ }
170
+ if (isFirst) {
171
+ isFirst = false;
172
+ if (!isIdentifierStart(cp)) {
173
+ return false;
174
+ }
175
+ } else if (!isIdentifierChar(cp)) {
176
+ return false;
177
+ }
178
+ }
179
+ return !isFirst;
180
+ }
181
+
182
+ var keyword = {};
183
+
184
+ Object.defineProperty(keyword, "__esModule", {
185
+ value: true
186
+ });
187
+ keyword.isKeyword = isKeyword;
188
+ keyword.isReservedWord = isReservedWord;
189
+ keyword.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;
190
+ keyword.isStrictBindReservedWord = isStrictBindReservedWord;
191
+ keyword.isStrictReservedWord = isStrictReservedWord;
192
+ const reservedWords = {
193
+ 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"],
194
+ strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
195
+ strictBind: ["eval", "arguments"]
196
+ };
197
+ const keywords = new Set(reservedWords.keyword);
198
+ const reservedWordsStrictSet = new Set(reservedWords.strict);
199
+ const reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
200
+ function isReservedWord(word, inModule) {
201
+ return inModule && word === "await" || word === "enum";
202
+ }
203
+ function isStrictReservedWord(word, inModule) {
204
+ return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
205
+ }
206
+ function isStrictBindOnlyReservedWord(word) {
207
+ return reservedWordsStrictBindSet.has(word);
208
+ }
209
+ function isStrictBindReservedWord(word, inModule) {
210
+ return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
211
+ }
212
+ function isKeyword(word) {
213
+ return keywords.has(word);
214
+ }
215
+
216
+ (function (exports$1) {
217
+
218
+ Object.defineProperty(exports$1, "__esModule", {
219
+ value: true
220
+ });
221
+ Object.defineProperty(exports$1, "isIdentifierChar", {
222
+ enumerable: true,
223
+ get: function () {
224
+ return _identifier.isIdentifierChar;
225
+ }
226
+ });
227
+ Object.defineProperty(exports$1, "isIdentifierName", {
228
+ enumerable: true,
229
+ get: function () {
230
+ return _identifier.isIdentifierName;
231
+ }
232
+ });
233
+ Object.defineProperty(exports$1, "isIdentifierStart", {
234
+ enumerable: true,
235
+ get: function () {
236
+ return _identifier.isIdentifierStart;
237
+ }
238
+ });
239
+ Object.defineProperty(exports$1, "isKeyword", {
240
+ enumerable: true,
241
+ get: function () {
242
+ return _keyword.isKeyword;
243
+ }
244
+ });
245
+ Object.defineProperty(exports$1, "isReservedWord", {
246
+ enumerable: true,
247
+ get: function () {
248
+ return _keyword.isReservedWord;
249
+ }
250
+ });
251
+ Object.defineProperty(exports$1, "isStrictBindOnlyReservedWord", {
252
+ enumerable: true,
253
+ get: function () {
254
+ return _keyword.isStrictBindOnlyReservedWord;
255
+ }
256
+ });
257
+ Object.defineProperty(exports$1, "isStrictBindReservedWord", {
258
+ enumerable: true,
259
+ get: function () {
260
+ return _keyword.isStrictBindReservedWord;
261
+ }
262
+ });
263
+ Object.defineProperty(exports$1, "isStrictReservedWord", {
264
+ enumerable: true,
265
+ get: function () {
266
+ return _keyword.isStrictReservedWord;
267
+ }
268
+ });
269
+ var _identifier = identifier;
270
+ var _keyword = keyword;
271
+
272
+
273
+ } (lib));
274
+
275
+ Object.defineProperty(lib$1, '__esModule', { value: true });
276
+
277
+ var picocolors = picocolorsExports;
278
+ var jsTokens = jsTokens$1;
279
+ var helperValidatorIdentifier = lib;
280
+
281
+ function isColorSupported() {
282
+ return (typeof process === "object" && (process.env.FORCE_COLOR === "0" || process.env.FORCE_COLOR === "false") ? false : picocolors.isColorSupported
283
+ );
284
+ }
285
+ const compose = (f, g) => v => f(g(v));
286
+ function buildDefs(colors) {
287
+ return {
288
+ keyword: colors.cyan,
289
+ capitalized: colors.yellow,
290
+ jsxIdentifier: colors.yellow,
291
+ punctuator: colors.yellow,
292
+ number: colors.magenta,
293
+ string: colors.green,
294
+ regex: colors.magenta,
295
+ comment: colors.gray,
296
+ invalid: compose(compose(colors.white, colors.bgRed), colors.bold),
297
+ gutter: colors.gray,
298
+ marker: compose(colors.red, colors.bold),
299
+ message: compose(colors.red, colors.bold),
300
+ reset: colors.reset
301
+ };
302
+ }
303
+ const defsOn = buildDefs(picocolors.createColors(true));
304
+ const defsOff = buildDefs(picocolors.createColors(false));
305
+ function getDefs(enabled) {
306
+ return enabled ? defsOn : defsOff;
307
+ }
308
+
309
+ const sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]);
310
+ const NEWLINE$1 = /\r\n|[\n\r\u2028\u2029]/;
311
+ const BRACKET = /^[()[\]{}]$/;
312
+ let tokenize;
313
+ const JSX_TAG = /^[a-z][\w-]*$/i;
314
+ const getTokenType = function (token, offset, text) {
315
+ if (token.type === "name") {
316
+ const tokenValue = token.value;
317
+ if (helperValidatorIdentifier.isKeyword(tokenValue) || helperValidatorIdentifier.isStrictReservedWord(tokenValue, true) || sometimesKeywords.has(tokenValue)) {
318
+ return "keyword";
319
+ }
320
+ if (JSX_TAG.test(tokenValue) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) === "</")) {
321
+ return "jsxIdentifier";
322
+ }
323
+ const firstChar = String.fromCodePoint(tokenValue.codePointAt(0));
324
+ if (firstChar !== firstChar.toLowerCase()) {
325
+ return "capitalized";
326
+ }
327
+ }
328
+ if (token.type === "punctuator" && BRACKET.test(token.value)) {
329
+ return "bracket";
330
+ }
331
+ if (token.type === "invalid" && (token.value === "@" || token.value === "#")) {
332
+ return "punctuator";
333
+ }
334
+ return token.type;
335
+ };
336
+ tokenize = function* (text) {
337
+ let match;
338
+ while (match = jsTokens.default.exec(text)) {
339
+ const token = jsTokens.matchToToken(match);
340
+ yield {
341
+ type: getTokenType(token, match.index, text),
342
+ value: token.value
343
+ };
344
+ }
345
+ };
346
+ function highlight(text) {
347
+ if (text === "") return "";
348
+ const defs = getDefs(true);
349
+ let highlighted = "";
350
+ for (const {
351
+ type,
352
+ value
353
+ } of tokenize(text)) {
354
+ if (type in defs) {
355
+ highlighted += value.split(NEWLINE$1).map(str => defs[type](str)).join("\n");
356
+ } else {
357
+ highlighted += value;
358
+ }
359
+ }
360
+ return highlighted;
361
+ }
362
+
363
+ let deprecationWarningShown = false;
364
+ const NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
365
+ function getMarkerLines(loc, source, opts, startLineBaseZero) {
366
+ const startLoc = Object.assign({
367
+ column: 0,
368
+ line: -1
369
+ }, loc.start);
370
+ const endLoc = Object.assign({}, startLoc, loc.end);
371
+ const {
372
+ linesAbove = 2,
373
+ linesBelow = 3
374
+ } = opts || {};
375
+ const startLine = startLoc.line - startLineBaseZero;
376
+ const startColumn = startLoc.column;
377
+ const endLine = endLoc.line - startLineBaseZero;
378
+ const endColumn = endLoc.column;
379
+ let start = Math.max(startLine - (linesAbove + 1), 0);
380
+ let end = Math.min(source.length, endLine + linesBelow);
381
+ if (startLine === -1) {
382
+ start = 0;
383
+ }
384
+ if (endLine === -1) {
385
+ end = source.length;
386
+ }
387
+ const lineDiff = endLine - startLine;
388
+ const markerLines = {};
389
+ if (lineDiff) {
390
+ for (let i = 0; i <= lineDiff; i++) {
391
+ const lineNumber = i + startLine;
392
+ if (!startColumn) {
393
+ markerLines[lineNumber] = true;
394
+ } else if (i === 0) {
395
+ const sourceLength = source[lineNumber - 1].length;
396
+ markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];
397
+ } else if (i === lineDiff) {
398
+ markerLines[lineNumber] = [0, endColumn];
399
+ } else {
400
+ const sourceLength = source[lineNumber - i].length;
401
+ markerLines[lineNumber] = [0, sourceLength];
402
+ }
403
+ }
404
+ } else {
405
+ if (startColumn === endColumn) {
406
+ if (startColumn) {
407
+ markerLines[startLine] = [startColumn, 0];
408
+ } else {
409
+ markerLines[startLine] = true;
410
+ }
411
+ } else {
412
+ markerLines[startLine] = [startColumn, endColumn - startColumn];
413
+ }
414
+ }
415
+ return {
416
+ start,
417
+ end,
418
+ markerLines
419
+ };
420
+ }
421
+ function codeFrameColumns(rawLines, loc, opts = {}) {
422
+ const shouldHighlight = opts.forceColor || isColorSupported() && opts.highlightCode;
423
+ const startLineBaseZero = (opts.startLine || 1) - 1;
424
+ const defs = getDefs(shouldHighlight);
425
+ const lines = rawLines.split(NEWLINE);
426
+ const {
427
+ start,
428
+ end,
429
+ markerLines
430
+ } = getMarkerLines(loc, lines, opts, startLineBaseZero);
431
+ const hasColumns = loc.start && typeof loc.start.column === "number";
432
+ const numberMaxWidth = String(end + startLineBaseZero).length;
433
+ const highlightedLines = shouldHighlight ? highlight(rawLines) : rawLines;
434
+ let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line, index) => {
435
+ const number = start + 1 + index;
436
+ const paddedNumber = ` ${number + startLineBaseZero}`.slice(-numberMaxWidth);
437
+ const gutter = ` ${paddedNumber} |`;
438
+ const hasMarker = markerLines[number];
439
+ const lastMarkerLine = !markerLines[number + 1];
440
+ if (hasMarker) {
441
+ let markerLine = "";
442
+ if (Array.isArray(hasMarker)) {
443
+ const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " ");
444
+ const numberOfMarkers = hasMarker[1] || 1;
445
+ markerLine = ["\n ", defs.gutter(gutter.replace(/\d/g, " ")), " ", markerSpacing, defs.marker("^").repeat(numberOfMarkers)].join("");
446
+ if (lastMarkerLine && opts.message) {
447
+ markerLine += " " + defs.message(opts.message);
448
+ }
449
+ }
450
+ return [defs.marker(">"), defs.gutter(gutter), line.length > 0 ? ` ${line}` : "", markerLine].join("");
451
+ } else {
452
+ return ` ${defs.gutter(gutter)}${line.length > 0 ? ` ${line}` : ""}`;
453
+ }
454
+ }).join("\n");
455
+ if (opts.message && !hasColumns) {
456
+ frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message}\n${frame}`;
457
+ }
458
+ if (shouldHighlight) {
459
+ return defs.reset(frame);
460
+ } else {
461
+ return frame;
462
+ }
463
+ }
464
+ function index (rawLines, lineNumber, colNumber, opts = {}) {
465
+ if (!deprecationWarningShown) {
466
+ deprecationWarningShown = true;
467
+ const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";
468
+ if (process.emitWarning) {
469
+ process.emitWarning(message, "DeprecationWarning");
470
+ } else {
471
+ const deprecationError = new Error(message);
472
+ deprecationError.name = "DeprecationWarning";
473
+ console.warn(new Error(message));
474
+ }
475
+ }
476
+ colNumber = Math.max(colNumber, 0);
477
+ const location = {
478
+ start: {
479
+ column: colNumber,
480
+ line: lineNumber
481
+ }
482
+ };
483
+ return codeFrameColumns(rawLines, location, opts);
484
+ }
485
+
486
+ var codeFrameColumns_1 = lib$1.codeFrameColumns = codeFrameColumns;
487
+ lib$1.default = index;
488
+ lib$1.highlight = highlight;
489
+
490
+ const getOffsets = ({
491
+ oneBased,
492
+ oneBasedLine = oneBased,
493
+ oneBasedColumn = oneBased,
494
+ } = {}) => [oneBasedLine ? 1 : 0, oneBasedColumn ? 1 : 0];
495
+
496
+ // Performance https://github.com/sindresorhus/index-to-position/pull/9
497
+ function getPosition(text, textIndex, options) {
498
+ const lineBreakBefore = textIndex === 0 ? -1 : text.lastIndexOf('\n', textIndex - 1);
499
+ const [lineOffset, columnOffset] = getOffsets(options);
500
+ return {
501
+ line: lineBreakBefore === -1
502
+ ? lineOffset
503
+ : text.slice(0, lineBreakBefore + 1).match(/\n/g).length + lineOffset,
504
+ column: textIndex - lineBreakBefore - 1 + columnOffset,
505
+ };
506
+ }
507
+
508
+ function indexToPosition(text, textIndex, options) {
509
+ if (typeof text !== 'string') {
510
+ throw new TypeError('Text parameter should be a string');
511
+ }
512
+
513
+ if (!Number.isInteger(textIndex)) {
514
+ throw new TypeError('Index parameter should be an integer');
515
+ }
516
+
517
+ if (textIndex < 0 || textIndex > text.length) {
518
+ throw new RangeError('Index out of bounds');
519
+ }
520
+
521
+ return getPosition(text, textIndex, options);
522
+ }
523
+
524
+ const getCodePoint = character => `\\u{${character.codePointAt(0).toString(16)}}`;
525
+
526
+ class JSONError extends Error {
527
+ name = 'JSONError';
528
+ fileName;
529
+ #input;
530
+ #jsonParseError;
531
+ #message;
532
+ #codeFrame;
533
+ #rawCodeFrame;
534
+
535
+ constructor(messageOrOptions) {
536
+ // JSONError constructor used accept string
537
+ // TODO[>=9]: Remove this `if` on next major version
538
+ if (typeof messageOrOptions === 'string') {
539
+ super();
540
+ this.#message = messageOrOptions;
541
+ } else {
542
+ const {jsonParseError, fileName, input} = messageOrOptions;
543
+ // We cannot pass message to `super()`, otherwise the message accessor will be overridden.
544
+ // https://262.ecma-international.org/14.0/#sec-error-message
545
+ super(undefined, {cause: jsonParseError});
546
+
547
+ this.#input = input;
548
+ this.#jsonParseError = jsonParseError;
549
+ this.fileName = fileName;
550
+ }
551
+
552
+ Error.captureStackTrace?.(this, JSONError);
553
+ }
554
+
555
+ get message() {
556
+ this.#message ??= `${addCodePointToUnexpectedToken(this.#jsonParseError.message)}${this.#input === '' ? ' while parsing empty string' : ''}`;
557
+
558
+ const {codeFrame} = this;
559
+ return `${this.#message}${this.fileName ? ` in ${this.fileName}` : ''}${codeFrame ? `\n\n${codeFrame}\n` : ''}`;
560
+ }
561
+
562
+ set message(message) {
563
+ this.#message = message;
564
+ }
565
+
566
+ #getCodeFrame(highlightCode) {
567
+ // TODO[>=9]: Remove this `if` on next major version
568
+ if (!this.#jsonParseError) {
569
+ return;
570
+ }
571
+
572
+ const input = this.#input;
573
+
574
+ const location = getErrorLocation(input, this.#jsonParseError.message);
575
+ if (!location) {
576
+ return;
577
+ }
578
+
579
+ return codeFrameColumns_1(input, {start: location}, {highlightCode});
580
+ }
581
+
582
+ get codeFrame() {
583
+ this.#codeFrame ??= this.#getCodeFrame(/* highlightCode */ true);
584
+ return this.#codeFrame;
585
+ }
586
+
587
+ get rawCodeFrame() {
588
+ this.#rawCodeFrame ??= this.#getCodeFrame(/* highlightCode */ false);
589
+ return this.#rawCodeFrame;
590
+ }
591
+ }
592
+
593
+ const getErrorLocation = (string, message) => {
594
+ const match = message.match(/in JSON at position (?<index>\d+)(?: \(line (?<line>\d+) column (?<column>\d+)\))?$/);
595
+
596
+ if (!match) {
597
+ return;
598
+ }
599
+
600
+ const {index, line, column} = match.groups;
601
+
602
+ if (line && column) {
603
+ return {line: Number(line), column: Number(column)};
604
+ }
605
+
606
+ return indexToPosition(string, Number(index), {oneBased: true});
607
+ };
608
+
609
+ const addCodePointToUnexpectedToken = message => message.replace(
610
+ // TODO[engine:node@>=20]: The token always quoted after Node.js 20
611
+ /(?<=^Unexpected token )(?<quote>')?(.)\k<quote>/,
612
+ (_, _quote, token) => `"${token}"(${getCodePoint(token)})`,
613
+ );
614
+
615
+ function parseJson(string, reviver, fileName) {
616
+ if (typeof reviver === 'string') {
617
+ fileName = reviver;
618
+ reviver = undefined;
619
+ }
620
+
621
+ try {
622
+ return JSON.parse(string, reviver);
623
+ } catch (error) {
624
+ throw new JSONError({
625
+ jsonParseError: error,
626
+ fileName,
627
+ input: string,
628
+ });
629
+ }
630
+ }
631
+
632
+ exports.JSONError = JSONError;
633
+ exports.default = parseJson;