Would you like to clone this notebook?

When you clone a notebook you are able to make changes without affecting the original notebook.

Cancel

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