UNPKG

@naturalcycles/nodejs-lib

Version:
43 lines (42 loc) 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.numberExtensions = void 0; 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) { return this.$_addRule({ name: 'dividable', args: { q }, }); }, args: [ { name: 'q', ref: true, assert: v => typeof v === 'number' && !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;