@thomasfosterau/effect-parse 0.3.0 → 0.4.1
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.
- package/README.md +3 -1
- package/dist/Ascii.d.ts +0 -2
- package/dist/Ascii.d.ts.map +1 -1
- package/dist/Ascii.js +6 -6
- package/dist/Ascii.js.map +1 -1
- package/dist/Binary.d.ts +0 -2
- package/dist/Binary.d.ts.map +1 -1
- package/dist/Binary.js +1 -2
- package/dist/Bits.d.ts +0 -2
- package/dist/Bits.d.ts.map +1 -1
- package/dist/Bits.js +2 -3
- package/dist/Bits.js.map +1 -1
- package/dist/Compiler.d.ts +0 -2
- package/dist/Compiler.d.ts.map +1 -1
- package/dist/Compiler.js +1 -2
- package/dist/Encoding.d.ts +0 -2
- package/dist/Encoding.d.ts.map +1 -1
- package/dist/Encoding.js +1 -2
- package/dist/Expression.d.ts +0 -2
- package/dist/Expression.d.ts.map +1 -1
- package/dist/Expression.js +44 -8
- package/dist/Expression.js.map +1 -1
- package/dist/Input.d.ts +32 -4
- package/dist/Input.d.ts.map +1 -1
- package/dist/Input.js +47 -8
- package/dist/Input.js.map +1 -1
- package/dist/Nom.d.ts +0 -2
- package/dist/Nom.d.ts.map +1 -1
- package/dist/Nom.js +1 -2
- package/dist/ParseError.d.ts +2 -4
- package/dist/ParseError.d.ts.map +1 -1
- package/dist/ParseError.js +6 -9
- package/dist/ParseError.js.map +1 -1
- package/dist/Parser.d.ts +6 -4
- package/dist/Parser.d.ts.map +1 -1
- package/dist/Parser.js +26 -24
- package/dist/Parser.js.map +1 -1
- package/dist/ParserSchema.d.ts +0 -2
- package/dist/ParserSchema.d.ts.map +1 -1
- package/dist/ParserSchema.js +3 -4
- package/dist/ParserSchema.js.map +1 -1
- package/dist/ParserStream.d.ts +0 -2
- package/dist/ParserStream.d.ts.map +1 -1
- package/dist/ParserStream.js +17 -10
- package/dist/ParserStream.js.map +1 -1
- package/dist/Syntax.d.ts +0 -2
- package/dist/Syntax.d.ts.map +1 -1
- package/dist/Syntax.js +13 -11
- package/dist/Syntax.js.map +1 -1
- package/dist/Text.d.ts +0 -2
- package/dist/Text.d.ts.map +1 -1
- package/dist/Text.js +1 -2
- package/dist/Token.d.ts +0 -2
- package/dist/Token.d.ts.map +1 -1
- package/dist/Token.js +1 -2
- package/dist/internal/compiler/closure.d.ts +5 -2
- package/dist/internal/compiler/closure.d.ts.map +1 -1
- package/dist/internal/compiler/closure.js +160 -92
- package/dist/internal/compiler/closure.js.map +1 -1
- package/dist/internal/compiler/entries.d.ts +0 -2
- package/dist/internal/compiler/entries.d.ts.map +1 -1
- package/dist/internal/compiler/entries.js +6 -7
- package/dist/internal/compiler/entries.js.map +1 -1
- package/dist/internal/compiler/first.d.ts +0 -2
- package/dist/internal/compiler/first.d.ts.map +1 -1
- package/dist/internal/compiler/first.js +10 -10
- package/dist/internal/compiler/first.js.map +1 -1
- package/dist/internal/compiler/jit.d.ts +0 -2
- package/dist/internal/compiler/jit.d.ts.map +1 -1
- package/dist/internal/compiler/jit.js +52 -51
- package/dist/internal/compiler/jit.js.map +1 -1
- package/dist/internal/compiler/registry.d.ts +0 -2
- package/dist/internal/compiler/registry.d.ts.map +1 -1
- package/dist/internal/compiler/registry.js +1 -2
- package/dist/internal/compiler/sets.d.ts +2 -2
- package/dist/internal/compiler/sets.d.ts.map +1 -1
- package/dist/internal/compiler/sets.js +8 -3
- package/dist/internal/compiler/sets.js.map +1 -1
- package/dist/internal/entries.d.ts +0 -2
- package/dist/internal/entries.d.ts.map +1 -1
- package/dist/internal/entries.js +2 -4
- package/dist/internal/entries.js.map +1 -1
- package/dist/internal/key.d.ts +10 -0
- package/dist/internal/key.d.ts.map +1 -0
- package/dist/internal/key.js +11 -0
- package/dist/internal/key.js.map +1 -0
- package/dist/internal/node.d.ts +11 -4
- package/dist/internal/node.d.ts.map +1 -1
- package/dist/internal/node.js +15 -3
- package/dist/internal/node.js.map +1 -1
- package/dist/internal/numbers.d.ts +0 -2
- package/dist/internal/numbers.d.ts.map +1 -1
- package/dist/internal/numbers.js +1 -2
- package/dist/internal/resume.d.ts +5 -6
- package/dist/internal/resume.d.ts.map +1 -1
- package/dist/internal/resume.js +1 -2
- package/dist/internal/resume.js.map +1 -1
- package/dist/internal/run.d.ts +0 -2
- package/dist/internal/run.d.ts.map +1 -1
- package/dist/internal/run.js +2 -3
- package/dist/internal/run.js.map +1 -1
- package/dist/internal/stack.d.ts +0 -2
- package/dist/internal/stack.d.ts.map +1 -1
- package/dist/internal/stack.js +1 -2
- package/dist/internal/syntax.d.ts +30 -20
- package/dist/internal/syntax.d.ts.map +1 -1
- package/dist/internal/syntax.js +73 -66
- package/dist/internal/syntax.js.map +1 -1
- package/dist/internal/text.d.ts +5 -2
- package/dist/internal/text.d.ts.map +1 -1
- package/dist/internal/text.js +14 -5
- package/dist/internal/text.js.map +1 -1
- package/dist/internal/ties.d.ts +0 -2
- package/dist/internal/ties.d.ts.map +1 -1
- package/dist/internal/ties.js +1 -2
- package/dist/internal/tokens.d.ts +10 -9
- package/dist/internal/tokens.d.ts.map +1 -1
- package/dist/internal/tokens.js +4 -8
- package/dist/internal/tokens.js.map +1 -1
- package/package.json +7 -7
- package/src/Ascii.ts +6 -5
- package/src/Bits.ts +1 -1
- package/src/Expression.ts +7 -6
- package/src/Input.ts +50 -11
- package/src/ParseError.ts +13 -9
- package/src/Parser.ts +30 -25
- package/src/ParserSchema.ts +1 -1
- package/src/ParserStream.ts +23 -9
- package/src/Syntax.ts +12 -9
- package/src/internal/compiler/closure.ts +202 -90
- package/src/internal/compiler/entries.ts +14 -11
- package/src/internal/compiler/first.ts +9 -8
- package/src/internal/compiler/jit.ts +95 -74
- package/src/internal/compiler/sets.ts +7 -0
- package/src/internal/entries.ts +2 -2
- package/src/internal/key.ts +11 -0
- package/src/internal/node.ts +19 -2
- package/src/internal/resume.ts +5 -4
- package/src/internal/run.ts +1 -1
- package/src/internal/syntax.ts +78 -87
- package/src/internal/text.ts +24 -4
- package/src/internal/tokens.ts +20 -13
package/dist/ParseError.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParseError.js","names":[],"sources":["../src/ParseError.ts"],"sourcesContent":["/**\n * The error type produced when running a parser.\n *\n * `ParseError` merges winnow's `ContextError`/`ParseError` and nom's\n * `VerboseError`. It records where parsing failed, what was expected there,\n * the context labels that were active, and an optional typed `cause`\n * produced by `Parser.fail`, `Parser.tryMap` and friends. Its `message`\n * shows the failing position in the input:\n *\n * ```text\n * Parse error at line 1, column 4:\n * 1 | [1,,2]\n * | ^\n * expected digit\n * ```\n *\n * `ParseError` is a `Data.TaggedError`, so it can be yielded directly inside\n * `Effect.gen`.\n *\n * @since 0.1.0\n */\nimport * as Predicate from \"effect/Predicate\"\nimport * as Data from \"effect/Data\"\nimport * as Option from \"effect/Option\"\nimport type { Encoding } from \"./Encoding.js\"\nimport type { ErrMode, Failure, Input } from \"./Input.js\"\nimport * as text from \"./internal/text.js\"\n\n/**\n * The kind of parser that produced an error, in the spirit of nom's\n * `ErrorKind`.\n *\n * `\"TooDeep\"` is not produced by a parser: the runners report it when\n * deeply nested input exhausts the call stack (see `Parser.suspend`).\n *\n * @since 0.1.0\n * @category models\n */\nexport type ErrorKind =\n | \"Alpha\"\n | \"AlphaNumeric\"\n | \"Alt\"\n | \"Assert\"\n | \"Bits\"\n | \"Complete\"\n | \"CrLf\"\n | \"Digit\"\n | \"Dispatch\"\n | \"Eof\"\n | \"Escaped\"\n | \"Fail\"\n | \"Float\"\n | \"HexDigit\"\n | \"Incomplete\"\n | \"LineEnding\"\n | \"Literal\"\n | \"Many\"\n | \"MultiSpace\"\n | \"NoneOf\"\n | \"Not\"\n | \"OctDigit\"\n | \"OneOf\"\n | \"Permutation\"\n | \"Separated\"\n | \"Slice\"\n | \"Space\"\n | \"Take\"\n | \"TakeUntil\"\n | \"TakeWhile\"\n | \"Token\"\n | \"TooDeep\"\n | \"Verify\"\n\n/**\n * @since 0.1.0\n * @category type ids\n */\nexport const TypeId = \"~effect-parse/ParseError\" as const\n\n/**\n * An error produced by running a parser.\n *\n * @since 0.1.0\n * @category models\n */\nexport class ParseError<out E = never>\n extends /*#__PURE__*/ Data.TaggedError(\"ParseError\")<{\n /** The input that was being parsed. */\n readonly input: Input\n /** The offset of the failure in the input. */\n readonly offset: number\n /** The kind of parser that failed. */\n readonly kind: ErrorKind\n /** How the error propagated before parsing stopped. */\n readonly mode: ErrMode\n /** Descriptions of what was expected at `offset`. */\n readonly expected: ReadonlyArray<string>\n /** Context labels (`Parser.context`), innermost first. */\n readonly context: ReadonlyArray<string>\n /** The user supplied cause, if any. */\n readonly cause: E | undefined\n /** An optional free-form description. */\n readonly description: string | undefined\n /**\n * For byte inputs parsed by `Text` parsers, the text encoding. Errors\n * then show the input as text, with line and column numbers.\n */\n readonly encoding?: Encoding<Uint8Array> | undefined\n }>\n{\n /**\n * @since 0.1.0\n */\n readonly [TypeId]: typeof TypeId = TypeId\n\n /**\n * The 1-based line and column of the failure (for strings and encoded\n * text; for other inputs the line is 1 and the column is `offset + 1`).\n *\n * @since 0.1.0\n */\n get position(): LineColumn {\n return lineColumn(this.input, this.offset, this.encoding)\n }\n\n /**\n * The rendered, human-readable error message.\n *\n * @since 0.1.0\n */\n override get message(): string {\n return render(this)\n }\n\n /**\n * @since 0.1.0\n */\n override toString(): string {\n return `ParseError: ${this.message}`\n }\n}\n\n/**\n * @since 0.1.0\n * @category guards\n */\nexport const isParseError = (u: unknown): u is ParseError<unknown> => Predicate.isObjectOrArray(u) && TypeId in u\n\n/**\n * Builds a `ParseError` from the failure details recorded while parsing.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const fromFailure = <E = never>(\n input: Input,\n failure: Failure,\n mode: ErrMode,\n encoding?: Encoding<any> | undefined\n): ParseError<E> =>\n new ParseError<E>({\n input,\n offset: failure.offset,\n kind: failure.kind,\n mode,\n expected: failure.expected,\n context: failure.context,\n cause: failure.hasCause ? (failure.cause as E) : undefined,\n description: failure.message,\n encoding: input instanceof Uint8Array ? encoding : undefined\n })\n\n/**\n * The user supplied cause of an error, if any.\n *\n * @since 0.1.0\n * @category getters\n */\nexport const getCause = <E>(self: ParseError<E>): Option.Option<E> =>\n self.cause === undefined ? Option.none() : Option.some(self.cause)\n\n/**\n * A 1-based line/column position.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface LineColumn {\n readonly line: number\n readonly column: number\n}\n\n/**\n * Computes the 1-based line and column (in code points) of an offset. Lines\n * are separated by `\\n`. Byte inputs are read as text when an `encoding`\n * is given. For other inputs the line is always 1 and the column is\n * `offset + 1`.\n *\n * @since 0.1.0\n * @category utils\n */\nexport const lineColumn = (input: Input, offset: number, encoding?: Encoding<any> | undefined): LineColumn => {\n if (encoding !== undefined && input instanceof Uint8Array) {\n let line = 1\n let column = 1\n text.walk(encoding, input, 0, Math.min(offset, input.length), (cp) => {\n if (cp === 10) {\n line++\n column = 1\n } else {\n column++\n }\n })\n return { line, column }\n }\n if (!Predicate.isString(input)) return { line: 1, column: offset + 1 }\n let line = 1\n let lineStart = 0\n for (let i = 0; i < offset && i < input.length; i++) {\n if (input.charCodeAt(i) === 10) {\n line++\n lineStart = i + 1\n }\n }\n return { line, column: codePointCount(input, lineStart, Math.min(offset, input.length)) + 1 }\n}\n\nconst codePointCount = (s: string, start: number, end: number): number => {\n let n = 0\n for (let i = start; i < end; i++) {\n const c = s.charCodeAt(i)\n if (c >= 0xd800 && c <= 0xdbff && i + 1 < end) {\n const d = s.charCodeAt(i + 1)\n if (d >= 0xdc00 && d <= 0xdfff) i++\n }\n n++\n }\n return n\n}\n\n/**\n * Formats a list of expectations: `a`, `a or b`, `a, b or c`.\n *\n * @since 0.1.0\n * @category utils\n */\nexport const formatExpected = (expected: ReadonlyArray<string>): string => {\n if (expected.length === 0) return \"\"\n if (expected.length === 1) return expected[0]\n return `${expected.slice(0, -1).join(\", \")} or ${expected[expected.length - 1]}`\n}\n\nconst hexBytes = (bytes: Uint8Array): string =>\n Array.from(bytes, (b) => `0x${b.toString(16).padStart(2, \"0\")}`).join(\" \")\n\nconst describeFound = (input: Input, offset: number, encoding: Encoding<any> | undefined): string => {\n if (offset >= input.length) return \"end of input\"\n if (encoding !== undefined && input instanceof Uint8Array) {\n const cp = encoding.decode(input, offset, input.length)\n if (cp >= 0) return JSON.stringify(String.fromCodePoint(cp))\n const bad = input.subarray(offset, Math.min(input.length, offset + Math.max(encoding.unit, 1)))\n return cp === text.Truncated\n ? `incomplete ${encoding.name} sequence ${hexBytes(input.subarray(offset))}`\n : `invalid ${encoding.name} ${hexBytes(bad)}`\n }\n if (Predicate.isString(input)) {\n const cp = input.codePointAt(offset) ?? Number.NaN\n return JSON.stringify(String.fromCodePoint(cp))\n }\n if (input instanceof Uint8Array) {\n return `0x${input[offset].toString(16).padStart(2, \"0\")}`\n }\n return inspectToken(input[offset])\n}\n\n/** @internal */\nexport const inspectToken = (u: unknown): string => {\n if (Predicate.isString(u)) return JSON.stringify(u)\n if (Predicate.isObjectOrArray(u)) {\n try {\n return JSON.stringify(u)\n } catch {\n return String(u)\n }\n }\n return String(u)\n}\n\nconst causeMessage = (cause: unknown): string | undefined => {\n if (cause === undefined) return undefined\n if (Predicate.isString(cause)) return cause\n // An `Error`'s message, or any other object's string `message`\n if (Predicate.isObjectOrArray(cause) && \"message\" in cause && Predicate.isString(cause.message)) {\n return cause.message\n }\n return inspectToken(cause)\n}\n\nconst renderSnippet = (input: Input, offset: number, encoding: Encoding<any> | undefined): Array<string> => {\n if (encoding !== undefined && input instanceof Uint8Array) {\n // Find the line containing `offset`, then decode it\n let lineStart = 0\n let end = input.length\n let column = 1\n text.walk(encoding, input, 0, input.length, (cp, i, w) => {\n if (i >= offset && cp === 10) {\n end = i\n return false\n }\n if (i < offset) {\n if (cp === 10) {\n lineStart = i + w\n column = 1\n } else {\n column++\n }\n }\n })\n let line = text.lenientText(encoding, input, lineStart, end)\n if (line.endsWith(\"\\r\")) line = line.slice(0, -1)\n const gutter = String(lineColumn(input, offset, encoding).line)\n const pad = \" \".repeat(gutter.length)\n return [`${gutter} | ${line}`, `${pad} | ${\" \".repeat(column - 1)}^`]\n }\n if (Predicate.isString(input)) {\n const { column, line } = lineColumn(input, offset)\n let start = offset\n while (start > 0 && input.charCodeAt(start - 1) !== 10) start--\n let end = offset\n while (end < input.length && input.charCodeAt(end) !== 10) end++\n let text = input.slice(start, end)\n if (text.endsWith(\"\\r\")) text = text.slice(0, -1)\n const gutter = String(line)\n const pad = \" \".repeat(gutter.length)\n return [`${gutter} | ${text}`, `${pad} | ${\" \".repeat(column - 1)}^`]\n }\n if (input instanceof Uint8Array) {\n const start = Math.max(0, offset - 8)\n const end = Math.min(input.length, offset + 8)\n const bytes: Array<string> = []\n for (let i = start; i < end; i++) bytes.push(input[i].toString(16).padStart(2, \"0\"))\n const caret = (offset - start) * 3\n return [`${start.toString(16).padStart(8, \"0\")} | ${bytes.join(\" \")}`, `${\" \".repeat(8)} | ${\" \".repeat(caret)}^`]\n }\n return []\n}\n\nconst render = (error: ParseError<unknown>): string => {\n const { encoding, input, offset } = error\n const lines: Array<string> = []\n if (Predicate.isString(input)) {\n const { column, line } = lineColumn(input, offset)\n lines.push(`Parse error at line ${line}, column ${column}:`)\n } else if (encoding !== undefined) {\n const { column, line } = lineColumn(input, offset, encoding)\n lines.push(`Parse error at line ${line}, column ${column} (byte ${offset}):`)\n } else {\n lines.push(`Parse error at offset ${offset}:`)\n }\n lines.push(...renderSnippet(input, offset, encoding))\n for (let i = error.context.length - 1; i >= 0; i--) {\n lines.push(`while parsing ${error.context[i]}`)\n }\n const cause = causeMessage(error.cause)\n if (cause !== undefined) lines.push(cause)\n if (error.description !== undefined) lines.push(error.description)\n if (error.mode === \"Incomplete\") {\n lines.push(\"unexpected end of input (incomplete)\")\n } else if (error.expected.length > 0) {\n lines.push(`expected ${formatExpected(error.expected)}, found ${describeFound(input, offset, encoding)}`)\n } else if (cause === undefined && error.description === undefined) {\n lines.push(`unexpected ${describeFound(input, offset, encoding)} (${error.kind})`)\n }\n return lines.join(\"\\n\")\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ParseError.js","names":[],"sources":["../src/ParseError.ts"],"sourcesContent":["/**\n * The error type produced when running a parser.\n *\n * `ParseError` merges winnow's `ContextError`/`ParseError` and nom's\n * `VerboseError`. It records where parsing failed, what was expected there,\n * the context labels that were active, and an optional typed `cause`\n * produced by `Parser.fail`, `Parser.tryMap` and friends. Its `message`\n * shows the failing position in the input:\n *\n * ```text\n * Parse error at line 1, column 4:\n * 1 | [1,,2]\n * | ^\n * expected digit\n * ```\n *\n * `ParseError` is a `Data.TaggedError`, so it can be yielded directly inside\n * `Effect.gen`.\n *\n * @since 0.1.0\n */\nimport * as Arr from \"effect/Array\"\nimport * as Predicate from \"effect/Predicate\"\nimport * as Data from \"effect/Data\"\nimport * as Option from \"effect/Option\"\nimport * as Result from \"effect/Result\"\nimport type { Encoding } from \"./Encoding.js\"\nimport type { ErrMode, Failure, Input } from \"./Input.js\"\nimport * as text from \"./internal/text.js\"\n\n/**\n * The kind of parser that produced an error, in the spirit of nom's\n * `ErrorKind`.\n *\n * `\"TooDeep\"` is not produced by a parser: the runners report it when\n * deeply nested input exhausts the call stack (see `Parser.suspend`).\n *\n * @since 0.1.0\n * @category models\n */\nexport type ErrorKind =\n | \"Alpha\"\n | \"AlphaNumeric\"\n | \"Alt\"\n | \"Assert\"\n | \"Bits\"\n | \"Complete\"\n | \"CrLf\"\n | \"Digit\"\n | \"Dispatch\"\n | \"Eof\"\n | \"Escaped\"\n | \"Fail\"\n | \"Float\"\n | \"HexDigit\"\n | \"Incomplete\"\n | \"LineEnding\"\n | \"Literal\"\n | \"Many\"\n | \"MultiSpace\"\n | \"NoneOf\"\n | \"Not\"\n | \"OctDigit\"\n | \"OneOf\"\n | \"Permutation\"\n | \"Separated\"\n | \"Slice\"\n | \"Space\"\n | \"Take\"\n | \"TakeUntil\"\n | \"TakeWhile\"\n | \"Token\"\n | \"TooDeep\"\n | \"Verify\"\n\n/**\n * @since 0.1.0\n * @category type ids\n */\nexport const TypeId = \"~effect-parse/ParseError\" as const\n\n/**\n * An error produced by running a parser.\n *\n * @since 0.1.0\n * @category models\n */\nexport class ParseError<out E = never>\n extends /*#__PURE__*/ Data.TaggedError(\"ParseError\")<{\n /** The input that was being parsed. */\n readonly input: Input\n /** The offset of the failure in the input. */\n readonly offset: number\n /** The kind of parser that failed. */\n readonly kind: ErrorKind\n /** How the error propagated before parsing stopped. */\n readonly mode: ErrMode\n /** Descriptions of what was expected at `offset`. */\n readonly expected: ReadonlyArray<string>\n /** Context labels (`Parser.context`), innermost first. */\n readonly context: ReadonlyArray<string>\n /** The user supplied cause, if any. */\n readonly cause: E | undefined\n /** An optional free-form description. */\n readonly description: string | undefined\n /**\n * For byte inputs parsed by `Text` parsers, the text encoding. Errors\n * then show the input as text, with line and column numbers.\n */\n readonly encoding?: Encoding<Uint8Array> | undefined\n }>\n{\n /**\n * @since 0.1.0\n */\n readonly [TypeId]: typeof TypeId = TypeId\n\n /**\n * The 1-based line and column of the failure (for strings and encoded\n * text; for other inputs the line is 1 and the column is `offset + 1`).\n *\n * @since 0.1.0\n */\n get position(): LineColumn {\n return lineColumn(this.input, this.offset, this.encoding)\n }\n\n /**\n * The rendered, human-readable error message.\n *\n * @since 0.1.0\n */\n override get message(): string {\n return render(this)\n }\n\n /**\n * @since 0.1.0\n */\n override toString(): string {\n return `ParseError: ${this.message}`\n }\n}\n\n/**\n * @since 0.1.0\n * @category guards\n */\nexport const isParseError = (u: unknown): u is ParseError<unknown> => Predicate.isObjectOrArray(u) && TypeId in u\n\n/**\n * Builds a `ParseError` from the failure details recorded while parsing.\n *\n * @since 0.1.0\n * @category constructors\n */\nexport const fromFailure = <E = never>(\n input: Input,\n failure: Failure,\n mode: ErrMode,\n encoding?: Encoding<any>\n): ParseError<E> =>\n new ParseError<E>({\n input,\n offset: failure.offset,\n kind: failure.kind,\n mode,\n expected: failure.expected,\n context: failure.context,\n cause: failure.hasCause ? (failure.cause as E) : undefined,\n description: failure.message,\n encoding: input instanceof Uint8Array ? encoding : undefined\n })\n\n/**\n * The user supplied cause of an error, if any.\n *\n * @since 0.1.0\n * @category getters\n */\nexport const getCause = <E>(self: ParseError<E>): Option.Option<E> =>\n self.cause === undefined ? Option.none() : Option.some(self.cause)\n\n/**\n * A 1-based line/column position.\n *\n * @since 0.1.0\n * @category models\n */\nexport interface LineColumn {\n readonly line: number\n readonly column: number\n}\n\n/**\n * Computes the 1-based line and column (in code points) of an offset. Lines\n * are separated by `\\n`. Byte inputs are read as text when an `encoding`\n * is given. For other inputs the line is always 1 and the column is\n * `offset + 1`.\n *\n * @since 0.1.0\n * @category utils\n */\nexport const lineColumn = (input: Input, offset: number, encoding?: Encoding<any>): LineColumn => {\n if (encoding !== undefined && input instanceof Uint8Array) {\n let line = 1\n let column = 1\n text.walk(encoding, input, 0, Math.min(offset, input.length), (cp) => {\n if (cp === 10) {\n line++\n column = 1\n } else {\n column++\n }\n })\n return { line, column }\n }\n if (!Predicate.isString(input)) return { line: 1, column: offset + 1 }\n let line = 1\n let lineStart = 0\n for (let i = 0; i < offset && i < input.length; i++) {\n if (input.charCodeAt(i) === 10) {\n line++\n lineStart = i + 1\n }\n }\n return { line, column: codePointCount(input, lineStart, Math.min(offset, input.length)) + 1 }\n}\n\nconst codePointCount = (s: string, start: number, end: number): number => {\n let n = 0\n for (let i = start; i < end; i++) {\n const c = s.charCodeAt(i)\n if (c >= 0xd800 && c <= 0xdbff && i + 1 < end) {\n const d = s.charCodeAt(i + 1)\n if (d >= 0xdc00 && d <= 0xdfff) i++\n }\n n++\n }\n return n\n}\n\n/**\n * Formats a list of expectations: `a`, `a or b`, `a, b or c`.\n *\n * @since 0.1.0\n * @category utils\n */\nexport const formatExpected = (expected: ReadonlyArray<string>): string => {\n if (Arr.isReadonlyArrayEmpty(expected)) return \"\"\n if (expected.length === 1) return expected[0]\n return `${expected.slice(0, -1).join(\", \")} or ${expected[expected.length - 1]}`\n}\n\nconst hexBytes = (bytes: Uint8Array): string =>\n Array.from(bytes, (b) => `0x${b.toString(16).padStart(2, \"0\")}`).join(\" \")\n\nconst describeFound = (input: Input, offset: number, encoding: Encoding<any> | undefined): string => {\n if (offset >= input.length) return \"end of input\"\n if (encoding !== undefined && input instanceof Uint8Array) {\n const cp = encoding.decode(input, offset, input.length)\n if (cp >= 0) return JSON.stringify(String.fromCodePoint(cp))\n const bad = input.subarray(offset, Math.min(input.length, offset + Math.max(encoding.unit, 1)))\n return cp === text.Truncated\n ? `incomplete ${encoding.name} sequence ${hexBytes(input.subarray(offset))}`\n : `invalid ${encoding.name} ${hexBytes(bad)}`\n }\n if (Predicate.isString(input)) {\n const cp = input.codePointAt(offset) ?? Number.NaN\n return JSON.stringify(String.fromCodePoint(cp))\n }\n if (input instanceof Uint8Array) {\n return `0x${input[offset].toString(16).padStart(2, \"0\")}`\n }\n return inspectToken(input[offset])\n}\n\n/** @internal */\nexport const inspectToken = (u: unknown): string => {\n if (Predicate.isString(u)) return JSON.stringify(u)\n if (Predicate.isObjectOrArray(u)) {\n // `JSON.stringify` throws on cycles and `BigInt`s. Fall back to what\n // `String` gives an array (its elements joined) or an object's tag\n // (`[object Map]`), never a user `toString` that might throw in turn.\n return Result.getOrElse(\n Result.try(() => JSON.stringify(u)),\n () => (Array.isArray(u) ? u.join(\",\") : Object.prototype.toString.call(u))\n )\n }\n return String(u)\n}\n\nconst causeMessage = (cause: unknown): string | undefined => {\n if (cause === undefined) return undefined\n if (Predicate.isString(cause)) return cause\n // An `Error`'s message, or any other object's string `message`\n if (Predicate.isObjectOrArray(cause) && \"message\" in cause && Predicate.isString(cause.message)) {\n return cause.message\n }\n return inspectToken(cause)\n}\n\nconst renderSnippet = (input: Input, offset: number, encoding: Encoding<any> | undefined): Array<string> => {\n if (encoding !== undefined && input instanceof Uint8Array) {\n // Find the line containing `offset`, then decode it\n let lineStart = 0\n let end = input.length\n let column = 1\n text.walk(encoding, input, 0, input.length, (cp, i, w) => {\n if (i >= offset && cp === 10) {\n end = i\n return false\n }\n if (i < offset) {\n if (cp === 10) {\n lineStart = i + w\n column = 1\n } else {\n column++\n }\n }\n })\n let line = text.lenientText(encoding, input, lineStart, end)\n if (line.endsWith(\"\\r\")) line = line.slice(0, -1)\n const gutter = String(lineColumn(input, offset, encoding).line)\n const pad = \" \".repeat(gutter.length)\n return [`${gutter} | ${line}`, `${pad} | ${\" \".repeat(column - 1)}^`]\n }\n if (Predicate.isString(input)) {\n const { column, line } = lineColumn(input, offset)\n let start = offset\n while (start > 0 && input.charCodeAt(start - 1) !== 10) start--\n let end = offset\n while (end < input.length && input.charCodeAt(end) !== 10) end++\n let text = input.slice(start, end)\n if (text.endsWith(\"\\r\")) text = text.slice(0, -1)\n const gutter = String(line)\n const pad = \" \".repeat(gutter.length)\n return [`${gutter} | ${text}`, `${pad} | ${\" \".repeat(column - 1)}^`]\n }\n if (input instanceof Uint8Array) {\n const start = Math.max(0, offset - 8)\n const end = Math.min(input.length, offset + 8)\n const bytes: Array<string> = []\n for (let i = start; i < end; i++) bytes.push(input[i].toString(16).padStart(2, \"0\"))\n const caret = (offset - start) * 3\n return [`${start.toString(16).padStart(8, \"0\")} | ${bytes.join(\" \")}`, `${\" \".repeat(8)} | ${\" \".repeat(caret)}^`]\n }\n return []\n}\n\nconst render = (error: ParseError<unknown>): string => {\n const { encoding, input, offset } = error\n const lines: Array<string> = []\n if (Predicate.isString(input)) {\n const { column, line } = lineColumn(input, offset)\n lines.push(`Parse error at line ${line}, column ${column}:`)\n } else if (encoding !== undefined) {\n const { column, line } = lineColumn(input, offset, encoding)\n lines.push(`Parse error at line ${line}, column ${column} (byte ${offset}):`)\n } else {\n lines.push(`Parse error at offset ${offset}:`)\n }\n lines.push(...renderSnippet(input, offset, encoding))\n for (let i = error.context.length - 1; i >= 0; i--) {\n lines.push(`while parsing ${error.context[i]}`)\n }\n const cause = causeMessage(error.cause)\n if (cause !== undefined) lines.push(cause)\n if (error.description !== undefined) lines.push(error.description)\n if (error.mode === \"Incomplete\") {\n lines.push(\"unexpected end of input (incomplete)\")\n } else if (Arr.isReadonlyArrayNonEmpty(error.expected)) {\n lines.push(`expected ${formatExpected(error.expected)}, found ${describeFound(input, offset, encoding)}`)\n } else if (cause === undefined && error.description === undefined) {\n lines.push(`unexpected ${describeFound(input, offset, encoding)} (${error.kind})`)\n }\n return lines.join(\"\\n\")\n}\n"],"mappings":"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"}
|
package/dist/Parser.d.ts
CHANGED
|
@@ -8,7 +8,6 @@ import * as ParseError from "./ParseError.js";
|
|
|
8
8
|
import { ErrorKind } from "./ParseError.js";
|
|
9
9
|
import { Node } from "./internal/node.js";
|
|
10
10
|
import { Contravariant, Covariant, Simplify } from "effect/Types";
|
|
11
|
-
//#region src/Parser.d.ts
|
|
12
11
|
/**
|
|
13
12
|
* @since 0.1.0
|
|
14
13
|
* @category type ids
|
|
@@ -34,6 +33,8 @@ export interface Parser<out A, out E = never, out R = never, in I extends Input
|
|
|
34
33
|
/** A human-readable name, used by `toString` and tracing. */
|
|
35
34
|
readonly name: string | undefined;
|
|
36
35
|
[Symbol.iterator](): ParserIterator<Parser<A, E, R, I>>;
|
|
36
|
+
/** Describes the parser: `Parser(<name>)`, or `Parser` when it has no name. */
|
|
37
|
+
toString(): string;
|
|
37
38
|
}
|
|
38
39
|
/**
|
|
39
40
|
* The iterator used by `yield*` inside {@link gen}.
|
|
@@ -140,6 +141,8 @@ export declare const isParser: (u: unknown) => u is Parser<unknown, unknown, unk
|
|
|
140
141
|
* The step function must either return the parsed value, having advanced
|
|
141
142
|
* `state.pos` past the consumed input, or return the result of one of
|
|
142
143
|
* `state.backtrack`, `state.cut`, `state.incomplete`, ... to signal failure.
|
|
144
|
+
* A step that moves the cursor backwards (to retry, or after a lookahead)
|
|
145
|
+
* calls `state.rewind(offset)` rather than assigning `state.pos`.
|
|
143
146
|
*
|
|
144
147
|
* @example
|
|
145
148
|
* ```ts
|
|
@@ -403,8 +406,8 @@ export declare const tryMap: {
|
|
|
403
406
|
* @category mapping
|
|
404
407
|
*/
|
|
405
408
|
export declare const tryMapUnknown: {
|
|
406
|
-
<A, B>(f: (a: A) => B): <E, R, I extends Input>(self: Parser<A, E, R, I>) => Parser<B,
|
|
407
|
-
<A, E, R, I extends Input, B>(self: Parser<A, E, R, I>, f: (a: A) => B): Parser<B,
|
|
409
|
+
<A, B>(f: (a: A) => B): <E, R, I extends Input>(self: Parser<A, E, R, I>) => Parser<B, unknown, R, I>;
|
|
410
|
+
<A, E, R, I extends Input, B>(self: Parser<A, E, R, I>, f: (a: A) => B): Parser<B, unknown, R, I>;
|
|
408
411
|
};
|
|
409
412
|
/**
|
|
410
413
|
* Transforms the output of a parser with a function returning an `Option`;
|
|
@@ -1339,6 +1342,5 @@ export declare const parseRecoverable: {
|
|
|
1339
1342
|
<A, E, I extends Input>(self: Parser<A, E, never, I>, input: NoInfer<Source<I>>, options?: ParseOptions): RecoverableResult<A, E>;
|
|
1340
1343
|
<A, E, R, I extends Input>(self: Parser<A, E, R, I>, input: NoInfer<Source<I>>, options: ParseOptionsWithContext<R>): RecoverableResult<A, E>;
|
|
1341
1344
|
};
|
|
1342
|
-
//#endregion
|
|
1343
1345
|
export { type ErrorKind, let_ as let, void_ as void };
|
|
1344
1346
|
//# sourceMappingURL=Parser.d.ts.map
|
package/dist/Parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Parser.d.ts","names":[],"sources":["../src/Parser.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Parser.d.ts","names":[],"sources":["../src/Parser.ts"],"mappings":"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"}
|
package/dist/Parser.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as Predicate from "effect/Predicate";
|
|
2
2
|
import * as Result from "effect/Result";
|
|
3
3
|
import { Fail, Failure, State, mergeExpected, mergeFailures, mergeTiedFailures } from "./Input.js";
|
|
4
|
+
import { Key } from "./internal/key.js";
|
|
4
5
|
import * as Resume from "./internal/resume.js";
|
|
5
6
|
import * as Registry from "./internal/compiler/registry.js";
|
|
6
7
|
import * as Option from "effect/Option";
|
|
@@ -15,7 +16,7 @@ import * as Entries from "./internal/entries.js";
|
|
|
15
16
|
import * as Run from "./internal/run.js";
|
|
16
17
|
import * as Stack from "./internal/stack.js";
|
|
17
18
|
import { NodeId, bounds } from "./internal/node.js";
|
|
18
|
-
|
|
19
|
+
// src/Parser.ts
|
|
19
20
|
/**
|
|
20
21
|
* The `Parser` data type and its general-purpose combinators.
|
|
21
22
|
*
|
|
@@ -135,6 +136,8 @@ const isTwoParserArgs = (args) => isParser(args[0]) && isParser(args[1]);
|
|
|
135
136
|
* The step function must either return the parsed value, having advanced
|
|
136
137
|
* `state.pos` past the consumed input, or return the result of one of
|
|
137
138
|
* `state.backtrack`, `state.cut`, `state.incomplete`, ... to signal failure.
|
|
139
|
+
* A step that moves the cursor backwards (to retry, or after a lookahead)
|
|
140
|
+
* calls `state.rewind(offset)` rather than assigning `state.pos`.
|
|
138
141
|
*
|
|
139
142
|
* @example
|
|
140
143
|
* ```ts
|
|
@@ -461,7 +464,7 @@ const tryMap = /*#__PURE__*/ dual(2, (self, f) => {
|
|
|
461
464
|
if (a === Fail) return Fail;
|
|
462
465
|
const r = f(a);
|
|
463
466
|
if (Result.isSuccess(r)) return r.success;
|
|
464
|
-
state.
|
|
467
|
+
state.rewind(start);
|
|
465
468
|
return state.failCause("Backtrack", "Verify", r.failure);
|
|
466
469
|
}, self.name, {
|
|
467
470
|
_tag: "TryMap",
|
|
@@ -500,7 +503,7 @@ const filterMap = /*#__PURE__*/ dual(2, (self, f) => {
|
|
|
500
503
|
if (a === Fail) return Fail;
|
|
501
504
|
const o = f(a);
|
|
502
505
|
if (Option.isSome(o)) return o.value;
|
|
503
|
-
state.
|
|
506
|
+
state.rewind(start);
|
|
504
507
|
return state.backtrack("Verify");
|
|
505
508
|
}, self.name, {
|
|
506
509
|
_tag: "FilterMap",
|
|
@@ -522,7 +525,7 @@ const filter = /*#__PURE__*/ dual(2, (self, predicate) => {
|
|
|
522
525
|
const a = step(state);
|
|
523
526
|
if (a === Fail) return Fail;
|
|
524
527
|
if (predicate(a)) return a;
|
|
525
|
-
state.
|
|
528
|
+
state.rewind(start);
|
|
526
529
|
return state.backtrack("Verify");
|
|
527
530
|
}, self.name, {
|
|
528
531
|
_tag: "Filter",
|
|
@@ -544,7 +547,7 @@ const filterOrFail = /*#__PURE__*/ dual(3, (self, predicate, orFailWith) => {
|
|
|
544
547
|
const a = step(state);
|
|
545
548
|
if (a === Fail) return Fail;
|
|
546
549
|
if (predicate(a)) return a;
|
|
547
|
-
state.
|
|
550
|
+
state.rewind(start);
|
|
548
551
|
return state.failCause("Backtrack", "Verify", orFailWith(a));
|
|
549
552
|
}, self.name, {
|
|
550
553
|
_tag: "Filter",
|
|
@@ -699,7 +702,7 @@ const complete = (self) => {
|
|
|
699
702
|
const start = state.pos;
|
|
700
703
|
const a = step(state);
|
|
701
704
|
if (a === Fail && state.mode === "Incomplete") {
|
|
702
|
-
state.
|
|
705
|
+
state.rewind(start);
|
|
703
706
|
return state.backtrack("Complete");
|
|
704
707
|
}
|
|
705
708
|
return a;
|
|
@@ -836,7 +839,7 @@ const orElseSucceed = /*#__PURE__*/ dual(2, (self, value) => {
|
|
|
836
839
|
});
|
|
837
840
|
/** Rewinds after a recoverable failure, remembering it as a hint. */
|
|
838
841
|
const recover = (state, start) => {
|
|
839
|
-
state.
|
|
842
|
+
state.rewind(start);
|
|
840
843
|
const f = state.failure;
|
|
841
844
|
if (f.offset === start) {
|
|
842
845
|
state.hintOffset = start;
|
|
@@ -894,7 +897,7 @@ const peek = (self) => {
|
|
|
894
897
|
const deepest = state.deepest;
|
|
895
898
|
const a = step(state);
|
|
896
899
|
if (a !== Fail) {
|
|
897
|
-
state.
|
|
900
|
+
state.rewind(start);
|
|
898
901
|
state.hintOffset = hintOffset;
|
|
899
902
|
state.hintExpected = hintExpected;
|
|
900
903
|
state.deepest = deepest;
|
|
@@ -920,12 +923,12 @@ const not = (self) => {
|
|
|
920
923
|
const hintExpected = state.hintExpected;
|
|
921
924
|
const deepest = state.deepest;
|
|
922
925
|
if (step(state) !== Fail) {
|
|
923
|
-
state.
|
|
926
|
+
state.rewind(start);
|
|
924
927
|
state.deepest = deepest;
|
|
925
928
|
return state.backtrack("Not");
|
|
926
929
|
}
|
|
927
930
|
if (state.mode !== "Backtrack") return Fail;
|
|
928
|
-
state.
|
|
931
|
+
state.rewind(start);
|
|
929
932
|
state.hintOffset = hintOffset;
|
|
930
933
|
state.hintExpected = hintExpected;
|
|
931
934
|
state.deepest = deepest;
|
|
@@ -1245,7 +1248,7 @@ const alt = (...parsers) => {
|
|
|
1245
1248
|
return a;
|
|
1246
1249
|
}
|
|
1247
1250
|
if (state.mode !== "Backtrack") return Fail;
|
|
1248
|
-
state.
|
|
1251
|
+
state.rewind(start);
|
|
1249
1252
|
const head = state.failureHead;
|
|
1250
1253
|
if (failure === void 0 || head.offset > failure.offset) {
|
|
1251
1254
|
failure = head;
|
|
@@ -1312,7 +1315,7 @@ const dispatch = (selector, cases, otherwise) => {
|
|
|
1312
1315
|
if (key === Fail) return Fail;
|
|
1313
1316
|
const parser = choose(key);
|
|
1314
1317
|
if (parser === void 0) {
|
|
1315
|
-
state.
|
|
1318
|
+
state.rewind(start);
|
|
1316
1319
|
return state.backtrack("Dispatch");
|
|
1317
1320
|
}
|
|
1318
1321
|
return parser.step(state);
|
|
@@ -1355,7 +1358,7 @@ const permutation = (...parsers) => {
|
|
|
1355
1358
|
break;
|
|
1356
1359
|
}
|
|
1357
1360
|
if (state.mode !== "Backtrack") return Fail;
|
|
1358
|
-
state.
|
|
1361
|
+
state.rewind(start);
|
|
1359
1362
|
ties.add(state);
|
|
1360
1363
|
}
|
|
1361
1364
|
if (!matched) return ties.fail(state);
|
|
@@ -1381,7 +1384,7 @@ const foldImpl = (self, range, init, f, name, node, cond) => {
|
|
|
1381
1384
|
const [min, max] = normalizeRange(range);
|
|
1382
1385
|
const step = self.step;
|
|
1383
1386
|
const checkLoop = max === Infinity;
|
|
1384
|
-
const key =
|
|
1387
|
+
const key = new Key();
|
|
1385
1388
|
return described((state) => {
|
|
1386
1389
|
const entry = state.pos;
|
|
1387
1390
|
let acc;
|
|
@@ -1504,7 +1507,7 @@ const repeatTill = /*#__PURE__*/ dual(isTwoParserArgs, (self, end, range) => {
|
|
|
1504
1507
|
if (b !== Fail) return [acc, b];
|
|
1505
1508
|
if (state.mode !== "Backtrack") return Fail;
|
|
1506
1509
|
endFailure = state.failure;
|
|
1507
|
-
state.
|
|
1510
|
+
state.rewind(start);
|
|
1508
1511
|
if (acc.length >= max) return Fail;
|
|
1509
1512
|
}
|
|
1510
1513
|
const a = step(state);
|
|
@@ -1543,7 +1546,7 @@ const separated = /*#__PURE__*/ dual(isTwoParserArgs, (self, separator, range) =
|
|
|
1543
1546
|
const step = self.step;
|
|
1544
1547
|
const sepStep = separator.step;
|
|
1545
1548
|
const checkLoop = max === Infinity;
|
|
1546
|
-
const key =
|
|
1549
|
+
const key = new Key();
|
|
1547
1550
|
return described((state) => {
|
|
1548
1551
|
const entry = state.pos;
|
|
1549
1552
|
let acc;
|
|
@@ -1586,7 +1589,7 @@ const separated = /*#__PURE__*/ dual(isTwoParserArgs, (self, separator, range) =
|
|
|
1586
1589
|
pos: start
|
|
1587
1590
|
});
|
|
1588
1591
|
if (state.mode !== "Backtrack" || acc.length < min) return Fail;
|
|
1589
|
-
state.
|
|
1592
|
+
state.rewind(start);
|
|
1590
1593
|
return Resume.done(state, key, entry, resumed !== void 0, acc);
|
|
1591
1594
|
}
|
|
1592
1595
|
acc.push(a);
|
|
@@ -1623,7 +1626,7 @@ const separated = /*#__PURE__*/ dual(isTwoParserArgs, (self, separator, range) =
|
|
|
1623
1626
|
const separatedFoldl1 = (self, separator, op) => {
|
|
1624
1627
|
const step = self.step;
|
|
1625
1628
|
const sepStep = separator.step;
|
|
1626
|
-
const key =
|
|
1629
|
+
const key = new Key();
|
|
1627
1630
|
return described((state) => {
|
|
1628
1631
|
const entry = state.pos;
|
|
1629
1632
|
const resumed = state.resume === void 0 ? void 0 : Resume.take(state, key, entry);
|
|
@@ -1653,7 +1656,7 @@ const separatedFoldl1 = (self, separator, op) => {
|
|
|
1653
1656
|
if (a === Fail) {
|
|
1654
1657
|
if (state.mode === "Incomplete" && state.resume !== void 0) saveFold(state, key, entry, acc, start);
|
|
1655
1658
|
if (state.mode !== "Backtrack") return Fail;
|
|
1656
|
-
state.
|
|
1659
|
+
state.rewind(start);
|
|
1657
1660
|
return Resume.done(state, key, entry, resumed !== void 0, acc);
|
|
1658
1661
|
}
|
|
1659
1662
|
acc = op(acc, s, a);
|
|
@@ -1695,7 +1698,7 @@ const separatedFoldr1 = (self, separator, op) => {
|
|
|
1695
1698
|
const a = step(state);
|
|
1696
1699
|
if (a === Fail) {
|
|
1697
1700
|
if (state.mode !== "Backtrack") return Fail;
|
|
1698
|
-
state.
|
|
1701
|
+
state.rewind(start);
|
|
1699
1702
|
break;
|
|
1700
1703
|
}
|
|
1701
1704
|
seps.push(s);
|
|
@@ -1807,7 +1810,7 @@ const resumeAfter = /*#__PURE__*/ dual(2, (self, recover) => {
|
|
|
1807
1810
|
if (state.recovered === void 0 || state.mode === "Incomplete") return Fail;
|
|
1808
1811
|
const failure = state.failure;
|
|
1809
1812
|
const mode = state.mode;
|
|
1810
|
-
state.
|
|
1813
|
+
state.rewind(start);
|
|
1811
1814
|
if (recoverStep(state) === Fail) return state.failWith(mode, failure);
|
|
1812
1815
|
state.recovered.push(failure);
|
|
1813
1816
|
state.syntax?.skipped(start, failure, mode);
|
|
@@ -1839,7 +1842,7 @@ const retryAfter = /*#__PURE__*/ dual(2, (self, recover) => {
|
|
|
1839
1842
|
if (state.recovered === void 0 || state.mode === "Incomplete") return Fail;
|
|
1840
1843
|
const failure = state.failure;
|
|
1841
1844
|
const mode = state.mode;
|
|
1842
|
-
state.
|
|
1845
|
+
state.rewind(start);
|
|
1843
1846
|
if (recoverStep(state) === Fail || state.pos === start) return state.failWith(mode, failure);
|
|
1844
1847
|
state.recovered.push(failure);
|
|
1845
1848
|
state.syntax?.skipped(start, failure, mode);
|
|
@@ -1910,7 +1913,7 @@ const preview = (state, offset) => {
|
|
|
1910
1913
|
*/
|
|
1911
1914
|
const consoleTracer = (event) => {
|
|
1912
1915
|
const indent = " ".repeat(event.depth);
|
|
1913
|
-
if (event
|
|
1916
|
+
if (Predicate.isTagged(event, "Enter")) console.log(`${indent}> ${event.name} @${event.offset} | ${preview(event.state, event.offset)}`);
|
|
1914
1917
|
else {
|
|
1915
1918
|
const consumed = (event.endOffset ?? event.offset) - event.offset;
|
|
1916
1919
|
console.log(`${indent}< ${event.name} | ${event.result === "Ok" ? `+${consumed}` : event.result}`);
|
|
@@ -2162,7 +2165,6 @@ const parseRecoverable = (self, input, options) => {
|
|
|
2162
2165
|
errors
|
|
2163
2166
|
};
|
|
2164
2167
|
};
|
|
2165
|
-
//#endregion
|
|
2166
2168
|
export { Do, TypeId, allConsuming, alt, as, asSome, asVoid, backtrack, bind, bindTo, complete, cond, consoleTracer, context, cut, delimited, described, dispatch, empty, eof, expected, fail, failMessage, filter, filterMap, filterOrFail, flatMap, fold, fromEntries, gen, isParser, let_ as let, location, make, map, mapError, mapParser, named, not, opt, optional, orElse, orElseSucceed, orFail, parse, parseEffect, parsePartial, parsePeek, parseRecoverable, parseSync, peek, permutation, preceded, provide, provideService, reject, repeat, repeatTill, resumeAfter, retryAfter, run, separated, separatedFoldl1, separatedFoldr1, separatedPair, seq, service, span, struct, succeed, suspend, sync, taken, tap, terminated, todo, trace, tryMap, tryMapUnknown, void_ as void, void_, withSpan, withTaken, zip, zipLeft, zipRight, zipWith };
|
|
2167
2169
|
|
|
2168
2170
|
//# sourceMappingURL=Parser.js.map
|