@naturalcycles/nodejs-lib
Version:
Standard library for Node.js
43 lines • 1.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
function numberExtensions(joi) {
return {
base: joi.number(),
type: 'number',
messages: {
'number.dividable': `"{{#label}}" must be dividable by {{#q}}`,
},
// validate (v, helpers) {
// console.log('number validate called', {v})
// },
rules: {
// Based on: https://github.com/hapijs/joi/blob/master/API.md#extensions
dividable: {
multi: true,
method(q) {
// tslint:disable-next-line:no-invalid-this
return this.$_addRule({
name: 'dividable',
args: { q },
});
},
args: [
{
name: 'q',
ref: true,
assert: v => typeof v === 'number' && !isNaN(v),
message: 'must be a number',
},
],
validate(v, helpers, args) {
if (v % args.q === 0) {
return v;
}
return helpers.error('number.dividable', args);
},
},
},
};
}
exports.numberExtensions = numberExtensions;
//# sourceMappingURL=number.extensions.js.map