import { P } from "https://deno.land/x/fuzzy_octo_guacamole@v2.0.0/mod.ts";
const { typed } = P;
P.typed<SomeType>()
is a way to set the input type this
pattern should match on.
It returns all utility functions to create patterns,
Like array
, union
, intersection
, etc.
Returns
{ array<p extends Pattern<Elem<input>>>(pattern: p): ArrayP<input, p>; optional<p extends Pattern<input>>(pattern: p): OptionalP<input, p>; intersection<ps extends [Pattern<input>, ...Pattern<input>[]]>(...patterns: ps): AndP<input, ps>; union<ps extends [Pattern<input>, ...Pattern<input>[]]>(...patterns: ps): OrP<input, ps>; not<p extends Pattern<input>>(pattern: p): NotP<input, p>; when<narrowed extends input = never>(predicate: GuardFunction<input, narrowed>): GuardP<input, narrowed>; select<pattern extends Pattern<input>>(pattern: pattern): SelectP<symbols.anonymousSelectKey, input, pattern>; select<p extends Pattern<input>, k extends string>(key: k, pattern: p): SelectP<k, input, p>; }