Skip to main content
Using Deno in production at your company? Earn free Deno merch.
Give us feedback
Module

x/arktype/parse/string/shift/scanner.ts>Scanner.shiftUntil

TypeScript's 1:1 validator, optimized from editor to runtime
Latest
type alias Scanner.shiftUntil
import { type Scanner } from "https://deno.land/x/arktype@v1.0.10-alpha/parse/string/shift/scanner.ts";
const { shiftUntil } = Scanner;

Type Parameters

unscanned extends string
terminator extends string
optional
scanned extends string = ""
definition: unscanned extends Scanner.shift<infer lookahead, infer nextUnscanned> ? lookahead extends terminator ? scanned extends `${infer base}${EscapeToken}` ? shiftUntil<nextUnscanned, terminator, `${base}${lookahead}`> : [scanned, unscanned] : shiftUntil<nextUnscanned, terminator, `${scanned}${lookahead}`> : [scanned, ""]