Socket
Socket
Sign inDemoInstall

joi

Package Overview
Dependencies
Maintainers
4
Versions
238
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

joi - npm Package Compare versions

Comparing version 13.3.0 to 13.4.0

32

lib/index.js

@@ -28,3 +28,3 @@ 'use strict';

internals.applyDefaults = function (schema) {
internals.callWithDefaults = function (schema, args) {

@@ -39,3 +39,3 @@ Hoek.assert(this, 'Must be invoked on a Joi instance.');

return schema;
return schema._init(...args);
};

@@ -55,3 +55,3 @@

return internals.applyDefaults.call(this, any);
return internals.callWithDefaults.call(this, any, args);
};

@@ -61,4 +61,3 @@

const alternatives = internals.applyDefaults.call(this, internals.alternatives);
return args.length ? alternatives.try.apply(alternatives, args) : alternatives;
return internals.callWithDefaults.call(this, internals.alternatives, args);
};

@@ -70,3 +69,3 @@

return internals.applyDefaults.call(this, internals.array);
return internals.callWithDefaults.call(this, internals.array, args);
};

@@ -78,3 +77,3 @@

return internals.applyDefaults.call(this, internals.boolean);
return internals.callWithDefaults.call(this, internals.boolean, args);
};

@@ -86,3 +85,3 @@

return internals.applyDefaults.call(this, internals.binary);
return internals.callWithDefaults.call(this, internals.binary, args);
};

@@ -94,3 +93,3 @@

return internals.applyDefaults.call(this, internals.date);
return internals.callWithDefaults.call(this, internals.date, args);
};

@@ -102,3 +101,3 @@

return internals.applyDefaults.call(this, internals.func);
return internals.callWithDefaults.call(this, internals.func, args);
};

@@ -110,3 +109,3 @@

return internals.applyDefaults.call(this, internals.number);
return internals.callWithDefaults.call(this, internals.number, args);
};

@@ -116,4 +115,3 @@

const object = internals.applyDefaults.call(this, internals.object);
return args.length ? object.keys(...args) : object;
return internals.callWithDefaults.call(this, internals.object, args);
};

@@ -125,3 +123,3 @@

return internals.applyDefaults.call(this, internals.string);
return internals.callWithDefaults.call(this, internals.string, args);
};

@@ -229,3 +227,3 @@

const schemaPath = typeof path === 'string' ? path.split('.') : path.slice();
const schemaPath = typeof path === 'string' ? (path ? path.split('.') : []) : path.slice();

@@ -418,5 +416,5 @@ return reach(schema, schemaPath);

const instance = new type();
joi[extension.name] = function () {
joi[extension.name] = function (...extArgs) {
return internals.applyDefaults.call(this, instance);
return internals.callWithDefaults.call(this, instance, extArgs);
};

@@ -423,0 +421,0 @@ }

@@ -64,2 +64,4 @@ 'use strict';

max: 'must be less than or equal to "{{limit}}"',
less: 'must be less than "{{limit}}"',
greater: 'must be greater than "{{limit}}"',
isoDate: 'must be a valid ISO 8601 date',

@@ -66,0 +68,0 @@ timestamp: {

@@ -5,3 +5,3 @@ 'use strict';

const Joi = require('../');
const Joi = require('./index');

@@ -8,0 +8,0 @@

@@ -26,2 +26,7 @@ 'use strict';

_init(...args) {
return args.length ? this.try(...args) : this;
}
_base(value, state, options) {

@@ -28,0 +33,0 @@

@@ -77,2 +77,7 @@ 'use strict';

_init() {
return this;
}
get schemaType() {

@@ -79,0 +84,0 @@

@@ -171,6 +171,10 @@ 'use strict';

};
internals.Date.prototype.min = internals.compare('min', (value, date) => value >= date);
internals.Date.prototype.max = internals.compare('max', (value, date) => value <= date);
internals.Date.prototype.greater = internals.compare('greater', (value, date) => value > date);
internals.Date.prototype.less = internals.compare('less', (value, date) => value < date);
module.exports = new internals.Date();

@@ -29,2 +29,7 @@ 'use strict';

_init(...args) {
return args.length ? this.keys(...args) : this;
}
_base(value, state, options) {

@@ -248,3 +253,6 @@

if (pattern.regex.test(key)) {
if (pattern.regex ?
pattern.regex.test(key) :
!pattern.schema.validate(key).error) {
unprocessed.delete(key);

@@ -438,6 +446,9 @@

Hoek.assert(pattern instanceof RegExp, 'Invalid regular expression');
const isRegExp = pattern instanceof RegExp;
Hoek.assert(isRegExp || pattern instanceof Any, 'pattern must be a regex or schema');
Hoek.assert(schema !== undefined, 'Invalid rule');
pattern = new RegExp(pattern.source, pattern.ignoreCase ? 'i' : undefined); // Future version should break this and forbid unsupported regex flags
if (isRegExp) {
pattern = new RegExp(pattern.source, pattern.ignoreCase ? 'i' : undefined); // Future version should break this and forbid unsupported regex flags
}

@@ -455,5 +466,9 @@ try {

const obj = this.clone();
obj._inner.patterns.push({ regex: pattern, rule: schema });
if (isRegExp) {
obj._inner.patterns.push({ regex: pattern, rule: schema });
}
else {
obj._inner.patterns.push({ schema: pattern, rule: schema });
}
return obj;

@@ -644,3 +659,8 @@ }

const pattern = this._inner.patterns[i];
description.patterns.push({ regex: pattern.regex.toString(), rule: pattern.rule.describe() });
if (pattern.regex) {
description.patterns.push({ regex: pattern.regex.toString(), rule: pattern.rule.describe() });
}
else {
description.patterns.push({ schema: pattern.schema.describe(), rule: pattern.rule.describe() });
}
}

@@ -647,0 +667,0 @@ }

{
"name": "joi",
"description": "Object schema validation",
"version": "13.3.0",
"version": "13.4.0",
"homepage": "https://github.com/hapijs/joi",

@@ -6,0 +6,0 @@ "repository": "git://github.com/hapijs/joi",

@@ -19,3 +19,3 @@ ![joi Logo](https://raw.github.com/hapijs/joi/master/images/joi.png)

# API
See the detailed [API Reference](https://github.com/hapijs/joi/blob/v13.3.0/API.md).
See the detailed [API Reference](https://github.com/hapijs/joi/blob/v13.4.0/API.md).

@@ -22,0 +22,0 @@ # Example

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc