2 Object.defineProperty(exports, "__esModule", { value: true });
3 exports.parseJsonString = exports.parseJsonNumber = exports.parseJson = void 0;
4 const rxParseJson = /position\s(\d+)$/;
5 function parseJson(s, pos) {
7 parseJson.message = undefined;
12 parseJson.position = pos + s.length;
16 matches = rxParseJson.exec(e.message);
18 parseJson.message = "unexpected end";
23 s = s.slice(0, endPos);
24 parseJson.position = pos + endPos;
29 parseJson.message = `unexpected token ${c}`;
34 exports.parseJson = parseJson;
35 parseJson.message = undefined;
36 parseJson.position = 0;
37 parseJson.code = 'require("ajv/dist/runtime/parseJson").parseJson';
38 function parseJsonNumber(s, pos, maxDigits) {
41 parseJsonNumber.message = undefined;
51 if (!parseDigits(maxDigits)) {
57 parseJsonNumber.position = pos;
68 if (((c = s[pos]), c === "e" || c === "E")) {
71 if (((c = s[pos]), c === "+" || c === "-")) {
80 parseJsonNumber.position = pos;
82 function parseDigits(maxLen) {
84 while (((c = s[pos]), c >= "0" && c <= "9" && (maxLen === undefined || maxLen-- > 0))) {
91 function errorMessage() {
92 parseJsonNumber.position = pos;
93 parseJsonNumber.message = pos < s.length ? `unexpected token ${s[pos]}` : "unexpected end";
96 exports.parseJsonNumber = parseJsonNumber;
97 parseJsonNumber.message = undefined;
98 parseJsonNumber.position = 0;
99 parseJsonNumber.code = 'require("ajv/dist/runtime/parseJson").parseJsonNumber';
100 const escapedChars = {
110 const CODE_A = "a".charCodeAt(0);
111 const CODE_0 = "0".charCodeAt(0);
112 function parseJsonString(s, pos) {
115 parseJsonString.message = undefined;
116 // eslint-disable-next-line no-constant-condition, @typescript-eslint/no-unnecessary-condition
123 if (c in escapedChars) {
124 str += escapedChars[c];
127 else if (c === "u") {
134 if (c === undefined) {
135 errorMessage("unexpected end");
139 if (c >= "a" && c <= "f") {
140 code += c.charCodeAt(0) - CODE_A + 10;
142 else if (c >= "0" && c <= "9") {
143 code += c.charCodeAt(0) - CODE_0;
146 errorMessage(`unexpected token ${c}`);
151 str += String.fromCharCode(code);
154 errorMessage(`unexpected token ${c}`);
157 // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
159 else if (c === undefined) {
160 errorMessage("unexpected end");
164 if (c.charCodeAt(0) >= 0x20) {
168 errorMessage(`unexpected token ${c}`);
173 parseJsonString.position = pos;
175 function errorMessage(msg) {
176 parseJsonString.position = pos;
177 parseJsonString.message = msg;
180 exports.parseJsonString = parseJsonString;
181 parseJsonString.message = undefined;
182 parseJsonString.position = 0;
183 parseJsonString.code = 'require("ajv/dist/runtime/parseJson").parseJsonString';
184 //# sourceMappingURL=parseJson.js.map