n4s 4.3.0-dev-c4ba9b → 4.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/cjs/compose.development.js +1 -1
- package/dist/cjs/compose.production.js +1 -1
- package/dist/cjs/compounds.development.js +1 -1
- package/dist/cjs/compounds.production.js +1 -1
- package/dist/cjs/n4s.development.js +24 -13
- package/dist/cjs/n4s.production.js +1 -1
- package/dist/cjs/schema.development.js +1 -1
- package/dist/cjs/schema.production.js +1 -1
- package/dist/es/compose.development.js +1 -1
- package/dist/es/compose.production.js +1 -1
- package/dist/es/compounds.development.js +1 -1
- package/dist/es/compounds.production.js +1 -1
- package/dist/es/n4s.development.js +24 -13
- package/dist/es/n4s.production.js +1 -1
- package/dist/es/schema.development.js +1 -1
- package/dist/es/schema.production.js +1 -1
- package/dist/umd/compose.development.js +4 -4
- package/dist/umd/compose.production.js +1 -1
- package/dist/umd/compounds.development.js +4 -4
- package/dist/umd/compounds.production.js +1 -1
- package/dist/umd/n4s.development.js +24 -13
- package/dist/umd/n4s.production.js +1 -1
- package/dist/umd/schema.development.js +4 -4
- package/dist/umd/schema.production.js +1 -1
- package/package.json +4 -4
- package/tsconfig.json +1 -1
- package/types/compounds.d.ts.map +1 -1
- package/types/n4s.d.ts +5 -1
- package/types/n4s.d.ts.map +1 -1
- package/types/schema.d.ts.map +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Enforce - n4s
|
|
2
2
|
|
|
3
|
+
[](https://discord.gg/WmADZpJnSe) [](https://www.npmjs.com/package/n4s) [](https://www.npmjs.com/package/n4s) [](https://bundlephobia.com/package/n4s) [](https://github.com/ealush/vest/actions)
|
|
4
|
+
|
|
3
5
|
Enforce is a validations assertions library. It provides rules that you can test your data against.
|
|
4
6
|
|
|
5
7
|
By default, enforce throws an error when your validations fail. These errors should be caught by a validation testing framework such as [Vest](https://github.com/ealush/vest).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var n=require("
|
|
1
|
+
"use strict";var n=require("vest-utils"),r=require("n4s");function t(n,r){var t={pass:n};return r&&(t.message=r),t}function u(r){return n.defaultTo(r,t(!0))}function e(n,r){try{return n.run(r)}catch(n){return t(!1)}}module.exports=function(){for(var t=[],s=0;s<arguments.length;s++)t[s]=arguments[s];return n.assign((function(r){var t=a(r);n.invariant(t.pass,n.StringObject(t.message))}),{run:a,test:function(n){return a(n).pass}});function a(s){return r.ctx.run({value:s},(function(){return u(n.mapFirst(t,(function(n,r){var t=e(n,s);r(!t.pass,t)})))}))}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var n=require("
|
|
1
|
+
"use strict";var n=require("vest-utils"),r=require("n4s");function t(n,r){var t={pass:n};return r&&(t.message=r),t}function e(){return t(!1)}function u(r){return n.defaultTo(r,e())}function f(r){return n.defaultTo(r,t(!0))}function a(n,r){try{return n.run(r)}catch(n){return e()}}function o(n,r){return n===r}n.bindNot(o);r.enforce.extend({allOf:function(r){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return f(n.mapFirst(t,(function(n,t){var e=a(n,r);t(!e.pass,e)})))},anyOf:function(r){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return u(n.mapFirst(t,(function(n,t){var e=a(n,r);t(e.pass,e)})))},noneOf:function(r){for(var t=[],u=1;u<arguments.length;u++)t[u-1]=arguments[u];return f(n.mapFirst(t,(function(n,t){t(a(n,r).pass,e())})))},oneOf:function(r){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];var f=0;return e.some((function(t){if(a(t,r).pass&&f++,n.greaterThan(f,1))return!1})),t(o(f,1))}});
|
|
@@ -121,9 +121,7 @@ function matches(value, regex) {
|
|
|
121
121
|
else if (vestUtils.isStringValue(regex)) {
|
|
122
122
|
return new RegExp(regex).test(value);
|
|
123
123
|
}
|
|
124
|
-
|
|
125
|
-
return false;
|
|
126
|
-
}
|
|
124
|
+
return false;
|
|
127
125
|
}
|
|
128
126
|
var notMatches = vestUtils.bindNot(matches);
|
|
129
127
|
|
|
@@ -322,17 +320,19 @@ function transformResult(result, ruleName, value) {
|
|
|
322
320
|
if (vestUtils.isBoolean(result)) {
|
|
323
321
|
return ruleReturn(result);
|
|
324
322
|
}
|
|
325
|
-
|
|
326
|
-
return ruleReturn(result.pass, vestUtils.optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args, false)));
|
|
327
|
-
}
|
|
323
|
+
return ruleReturn(result.pass, vestUtils.optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args, false)));
|
|
328
324
|
}
|
|
329
325
|
function validateResult(result) {
|
|
330
326
|
// if result is boolean, or if result.pass is boolean
|
|
331
327
|
vestUtils.invariant(vestUtils.isBoolean(result) || (result && vestUtils.isBoolean(result.pass)), 'Incorrect return value for rule: ' + JSON.stringify(result));
|
|
332
328
|
}
|
|
333
329
|
|
|
330
|
+
// eslint-disable-next-line max-lines-per-function
|
|
334
331
|
function enforceEager(value) {
|
|
335
|
-
var target = {
|
|
332
|
+
var target = {
|
|
333
|
+
message: message
|
|
334
|
+
};
|
|
335
|
+
var customMessage = undefined;
|
|
336
336
|
// This condition is for when we don't have proxy support (ES5).
|
|
337
337
|
// In this case, we need to manually assign the rules to the target object on runtime.
|
|
338
338
|
// The follow up proxy block is used in case we do have proxy support, and we can assign each rule upon invocation.
|
|
@@ -346,13 +346,14 @@ function enforceEager(value) {
|
|
|
346
346
|
}
|
|
347
347
|
// We create a proxy intercepting access to the target object (which is empty).
|
|
348
348
|
var proxy = new Proxy(target, {
|
|
349
|
-
get: function (_,
|
|
349
|
+
get: function (_, key) {
|
|
350
350
|
// On property access, we identify if it is a rule or not.
|
|
351
|
-
var rule = getRule(
|
|
351
|
+
var rule = getRule(key);
|
|
352
352
|
// If it is a rule, we wrap it with `genRuleCall` that adds the base enforce behavior
|
|
353
353
|
if (rule) {
|
|
354
|
-
return genRuleCall(proxy, rule,
|
|
354
|
+
return genRuleCall(proxy, rule, key);
|
|
355
355
|
}
|
|
356
|
+
return target[key];
|
|
356
357
|
}
|
|
357
358
|
});
|
|
358
359
|
return proxy;
|
|
@@ -372,14 +373,24 @@ function enforceEager(value) {
|
|
|
372
373
|
var transformedResult = ctx.run({ value: value }, function () {
|
|
373
374
|
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
374
375
|
});
|
|
376
|
+
function enforceMessage() {
|
|
377
|
+
if (!vestUtils.isNullish(customMessage))
|
|
378
|
+
return vestUtils.StringObject(customMessage);
|
|
379
|
+
if (vestUtils.isNullish(transformedResult.message)) {
|
|
380
|
+
return "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value));
|
|
381
|
+
}
|
|
382
|
+
return vestUtils.StringObject(transformedResult.message);
|
|
383
|
+
}
|
|
375
384
|
// On rule failure (the result is false), we either throw an error
|
|
376
385
|
// or throw a string value if the rule has a message defined in it.
|
|
377
|
-
vestUtils.invariant(transformedResult.pass,
|
|
378
|
-
? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
|
|
379
|
-
: vestUtils.StringObject(transformedResult.message));
|
|
386
|
+
vestUtils.invariant(transformedResult.pass, enforceMessage());
|
|
380
387
|
return target;
|
|
381
388
|
};
|
|
382
389
|
}
|
|
390
|
+
function message(input) {
|
|
391
|
+
customMessage = input;
|
|
392
|
+
return proxy;
|
|
393
|
+
}
|
|
383
394
|
}
|
|
384
395
|
|
|
385
396
|
// eslint-disable-next-line max-lines-per-function
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("vest-utils"),t=require("context");function r(t,r){return n.isStringValue(t)&&n.isStringValue(r)&&t.endsWith(r)}var i=n.bindNot(r);function e(n,t){return n===t}var u=n.bindNot(e);function s(t,r){return n.numberEquals(t,r)||n.greaterThan(t,r)}function o(t,r){return(n.isArray(r)||!(!n.isStringValue(r)||!n.isStringValue(t)))&&-1!==r.indexOf(t)}var a=n.bindNot(o);function l(t,r){return n.isNumeric(t)&&n.isNumeric(r)&&Number(t)<Number(r)}function c(t,r){return n.numberEquals(t,r)||l(t,r)}function f(n,t,r){return s(n,t)&&c(n,r)}var N=n.bindNot(f);function
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("vest-utils"),t=require("context");function r(t,r){return n.isStringValue(t)&&n.isStringValue(r)&&t.endsWith(r)}var i=n.bindNot(r);function e(n,t){return n===t}var u=n.bindNot(e);function s(t,r){return n.numberEquals(t,r)||n.greaterThan(t,r)}function o(t,r){return(n.isArray(r)||!(!n.isStringValue(r)||!n.isStringValue(t)))&&-1!==r.indexOf(t)}var a=n.bindNot(o);function l(t,r){return n.isNumeric(t)&&n.isNumeric(r)&&Number(t)<Number(r)}function c(t,r){return n.numberEquals(t,r)||l(t,r)}function f(n,t,r){return s(n,t)&&c(n,r)}var N=n.bindNot(f);function g(t){return n.isNullish(t)||n.isStringValue(t)&&!t.trim()}var v=n.bindNot(g),d=n.bindNot(n.isBoolean),h=function(t){return!!n.isNumeric(t)&&t%2==0};function p(n,t){return n in t}var m=n.bindNot(p);function y(n){return Number.isNaN(n)}var b=n.bindNot(y);function E(n){return l(n,0)}function q(n){return Boolean("number"==typeof n)}var S=n.bindNot(q),O=function(t){return!!n.isNumeric(t)&&t%2!=0},x=n.bindNot(n.isStringValue);function T(n){return!!n}var V=n.bindNot(T);function B(t,r){if(n.isNullish(r))return!1;for(var i in r)if(r[i]===t)return!0;return!1}var w=n.bindNot(B);function A(n,t){return s(n.length,t)}function P(t,r){return r instanceof RegExp?r.test(t):!!n.isStringValue(r)&&new RegExp(r).test(t)}var F=n.bindNot(P);function W(n,t){try{return t(n)}catch(n){return!1}}function U(n,t){return l(n.length,t)}function j(n,t){return c(n.length,t)}function k(t,r){return n.isStringValue(t)&&n.isStringValue(r)&&t.startsWith(r)}var I=n.bindNot(k);var J={condition:W,doesNotEndWith:i,doesNotStartWith:I,endsWith:r,equals:e,greaterThan:n.greaterThan,greaterThanOrEquals:s,gt:n.greaterThan,gte:s,inside:o,isArray:n.isArray,isBetween:f,isBlank:g,isBoolean:n.isBoolean,isEmpty:n.isEmpty,isEven:h,isFalsy:V,isKeyOf:p,isNaN:y,isNegative:E,isNotArray:n.isNotArray,isNotBetween:N,isNotBlank:v,isNotBoolean:d,isNotEmpty:n.isNotEmpty,isNotKeyOf:m,isNotNaN:b,isNotNull:n.isNotNull,isNotNullish:n.isNotNullish,isNotNumber:S,isNotNumeric:n.isNotNumeric,isNotString:x,isNotUndefined:n.isNotUndefined,isNotValueOf:w,isNull:n.isNull,isNullish:n.isNullish,isNumber:q,isNumeric:n.isNumeric,isOdd:O,isPositive:n.isPositive,isString:n.isStringValue,isTruthy:T,isUndefined:n.isUndefined,isValueOf:B,lengthEquals:n.lengthEquals,lengthNotEquals:n.lengthNotEquals,lessThan:l,lessThanOrEquals:c,longerThan:n.longerThan,longerThanOrEquals:A,lt:l,lte:c,matches:P,notEquals:u,notInside:a,notMatches:F,numberEquals:n.numberEquals,numberNotEquals:n.numberNotEquals,shorterThan:U,shorterThanOrEquals:j,startsWith:k};function K(n){return J[n]}function M(t){for(var r in J){var i=K(r);n.isFunction(i)&&t(r,i)}}var R=t.createCascade((function(t,r){var i={value:t.value,meta:t.meta||{}};return r?t.set?n.assign(i,{parent:function(){return function(n){if(!n)return null;return{value:n.value,meta:n.meta,parent:n.parent}}(r)}}):r:n.assign(i,{parent:_})}));function _(){return null}function C(n,t,r){if(r||2===arguments.length)for(var i,e=0,u=t.length;e<u;e++)!i&&e in t||(i||(i=Array.prototype.slice.call(t,0,e)),i[e]=t[e]);return n.concat(i||Array.prototype.slice.call(t))}function X(){try{return n.isFunction(Proxy)}catch(n){return!1}}function z(n,t){var r={pass:n};return t&&(r.message=t),r}function D(t){return n.defaultTo(t,z(!0))}function G(t,r,i){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return H(t),n.isBoolean(t)?z(t):z(t.pass,n.optionalFunctionValue.apply(void 0,C([t.message,r,i],e,!1)))}function H(t){n.invariant(n.isBoolean(t)||t&&n.isBoolean(t.pass),"Incorrect return value for rule: "+JSON.stringify(t))}function L(t){var r={message:function(n){return i=n,e}},i=void 0;if(!X())return M((function(n,t){r[n]=u(r,t,n)})),r;var e=new Proxy(r,{get:function(n,t){var i=K(t);return i?u(e,i,t):r[t]}});return e;function u(r,e,u){return function(){for(var s=[],o=0;o<arguments.length;o++)s[o]=arguments[o];var a=R.run({value:t},(function(){return G.apply(void 0,C([e.apply(void 0,C([t],s,!1)),u,t],s,!1))}));function l(){return n.isNullish(i)?n.isNullish(a.message)?"enforce/".concat(u," failed with ").concat(JSON.stringify(t)):n.StringObject(a.message):n.StringObject(i)}return n.invariant(a.pass,l()),r}}}function Q(t){var r,i=[];return function t(e){return function(){for(var u=[],s=0;s<arguments.length;s++)u[s]=arguments[s];var o=K(e);i.push((function(n){return G.apply(void 0,C([o.apply(void 0,C([n],u,!1)),e,n],u,!1))}));var a={run:function(t){return D(n.mapFirst(i,(function(i,e){var u,s=R.run({value:t},(function(){return i(t)}));e(!s.pass,z(!!s.pass,null!==(u=n.optionalFunctionValue(r,t,s.message))&&void 0!==u?u:s.message))})))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return X()?(a=new Proxy(a,{get:function(n,r){return K(r)?t(r):n[r]}}),a):(M((function(n){a[n]=t(n)})),a)}}(t)}var Y=function(){var t={context:function(){return R.useX()},extend:function(t){n.assign(J,t),r()}};return r(),new Proxy(n.assign(L,t),{get:function(n,t){return t in n?n[t]:K(t)?Q(t):void 0}});function r(){if(!X())return M((function(n){t[n]=Q(n)})),n.assign(L,t)}}();exports.ctx=R,exports.enforce=Y;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("vest-utils"),n=require("n4s");function e(r,n){var e={pass:r};return n&&(e.message=n),e}function t(){return e(!1)}function u(){return e(!0)}function a(r,n){try{return r.run(n)}catch(r){return t()}}function i(r,e){var t=function(t){var u=r[t],i=e[t],o=n.ctx.run({value:u,set:!0,meta:{key:t}},(function(){return a(i,u)}));if(!o.pass)return{value:o}};for(var i in e){var o=t(i);if("object"==typeof o)return o.value}return u()}n.enforce.extend({isArrayOf:function(e,t){return i=r.mapFirst(e,(function(r,e,u){var i=n.ctx.run({value:r,set:!0,meta:{index:u}},(function(){return a(t,r)}));e(!i.pass,i)})),r.defaultTo(i,u());var i},loose:i,optional:function(n,e){return r.isNullish(n)?u():a(e,n)},shape:function(n,e){var a=i(n,e);if(!a.pass)return a;for(var o in n)if(!r.hasOwnProperty(e,o))return t();return u()}}),exports.partial=function(r){var e={};for(var t in r)e[t]=n.enforce.optional(r[t]);return e};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{defaultTo as n,assign as r,invariant as t,StringObject as u,mapFirst as e}from"vest-utils";import{ctx as s}from"n4s";function o(n,r){var t={pass:n};return r&&(t.message=r),t}function a(r){return n(r,o(!0))}function f(n,r){try{return n.run(r)}catch(n){return o(!1)}}function i(){for(var n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return r((function(n){var r=i(n);t(r.pass,u(r.message))}),{run:i,test:function(n){return i(n).pass}});function i(r){return s.run({value:r},(function(){return a(e(n,(function(n,t){var u=f(n,r);t(!u.pass,u)})))}))}}export{i as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{defaultTo as n,mapFirst as r,bindNot as t,greaterThan as u}from"vest-utils";import{enforce as f}from"n4s";function o(n,r){var t={pass:n};return r&&(t.message=r),t}function e(){return o(!1)}function i(r){return n(r,e())}function a(r){return n(r,o(!0))}function c(n,r){try{return n.run(r)}catch(n){return e()}}function s(n,r){return n===r}t(s);f.extend({allOf:function(n){for(var t=[],u=1;u<arguments.length;u++)t[u-1]=arguments[u];return a(r(t,(function(r,t){var u=c(r,n);t(!u.pass,u)})))},anyOf:function(n){for(var t=[],u=1;u<arguments.length;u++)t[u-1]=arguments[u];return i(r(t,(function(r,t){var u=c(r,n);t(u.pass,u)})))},noneOf:function(n){for(var t=[],u=1;u<arguments.length;u++)t[u-1]=arguments[u];return a(r(t,(function(r,t){t(c(r,n).pass,e())})))},oneOf:function(n){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];var f=0;return r.some((function(r){if(c(r,n).pass&&f++,u(f,1))return!1})),o(s(f,1))}});
|
|
@@ -117,9 +117,7 @@ function matches(value, regex) {
|
|
|
117
117
|
else if (isStringValue(regex)) {
|
|
118
118
|
return new RegExp(regex).test(value);
|
|
119
119
|
}
|
|
120
|
-
|
|
121
|
-
return false;
|
|
122
|
-
}
|
|
120
|
+
return false;
|
|
123
121
|
}
|
|
124
122
|
var notMatches = bindNot(matches);
|
|
125
123
|
|
|
@@ -318,17 +316,19 @@ function transformResult(result, ruleName, value) {
|
|
|
318
316
|
if (isBoolean(result)) {
|
|
319
317
|
return ruleReturn(result);
|
|
320
318
|
}
|
|
321
|
-
|
|
322
|
-
return ruleReturn(result.pass, optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args, false)));
|
|
323
|
-
}
|
|
319
|
+
return ruleReturn(result.pass, optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args, false)));
|
|
324
320
|
}
|
|
325
321
|
function validateResult(result) {
|
|
326
322
|
// if result is boolean, or if result.pass is boolean
|
|
327
323
|
invariant(isBoolean(result) || (result && isBoolean(result.pass)), 'Incorrect return value for rule: ' + JSON.stringify(result));
|
|
328
324
|
}
|
|
329
325
|
|
|
326
|
+
// eslint-disable-next-line max-lines-per-function
|
|
330
327
|
function enforceEager(value) {
|
|
331
|
-
var target = {
|
|
328
|
+
var target = {
|
|
329
|
+
message: message
|
|
330
|
+
};
|
|
331
|
+
var customMessage = undefined;
|
|
332
332
|
// This condition is for when we don't have proxy support (ES5).
|
|
333
333
|
// In this case, we need to manually assign the rules to the target object on runtime.
|
|
334
334
|
// The follow up proxy block is used in case we do have proxy support, and we can assign each rule upon invocation.
|
|
@@ -342,13 +342,14 @@ function enforceEager(value) {
|
|
|
342
342
|
}
|
|
343
343
|
// We create a proxy intercepting access to the target object (which is empty).
|
|
344
344
|
var proxy = new Proxy(target, {
|
|
345
|
-
get: function (_,
|
|
345
|
+
get: function (_, key) {
|
|
346
346
|
// On property access, we identify if it is a rule or not.
|
|
347
|
-
var rule = getRule(
|
|
347
|
+
var rule = getRule(key);
|
|
348
348
|
// If it is a rule, we wrap it with `genRuleCall` that adds the base enforce behavior
|
|
349
349
|
if (rule) {
|
|
350
|
-
return genRuleCall(proxy, rule,
|
|
350
|
+
return genRuleCall(proxy, rule, key);
|
|
351
351
|
}
|
|
352
|
+
return target[key];
|
|
352
353
|
}
|
|
353
354
|
});
|
|
354
355
|
return proxy;
|
|
@@ -368,14 +369,24 @@ function enforceEager(value) {
|
|
|
368
369
|
var transformedResult = ctx.run({ value: value }, function () {
|
|
369
370
|
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
370
371
|
});
|
|
372
|
+
function enforceMessage() {
|
|
373
|
+
if (!isNullish(customMessage))
|
|
374
|
+
return StringObject(customMessage);
|
|
375
|
+
if (isNullish(transformedResult.message)) {
|
|
376
|
+
return "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value));
|
|
377
|
+
}
|
|
378
|
+
return StringObject(transformedResult.message);
|
|
379
|
+
}
|
|
371
380
|
// On rule failure (the result is false), we either throw an error
|
|
372
381
|
// or throw a string value if the rule has a message defined in it.
|
|
373
|
-
invariant(transformedResult.pass,
|
|
374
|
-
? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
|
|
375
|
-
: StringObject(transformedResult.message));
|
|
382
|
+
invariant(transformedResult.pass, enforceMessage());
|
|
376
383
|
return target;
|
|
377
384
|
};
|
|
378
385
|
}
|
|
386
|
+
function message(input) {
|
|
387
|
+
customMessage = input;
|
|
388
|
+
return proxy;
|
|
389
|
+
}
|
|
379
390
|
}
|
|
380
391
|
|
|
381
392
|
// eslint-disable-next-line max-lines-per-function
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{bindNot as n,isStringValue as t,numberEquals as r,greaterThan as e,isArray as u,isNumeric as i,isNullish as o,isBoolean as a,isEmpty as s,isNotArray as f,isNotEmpty as c,isNotNull as l,isNotNullish as v,isNotNumeric as N,isNotUndefined as h,isNull as
|
|
1
|
+
import{bindNot as n,isStringValue as t,numberEquals as r,greaterThan as e,isArray as u,isNumeric as i,isNullish as o,isBoolean as a,isEmpty as s,isNotArray as f,isNotEmpty as c,isNotNull as l,isNotNullish as v,isNotNumeric as N,isNotUndefined as h,isNull as g,isPositive as p,isUndefined as m,lengthEquals as y,lengthNotEquals as d,longerThan as E,numberNotEquals as O,isFunction as x,assign as q,defaultTo as T,optionalFunctionValue as b,invariant as w,StringObject as B,mapFirst as W}from"vest-utils";import{createCascade as P}from"context";function S(n,r){return t(n)&&t(r)&&n.endsWith(r)}var A=n(S);function k(n,t){return n===t}var I=n(k);function J(n,t){return r(n,t)||e(n,t)}function K(n,r){return(u(r)||!(!t(r)||!t(n)))&&-1!==r.indexOf(n)}var R=n(K);function U(n,t){return i(n)&&i(t)&&Number(n)<Number(t)}function V(n,t){return r(n,t)||U(n,t)}function F(n,t,r){return J(n,t)&&V(n,r)}var M=n(F);function X(n){return o(n)||t(n)&&!n.trim()}var j=n(X),z=n(a),C=function(n){return!!i(n)&&n%2==0};function D(n,t){return n in t}var G=n(D);function H(n){return Number.isNaN(n)}var L=n(H);function Q(n){return U(n,0)}function Y(n){return Boolean("number"==typeof n)}var Z=n(Y),$=function(n){return!!i(n)&&n%2!=0},_=n(t);function nn(n){return!!n}var tn=n(nn);function rn(n,t){if(o(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}var en=n(rn);function un(n,t){return J(n.length,t)}function on(n,r){return r instanceof RegExp?r.test(n):!!t(r)&&new RegExp(r).test(n)}var an=n(on);function sn(n,t){try{return t(n)}catch(n){return!1}}function fn(n,t){return U(n.length,t)}function cn(n,t){return V(n.length,t)}function ln(n,r){return t(n)&&t(r)&&n.startsWith(r)}var vn=n(ln);var Nn={condition:sn,doesNotEndWith:A,doesNotStartWith:vn,endsWith:S,equals:k,greaterThan:e,greaterThanOrEquals:J,gt:e,gte:J,inside:K,isArray:u,isBetween:F,isBlank:X,isBoolean:a,isEmpty:s,isEven:C,isFalsy:tn,isKeyOf:D,isNaN:H,isNegative:Q,isNotArray:f,isNotBetween:M,isNotBlank:j,isNotBoolean:z,isNotEmpty:c,isNotKeyOf:G,isNotNaN:L,isNotNull:l,isNotNullish:v,isNotNumber:Z,isNotNumeric:N,isNotString:_,isNotUndefined:h,isNotValueOf:en,isNull:g,isNullish:o,isNumber:Y,isNumeric:i,isOdd:$,isPositive:p,isString:t,isTruthy:nn,isUndefined:m,isValueOf:rn,lengthEquals:y,lengthNotEquals:d,lessThan:U,lessThanOrEquals:V,longerThan:E,longerThanOrEquals:un,lt:U,lte:V,matches:on,notEquals:I,notInside:R,notMatches:an,numberEquals:r,numberNotEquals:O,shorterThan:fn,shorterThanOrEquals:cn,startsWith:ln};function hn(n){return Nn[n]}function gn(n){for(var t in Nn){var r=hn(t);x(r)&&n(t,r)}}var pn=P((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?q(r,{parent:function(){return function(n){if(!n)return null;return{value:n.value,meta:n.meta,parent:n.parent}}(t)}}):t:q(r,{parent:mn})}));function mn(){return null}function yn(n,t,r){if(r||2===arguments.length)for(var e,u=0,i=t.length;u<i;u++)!e&&u in t||(e||(e=Array.prototype.slice.call(t,0,u)),e[u]=t[u]);return n.concat(e||Array.prototype.slice.call(t))}function dn(){try{return x(Proxy)}catch(n){return!1}}function En(n,t){var r={pass:n};return t&&(r.message=t),r}function On(n){return T(n,En(!0))}function xn(n,t,r){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return qn(n),a(n)?En(n):En(n.pass,b.apply(void 0,yn([n.message,t,r],e,!1)))}function qn(n){w(a(n)||n&&a(n.pass),"Incorrect return value for rule: "+JSON.stringify(n))}function Tn(n){var t={message:function(n){return r=n,e}},r=void 0;if(!dn())return gn((function(n,r){t[n]=u(t,r,n)})),t;var e=new Proxy(t,{get:function(n,r){var i=hn(r);return i?u(e,i,r):t[r]}});return e;function u(t,e,u){return function(){for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];var s=pn.run({value:n},(function(){return xn.apply(void 0,yn([e.apply(void 0,yn([n],i,!1)),u,n],i,!1))}));function f(){return o(r)?o(s.message)?"enforce/".concat(u," failed with ").concat(JSON.stringify(n)):B(s.message):B(r)}return w(s.pass,f()),t}}}function bn(n){var t,r=[];return function n(e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=hn(e);r.push((function(n){return xn.apply(void 0,yn([o.apply(void 0,yn([n],u,!1)),e,n],u,!1))}));var a={run:function(n){return On(W(r,(function(r,e){var u,i=pn.run({value:n},(function(){return r(n)}));e(!i.pass,En(!!i.pass,null!==(u=b(t,n,i.message))&&void 0!==u?u:i.message))})))},test:function(n){return a.run(n).pass},message:function(n){return n&&(t=n),a}};return dn()?(a=new Proxy(a,{get:function(t,r){return hn(r)?n(r):t[r]}}),a):(gn((function(t){a[t]=n(t)})),a)}}(n)}var wn=function(){var n={context:function(){return pn.useX()},extend:function(n){q(Nn,n),t()}};return t(),new Proxy(q(Tn,n),{get:function(n,t){return t in n?n[t]:hn(t)?bn(t):void 0}});function t(){if(!dn())return gn((function(t){n[t]=bn(t)})),q(Tn,n)}}();export{pn as ctx,wn as enforce};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{defaultTo as r,mapFirst as n,isNullish as t,hasOwnProperty as u}from"vest-utils";import{ctx as e,enforce as o}from"n4s";function a(r,n){var t={pass:r};return n&&(t.message=n),t}function i(){return a(!1)}function f(){return a(!0)}function s(r,n){try{return r.run(n)}catch(r){return i()}}function c(r,n){var t=function(t){var u=r[t],o=n[t],a=e.run({value:u,set:!0,meta:{key:t}},(function(){return s(o,u)}));if(!a.pass)return{value:a}};for(var u in n){var o=t(u);if("object"==typeof o)return o.value}return f()}function v(r){var n={};for(var t in r)n[t]=o.optional(r[t]);return n}o.extend({isArrayOf:function(t,u){return o=n(t,(function(r,n,t){var o=e.run({value:r,set:!0,meta:{index:t}},(function(){return s(u,r)}));n(!o.pass,o)})),r(o,f());var o},loose:c,optional:function(r,n){return t(r)?f():s(n,r)},shape:function(r,n){var t=c(r,n);if(!t.pass)return t;for(var e in r)if(!u(n,e))return i();return f()}});export{v as partial};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.compose = factory(global
|
|
5
|
-
})(this, (function (
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('vest-utils'), require('n4s')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['vest-utils', 'n4s'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.compose = factory(global["vest-utils"], global.n4s));
|
|
5
|
+
})(this, (function (vestUtils, n4s) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function ruleReturn(pass, message) {
|
|
8
8
|
var output = { pass: pass };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("
|
|
1
|
+
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vest-utils"),require("n4s")):"function"==typeof define&&define.amd?define(["vest-utils","n4s"],t):(n="undefined"!=typeof globalThis?globalThis:n||self).compose=t(n["vest-utils"],n.n4s)}(this,(function(n,t){"use strict";function e(n,t){var e={pass:n};return t&&(e.message=t),e}function r(t){return n.defaultTo(t,e(!0))}function u(n,t){try{return n.run(t)}catch(n){return e(!1)}}return function(){for(var e=[],s=0;s<arguments.length;s++)e[s]=arguments[s];return n.assign((function(t){var e=i(t);n.invariant(e.pass,n.StringObject(e.message))}),{run:i,test:function(n){return i(n).pass}});function i(s){return t.ctx.run({value:s},(function(){return r(n.mapFirst(e,(function(n,t){var e=u(n,s);t(!e.pass,e)})))}))}}}));
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global
|
|
5
|
-
})(this, (function (
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('vest-utils'), require('n4s')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['vest-utils', 'n4s'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["vest-utils"], global.n4s));
|
|
5
|
+
})(this, (function (vestUtils, n4s) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function ruleReturn(pass, message) {
|
|
8
8
|
var output = { pass: pass };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("
|
|
1
|
+
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("vest-utils"),require("n4s")):"function"==typeof define&&define.amd?define(["vest-utils","n4s"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self)["vest-utils"],n.n4s)}(this,(function(n,t){"use strict";function e(n,t){var e={pass:n};return t&&(e.message=t),e}function r(){return e(!1)}function u(t){return n.defaultTo(t,r())}function f(t){return n.defaultTo(t,e(!0))}function o(n,t){try{return n.run(t)}catch(n){return r()}}function i(n,t){return n===t}n.bindNot(i);t.enforce.extend({allOf:function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return f(n.mapFirst(e,(function(n,e){var r=o(n,t);e(!r.pass,r)})))},anyOf:function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return u(n.mapFirst(e,(function(n,e){var r=o(n,t);e(r.pass,r)})))},noneOf:function(t){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];return f(n.mapFirst(e,(function(n,e){e(o(n,t).pass,r())})))},oneOf:function(t){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];var f=0;return r.some((function(e){if(o(e,t).pass&&f++,n.greaterThan(f,1))return!1})),e(i(f,1))}})}));
|
|
@@ -120,9 +120,7 @@
|
|
|
120
120
|
else if (vestUtils.isStringValue(regex)) {
|
|
121
121
|
return new RegExp(regex).test(value);
|
|
122
122
|
}
|
|
123
|
-
|
|
124
|
-
return false;
|
|
125
|
-
}
|
|
123
|
+
return false;
|
|
126
124
|
}
|
|
127
125
|
var notMatches = vestUtils.bindNot(matches);
|
|
128
126
|
|
|
@@ -321,17 +319,19 @@
|
|
|
321
319
|
if (vestUtils.isBoolean(result)) {
|
|
322
320
|
return ruleReturn(result);
|
|
323
321
|
}
|
|
324
|
-
|
|
325
|
-
return ruleReturn(result.pass, vestUtils.optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args, false)));
|
|
326
|
-
}
|
|
322
|
+
return ruleReturn(result.pass, vestUtils.optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args, false)));
|
|
327
323
|
}
|
|
328
324
|
function validateResult(result) {
|
|
329
325
|
// if result is boolean, or if result.pass is boolean
|
|
330
326
|
vestUtils.invariant(vestUtils.isBoolean(result) || (result && vestUtils.isBoolean(result.pass)), 'Incorrect return value for rule: ' + JSON.stringify(result));
|
|
331
327
|
}
|
|
332
328
|
|
|
329
|
+
// eslint-disable-next-line max-lines-per-function
|
|
333
330
|
function enforceEager(value) {
|
|
334
|
-
var target = {
|
|
331
|
+
var target = {
|
|
332
|
+
message: message
|
|
333
|
+
};
|
|
334
|
+
var customMessage = undefined;
|
|
335
335
|
// This condition is for when we don't have proxy support (ES5).
|
|
336
336
|
// In this case, we need to manually assign the rules to the target object on runtime.
|
|
337
337
|
// The follow up proxy block is used in case we do have proxy support, and we can assign each rule upon invocation.
|
|
@@ -345,13 +345,14 @@
|
|
|
345
345
|
}
|
|
346
346
|
// We create a proxy intercepting access to the target object (which is empty).
|
|
347
347
|
var proxy = new Proxy(target, {
|
|
348
|
-
get: function (_,
|
|
348
|
+
get: function (_, key) {
|
|
349
349
|
// On property access, we identify if it is a rule or not.
|
|
350
|
-
var rule = getRule(
|
|
350
|
+
var rule = getRule(key);
|
|
351
351
|
// If it is a rule, we wrap it with `genRuleCall` that adds the base enforce behavior
|
|
352
352
|
if (rule) {
|
|
353
|
-
return genRuleCall(proxy, rule,
|
|
353
|
+
return genRuleCall(proxy, rule, key);
|
|
354
354
|
}
|
|
355
|
+
return target[key];
|
|
355
356
|
}
|
|
356
357
|
});
|
|
357
358
|
return proxy;
|
|
@@ -371,14 +372,24 @@
|
|
|
371
372
|
var transformedResult = ctx.run({ value: value }, function () {
|
|
372
373
|
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
373
374
|
});
|
|
375
|
+
function enforceMessage() {
|
|
376
|
+
if (!vestUtils.isNullish(customMessage))
|
|
377
|
+
return vestUtils.StringObject(customMessage);
|
|
378
|
+
if (vestUtils.isNullish(transformedResult.message)) {
|
|
379
|
+
return "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value));
|
|
380
|
+
}
|
|
381
|
+
return vestUtils.StringObject(transformedResult.message);
|
|
382
|
+
}
|
|
374
383
|
// On rule failure (the result is false), we either throw an error
|
|
375
384
|
// or throw a string value if the rule has a message defined in it.
|
|
376
|
-
vestUtils.invariant(transformedResult.pass,
|
|
377
|
-
? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
|
|
378
|
-
: vestUtils.StringObject(transformedResult.message));
|
|
385
|
+
vestUtils.invariant(transformedResult.pass, enforceMessage());
|
|
379
386
|
return target;
|
|
380
387
|
};
|
|
381
388
|
}
|
|
389
|
+
function message(input) {
|
|
390
|
+
customMessage = input;
|
|
391
|
+
return proxy;
|
|
392
|
+
}
|
|
382
393
|
}
|
|
383
394
|
|
|
384
395
|
// eslint-disable-next-line max-lines-per-function
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vest-utils"),require("context")):"function"==typeof define&&define.amd?define(["exports","vest-utils","context"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).n4s={},n["vest-utils"],n.context)}(this,(function(n,t,r){"use strict";function e(n,r){return t.isStringValue(n)&&t.isStringValue(r)&&n.endsWith(r)}var i=t.bindNot(e);function u(n,t){return n===t}var o=t.bindNot(u);function s(n,r){return t.numberEquals(n,r)||t.greaterThan(n,r)}function a(n,r){return(t.isArray(r)||!(!t.isStringValue(r)||!t.isStringValue(n)))&&-1!==r.indexOf(n)}var l=t.bindNot(a);function c(n,r){return t.isNumeric(n)&&t.isNumeric(r)&&Number(n)<Number(r)}function f(n,r){return t.numberEquals(n,r)||c(n,r)}function N(n,t,r){return s(n,t)&&f(n,r)}var g=t.bindNot(N);function v(n){return t.isNullish(n)||t.isStringValue(n)&&!n.trim()}var d=t.bindNot(v),h=t.bindNot(t.isBoolean),p=function(n){return!!t.isNumeric(n)&&n%2==0};function m(n,t){return n in t}var y=t.bindNot(m);function b(n){return Number.isNaN(n)}var E=t.bindNot(b);function q(n){return c(n,0)}function
|
|
1
|
+
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vest-utils"),require("context")):"function"==typeof define&&define.amd?define(["exports","vest-utils","context"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).n4s={},n["vest-utils"],n.context)}(this,(function(n,t,r){"use strict";function e(n,r){return t.isStringValue(n)&&t.isStringValue(r)&&n.endsWith(r)}var i=t.bindNot(e);function u(n,t){return n===t}var o=t.bindNot(u);function s(n,r){return t.numberEquals(n,r)||t.greaterThan(n,r)}function a(n,r){return(t.isArray(r)||!(!t.isStringValue(r)||!t.isStringValue(n)))&&-1!==r.indexOf(n)}var l=t.bindNot(a);function c(n,r){return t.isNumeric(n)&&t.isNumeric(r)&&Number(n)<Number(r)}function f(n,r){return t.numberEquals(n,r)||c(n,r)}function N(n,t,r){return s(n,t)&&f(n,r)}var g=t.bindNot(N);function v(n){return t.isNullish(n)||t.isStringValue(n)&&!n.trim()}var d=t.bindNot(v),h=t.bindNot(t.isBoolean),p=function(n){return!!t.isNumeric(n)&&n%2==0};function m(n,t){return n in t}var y=t.bindNot(m);function b(n){return Number.isNaN(n)}var E=t.bindNot(b);function q(n){return c(n,0)}function S(n){return Boolean("number"==typeof n)}var x=t.bindNot(S),T=function(n){return!!t.isNumeric(n)&&n%2!=0},O=t.bindNot(t.isStringValue);function V(n){return!!n}var B=t.bindNot(V);function w(n,r){if(t.isNullish(r))return!1;for(var e in r)if(r[e]===n)return!0;return!1}var A=t.bindNot(w);function P(n,t){return s(n.length,t)}function F(n,r){return r instanceof RegExp?r.test(n):!!t.isStringValue(r)&&new RegExp(r).test(n)}var W=t.bindNot(F);function j(n,t){try{return t(n)}catch(n){return!1}}function U(n,t){return c(n.length,t)}function k(n,t){return f(n.length,t)}function I(n,r){return t.isStringValue(n)&&t.isStringValue(r)&&n.startsWith(r)}var J=t.bindNot(I);var K={condition:j,doesNotEndWith:i,doesNotStartWith:J,endsWith:e,equals:u,greaterThan:t.greaterThan,greaterThanOrEquals:s,gt:t.greaterThan,gte:s,inside:a,isArray:t.isArray,isBetween:N,isBlank:v,isBoolean:t.isBoolean,isEmpty:t.isEmpty,isEven:p,isFalsy:B,isKeyOf:m,isNaN:b,isNegative:q,isNotArray:t.isNotArray,isNotBetween:g,isNotBlank:d,isNotBoolean:h,isNotEmpty:t.isNotEmpty,isNotKeyOf:y,isNotNaN:E,isNotNull:t.isNotNull,isNotNullish:t.isNotNullish,isNotNumber:x,isNotNumeric:t.isNotNumeric,isNotString:O,isNotUndefined:t.isNotUndefined,isNotValueOf:A,isNull:t.isNull,isNullish:t.isNullish,isNumber:S,isNumeric:t.isNumeric,isOdd:T,isPositive:t.isPositive,isString:t.isStringValue,isTruthy:V,isUndefined:t.isUndefined,isValueOf:w,lengthEquals:t.lengthEquals,lengthNotEquals:t.lengthNotEquals,lessThan:c,lessThanOrEquals:f,longerThan:t.longerThan,longerThanOrEquals:P,lt:c,lte:f,matches:F,notEquals:o,notInside:l,notMatches:W,numberEquals:t.numberEquals,numberNotEquals:t.numberNotEquals,shorterThan:U,shorterThanOrEquals:k,startsWith:I};function M(n){return K[n]}function R(n){for(var r in K){var e=M(r);t.isFunction(e)&&n(r,e)}}var _=r.createCascade((function(n,r){var e={value:n.value,meta:n.meta||{}};return r?n.set?t.assign(e,{parent:function(){return function(n){if(!n)return null;return{value:n.value,meta:n.meta,parent:n.parent}}(r)}}):r:t.assign(e,{parent:C})}));function C(){return null}function X(n,t,r){if(r||2===arguments.length)for(var e,i=0,u=t.length;i<u;i++)!e&&i in t||(e||(e=Array.prototype.slice.call(t,0,i)),e[i]=t[i]);return n.concat(e||Array.prototype.slice.call(t))}function z(){try{return t.isFunction(Proxy)}catch(n){return!1}}function D(n,t){var r={pass:n};return t&&(r.message=t),r}function G(n){return t.defaultTo(n,D(!0))}function H(n,r,e){for(var i=[],u=3;u<arguments.length;u++)i[u-3]=arguments[u];return L(n),t.isBoolean(n)?D(n):D(n.pass,t.optionalFunctionValue.apply(void 0,X([n.message,r,e],i,!1)))}function L(n){t.invariant(t.isBoolean(n)||n&&t.isBoolean(n.pass),"Incorrect return value for rule: "+JSON.stringify(n))}function Q(n){var r={message:function(n){return e=n,i}},e=void 0;if(!z())return R((function(n,t){r[n]=u(r,t,n)})),r;var i=new Proxy(r,{get:function(n,t){var e=M(t);return e?u(i,e,t):r[t]}});return i;function u(r,i,u){return function(){for(var o=[],s=0;s<arguments.length;s++)o[s]=arguments[s];var a=_.run({value:n},(function(){return H.apply(void 0,X([i.apply(void 0,X([n],o,!1)),u,n],o,!1))}));function l(){return t.isNullish(e)?t.isNullish(a.message)?"enforce/".concat(u," failed with ").concat(JSON.stringify(n)):t.StringObject(a.message):t.StringObject(e)}return t.invariant(a.pass,l()),r}}}function Y(n){var r,e=[];return function n(i){return function(){for(var u=[],o=0;o<arguments.length;o++)u[o]=arguments[o];var s=M(i);e.push((function(n){return H.apply(void 0,X([s.apply(void 0,X([n],u,!1)),i,n],u,!1))}));var a={run:function(n){return G(t.mapFirst(e,(function(e,i){var u,o=_.run({value:n},(function(){return e(n)}));i(!o.pass,D(!!o.pass,null!==(u=t.optionalFunctionValue(r,n,o.message))&&void 0!==u?u:o.message))})))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return z()?(a=new Proxy(a,{get:function(t,r){return M(r)?n(r):t[r]}}),a):(R((function(t){a[t]=n(t)})),a)}}(n)}var Z=function(){var n={context:function(){return _.useX()},extend:function(n){t.assign(K,n),r()}};return r(),new Proxy(t.assign(Q,n),{get:function(n,t){return t in n?n[t]:M(t)?Y(t):void 0}});function r(){if(!z())return R((function(t){n[t]=Y(t)})),t.assign(Q,n)}}();n.ctx=_,n.enforce=Z,Object.defineProperty(n,"__esModule",{value:!0})}));
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', '
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.schema = {}, global
|
|
5
|
-
})(this, (function (exports,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vest-utils'), require('n4s')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'vest-utils', 'n4s'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.schema = {}, global["vest-utils"], global.n4s));
|
|
5
|
+
})(this, (function (exports, vestUtils, n4s) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function ruleReturn(pass, message) {
|
|
8
8
|
var output = { pass: pass };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("
|
|
1
|
+
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("vest-utils"),require("n4s")):"function"==typeof define&&define.amd?define(["exports","vest-utils","n4s"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).schema={},e["vest-utils"],e.n4s)}(this,(function(e,n,r){"use strict";function t(e,n){var r={pass:e};return n&&(r.message=n),r}function u(){return t(!1)}function i(){return t(!0)}function o(e,n){try{return e.run(n)}catch(e){return u()}}function f(e,n){var t=function(t){var u=e[t],i=n[t],f=r.ctx.run({value:u,set:!0,meta:{key:t}},(function(){return o(i,u)}));if(!f.pass)return{value:f}};for(var u in n){var f=t(u);if("object"==typeof f)return f.value}return i()}r.enforce.extend({isArrayOf:function(e,t){return u=n.mapFirst(e,(function(e,n,u){var i=r.ctx.run({value:e,set:!0,meta:{index:u}},(function(){return o(t,e)}));n(!i.pass,i)})),n.defaultTo(u,i());var u},loose:f,optional:function(e,r){return n.isNullish(e)?i():o(r,e)},shape:function(e,r){var t=f(e,r);if(!t.pass)return t;for(var o in e)if(!n.hasOwnProperty(r,o))return u();return i()}}),e.partial=function(e){var n={};for(var t in e)n[t]=r.enforce.optional(e[t]);return n},Object.defineProperty(e,"__esModule",{value:!0})}));
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "4.3.
|
|
2
|
+
"version": "4.3.2",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"main": "./dist/cjs/n4s.js",
|
|
5
5
|
"types": "./types/n4s.d.ts",
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
"release": "vx release"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"context": "^3.
|
|
14
|
-
"vest-utils": "^0.
|
|
13
|
+
"context": "^3.0.4",
|
|
14
|
+
"vest-utils": "^0.0.4"
|
|
15
15
|
},
|
|
16
16
|
"module": "./dist/es/n4s.production.js",
|
|
17
17
|
"exports": {
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
"default": "./dist/cjs/n4s.production.js"
|
|
127
127
|
},
|
|
128
128
|
"./package.json": "./package.json",
|
|
129
|
-
"
|
|
129
|
+
"./*": "./*"
|
|
130
130
|
},
|
|
131
131
|
"repository": {
|
|
132
132
|
"type": "git",
|
package/tsconfig.json
CHANGED
package/types/compounds.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compounds.d.ts","sourceRoot":"","sources":["../src/exports/compounds.ts","../src/lib/ruleReturn.ts","../src/rules/endsWith.ts","../src/rules/equals.ts","../src/rules/greaterThanOrEquals.ts","../src/rules/inside.ts","../src/rules/lessThan.ts","../src/rules/lessThanOrEquals.ts","../src/rules/isBetween.ts","../src/rules/isBlank.ts","../src/rules/isBoolean.ts","../src/rules/isEven.ts","../src/rules/isKeyOf.ts","../src/rules/isNaN.ts","../src/rules/isNegative.ts","../src/rules/isNumber.ts","../src/rules/isOdd.ts","../src/rules/isString.ts","../src/rules/isTruthy.ts","../src/rules/isValueOf.ts","../src/rules/longerThanOrEquals.ts","../src/rules/matches.ts","../src/rules/ruleCondition.ts","../src/rules/shorterThan.ts","../src/rules/shorterThanOrEquals.ts","../src/rules/startsWith.ts","../src/runtime/rules.ts","../src/runtime/runtimeRules.ts","../src/lib/eachEnforceRule.ts","../src/runtime/enforceContext.ts","../src/lib/isProxySupported.ts","../src/lib/transformResult.ts","../src/runtime/genEnforceLazy.ts","../src/lib/runLazyRule.ts","../src/plugins/compounds/allOf.ts","../src/plugins/compounds/anyOf.ts","../src/lib/enforceUtilityTypes.ts","../src/plugins/compounds/noneOf.ts","../src/plugins/compounds/oneOf.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"compounds.d.ts","sourceRoot":"","sources":["../src/exports/compounds.ts","../src/lib/ruleReturn.ts","../src/rules/endsWith.ts","../src/rules/equals.ts","../src/rules/greaterThanOrEquals.ts","../src/rules/inside.ts","../src/rules/lessThan.ts","../src/rules/lessThanOrEquals.ts","../src/rules/isBetween.ts","../src/rules/isBlank.ts","../src/rules/isBoolean.ts","../src/rules/isEven.ts","../src/rules/isKeyOf.ts","../src/rules/isNaN.ts","../src/rules/isNegative.ts","../src/rules/isNumber.ts","../src/rules/isOdd.ts","../src/rules/isString.ts","../src/rules/isTruthy.ts","../src/rules/isValueOf.ts","../src/rules/longerThanOrEquals.ts","../src/rules/matches.ts","../src/rules/ruleCondition.ts","../src/rules/shorterThan.ts","../src/rules/shorterThanOrEquals.ts","../src/rules/startsWith.ts","../src/runtime/rules.ts","../src/runtime/runtimeRules.ts","../src/lib/eachEnforceRule.ts","../src/runtime/enforceContext.ts","../src/lib/isProxySupported.ts","../src/lib/transformResult.ts","../src/runtime/genEnforceLazy.ts","../src/lib/runLazyRule.ts","../src/plugins/compounds/allOf.ts","../src/plugins/compounds/anyOf.ts","../src/lib/enforceUtilityTypes.ts","../src/plugins/compounds/noneOf.ts","../src/plugins/compounds/oneOf.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,KAAK,mBAAmB,GAAG,CACzB,KAAK,EAAE,OAAO,EACd,GAAG,KAAK,EAAE,IAAI,EAAE,KACb,kBAAkB,CAAC;AAGxB,QAAQ,MAAM,CAAC;IACb,UAAU,GAAG,CAAC;QACZ,UAAU,qBAAqB,CAAC,CAAC;YAC/B,KAAK,EAAE,oBAAoB,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YACpD,KAAK,EAAE,oBAAoB,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YACpD,MAAM,EAAE,oBAAoB,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YACrD,KAAK,EAAE,oBAAoB,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;SACrD;KACF;CACF"}
|
package/types/n4s.d.ts
CHANGED
|
@@ -119,7 +119,11 @@ declare global {
|
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
type IRules = n4s.IRules<Record<string, any>>;
|
|
122
|
-
type
|
|
122
|
+
type TModifiers = {
|
|
123
|
+
message: (input: string) => EnforceEagerReturn;
|
|
124
|
+
};
|
|
125
|
+
type EnforceEagerReturn = IRules & TModifiers;
|
|
126
|
+
type EnforceEager = (value: RuleValue) => EnforceEagerReturn;
|
|
123
127
|
type LazyRules = n4s.IRules<LazyRuleMethods>;
|
|
124
128
|
type Lazy = LazyRules & LazyRuleMethods &
|
|
125
129
|
// This is a "catch all" hack to make TS happy while not
|
package/types/n4s.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"n4s.d.ts","sourceRoot":"","sources":["../src/n4s.ts","../src/lib/ruleReturn.ts","../src/rules/endsWith.ts","../src/rules/equals.ts","../src/rules/greaterThanOrEquals.ts","../src/rules/inside.ts","../src/rules/lessThan.ts","../src/rules/lessThanOrEquals.ts","../src/rules/isBetween.ts","../src/rules/isBlank.ts","../src/rules/isBoolean.ts","../src/rules/isEven.ts","../src/rules/isKeyOf.ts","../src/rules/isNaN.ts","../src/rules/isNegative.ts","../src/rules/isNumber.ts","../src/rules/isOdd.ts","../src/rules/isString.ts","../src/rules/isTruthy.ts","../src/rules/isValueOf.ts","../src/rules/longerThanOrEquals.ts","../src/rules/matches.ts","../src/rules/ruleCondition.ts","../src/rules/shorterThan.ts","../src/rules/shorterThanOrEquals.ts","../src/rules/startsWith.ts","../src/runtime/rules.ts","../src/runtime/runtimeRules.ts","../src/lib/eachEnforceRule.ts","../src/runtime/enforceContext.ts","../src/lib/isProxySupported.ts","../src/lib/transformResult.ts","../src/runtime/enforceEager.ts","../src/runtime/genEnforceLazy.ts","../src/runtime/enforce.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"n4s.d.ts","sourceRoot":"","sources":["../src/n4s.ts","../src/lib/ruleReturn.ts","../src/rules/endsWith.ts","../src/rules/equals.ts","../src/rules/greaterThanOrEquals.ts","../src/rules/inside.ts","../src/rules/lessThan.ts","../src/rules/lessThanOrEquals.ts","../src/rules/isBetween.ts","../src/rules/isBlank.ts","../src/rules/isBoolean.ts","../src/rules/isEven.ts","../src/rules/isKeyOf.ts","../src/rules/isNaN.ts","../src/rules/isNegative.ts","../src/rules/isNumber.ts","../src/rules/isOdd.ts","../src/rules/isString.ts","../src/rules/isTruthy.ts","../src/rules/isValueOf.ts","../src/rules/longerThanOrEquals.ts","../src/rules/matches.ts","../src/rules/ruleCondition.ts","../src/rules/shorterThan.ts","../src/rules/shorterThanOrEquals.ts","../src/rules/startsWith.ts","../src/runtime/rules.ts","../src/runtime/runtimeRules.ts","../src/lib/eachEnforceRule.ts","../src/runtime/enforceContext.ts","../src/lib/isProxySupported.ts","../src/lib/transformResult.ts","../src/runtime/enforceEager.ts","../src/runtime/genEnforceLazy.ts","../src/runtime/enforce.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,QAAQ,MAAM,CAAC;IACb,UAAU,GAAG,CAAC;QACZ,UAAU,qBAAqB,CAAC,CAAC;SAAI;KACtC;CACF;AARD,OAAO,gBAAW,CAAgB"}
|
package/types/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/exports/schema.ts","../src/lib/enforceUtilityTypes.ts","../src/lib/ruleReturn.ts","../src/rules/endsWith.ts","../src/rules/equals.ts","../src/rules/greaterThanOrEquals.ts","../src/rules/inside.ts","../src/rules/lessThan.ts","../src/rules/lessThanOrEquals.ts","../src/rules/isBetween.ts","../src/rules/isBlank.ts","../src/rules/isBoolean.ts","../src/rules/isEven.ts","../src/rules/isKeyOf.ts","../src/rules/isNaN.ts","../src/rules/isNegative.ts","../src/rules/isNumber.ts","../src/rules/isOdd.ts","../src/rules/isString.ts","../src/rules/isTruthy.ts","../src/rules/isValueOf.ts","../src/rules/longerThanOrEquals.ts","../src/rules/matches.ts","../src/rules/ruleCondition.ts","../src/rules/shorterThan.ts","../src/rules/shorterThanOrEquals.ts","../src/rules/startsWith.ts","../src/runtime/rules.ts","../src/runtime/runtimeRules.ts","../src/lib/eachEnforceRule.ts","../src/runtime/enforceContext.ts","../src/lib/isProxySupported.ts","../src/lib/transformResult.ts","../src/runtime/genEnforceLazy.ts","../src/lib/runLazyRule.ts","../src/plugins/schema/isArrayOf.ts","../src/plugins/schema/schemaTypes.ts","../src/plugins/schema/loose.ts","../src/plugins/schema/optional.ts","../src/plugins/schema/shape.ts","../src/plugins/schema/partial.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/exports/schema.ts","../src/lib/enforceUtilityTypes.ts","../src/lib/ruleReturn.ts","../src/rules/endsWith.ts","../src/rules/equals.ts","../src/rules/greaterThanOrEquals.ts","../src/rules/inside.ts","../src/rules/lessThan.ts","../src/rules/lessThanOrEquals.ts","../src/rules/isBetween.ts","../src/rules/isBlank.ts","../src/rules/isBoolean.ts","../src/rules/isEven.ts","../src/rules/isKeyOf.ts","../src/rules/isNaN.ts","../src/rules/isNegative.ts","../src/rules/isNumber.ts","../src/rules/isOdd.ts","../src/rules/isString.ts","../src/rules/isTruthy.ts","../src/rules/isValueOf.ts","../src/rules/longerThanOrEquals.ts","../src/rules/matches.ts","../src/rules/ruleCondition.ts","../src/rules/shorterThan.ts","../src/rules/shorterThanOrEquals.ts","../src/rules/startsWith.ts","../src/runtime/rules.ts","../src/runtime/runtimeRules.ts","../src/lib/eachEnforceRule.ts","../src/runtime/enforceContext.ts","../src/lib/isProxySupported.ts","../src/lib/transformResult.ts","../src/runtime/genEnforceLazy.ts","../src/lib/runLazyRule.ts","../src/plugins/schema/isArrayOf.ts","../src/plugins/schema/schemaTypes.ts","../src/plugins/schema/loose.ts","../src/plugins/schema/optional.ts","../src/plugins/schema/shape.ts","../src/plugins/schema/partial.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,QAAQ,MAAM,CAAC;IACb,UAAU,GAAG,CAAC;QACZ,UAAU,qBAAqB,CAAC,CAAC;YAC/B,SAAS,EAAE,oBAAoB,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC;YACrD,KAAK,EAAE,oBAAoB,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;YAC7C,KAAK,EAAE,oBAAoB,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;YAC7C,QAAQ,EAAE,oBAAoB,CAAC,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC;SACpD;KACF;CACF;AAdD,OAAO,WAAW,CAAgB"}
|