Search


Search something to see results

refineAs

import * as x from 'unhoax'

type Email = string & { _tag: 'Email' }
declare const isEmail: (input: string) => input is Email

const 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>

Type Parameters

  • T
  • U

Parameters

  • name: string
  • predicate: Object
  • Optionalmeta: unknown

Returns Object