yup greedy cast

node v6.17.1
version: 3.0.0
endpointsharetweet
const yup = require('yup') const booleanSchema = yup.boolean() const numberSchema = yup.number() const validate = async function validate (originalValue, schema) { const isStrictlyValid = await schema.isValid(originalValue, { strict: true }) const isValid = await schema.isValid(originalValue, { strict: false }) return { castAs: schema.cast(originalValue), isStrictlyValid, isValid, originalValue } }
await validate(true, booleanSchema)
await validate(false, booleanSchema)
await validate('true', booleanSchema)
await validate('false', booleanSchema)
await validate(1, booleanSchema)
await validate(0, booleanSchema)
await validate('bar1', booleanSchema)
await validate('foo', booleanSchema)
await validate(1, numberSchema)
await validate('1', numberSchema)
await validate('abc', numberSchema)
await validate(new Number(1), numberSchema)
await validate(new Number('1'), numberSchema)
await validate(new Number('abc'), numberSchema)
await validate(new Date(), numberSchema)
await validate(true, numberSchema)
await validate('true', numberSchema)
Loading…

no comments

    sign in to comment