const isOkay = require('is-okay');
const v = isOkay();
v.required('botId')
.string()
.is('not a reseved word [app]', b => b !== 'app')
.is('max 47 chars long', b => b.length <= 47);
v.required('wingbotToken')
.string();
v.optional('tier')
.default('free')
.is('one of allowed values', t => ['free', 'staging', 'production'].includes(t));
const data = v.okay(inputData);
const isOkay = require('is-okay');
const v = isOkay();
v.nullable('opt');
v.required('opt.req').string();
assert.deepEqual(v.okay({}), { opt: null });
assert.throws(() => {
v.okay({
opt: {}
});
});
assert.deepEqual(v.okay({
opt: { req: 'a' }
}), { opt: { req: 'a' } });
All root keys of input will be treated as optional.
const isOkay = require('is-okay');
const v = isOkay();
v.nullable('opt');
v.required('opt.req').string();
v.required('id');
const input = {};
assert.deepEqual(v.okay(input, true), {});
const isOkay = require('is-okay');
const v = isOkay();
v.nullable('some.nested');
v.nullable('array[].value');
v.optional('array[].opt').default(1);
v.optional('array[].notHere');
v.required('array[].required');
v.required('required');
v.nullable('some.nested');
v.nullable('array[].value')
.string();
v.optional('array[].opt')
.default(1);
v.optional('array[].notHere');
v.required('array[].required')
.string();
v.required('required')
.number();
assert.deepEqual(v.okay({
required: 1,
notHere: 2,
array: [
{ required: 'abv', removeMe: 4, value: null },
{ required: 'abc', out: 6, opt: 1 }
]
}), {
required: 1,
some: { nested: null },
array: [
{ required: 'abv', opt: 1, value: null },
{ required: 'abc', opt: 2, value: null }
]
});
- Rule
{Rule} Validation configurator
- ValidationError :
Error
- validator :
function
Validator callback
{Rule} Validation configurator
Kind: global class
- Rule
- .string() ⇒
this
- .number() ⇒
this
- .boolean() ⇒
this
- .default(defaultValue) ⇒
this
- .is(message, fn) ⇒
this
- .notEmpty() ⇒
this
- .string() ⇒
Sets filter
Kind: instance method of Rule
Sets filter
Kind: instance method of Rule
Sets filter
Kind: instance method of Rule
Sets default value
Kind: instance method of Rule
Param | Type |
---|---|
defaultValue | * |
Adds validator
Kind: instance method of Rule
Param | Type |
---|---|
message | string |
fn | validator |
Value should not be empty (not falsey)
Kind: instance method of Rule
Kind: global typedef
Properties
Name | Type |
---|---|
invalidKey | string |
status | number |
statusCode | number |
Validator callback
Kind: global typedef
Param | Type | Description |
---|---|---|
value | * |
found value |
key | * |
a key, where the value was found |