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.
Assigns rules
The main check method which would invokes _check.
Extends parent
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"
Merge rules
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
alias:
leq
*Checks whether the actual and the expected are loose equation. please see the twin brother Equal for more information.
leq([]).ok([]) === true leq('222').ok('222') === false leq(['222']).ok([222]) === false leq({ a: { b: '2' } }).ok({ a: { b: '2' } }) === true // The actual value contains `.c` and `.a.d` which are allowed in loose equation. leq({ a: { b: '2' } }).ok({ a: { b: '2', d: 'allowed' }, c: 'ddd' }) === true // `.a.d` is denied when wrapped by `eq`. leq({ a: eq({ b: '2' }) }).ok({ a: { b: '2', d: 'allowed' }, c: 'ddd' }) === false