Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | 2x 1x 1x 1x 1x 2x 2x 3x 4x 4x | import { boolean as locale } from './locale' import MixedSchema from './mixed' import inherits from './util/inherits' import isAbsent from './util/isAbsent' export default BooleanSchema function BooleanSchema(payload) { if (!(this instanceof BooleanSchema)) return typeof payload === 'function' ? payload(new BooleanSchema()) : new BooleanSchema() MixedSchema.call(this, { type: 'boolean' }) this.withMutation(() => { this.transform(function (value) { Iif (!this.isType(value)) { if (/^(true|1)$/i.test(value)) return true if (/^(false|0)$/i.test(value)) return false } return value }) }) } inherits(BooleanSchema, MixedSchema, { _typeCheck(v) { Iif (v instanceof Boolean) v = v.valueOf() return typeof v === 'boolean' }, isTrue(message = locale.isValue) { return this.test({ message, name: 'is-value', exclusive: true, params: { value: 'true' }, test(value) { return isAbsent(value) || value === true }, }) }, isFalse(message = locale.isValue) { return this.test({ message, name: 'is-value', exclusive: true, params: { value: 'false' }, test(value) { return isAbsent(value) || value === false }, }) }, }) |