type-alias / @typed/router/Parser

Parser.TakeWhile1Internal

Requires the type-level allowed-character prefix to be non-empty.

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.TakeWhile1Internal through the imported Parser export. Its declaration below describes the member.

Signatures

type TakeWhile1Internal<Input extends string, Allowed extends string> = TakeWhileInternal<Input, Allowed> extends readonly [
    infer Taken extends string,
    infer Rest extends string
] ? Taken extends "" ? never : readonly [
    Taken,
    Rest
] : never;

Why

TakeWhile1 can distinguish failure from a successful empty match.

Ownership and lifetime

TakeWhile1Internal exists only during type checking and reuses TakeWhileInternal’s result; it creates no runtime validation or retained prefix.

Source