Coercions
defaulted
defaulteddefaulted(string(), 'Untitled')
object({
id: defaulted(number(), () => i++),
name: string(),
role: defaulted(enums(['admin', 'member', 'guest']), 'guest'),
})trimmed
trimmedtrimmed(string())Custom Coercions
import { coerce, number, string, create } from 'superstruct'
const MyNumber = coerce(number(), string(), (value) => parseFloat(value))
const a = create(42, MyNumber) // 42
const b = create('42', MyNumber) // 42
const c = create(false, MyNumber) // error thrown!Last updated