Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@babel/helper-string-parser

Package Overview
Dependencies
Maintainers
4
Versions
47
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@babel/helper-string-parser - npm Package Compare versions

Comparing version
8.0.0-rc.4
to
8.0.0-rc.5
+1
-1
lib/index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\n\n// The following character codes are forbidden from being\n// an immediate sibling of NumericLiteralSeparator _\nconst forbiddenNumericSeparatorSiblings = {\n decBinOct: new Set<number>([\n charCodes.dot,\n charCodes.uppercaseB,\n charCodes.uppercaseE,\n charCodes.uppercaseO,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseB,\n charCodes.lowercaseE,\n charCodes.lowercaseO,\n ]),\n hex: new Set<number>([\n charCodes.dot,\n charCodes.uppercaseX,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseX,\n ]),\n};\n\nconst isAllowedNumericSeparatorSibling = {\n // 0 - 1\n bin: (ch: number) => ch === charCodes.digit0 || ch === charCodes.digit1,\n\n // 0 - 7\n oct: (ch: number) => ch >= charCodes.digit0 && ch <= charCodes.digit7,\n\n // 0 - 9\n dec: (ch: number) => ch >= charCodes.digit0 && ch <= charCodes.digit9,\n\n // 0 - 9, A - F, a - f,\n hex: (ch: number) =>\n (ch >= charCodes.digit0 && ch <= charCodes.digit9) ||\n (ch >= charCodes.uppercaseA && ch <= charCodes.uppercaseF) ||\n (ch >= charCodes.lowercaseA && ch <= charCodes.lowercaseF),\n};\n\nexport type StringContentsErrorHandlers = EscapedCharErrorHandlers & {\n unterminated(\n initialPos: number,\n initialLineStart: number,\n initialCurLine: number,\n ): void;\n};\n\nexport function readStringContents(\n type: \"single\" | \"double\" | \"template\",\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n errors: StringContentsErrorHandlers,\n) {\n const initialPos = pos;\n const initialLineStart = lineStart;\n const initialCurLine = curLine;\n\n let out = \"\";\n let firstInvalidLoc = null;\n let chunkStart = pos;\n const { length } = input;\n for (;;) {\n if (pos >= length) {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n out += input.slice(chunkStart, pos);\n break;\n }\n const ch = input.charCodeAt(pos);\n if (isStringEnd(type, ch, input, pos)) {\n out += input.slice(chunkStart, pos);\n break;\n }\n if (ch === charCodes.backslash) {\n out += input.slice(chunkStart, pos);\n const res = readEscapedChar(\n input,\n pos,\n lineStart,\n curLine,\n type === \"template\",\n errors,\n );\n if (res.ch === null && !firstInvalidLoc) {\n firstInvalidLoc = { pos, lineStart, curLine };\n } else {\n out += res.ch;\n }\n ({ pos, lineStart, curLine } = res);\n chunkStart = pos;\n } else if (\n ch === charCodes.lineSeparator ||\n ch === charCodes.paragraphSeparator\n ) {\n ++pos;\n ++curLine;\n lineStart = pos;\n } else if (ch === charCodes.lineFeed || ch === charCodes.carriageReturn) {\n if (type === \"template\") {\n out += input.slice(chunkStart, pos) + \"\\n\";\n ++pos;\n if (\n ch === charCodes.carriageReturn &&\n input.charCodeAt(pos) === charCodes.lineFeed\n ) {\n ++pos;\n }\n ++curLine;\n chunkStart = lineStart = pos;\n } else {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n }\n } else {\n ++pos;\n }\n }\n return { pos, str: out, firstInvalidLoc, lineStart, curLine };\n}\n\nfunction isStringEnd(\n type: \"single\" | \"double\" | \"template\",\n ch: number,\n input: string,\n pos: number,\n) {\n if (type === \"template\") {\n return (\n ch === charCodes.graveAccent ||\n (ch === charCodes.dollarSign &&\n input.charCodeAt(pos + 1) === charCodes.leftCurlyBrace)\n );\n }\n return (\n ch === (type === \"double\" ? charCodes.quotationMark : charCodes.apostrophe)\n );\n}\n\ntype EscapedCharErrorHandlers = HexCharErrorHandlers &\n CodePointErrorHandlers & {\n strictNumericEscape(pos: number, lineStart: number, curLine: number): void;\n };\n\nfunction readEscapedChar(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n inTemplate: boolean,\n errors: EscapedCharErrorHandlers,\n) {\n const throwOnInvalid = !inTemplate;\n pos++; // skip '\\'\n\n const res = (ch: string | null) => ({ pos, ch, lineStart, curLine });\n\n const ch = input.charCodeAt(pos++);\n switch (ch) {\n case charCodes.lowercaseN:\n return res(\"\\n\");\n case charCodes.lowercaseR:\n return res(\"\\r\");\n case charCodes.lowercaseX: {\n let code;\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n 2,\n false,\n throwOnInvalid,\n errors,\n ));\n return res(code === null ? null : String.fromCharCode(code));\n }\n case charCodes.lowercaseU: {\n let code;\n ({ code, pos } = readCodePoint(\n input,\n pos,\n lineStart,\n curLine,\n throwOnInvalid,\n errors,\n ));\n return res(code === null ? null : String.fromCodePoint(code));\n }\n case charCodes.lowercaseT:\n return res(\"\\t\");\n case charCodes.lowercaseB:\n return res(\"\\b\");\n case charCodes.lowercaseV:\n return res(\"\\u000b\");\n case charCodes.lowercaseF:\n return res(\"\\f\");\n case charCodes.carriageReturn:\n if (input.charCodeAt(pos) === charCodes.lineFeed) {\n ++pos;\n }\n // fall through\n case charCodes.lineFeed:\n lineStart = pos;\n ++curLine;\n // fall through\n case charCodes.lineSeparator:\n case charCodes.paragraphSeparator:\n return res(\"\");\n case charCodes.digit8:\n case charCodes.digit9:\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(pos - 1, lineStart, curLine);\n }\n // fall through\n default:\n if (ch >= charCodes.digit0 && ch <= charCodes.digit7) {\n const startPos = pos - 1;\n const match = /^[0-7]+/.exec(input.slice(startPos, pos + 2))!;\n\n let octalStr = match[0];\n\n let octal = parseInt(octalStr, 8);\n if (octal > 255) {\n octalStr = octalStr.slice(0, -1);\n octal = parseInt(octalStr, 8);\n }\n pos += octalStr.length - 1;\n const next = input.charCodeAt(pos);\n if (\n octalStr !== \"0\" ||\n next === charCodes.digit8 ||\n next === charCodes.digit9\n ) {\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(startPos, lineStart, curLine);\n }\n }\n\n return res(String.fromCharCode(octal));\n }\n\n return res(String.fromCharCode(ch));\n }\n}\n\ntype HexCharErrorHandlers = IntErrorHandlers & {\n invalidEscapeSequence(pos: number, lineStart: number, curLine: number): void;\n};\n\n// Used to read character escape sequences ('\\x', '\\u').\nfunction readHexChar(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n len: number,\n forceLen: boolean,\n throwOnInvalid: boolean,\n errors: HexCharErrorHandlers,\n) {\n const initialPos = pos;\n let n;\n ({ n, pos } = readInt(\n input,\n pos,\n lineStart,\n curLine,\n 16,\n len,\n forceLen,\n false,\n errors,\n /* bailOnError */ !throwOnInvalid,\n ));\n if (n === null) {\n if (throwOnInvalid) {\n errors.invalidEscapeSequence(initialPos, lineStart, curLine);\n } else {\n pos = initialPos - 1;\n }\n }\n return { code: n, pos };\n}\n\nexport type IntErrorHandlers = {\n numericSeparatorInEscapeSequence(\n pos: number,\n lineStart: number,\n curLine: number,\n ): void;\n unexpectedNumericSeparator(\n pos: number,\n lineStart: number,\n curLine: number,\n ): void;\n // It can return \"true\" to indicate that the error was handled\n // and the int parsing should continue.\n invalidDigit(\n pos: number,\n lineStart: number,\n curLine: number,\n radix: number,\n ): boolean;\n};\n\nexport function readInt(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n radix: number,\n len: number | undefined,\n forceLen: boolean,\n allowNumSeparator: boolean | \"bail\",\n errors: IntErrorHandlers,\n bailOnError: boolean,\n) {\n const start = pos;\n const forbiddenSiblings =\n radix === 16\n ? forbiddenNumericSeparatorSiblings.hex\n : forbiddenNumericSeparatorSiblings.decBinOct;\n const isAllowedSibling =\n radix === 16\n ? isAllowedNumericSeparatorSibling.hex\n : radix === 10\n ? isAllowedNumericSeparatorSibling.dec\n : radix === 8\n ? isAllowedNumericSeparatorSibling.oct\n : isAllowedNumericSeparatorSibling.bin;\n\n let invalid = false;\n let total = 0;\n\n for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {\n const code = input.charCodeAt(pos);\n let val;\n\n if (code === charCodes.underscore && allowNumSeparator !== \"bail\") {\n const prev = input.charCodeAt(pos - 1);\n const next = input.charCodeAt(pos + 1);\n\n if (!allowNumSeparator) {\n if (bailOnError) return { n: null, pos };\n errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine);\n } else if (\n Number.isNaN(next) ||\n !isAllowedSibling(next) ||\n forbiddenSiblings.has(prev) ||\n forbiddenSiblings.has(next)\n ) {\n if (bailOnError) return { n: null, pos };\n errors.unexpectedNumericSeparator(pos, lineStart, curLine);\n }\n\n // Ignore this _ character\n ++pos;\n continue;\n }\n\n if (code >= charCodes.lowercaseA) {\n val = code - charCodes.lowercaseA + charCodes.lineFeed;\n } else if (code >= charCodes.uppercaseA) {\n val = code - charCodes.uppercaseA + charCodes.lineFeed;\n } else if (charCodes.isDigit(code)) {\n val = code - charCodes.digit0; // 0-9\n } else {\n val = Infinity;\n }\n if (val >= radix) {\n // If we found a digit which is too big, errors.invalidDigit can return true to avoid\n // breaking the loop (this is used for error recovery).\n if (val <= 9 && bailOnError) {\n return { n: null, pos };\n } else if (\n val <= 9 &&\n errors.invalidDigit(pos, lineStart, curLine, radix)\n ) {\n val = 0;\n } else if (forceLen) {\n val = 0;\n invalid = true;\n } else {\n break;\n }\n }\n ++pos;\n total = total * radix + val;\n }\n if (pos === start || (len != null && pos - start !== len) || invalid) {\n return { n: null, pos };\n }\n\n return { n: total, pos };\n}\n\nexport type CodePointErrorHandlers = HexCharErrorHandlers & {\n invalidCodePoint(pos: number, lineStart: number, curLine: number): void;\n};\n\nexport function readCodePoint(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n throwOnInvalid: boolean,\n errors: CodePointErrorHandlers,\n) {\n const ch = input.charCodeAt(pos);\n let code;\n\n if (ch === charCodes.leftCurlyBrace) {\n ++pos;\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n input.indexOf(\"}\", pos) - pos,\n true,\n throwOnInvalid,\n errors,\n ));\n ++pos;\n if (code !== null && code > 0x10ffff) {\n if (throwOnInvalid) {\n errors.invalidCodePoint(pos, lineStart, curLine);\n } else {\n return { code: null, pos };\n }\n }\n } else {\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n 4,\n false,\n throwOnInvalid,\n errors,\n ));\n }\n return { code, pos };\n}\n"],"names":["isDigit","code","forbiddenNumericSeparatorSiblings","decBinOct","Set","hex","isAllowedNumericSeparatorSibling","bin","ch","oct","dec","readStringContents","type","input","pos","lineStart","curLine","errors","initialPos","initialLineStart","initialCurLine","out","firstInvalidLoc","chunkStart","length","unterminated","slice","charCodeAt","isStringEnd","res","readEscapedChar","str","inTemplate","throwOnInvalid","readHexChar","String","fromCharCode","readCodePoint","fromCodePoint","strictNumericEscape","startPos","match","exec","octalStr","octal","parseInt","next","len","forceLen","n","readInt","invalidEscapeSequence","radix","allowNumSeparator","bailOnError","start","forbiddenSiblings","isAllowedSibling","invalid","total","i","e","Infinity","val","prev","numericSeparatorInEscapeSequence","Number","isNaN","has","unexpectedNumericSeparator","_isDigit","invalidDigit","indexOf","invalidCodePoint"],"mappings":"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"}
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import * as charCodes from \"charcodes\";\n\n// The following character codes are forbidden from being\n// an immediate sibling of NumericLiteralSeparator _\nconst forbiddenNumericSeparatorSiblings = {\n decBinOct: new Set<number>([\n charCodes.dot,\n charCodes.uppercaseB,\n charCodes.uppercaseE,\n charCodes.uppercaseO,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseB,\n charCodes.lowercaseE,\n charCodes.lowercaseO,\n ]),\n hex: new Set<number>([\n charCodes.dot,\n charCodes.uppercaseX,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseX,\n ]),\n};\n\nconst isAllowedNumericSeparatorSibling = {\n // 0 - 1\n bin: (ch: number) => ch === charCodes.digit0 || ch === charCodes.digit1,\n\n // 0 - 7\n oct: (ch: number) => ch >= charCodes.digit0 && ch <= charCodes.digit7,\n\n // 0 - 9\n dec: (ch: number) => ch >= charCodes.digit0 && ch <= charCodes.digit9,\n\n // 0 - 9, A - F, a - f,\n hex: (ch: number) =>\n (ch >= charCodes.digit0 && ch <= charCodes.digit9) ||\n (ch >= charCodes.uppercaseA && ch <= charCodes.uppercaseF) ||\n (ch >= charCodes.lowercaseA && ch <= charCodes.lowercaseF),\n};\n\nexport type StringContentsErrorHandlers = EscapedCharErrorHandlers & {\n unterminated(\n initialPos: number,\n initialLineStart: number,\n initialCurLine: number,\n ): void;\n};\n\nexport function readStringContents(\n type: \"single\" | \"double\" | \"template\",\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n errors: StringContentsErrorHandlers,\n) {\n const initialPos = pos;\n const initialLineStart = lineStart;\n const initialCurLine = curLine;\n\n let out = \"\";\n let firstInvalidLoc = null;\n let chunkStart = pos;\n const { length } = input;\n for (;;) {\n if (pos >= length) {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n out += input.slice(chunkStart, pos);\n break;\n }\n const ch = input.charCodeAt(pos);\n if (isStringEnd(type, ch, input, pos)) {\n out += input.slice(chunkStart, pos);\n break;\n }\n if (ch === charCodes.backslash) {\n out += input.slice(chunkStart, pos);\n const res = readEscapedChar(\n input,\n pos,\n lineStart,\n curLine,\n type === \"template\",\n errors,\n );\n if (res.ch === null && !firstInvalidLoc) {\n firstInvalidLoc = { pos, lineStart, curLine };\n } else {\n out += res.ch;\n }\n ({ pos, lineStart, curLine } = res);\n chunkStart = pos;\n } else if (\n ch === charCodes.lineSeparator ||\n ch === charCodes.paragraphSeparator\n ) {\n ++pos;\n ++curLine;\n lineStart = pos;\n } else if (ch === charCodes.lineFeed || ch === charCodes.carriageReturn) {\n if (type === \"template\") {\n out += input.slice(chunkStart, pos) + \"\\n\";\n ++pos;\n if (\n ch === charCodes.carriageReturn &&\n input.charCodeAt(pos) === charCodes.lineFeed\n ) {\n ++pos;\n }\n ++curLine;\n chunkStart = lineStart = pos;\n } else {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n }\n } else {\n ++pos;\n }\n }\n return { pos, str: out, firstInvalidLoc, lineStart, curLine };\n}\n\nfunction isStringEnd(\n type: \"single\" | \"double\" | \"template\",\n ch: number,\n input: string,\n pos: number,\n) {\n if (type === \"template\") {\n return (\n ch === charCodes.graveAccent ||\n (ch === charCodes.dollarSign &&\n input.charCodeAt(pos + 1) === charCodes.leftCurlyBrace)\n );\n }\n return (\n ch === (type === \"double\" ? charCodes.quotationMark : charCodes.apostrophe)\n );\n}\n\ntype EscapedCharErrorHandlers = HexCharErrorHandlers &\n CodePointErrorHandlers & {\n strictNumericEscape(pos: number, lineStart: number, curLine: number): void;\n };\n\nfunction readEscapedChar(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n inTemplate: boolean,\n errors: EscapedCharErrorHandlers,\n) {\n const throwOnInvalid = !inTemplate;\n pos++; // skip '\\'\n\n const res = (ch: string | null) => ({ pos, ch, lineStart, curLine });\n\n const ch = input.charCodeAt(pos++);\n switch (ch) {\n case charCodes.lowercaseN:\n return res(\"\\n\");\n case charCodes.lowercaseR:\n return res(\"\\r\");\n case charCodes.lowercaseX: {\n let code;\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n 2,\n false,\n throwOnInvalid,\n errors,\n ));\n return res(code === null ? null : String.fromCharCode(code));\n }\n case charCodes.lowercaseU: {\n let code;\n ({ code, pos } = readCodePoint(\n input,\n pos,\n lineStart,\n curLine,\n throwOnInvalid,\n errors,\n ));\n return res(code === null ? null : String.fromCodePoint(code));\n }\n case charCodes.lowercaseT:\n return res(\"\\t\");\n case charCodes.lowercaseB:\n return res(\"\\b\");\n case charCodes.lowercaseV:\n return res(\"\\u000b\");\n case charCodes.lowercaseF:\n return res(\"\\f\");\n case charCodes.carriageReturn:\n if (input.charCodeAt(pos) === charCodes.lineFeed) {\n ++pos;\n }\n // fall through\n case charCodes.lineFeed:\n lineStart = pos;\n ++curLine;\n // fall through\n case charCodes.lineSeparator:\n case charCodes.paragraphSeparator:\n return res(\"\");\n case charCodes.digit8:\n case charCodes.digit9:\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(pos - 1, lineStart, curLine);\n }\n // fall through\n default:\n if (ch >= charCodes.digit0 && ch <= charCodes.digit7) {\n const startPos = pos - 1;\n const match = /^[0-7]+/.exec(input.slice(startPos, pos + 2))!;\n\n let octalStr = match[0];\n\n let octal = parseInt(octalStr, 8);\n if (octal > 255) {\n octalStr = octalStr.slice(0, -1);\n octal = parseInt(octalStr, 8);\n }\n pos += octalStr.length - 1;\n const next = input.charCodeAt(pos);\n if (\n octalStr !== \"0\" ||\n next === charCodes.digit8 ||\n next === charCodes.digit9\n ) {\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(startPos, lineStart, curLine);\n }\n }\n\n return res(String.fromCharCode(octal));\n }\n\n return res(String.fromCharCode(ch));\n }\n}\n\ntype HexCharErrorHandlers = IntErrorHandlers & {\n invalidEscapeSequence(pos: number, lineStart: number, curLine: number): void;\n};\n\n// Used to read character escape sequences ('\\x', '\\u').\nfunction readHexChar(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n len: number,\n forceLen: boolean,\n throwOnInvalid: boolean,\n errors: HexCharErrorHandlers,\n) {\n const initialPos = pos;\n let n;\n ({ n, pos } = readInt(\n input,\n pos,\n lineStart,\n curLine,\n 16,\n len,\n forceLen,\n false,\n errors,\n /* bailOnError */ !throwOnInvalid,\n ));\n if (n === null) {\n if (throwOnInvalid) {\n errors.invalidEscapeSequence(initialPos, lineStart, curLine);\n } else {\n pos = initialPos - 1;\n }\n }\n return { code: n, pos };\n}\n\nexport type IntErrorHandlers = {\n numericSeparatorInEscapeSequence(\n pos: number,\n lineStart: number,\n curLine: number,\n ): void;\n unexpectedNumericSeparator(\n pos: number,\n lineStart: number,\n curLine: number,\n ): void;\n // It can return \"true\" to indicate that the error was handled\n // and the int parsing should continue.\n invalidDigit(\n pos: number,\n lineStart: number,\n curLine: number,\n radix: number,\n ): boolean;\n};\n\nexport function readInt(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n radix: number,\n len: number | undefined,\n forceLen: boolean,\n allowNumSeparator: boolean | \"bail\",\n errors: IntErrorHandlers,\n bailOnError: boolean,\n) {\n const start = pos;\n const forbiddenSiblings =\n radix === 16\n ? forbiddenNumericSeparatorSiblings.hex\n : forbiddenNumericSeparatorSiblings.decBinOct;\n const isAllowedSibling =\n radix === 16\n ? isAllowedNumericSeparatorSibling.hex\n : radix === 10\n ? isAllowedNumericSeparatorSibling.dec\n : radix === 8\n ? isAllowedNumericSeparatorSibling.oct\n : isAllowedNumericSeparatorSibling.bin;\n\n let invalid = false;\n let total = 0;\n\n for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {\n const code = input.charCodeAt(pos);\n let val;\n\n if (code === charCodes.underscore && allowNumSeparator !== \"bail\") {\n const prev = input.charCodeAt(pos - 1);\n const next = input.charCodeAt(pos + 1);\n\n if (!allowNumSeparator) {\n if (bailOnError) return { n: null, pos };\n errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine);\n } else if (\n Number.isNaN(next) ||\n !isAllowedSibling(next) ||\n forbiddenSiblings.has(prev) ||\n forbiddenSiblings.has(next)\n ) {\n if (bailOnError) return { n: null, pos };\n errors.unexpectedNumericSeparator(pos, lineStart, curLine);\n }\n\n // Ignore this _ character\n ++pos;\n continue;\n }\n\n if (code >= charCodes.lowercaseA) {\n val = code - charCodes.lowercaseA + charCodes.lineFeed;\n } else if (code >= charCodes.uppercaseA) {\n val = code - charCodes.uppercaseA + charCodes.lineFeed;\n } else if (charCodes.isDigit(code)) {\n val = code - charCodes.digit0; // 0-9\n } else {\n val = Infinity;\n }\n if (val >= radix) {\n // If we found a digit which is too big, errors.invalidDigit can return true to avoid\n // breaking the loop (this is used for error recovery).\n if (val <= 9 && bailOnError) {\n return { n: null, pos };\n } else if (\n val <= 9 &&\n errors.invalidDigit(pos, lineStart, curLine, radix)\n ) {\n val = 0;\n } else if (forceLen) {\n val = 0;\n invalid = true;\n } else {\n break;\n }\n }\n ++pos;\n total = total * radix + val;\n }\n if (pos === start || (len != null && pos - start !== len) || invalid) {\n return { n: null, pos };\n }\n\n return { n: total, pos };\n}\n\nexport type CodePointErrorHandlers = HexCharErrorHandlers & {\n invalidCodePoint(pos: number, lineStart: number, curLine: number): void;\n};\n\nexport function readCodePoint(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n throwOnInvalid: boolean,\n errors: CodePointErrorHandlers,\n) {\n const ch = input.charCodeAt(pos);\n let code;\n\n if (ch === charCodes.leftCurlyBrace) {\n ++pos;\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n input.indexOf(\"}\", pos) - pos,\n true,\n throwOnInvalid,\n errors,\n ));\n ++pos;\n if (code !== null && code > 0x10ffff) {\n if (throwOnInvalid) {\n errors.invalidCodePoint(pos, lineStart, curLine);\n } else {\n return { code: null, pos };\n }\n }\n } else {\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n 4,\n false,\n throwOnInvalid,\n errors,\n ));\n }\n return { code, pos };\n}\n"],"names":["isDigit","code","forbiddenNumericSeparatorSiblings","decBinOct","Set","hex","isAllowedNumericSeparatorSibling","bin","ch","oct","dec","readStringContents","type","input","pos","lineStart","curLine","errors","initialPos","initialLineStart","initialCurLine","out","firstInvalidLoc","chunkStart","length","unterminated","slice","charCodeAt","isStringEnd","res","readEscapedChar","str","inTemplate","throwOnInvalid","readHexChar","String","fromCharCode","readCodePoint","fromCodePoint","strictNumericEscape","startPos","match","exec","octalStr","octal","parseInt","next","len","forceLen","n","readInt","invalidEscapeSequence","radix","allowNumSeparator","bailOnError","start","forbiddenSiblings","isAllowedSibling","invalid","total","i","e","Infinity","val","prev","numericSeparatorInEscapeSequence","Number","isNaN","has","unexpectedNumericSeparator","_isDigit","invalidDigit","indexOf","invalidCodePoint"],"mappings":"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"}
{
"name": "@babel/helper-string-parser",
"version": "8.0.0-rc.4",
"version": "8.0.0-rc.5",
"description": "A utility package to parse strings",

@@ -20,3 +20,3 @@ "repository": {

"engines": {
"node": "^20.19.0 || >=22.12.0"
"node": "^22.18.0 || >=24.11.0"
},

@@ -23,0 +23,0 @@ "author": "The Babel Team (https://babel.dev/team)",