@blockchaincommons/dcbor-pattern - v1.0.0-beta.2
    Preparing search index...

    Type Alias DcborPatternErrorDetails

    DcborPatternErrorDetails:
        | { code: "EmptyInput" }
        | { code: "UnexpectedEndOfInput" }
        | { code: "ExtraData"; span: Span }
        | { code: "UnexpectedToken"; span: Span; kind: TokenKind; text: string }
        | { code: "UnrecognizedToken"; span: Span }
        | { code: "InvalidRegex"; span: Span }
        | { code: "UnterminatedRegex"; span: Span }
        | { code: "UnterminatedString"; span: Span }
        | { code: "InvalidRange"; span: Span }
        | { code: "InvalidHexString"; span: Span }
        | { code: "UnterminatedHexString"; span: Span }
        | { code: "InvalidDateFormat"; span: Span }
        | { code: "InvalidNumberFormat"; span: Span }
        | { code: "InvalidUr"; span: Span; cause: string }
        | { code: "ExpectedOpenParen"; span: Span }
        | { code: "ExpectedCloseParen"; span: Span }
        | { code: "ExpectedCloseBracket"; span: Span }
        | { code: "ExpectedCloseBrace"; span: Span }
        | { code: "ExpectedColon"; span: Span }
        | { code: "ExpectedPattern"; span: Span }
        | { code: "UnmatchedParentheses"; span: Span }
        | { code: "UnmatchedBraces"; span: Span }
        | { code: "InvalidCaptureGroupName"; span: Span; name: string }
        | { code: "InvalidDigestPattern"; span: Span; reason: string }
        | { code: "UnterminatedDigestQuoted"; span: Span }
        | { code: "UnterminatedDateQuoted"; span: Span }
        | { code: "NestingTooDeep"; span: Span; maxDepth: number }

    The structured payload of a DcborPatternError, discriminated by code: e.details.code === "UnexpectedToken" narrows to { span, kind, text }. Every code but EmptyInput and UnexpectedEndOfInput carries the span of the offending text.

    Type Declaration

    • { code: "EmptyInput" }
      • Readonlycode: "EmptyInput"

        The discriminant.

    • { code: "UnexpectedEndOfInput" }
      • Readonlycode: "UnexpectedEndOfInput"

        The discriminant.

    • { code: "ExtraData"; span: Span }
      • Readonlycode: "ExtraData"

        The discriminant.

      • Readonlyspan: Span

        The text after the pattern.

    • { code: "UnexpectedToken"; span: Span; kind: TokenKind; text: string }
      • Readonlycode: "UnexpectedToken"

        The discriminant.

      • Readonlyspan: Span

        The token.

      • Readonlykind: TokenKind

        The kind of the token found.

      • Readonlytext: string

        The token's source text.

    • { code: "UnrecognizedToken"; span: Span }
      • Readonlycode: "UnrecognizedToken"

        The discriminant.

      • Readonlyspan: Span

        What a single-pass scanner reads before giving up: a keyword's prefix, a bare @, or one code point.

    • { code: "InvalidRegex"; span: Span }
      • Readonlycode: "InvalidRegex"

        The discriminant.

      • Readonlyspan: Span

        The regex literal.

    • { code: "UnterminatedRegex"; span: Span }
      • Readonlycode: "UnterminatedRegex"

        The discriminant.

      • Readonlyspan: Span

        The opening / or h'/.

    • { code: "UnterminatedString"; span: Span }
      • Readonlycode: "UnterminatedString"

        The discriminant.

      • Readonlyspan: Span

        The opening quote.

    • { code: "InvalidRange"; span: Span }
      • Readonlycode: "InvalidRange"

        The discriminant.

      • Readonlyspan: Span

        The {, or the whole range when its bounds are inverted.

    • { code: "InvalidHexString"; span: Span }
      • Readonlycode: "InvalidHexString"

        The discriminant.

      • Readonlyspan: Span

        The h' of an h'…' literal, or the whole digest'…' literal.

    • { code: "UnterminatedHexString"; span: Span }
      • Readonlycode: "UnterminatedHexString"

        The discriminant.

      • Readonlyspan: Span

        The opening h'.

    • { code: "InvalidDateFormat"; span: Span }
      • Readonlycode: "InvalidDateFormat"

        The discriminant.

      • Readonlyspan: Span

        The literal.

    • { code: "InvalidNumberFormat"; span: Span }
      • Readonlycode: "InvalidNumberFormat"

        The discriminant.

      • Readonlyspan: Span

        The literal.

    • { code: "InvalidUr"; span: Span; cause: string }
      • Readonlycode: "InvalidUr"

        The discriminant.

      • Readonlyspan: Span

        The literal.

      • Readonlycause: string

        The UR decoder's reason.

    • { code: "ExpectedOpenParen"; span: Span }
      • Readonlycode: "ExpectedOpenParen"

        The discriminant.

      • Readonlyspan: Span

        Never raised.

    • { code: "ExpectedCloseParen"; span: Span }
      • Readonlycode: "ExpectedCloseParen"

        The discriminant.

      • Readonlyspan: Span

        The end of the source.

    • { code: "ExpectedCloseBracket"; span: Span }
      • Readonlycode: "ExpectedCloseBracket"

        The discriminant.

      • Readonlyspan: Span

        The end of the source.

    • { code: "ExpectedCloseBrace"; span: Span }
      • Readonlycode: "ExpectedCloseBrace"

        The discriminant.

      • Readonlyspan: Span

        The end of the source.

    • { code: "ExpectedColon"; span: Span }
      • Readonlycode: "ExpectedColon"

        The discriminant.

      • Readonlyspan: Span

        The end of the source.

    • { code: "ExpectedPattern"; span: Span }
      • Readonlycode: "ExpectedPattern"

        The discriminant.

      • Readonlyspan: Span

        Never raised.

    • { code: "UnmatchedParentheses"; span: Span }
      • Readonlycode: "UnmatchedParentheses"

        The discriminant.

      • Readonlyspan: Span

        Never raised.

    • { code: "UnmatchedBraces"; span: Span }
      • Readonlycode: "UnmatchedBraces"

        The discriminant.

      • Readonlyspan: Span

        Never raised.

    • { code: "InvalidCaptureGroupName"; span: Span; name: string }
      • Readonlycode: "InvalidCaptureGroupName"

        The discriminant.

      • Readonlyspan: Span

        Never raised.

      • Readonlyname: string

        The name as written.

    • { code: "InvalidDigestPattern"; span: Span; reason: string }
      • Readonlycode: "InvalidDigestPattern"

        The discriminant.

      • Readonlyspan: Span

        The literal.

      • Readonlyreason: string

        The body as written, or empty content.

    • { code: "UnterminatedDigestQuoted"; span: Span }
      • Readonlycode: "UnterminatedDigestQuoted"

        The discriminant.

      • Readonlyspan: Span

        The opening digest'.

    • { code: "UnterminatedDateQuoted"; span: Span }
      • Readonlycode: "UnterminatedDateQuoted"

        The discriminant.

      • Readonlyspan: Span

        The opening date'.

    • { code: "NestingTooDeep"; span: Span; maxDepth: number }
      • Readonlycode: "NestingTooDeep"

        The discriminant.

      • Readonlyspan: Span

        The token that opened the level too many.

      • ReadonlymaxDepth: number

        The limit in force.