diff options
Diffstat (limited to 'node_modules/ajv-keywords/keywords/dynamicDefaults.js')
| -rw-r--r-- | node_modules/ajv-keywords/keywords/dynamicDefaults.js | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/node_modules/ajv-keywords/keywords/dynamicDefaults.js b/node_modules/ajv-keywords/keywords/dynamicDefaults.js deleted file mode 100644 index 5323bb8c..00000000 --- a/node_modules/ajv-keywords/keywords/dynamicDefaults.js +++ /dev/null @@ -1,72 +0,0 @@ -'use strict'; - -var sequences = {}; - -var DEFAULTS = { - timestamp: function() { return Date.now(); }, - datetime: function() { return (new Date).toISOString(); }, - date: function() { return (new Date).toISOString().slice(0, 10); }, - time: function() { return (new Date).toISOString().slice(11); }, - random: function() { return Math.random(); }, - randomint: function (args) { - var limit = args && args.max || 2; - return function() { return Math.floor(Math.random() * limit); }; - }, - seq: function (args) { - var name = args && args.name || ''; - sequences[name] = sequences[name] || 0; - return function() { return sequences[name]++; }; - } -}; - -module.exports = function defFunc(ajv) { - defFunc.definition = { - compile: function (schema, parentSchema, it) { - var funcs = {}; - - for (var key in schema) { - var d = schema[key]; - var func = getDefault(typeof d == 'string' ? d : d.func); - funcs[key] = func.length ? func(d.args) : func; - } - - return it.opts.useDefaults && !it.compositeRule - ? assignDefaults - : noop; - - function assignDefaults(data) { - for (var prop in schema){ - if (data[prop] === undefined - || (it.opts.useDefaults == 'empty' - && (data[prop] === null || data[prop] === ''))) - data[prop] = funcs[prop](); - } - return true; - } - - function noop() { return true; } - }, - DEFAULTS: DEFAULTS, - metaSchema: { - type: 'object', - additionalProperties: { - type: ['string', 'object'], - additionalProperties: false, - required: ['func', 'args'], - properties: { - func: { type: 'string' }, - args: { type: 'object' } - } - } - } - }; - - ajv.addKeyword('dynamicDefaults', defFunc.definition); - return ajv; - - function getDefault(d) { - var def = DEFAULTS[d]; - if (def) return def; - throw new Error('invalid "dynamicDefaults" keyword property value: ' + d); - } -}; |
