import { x } from 'unhoax'type Email = string & { _tag: 'Email' }declare const isEmail: (input: string) => input is Emailconst guardAsEmail = x.guardAs('Email', isEmail)const emailSchema = guardAsEmail(x.string) // Schema<Email>// or, using pipe:import pipe from 'just-pipe'const emailSchema = pipe( x.string, x.guardAs('Email', isEmail),) // Schema<Email> Copy
import { x } from 'unhoax'type Email = string & { _tag: 'Email' }declare const isEmail: (input: string) => input is Emailconst guardAsEmail = x.guardAs('Email', isEmail)const emailSchema = guardAsEmail(x.string) // Schema<Email>// or, using pipe:import pipe from 'just-pipe'const emailSchema = pipe( x.string, x.guardAs('Email', isEmail),) // Schema<Email>
Example