import * as x from 'unhoax'type Email = string & { _tag: 'Email' }declare const isEmail: (input: string) => input is Emailconst refineAsEmail = x.refineAs('Email', isEmail)const emailSchema = refineAsEmail(x.string) // Schema<Email>// or, using pipe:import pipe from 'just-pipe'const emailSchema = pipe( x.string, x.refineAs('Email', isEmail),) // Schema<Email> Copy
import * as x from 'unhoax'type Email = string & { _tag: 'Email' }declare const isEmail: (input: string) => input is Emailconst refineAsEmail = x.refineAs('Email', isEmail)const emailSchema = refineAsEmail(x.string) // Schema<Email>// or, using pipe:import pipe from 'just-pipe'const emailSchema = pipe( x.string, x.refineAs('Email', isEmail),) // Schema<Email>
refineAs<T, U>(name: string, predicate: Object, meta?: unknown): Object
name: string
predicate: Object
Optionalmeta: unknown
Optional
Example