interface / @typed/router/Parser

Parser.ManyOf

Binds the repeated Parser for zero-or-more evaluation.

Package version
1.0.0-beta.7
Category
Parser repetition
Since
1.0.0
Member of
Parser

Import

import { Parser } from "@typed/router/Parser";

Access Parser.ManyOf through the imported Parser export. Its declaration below describes the member.

Signatures

interface ManyOf extends TypeFunction {
    readonly return: InputOf<this> extends infer P extends Any ? Many<P> : never;
}

Why

Higher-order grammar can reuse repetition without restating its input type.

Ownership and lifetime

TypeScript instantiates ManyOf while parsing a string-literal input; partial results and unconsumed text exist only in the resulting type.

Property: return

Computes this type lambda’s parse result for its current input.

Property: return: Why

The local type-function protocol evaluates each parser combinator through this member without a parallel runtime object.

Property: return: Ownership and lifetime

TypeScript evaluates ManyOf.return when the surrounding parser is applied; the associated result is erased and retains no input at runtime.

Source