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

    Type Alias EnvelopePatternErrorDetails

    EnvelopePatternErrorDetails:
        | { 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: "InvalidRange"; span: Span }
        | { code: "InvalidHexString"; 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: "ExpectedOpenBracket"; span: Span }
        | { code: "ExpectedCloseBracket"; span: Span }
        | { code: "ExpectedPattern"; span: Span }
        | { code: "UnmatchedParentheses"; span: Span }
        | { code: "UnmatchedBraces"; span: Span }
        | { code: "InvalidCaptureGroupName"; span: Span; name: string }
        | { code: "InvalidPattern"; span: Span }
        | { code: "NestingTooDeep"; span: Span; maxDepth: number }

    The structured payload of an EnvelopePatternError, 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

        The unrecognised text.

    • { 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 delimiter.

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

        The discriminant.

      • Readonlyspan: Span

        The range text.

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

        The discriminant.

      • Readonlyspan: Span

        The h'…' literal, or for digest(…) the point just after the hex.

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

        The discriminant.

      • Readonlyspan: Span

        The body between the quotes of date'…'.

    • { 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 point just after the UR in digest(…).

      • Readonlycause: string

        The UR decoder's reason.

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

        The discriminant.

      • Readonlyspan: Span

        Where the parenthesis was required.

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

        The discriminant.

      • Readonlyspan: Span

        The token found instead, or the end of the source.

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

        The discriminant.

      • Readonlyspan: Span

        Where the bracket was required.

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

        The discriminant.

      • Readonlyspan: Span

        The token found instead, or the end of the source.

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

        The discriminant.

      • Readonlyspan: Span

        Where the pattern was required.

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

        The discriminant.

      • Readonlyspan: Span

        The parenthesis without a pair.

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

        The discriminant.

      • Readonlyspan: Span

        The brace without a pair.

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

        The discriminant.

      • Readonlyspan: Span

        The @ and the name.

      • Readonlyname: string

        The name as written.

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

        The discriminant.

      • Readonlyspan: Span

        The dCBOR pattern body, or the rest of the text an array pattern consumed.

    • { 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.