Skip to main content
Module

x/fuzzy_octo_guacamole/mod.ts>P.typed

A playground for testing CI setup that deploys on Deno and NPM
Go to Latest
function P.typed
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.

Read P.typed documentation on GitHub

Examples

.with( P.typed<string | number[]>().array(P.string), (arrayOfString) => arrayOfString.join(', ') )

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>; }