The verifiable instance is required.
Set the verifiable rule to be optional.
const r = eq({
a: string.optional,
b: string // .required by default
})
r.ok({ b: 'abc' }) === true
r.ok({ a: 'abc' }) === false
Set the verifiable rule to be required. please see required.
The main check method which would invokes _check.
Clones this instance
get rule
eq({ a: 'a' }).get('a') === 'a'
eq({ a: 'a' }).ok(
eq({ a: 'a' }).get()
) === true
Gets the rule string
oneOf(['123', string]).getRuleString() === "['123', string]"
Gets the type name
oneOf(['123', string]).getTypeName() === "oneOf"
set rule
eq({ a: 'a' }).set('a', 'bbb').ok({ a: 'bbb' }) === true
eq({ a: 'a' }).set(null, 'bbb').ok('bbb') === true
Gets the verifiable instance string
oneOf(['123', string]).getRuleString() === "oneOf(['123', string])"
be('2').toUnlawfulString('2') === ''
be('2').toUnlawfulString(2) === "expected: '2', actual: 2."
Generated using TypeDoc
Checks plain object's shape.
// value restriction object('val').ok({ a: 'val', b: 'val' }) === true object('val').ok({}) === true object('val').ok({ a: 'xxx' }) === false // key and value restriction object(['val', 'key']).ok({ key: 'val' }) === true object(['val', 'key']).ok({ keys: 'val' }) === false // Without key and value restriction object().ok([]) === false object().ok(new Boolean(false)) === false