n4s 4.1.2 → 4.1.3

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.
@@ -2,6 +2,32 @@
2
2
 
3
3
  var n4s = require('n4s');
4
4
 
5
+ function isFunction(value) {
6
+ return typeof value === 'function';
7
+ }
8
+
9
+ function optionalFunctionValue(value) {
10
+ var args = [];
11
+ for (var _i = 1; _i < arguments.length; _i++) {
12
+ args[_i - 1] = arguments[_i];
13
+ }
14
+ return isFunction(value) ? value.apply(void 0, args) : value;
15
+ }
16
+
17
+ function invariant(condition,
18
+ // eslint-disable-next-line @typescript-eslint/ban-types
19
+ message) {
20
+ if (condition) {
21
+ return;
22
+ }
23
+ // If message is a string object (rather than string literal)
24
+ // Throw the value directly as a string
25
+ // Alternatively, throw an error with the message
26
+ throw message instanceof String
27
+ ? message.valueOf()
28
+ : new Error(message ? optionalFunctionValue(message) : message);
29
+ }
30
+
5
31
  function mapFirst(array, callback) {
6
32
  var broke = false;
7
33
  var breakoutValue = null;
@@ -17,61 +43,11 @@ function mapFirst(array, callback) {
17
43
  }
18
44
  }
19
45
 
20
- function isFunction(value) {
21
- return typeof value === 'function';
22
- }
23
-
24
- function optionalFunctionValue(value) {
25
- var args = [];
26
- for (var _i = 1; _i < arguments.length; _i++) {
27
- args[_i - 1] = arguments[_i];
28
- }
29
- return isFunction(value) ? value.apply(void 0, args) : value;
30
- }
31
-
32
46
  function defaultTo(callback, defaultValue) {
33
47
  var _a;
34
48
  return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
35
49
  }
36
50
 
37
- /**
38
- * Throws a timed out error.
39
- */
40
- function throwError(devMessage, productionMessage) {
41
- throw new Error(devMessage );
42
- }
43
-
44
- /**
45
- * A safe hasOwnProperty access
46
- */
47
- function hasOwnProperty(obj, key) {
48
- return Object.prototype.hasOwnProperty.call(obj, key);
49
- }
50
-
51
- function isNumber(value) {
52
- return Boolean(typeof value === 'number');
53
- }
54
-
55
- function lengthEquals(value, arg1) {
56
- return value.length === Number(arg1);
57
- }
58
-
59
- function isEmpty(value) {
60
- if (!value) {
61
- return true;
62
- }
63
- else if (isNumber(value)) {
64
- return value === 0;
65
- }
66
- else if (hasOwnProperty(value, 'length')) {
67
- return lengthEquals(value, 0);
68
- }
69
- else if (typeof value === 'object') {
70
- return lengthEquals(Object.keys(value), 0);
71
- }
72
- return true;
73
- }
74
-
75
51
  function ruleReturn(pass, message) {
76
52
  var output = { pass: pass };
77
53
  if (message) {
@@ -106,15 +82,7 @@ function compose() {
106
82
  }
107
83
  return Object.assign(function (value) {
108
84
  var res = run(value);
109
- if (!res.pass) {
110
- if (isEmpty(res.message)) {
111
- throwError();
112
- }
113
- else {
114
- // Explicitly throw a string so that vest.test can pick it up as the validation error message
115
- throw res.message;
116
- }
117
- }
85
+ invariant(res.pass, new String(res.message));
118
86
  }, {
119
87
  run: run,
120
88
  test: function (value) { return run(value).pass; }
@@ -1 +1 @@
1
- "use strict";var n=require("n4s");function r(n,r){function t(n){u=!0,e=n}for(var u=!1,e=null,o=0;o<n.length;o++)if(r(n[o],t,o),u)return e}function t(n){return"function"==typeof n}function u(n,r){var u;return null!==(u=function(n){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];return t(n)?n.apply(void 0,r):n}(n))&&void 0!==u?u:r}function e(n,r){throw Error(u(r,n))}function o(n,r){return n.length===Number(r)}function f(n){if(n){if(function(n){return"number"==typeof n}(n))return 0===n;if(function(n,r){return Object.prototype.hasOwnProperty.call(n,r)}(n,"length"))return o(n,0);if("object"==typeof n)return o(Object.keys(n),0)}return!0}function i(n,r){return n={pass:n},r&&(n.message=r),n}function c(n){return u(n,i(!0))}function s(n,r){try{return n.run(r)}catch(n){return i(!1)}}module.exports=function(){function t(t){return n.ctx.run({value:t},(function(){return c(r(u,(function(n,r){(n=s(n,t)).pass||r(n)})))}))}for(var u=[],o=0;o<arguments.length;o++)u[o]=arguments[o];return Object.assign((function(n){if(!(n=t(n)).pass){if(!f(n.message))throw n.message;e()}}),{run:t,test:function(n){return t(n).pass}})};
1
+ "use strict";var n=require("n4s");function r(n){return"function"==typeof n}function t(n){for(var t=[],u=1;u<arguments.length;u++)t[u-1]=arguments[u];return r(n)?n.apply(void 0,t):n}function u(n,r){if(!n)throw r instanceof String?r.valueOf():Error(r?t(r):r)}function e(n,r){function t(n){u=!0,e=n}for(var u=!1,e=null,o=0;o<n.length;o++)if(r(n[o],t,o),u)return e}function o(n,r){return n={pass:n},r&&(n.message=r),n}function i(n){return function(n,r){var u;return null!==(u=t(n))&&void 0!==u?u:r}(n,o(!0))}function f(n,r){try{return n.run(r)}catch(n){return o(!1)}}module.exports=function(){function r(r){return n.ctx.run({value:r},(function(){return i(e(t,(function(n,t){(n=f(n,r)).pass||t(n)})))}))}for(var t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];return Object.assign((function(n){u((n=r(n)).pass,new String(n.message))}),{run:r,test:function(n){return r(n).pass}})};
@@ -61,8 +61,13 @@ function greaterThan(value, gt) {
61
61
  return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
62
62
  }
63
63
 
64
+ function numberEquals(value, eq) {
65
+ return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
66
+ }
67
+ var numberNotEquals = bindNot(numberEquals);
68
+
64
69
  function greaterThanOrEquals(value, gte) {
65
- return isNumeric(value) && isNumeric(gte) && Number(value) >= Number(gte);
70
+ return numberEquals(value, gte) || greaterThan(value, gte);
66
71
  }
67
72
 
68
73
  // The module is named "isArrayValue" since it
@@ -85,8 +90,12 @@ function inside(value, arg1) {
85
90
  }
86
91
  var notInside = bindNot(inside);
87
92
 
93
+ function lessThan(value, lt) {
94
+ return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
95
+ }
96
+
88
97
  function lessThanOrEquals(value, lte) {
89
- return isNumeric(value) && isNumeric(lte) && Number(value) <= Number(lte);
98
+ return numberEquals(value, lte) || lessThan(value, lte);
90
99
  }
91
100
 
92
101
  function isBetween(value, min, max) {
@@ -160,12 +169,8 @@ function isNaN$1(value) {
160
169
  var isNotNaN = bindNot(isNaN$1);
161
170
 
162
171
  function isNegative(value) {
163
- if (isNumeric(value)) {
164
- return Number(value) < 0;
165
- }
166
- return false;
172
+ return lessThan(value, 0);
167
173
  }
168
- var isPositive = bindNot(isNegative);
169
174
 
170
175
  /**
171
176
  * Validates that a given value is an odd number
@@ -177,6 +182,10 @@ var isOdd = function (value) {
177
182
  return false;
178
183
  };
179
184
 
185
+ function isPositive(value) {
186
+ return greaterThan(value, 0);
187
+ }
188
+
180
189
  var isNotString = bindNot(isStringValue);
181
190
 
182
191
  function isTruthy(value) {
@@ -197,10 +206,6 @@ function isValueOf(value, objectToCheck) {
197
206
  }
198
207
  var isNotValueOf = bindNot(isValueOf);
199
208
 
200
- function lessThan(value, lt) {
201
- return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
202
- }
203
-
204
209
  function longerThan(value, arg1) {
205
210
  return value.length > Number(arg1);
206
211
  }
@@ -222,11 +227,6 @@ function matches(value, regex) {
222
227
  }
223
228
  var notMatches = bindNot(matches);
224
229
 
225
- function numberEquals(value, eq) {
226
- return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
227
- }
228
- var numberNotEquals = bindNot(numberEquals);
229
-
230
230
  function condition(value, callback) {
231
231
  try {
232
232
  return callback(value);
@@ -394,16 +394,18 @@ function optionalFunctionValue(value) {
394
394
  return isFunction(value) ? value.apply(void 0, args) : value;
395
395
  }
396
396
 
397
- function defaultTo(callback, defaultValue) {
398
- var _a;
399
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
400
- }
401
-
402
- /**
403
- * Throws a timed out error.
404
- */
405
- function throwError(devMessage, productionMessage) {
406
- throw new Error(devMessage );
397
+ function invariant(condition,
398
+ // eslint-disable-next-line @typescript-eslint/ban-types
399
+ message) {
400
+ if (condition) {
401
+ return;
402
+ }
403
+ // If message is a string object (rather than string literal)
404
+ // Throw the value directly as a string
405
+ // Alternatively, throw an error with the message
406
+ throw message instanceof String
407
+ ? message.valueOf()
408
+ : new Error(message ? optionalFunctionValue(message) : message);
407
409
  }
408
410
 
409
411
  function isProxySupported() {
@@ -415,6 +417,11 @@ function isProxySupported() {
415
417
  }
416
418
  }
417
419
 
420
+ function defaultTo(callback, defaultValue) {
421
+ var _a;
422
+ return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
423
+ }
424
+
418
425
  function ruleReturn(pass, message) {
419
426
  var output = { pass: pass };
420
427
  if (message) {
@@ -448,10 +455,7 @@ function transformResult(result, ruleName, value) {
448
455
  }
449
456
  function validateResult(result) {
450
457
  // if result is boolean, or if result.pass is boolean
451
- if (isBoolean(result) || (result && isBoolean(result.pass))) {
452
- return;
453
- }
454
- throwError('Incorrect return value for rule: ' + JSON.stringify(result));
458
+ invariant(isBoolean(result) || (result && isBoolean(result.pass)), 'Incorrect return value for rule: ' + JSON.stringify(result));
455
459
  }
456
460
 
457
461
  function enforceEager(value) {
@@ -480,15 +484,9 @@ function enforceEager(value) {
480
484
  var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args, false)); }),
481
485
  ruleName,
482
486
  value], args, false));
483
- if (!transformedResult.pass) {
484
- if (isEmpty(transformedResult.message)) {
485
- throwError("enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value)));
486
- }
487
- else {
488
- // Explicitly throw a string so that vest.test can pick it up as the validation error message
489
- throw transformedResult.message;
490
- }
491
- }
487
+ invariant(transformedResult.pass, isEmpty(transformedResult.message)
488
+ ? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
489
+ : new String(transformedResult.message));
492
490
  return target;
493
491
  };
494
492
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("context"),r=Object.assign;function t(n){return"function"==typeof n}function e(n){return function(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];return!n.apply(void 0,r)}}function u(n){return null===n}var i=e(u);function o(n){return void 0===n}var a=e(o);function s(n){return u(n)||o(n)}var f=e(s);function c(n){return String(n)===n}function l(n,r){return c(n)&&c(r)&&n.endsWith(r)}var v=e(l);function N(n,r){return n===r}var p=e(N);function h(n){var r=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(r))}var g=e(h);function m(n,r){return h(n)&&h(r)&&Number(n)>Number(r)}function y(n,r){return h(n)&&h(r)&&Number(n)>=Number(r)}function d(n){return!!Array.isArray(n)}var b=e(d);function O(n,r){return!!(d(r)||c(r)&&c(n))&&-1!==r.indexOf(n)}var E=e(O);function x(n,r){return h(n)&&h(r)&&Number(n)<=Number(r)}function q(n,r,t){return y(n,r)&&x(n,t)}var w=e(q);function T(n){return s(n)||c(n)&&!n.trim()}var P=e(T);function S(n){return!!n===n}var A=e(S);function B(n){return"number"==typeof n}var W=e(B);function j(n,r){return n.length===Number(r)}var k=e(j);function F(n){if(n){if(B(n))return 0===n;if(function(n,r){return Object.prototype.hasOwnProperty.call(n,r)}(n,"length"))return j(n,0);if("object"==typeof n)return j(Object.keys(n),0)}return!0}var I=e(F),J=function(n){return!!h(n)&&0==n%2};function K(n,r){return n in r}var M=e(K);function R(n){return Number.isNaN(n)}var U=e(R);function V(n){return!!h(n)&&0>Number(n)}var _=e(V),C=function(n){return!!h(n)&&0!=n%2},X=e(c);function z(n){return!!n}var D=e(z);function G(n,r){if(s(r))return!1;for(var t in r)if(r[t]===n)return!0;return!1}var H=e(G);function L(n,r){return h(n)&&h(r)&&Number(n)<Number(r)}function Q(n,r){return n.length>Number(r)}function Y(n,r){return n.length>=Number(r)}function Z(n,r){return r instanceof RegExp?r.test(n):!!c(r)&&new RegExp(r).test(n)}var $=e(Z);function nn(n,r){return h(n)&&h(r)&&Number(n)===Number(r)}var rn=e(nn);function tn(n,r){try{return r(n)}catch(n){return!1}}function en(n,r){return n.length<Number(r)}function un(n,r){return n.length<=Number(r)}function on(n,r){return c(n)&&c(r)&&n.startsWith(r)}var an=e(on);var sn={condition:tn,doesNotEndWith:v,doesNotStartWith:an,endsWith:l,equals:N,greaterThan:m,greaterThanOrEquals:y,gt:m,gte:y,inside:O,isArray:d,isBetween:q,isBlank:T,isBoolean:S,isEmpty:F,isEven:J,isFalsy:D,isKeyOf:K,isNaN:R,isNegative:V,isNotArray:b,isNotBetween:w,isNotBlank:P,isNotBoolean:A,isNotEmpty:I,isNotKeyOf:M,isNotNaN:U,isNotNull:i,isNotNullish:f,isNotNumber:W,isNotNumeric:g,isNotString:X,isNotUndefined:a,isNotValueOf:H,isNull:u,isNullish:s,isNumber:B,isNumeric:h,isOdd:C,isPositive:_,isString:c,isTruthy:z,isUndefined:o,isValueOf:G,lengthEquals:j,lengthNotEquals:k,lessThan:L,lessThanOrEquals:x,longerThan:Q,longerThanOrEquals:Y,lt:L,lte:x,matches:Z,notEquals:p,notInside:E,notMatches:$,numberEquals:nn,numberNotEquals:rn,shorterThan:en,shorterThanOrEquals:un,startsWith:on};function fn(n){return sn[n]}function cn(n){for(var r in sn){var e=fn(r);t(e)&&n(r,e)}}var ln=n.createContext((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?r(e,{parent:function(){return function(n){return n?{value:n.value,meta:n.meta,parent:n.parent}:n}(t)}}):t:r(e,{parent:vn})}));function vn(){return null}function Nn(n,r,t){if(t||2===arguments.length)for(var e,u=0,i=r.length;u<i;u++)!e&&u in r||(e||(e=Array.prototype.slice.call(r,0,u)),e[u]=r[u]);return n.concat(e||Array.prototype.slice.call(r))}function pn(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function hn(n,r){var t;return null!==(t=pn(n))&&void 0!==t?t:r}function gn(n,r){throw Error(hn(r,n))}function mn(){try{return t(Proxy)}catch(n){return!1}}function yn(n,r){return n={pass:n},r&&(n.message=r),n}function dn(n){return hn(n,yn(!0))}function bn(n,r,t){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return On(n),S(n)?yn(n):yn(n.pass,pn.apply(void 0,Nn([n.message,r,t],e,!1)))}function On(n){S(n)||n&&S(n.pass)||gn("Incorrect return value for rule: "+JSON.stringify(n))}function En(n){function r(r,t,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=bn.apply(void 0,Nn([ln.run({value:n},(function(){return t.apply(void 0,Nn([n],u,!1))})),e,n],u,!1))).pass){if(!F(i.message))throw i.message;gn("enforce/".concat(e," failed with ").concat(JSON.stringify(n)))}return r}}var t={};if(!mn())return cn((function(n,e){t[n]=r(t,e,n)})),t;var e=new Proxy(t,{get:function(n,t){if(n=fn(t))return r(e,n,t)}});return e}function xn(n,r){function t(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(r(n[i],t,i),e)return u}function qn(n){var r,t=[];return function n(e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=fn(e);t.push((function(n){return bn.apply(void 0,Nn([o.apply(void 0,Nn([n],u,!1)),e,n],u,!1))}));var a={run:function(n){return dn(xn(t,(function(t,e){var u,i=ln.run({value:n},(function(){return t(n)}));i.pass||e(yn(!!i.pass,null!==(u=pn(r,n,i.message))&&void 0!==u?u:i.message))})))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return mn()?a=new Proxy(a,{get:function(r,t){return fn(t)?n(t):r[t]}}):(cn((function(r){a[r]=n(r)})),a)}}(n)}var wn,Tn=(wn={context:function(){return ln.useX()},extend:function(n){r(sn,n)}},mn()?new Proxy(r(En,wn),{get:function(n,r){return r in n?n[r]:fn(r)?qn(r):void 0}}):(cn((function(n){wn[n]=qn(n)})),r(En,wn)));exports.ctx=ln,exports.enforce=Tn;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("context"),r=Object.assign;function t(n){return"function"==typeof n}function e(n){return function(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];return!n.apply(void 0,r)}}function u(n){return null===n}var i=e(u);function o(n){return void 0===n}var a=e(o);function s(n){return u(n)||o(n)}var f=e(s);function c(n){return String(n)===n}function l(n,r){return c(n)&&c(r)&&n.endsWith(r)}var v=e(l);function N(n,r){return n===r}var p=e(N);function g(n){var r=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(r))}var h=e(g);function m(n,r){return g(n)&&g(r)&&Number(n)>Number(r)}function y(n,r){return g(n)&&g(r)&&Number(n)===Number(r)}var d=e(y);function b(n,r){return y(n,r)||m(n,r)}function O(n){return!!Array.isArray(n)}var E=e(O);function x(n,r){return!!(O(r)||c(r)&&c(n))&&-1!==r.indexOf(n)}var q=e(x);function w(n,r){return g(n)&&g(r)&&Number(n)<Number(r)}function S(n,r){return y(n,r)||w(n,r)}function T(n,r,t){return b(n,r)&&S(n,t)}var P=e(T);function A(n){return s(n)||c(n)&&!n.trim()}var B=e(A);function W(n){return!!n===n}var j=e(W);function k(n){return"number"==typeof n}var F=e(k);function I(n,r){return n.length===Number(r)}var J=e(I);function K(n){if(n){if(k(n))return 0===n;if(function(n,r){return Object.prototype.hasOwnProperty.call(n,r)}(n,"length"))return I(n,0);if("object"==typeof n)return I(Object.keys(n),0)}return!0}var M=e(K),R=function(n){return!!g(n)&&0==n%2};function U(n,r){return n in r}var V=e(U);function _(n){return Number.isNaN(n)}var C=e(_);function X(n){return w(n,0)}var z=function(n){return!!g(n)&&0!=n%2};function D(n){return m(n,0)}var G=e(c);function H(n){return!!n}var L=e(H);function Q(n,r){if(s(r))return!1;for(var t in r)if(r[t]===n)return!0;return!1}var Y=e(Q);function Z(n,r){return n.length>Number(r)}function $(n,r){return n.length>=Number(r)}function nn(n,r){return r instanceof RegExp?r.test(n):!!c(r)&&new RegExp(r).test(n)}var rn=e(nn);function tn(n,r){try{return r(n)}catch(n){return!1}}function en(n,r){return n.length<Number(r)}function un(n,r){return n.length<=Number(r)}function on(n,r){return c(n)&&c(r)&&n.startsWith(r)}var an=e(on);var sn={condition:tn,doesNotEndWith:v,doesNotStartWith:an,endsWith:l,equals:N,greaterThan:m,greaterThanOrEquals:b,gt:m,gte:b,inside:x,isArray:O,isBetween:T,isBlank:A,isBoolean:W,isEmpty:K,isEven:R,isFalsy:L,isKeyOf:U,isNaN:_,isNegative:X,isNotArray:E,isNotBetween:P,isNotBlank:B,isNotBoolean:j,isNotEmpty:M,isNotKeyOf:V,isNotNaN:C,isNotNull:i,isNotNullish:f,isNotNumber:F,isNotNumeric:h,isNotString:G,isNotUndefined:a,isNotValueOf:Y,isNull:u,isNullish:s,isNumber:k,isNumeric:g,isOdd:z,isPositive:D,isString:c,isTruthy:H,isUndefined:o,isValueOf:Q,lengthEquals:I,lengthNotEquals:J,lessThan:w,lessThanOrEquals:S,longerThan:Z,longerThanOrEquals:$,lt:w,lte:S,matches:nn,notEquals:p,notInside:q,notMatches:rn,numberEquals:y,numberNotEquals:d,shorterThan:en,shorterThanOrEquals:un,startsWith:on};function fn(n){return sn[n]}function cn(n){for(var r in sn){var e=fn(r);t(e)&&n(r,e)}}var ln=n.createContext((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?r(e,{parent:function(){return function(n){return n?{value:n.value,meta:n.meta,parent:n.parent}:n}(t)}}):t:r(e,{parent:vn})}));function vn(){return null}function Nn(n,r,t){if(t||2===arguments.length)for(var e,u=0,i=r.length;u<i;u++)!e&&u in r||(e||(e=Array.prototype.slice.call(r,0,u)),e[u]=r[u]);return n.concat(e||Array.prototype.slice.call(r))}function pn(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function gn(n,r){if(!n)throw r instanceof String?r.valueOf():Error(r?pn(r):r)}function hn(){try{return t(Proxy)}catch(n){return!1}}function mn(n,r){return n={pass:n},r&&(n.message=r),n}function yn(n){return function(n,r){var t;return null!==(t=pn(n))&&void 0!==t?t:r}(n,mn(!0))}function dn(n,r,t){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return bn(n),W(n)?mn(n):mn(n.pass,pn.apply(void 0,Nn([n.message,r,t],e,!1)))}function bn(n){gn(W(n)||n&&W(n.pass),"Incorrect return value for rule: "+JSON.stringify(n))}function On(n){function r(r,t,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return gn((i=dn.apply(void 0,Nn([ln.run({value:n},(function(){return t.apply(void 0,Nn([n],u,!1))})),e,n],u,!1))).pass,K(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(i.message)),r}}var t={};if(!hn())return cn((function(n,e){t[n]=r(t,e,n)})),t;var e=new Proxy(t,{get:function(n,t){if(n=fn(t))return r(e,n,t)}});return e}function En(n,r){function t(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(r(n[i],t,i),e)return u}function xn(n){var r,t=[];return function n(e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=fn(e);t.push((function(n){return dn.apply(void 0,Nn([o.apply(void 0,Nn([n],u,!1)),e,n],u,!1))}));var a={run:function(n){return yn(En(t,(function(t,e){var u,i=ln.run({value:n},(function(){return t(n)}));i.pass||e(mn(!!i.pass,null!==(u=pn(r,n,i.message))&&void 0!==u?u:i.message))})))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return hn()?a=new Proxy(a,{get:function(r,t){return fn(t)?n(t):r[t]}}):(cn((function(r){a[r]=n(r)})),a)}}(n)}var qn,wn=(qn={context:function(){return ln.useX()},extend:function(n){r(sn,n)}},hn()?new Proxy(r(On,qn),{get:function(n,r){return r in n?n[r]:fn(r)?xn(r):void 0}}):(cn((function(n){qn[n]=xn(n)})),r(On,qn)));exports.ctx=ln,exports.enforce=wn;
@@ -1,5 +1,31 @@
1
1
  import { ctx } from 'n4s';
2
2
 
3
+ function isFunction(value) {
4
+ return typeof value === 'function';
5
+ }
6
+
7
+ function optionalFunctionValue(value) {
8
+ var args = [];
9
+ for (var _i = 1; _i < arguments.length; _i++) {
10
+ args[_i - 1] = arguments[_i];
11
+ }
12
+ return isFunction(value) ? value.apply(void 0, args) : value;
13
+ }
14
+
15
+ function invariant(condition,
16
+ // eslint-disable-next-line @typescript-eslint/ban-types
17
+ message) {
18
+ if (condition) {
19
+ return;
20
+ }
21
+ // If message is a string object (rather than string literal)
22
+ // Throw the value directly as a string
23
+ // Alternatively, throw an error with the message
24
+ throw message instanceof String
25
+ ? message.valueOf()
26
+ : new Error(message ? optionalFunctionValue(message) : message);
27
+ }
28
+
3
29
  function mapFirst(array, callback) {
4
30
  var broke = false;
5
31
  var breakoutValue = null;
@@ -15,61 +41,11 @@ function mapFirst(array, callback) {
15
41
  }
16
42
  }
17
43
 
18
- function isFunction(value) {
19
- return typeof value === 'function';
20
- }
21
-
22
- function optionalFunctionValue(value) {
23
- var args = [];
24
- for (var _i = 1; _i < arguments.length; _i++) {
25
- args[_i - 1] = arguments[_i];
26
- }
27
- return isFunction(value) ? value.apply(void 0, args) : value;
28
- }
29
-
30
44
  function defaultTo(callback, defaultValue) {
31
45
  var _a;
32
46
  return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
33
47
  }
34
48
 
35
- /**
36
- * Throws a timed out error.
37
- */
38
- function throwError(devMessage, productionMessage) {
39
- throw new Error(devMessage );
40
- }
41
-
42
- /**
43
- * A safe hasOwnProperty access
44
- */
45
- function hasOwnProperty(obj, key) {
46
- return Object.prototype.hasOwnProperty.call(obj, key);
47
- }
48
-
49
- function isNumber(value) {
50
- return Boolean(typeof value === 'number');
51
- }
52
-
53
- function lengthEquals(value, arg1) {
54
- return value.length === Number(arg1);
55
- }
56
-
57
- function isEmpty(value) {
58
- if (!value) {
59
- return true;
60
- }
61
- else if (isNumber(value)) {
62
- return value === 0;
63
- }
64
- else if (hasOwnProperty(value, 'length')) {
65
- return lengthEquals(value, 0);
66
- }
67
- else if (typeof value === 'object') {
68
- return lengthEquals(Object.keys(value), 0);
69
- }
70
- return true;
71
- }
72
-
73
49
  function ruleReturn(pass, message) {
74
50
  var output = { pass: pass };
75
51
  if (message) {
@@ -104,15 +80,7 @@ function compose() {
104
80
  }
105
81
  return Object.assign(function (value) {
106
82
  var res = run(value);
107
- if (!res.pass) {
108
- if (isEmpty(res.message)) {
109
- throwError();
110
- }
111
- else {
112
- // Explicitly throw a string so that vest.test can pick it up as the validation error message
113
- throw res.message;
114
- }
115
- }
83
+ invariant(res.pass, new String(res.message));
116
84
  }, {
117
85
  run: run,
118
86
  test: function (value) { return run(value).pass; }
@@ -1 +1 @@
1
- import{ctx as n}from"n4s";function r(n,r){function t(n){e=!0,u=n}for(var e=!1,u=null,o=0;o<n.length;o++)if(r(n[o],t,o),e)return u}function t(n,r){var t;return null!==(t=function(n){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];return"function"==typeof n?n.apply(void 0,r):n}(n))&&void 0!==t?t:r}function e(n){if(n){if("number"==typeof n)return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return n.length===Number(0);if("object"==typeof n)return Object.keys(n).length===Number(0)}return!0}function u(n,r){return n={pass:n},r&&(n.message=r),n}export default function(){function o(e){return n.run({value:e},(function(){return t(r(f,(function(n,r){try{var t=n.run(e)}catch(n){t=u(!1)}t.pass||r(t)})),u(!0))}))}for(var f=[],i=0;i<arguments.length;i++)f[i]=arguments[i];return Object.assign((function(n){if(!(n=o(n)).pass){if(e(n.message))throw Error(t(void 0,void 0));throw n.message}}),{run:o,test:function(n){return o(n).pass}})}
1
+ import{ctx as n}from"n4s";function r(n){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];return"function"==typeof n?n.apply(void 0,r):n}function t(n,r){function t(n){u=!0,e=n}for(var u=!1,e=null,o=0;o<n.length;o++)if(r(n[o],t,o),u)return e}function u(n,t){var u;return null!==(u=r(n))&&void 0!==u?u:t}function e(n,r){return n={pass:n},r&&(n.message=r),n}export default function(){function o(r){return n.run({value:r},(function(){return u(t(f,(function(n,t){try{var u=n.run(r)}catch(n){u=e(!1)}u.pass||t(u)})),e(!0))}))}for(var f=[],i=0;i<arguments.length;i++)f[i]=arguments[i];return Object.assign((function(n){n=o(n);var t=new String(n.message);if(!n.pass)throw t instanceof String?t.valueOf():Error(t?r(t):t)}),{run:o,test:function(n){return o(n).pass}})}
@@ -57,8 +57,13 @@ function greaterThan(value, gt) {
57
57
  return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
58
58
  }
59
59
 
60
+ function numberEquals(value, eq) {
61
+ return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
62
+ }
63
+ var numberNotEquals = bindNot(numberEquals);
64
+
60
65
  function greaterThanOrEquals(value, gte) {
61
- return isNumeric(value) && isNumeric(gte) && Number(value) >= Number(gte);
66
+ return numberEquals(value, gte) || greaterThan(value, gte);
62
67
  }
63
68
 
64
69
  // The module is named "isArrayValue" since it
@@ -81,8 +86,12 @@ function inside(value, arg1) {
81
86
  }
82
87
  var notInside = bindNot(inside);
83
88
 
89
+ function lessThan(value, lt) {
90
+ return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
91
+ }
92
+
84
93
  function lessThanOrEquals(value, lte) {
85
- return isNumeric(value) && isNumeric(lte) && Number(value) <= Number(lte);
94
+ return numberEquals(value, lte) || lessThan(value, lte);
86
95
  }
87
96
 
88
97
  function isBetween(value, min, max) {
@@ -156,12 +165,8 @@ function isNaN$1(value) {
156
165
  var isNotNaN = bindNot(isNaN$1);
157
166
 
158
167
  function isNegative(value) {
159
- if (isNumeric(value)) {
160
- return Number(value) < 0;
161
- }
162
- return false;
168
+ return lessThan(value, 0);
163
169
  }
164
- var isPositive = bindNot(isNegative);
165
170
 
166
171
  /**
167
172
  * Validates that a given value is an odd number
@@ -173,6 +178,10 @@ var isOdd = function (value) {
173
178
  return false;
174
179
  };
175
180
 
181
+ function isPositive(value) {
182
+ return greaterThan(value, 0);
183
+ }
184
+
176
185
  var isNotString = bindNot(isStringValue);
177
186
 
178
187
  function isTruthy(value) {
@@ -193,10 +202,6 @@ function isValueOf(value, objectToCheck) {
193
202
  }
194
203
  var isNotValueOf = bindNot(isValueOf);
195
204
 
196
- function lessThan(value, lt) {
197
- return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
198
- }
199
-
200
205
  function longerThan(value, arg1) {
201
206
  return value.length > Number(arg1);
202
207
  }
@@ -218,11 +223,6 @@ function matches(value, regex) {
218
223
  }
219
224
  var notMatches = bindNot(matches);
220
225
 
221
- function numberEquals(value, eq) {
222
- return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
223
- }
224
- var numberNotEquals = bindNot(numberEquals);
225
-
226
226
  function condition(value, callback) {
227
227
  try {
228
228
  return callback(value);
@@ -390,16 +390,18 @@ function optionalFunctionValue(value) {
390
390
  return isFunction(value) ? value.apply(void 0, args) : value;
391
391
  }
392
392
 
393
- function defaultTo(callback, defaultValue) {
394
- var _a;
395
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
396
- }
397
-
398
- /**
399
- * Throws a timed out error.
400
- */
401
- function throwError(devMessage, productionMessage) {
402
- throw new Error(devMessage );
393
+ function invariant(condition,
394
+ // eslint-disable-next-line @typescript-eslint/ban-types
395
+ message) {
396
+ if (condition) {
397
+ return;
398
+ }
399
+ // If message is a string object (rather than string literal)
400
+ // Throw the value directly as a string
401
+ // Alternatively, throw an error with the message
402
+ throw message instanceof String
403
+ ? message.valueOf()
404
+ : new Error(message ? optionalFunctionValue(message) : message);
403
405
  }
404
406
 
405
407
  function isProxySupported() {
@@ -411,6 +413,11 @@ function isProxySupported() {
411
413
  }
412
414
  }
413
415
 
416
+ function defaultTo(callback, defaultValue) {
417
+ var _a;
418
+ return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
419
+ }
420
+
414
421
  function ruleReturn(pass, message) {
415
422
  var output = { pass: pass };
416
423
  if (message) {
@@ -444,10 +451,7 @@ function transformResult(result, ruleName, value) {
444
451
  }
445
452
  function validateResult(result) {
446
453
  // if result is boolean, or if result.pass is boolean
447
- if (isBoolean(result) || (result && isBoolean(result.pass))) {
448
- return;
449
- }
450
- throwError('Incorrect return value for rule: ' + JSON.stringify(result));
454
+ invariant(isBoolean(result) || (result && isBoolean(result.pass)), 'Incorrect return value for rule: ' + JSON.stringify(result));
451
455
  }
452
456
 
453
457
  function enforceEager(value) {
@@ -476,15 +480,9 @@ function enforceEager(value) {
476
480
  var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args, false)); }),
477
481
  ruleName,
478
482
  value], args, false));
479
- if (!transformedResult.pass) {
480
- if (isEmpty(transformedResult.message)) {
481
- throwError("enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value)));
482
- }
483
- else {
484
- // Explicitly throw a string so that vest.test can pick it up as the validation error message
485
- throw transformedResult.message;
486
- }
487
- }
483
+ invariant(transformedResult.pass, isEmpty(transformedResult.message)
484
+ ? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
485
+ : new String(transformedResult.message));
488
486
  return target;
489
487
  };
490
488
  }
@@ -1 +1 @@
1
- import{createContext as n}from"context";var r=Object.assign;function t(n){return"function"==typeof n}function e(n){return function(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];return!n.apply(void 0,r)}}function u(n){return null===n}var i=e(u);function o(n){return void 0===n}var a=e(o);function s(n){return null===n||o(n)}var f=e(s);function c(n){return String(n)===n}function l(n,r){return c(n)&&c(r)&&n.endsWith(r)}var v=e(l);function N(n,r){return n===r}var h=e(N);function m(n){var r=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(r))}var p=e(m);function g(n,r){return m(n)&&m(r)&&Number(n)>Number(r)}function y(n,r){return m(n)&&m(r)&&Number(n)>=Number(r)}function b(n){return!!Array.isArray(n)}var d=e(b);function E(n,r){return!!(b(r)||c(r)&&c(n))&&-1!==r.indexOf(n)}var O=e(E);function x(n,r){return m(n)&&m(r)&&Number(n)<=Number(r)}function q(n,r,t){return y(n,r)&&x(n,t)}var w=e(q);function T(n){return s(n)||c(n)&&!n.trim()}var S=e(T);function A(n){return!!n===n}var B=e(A);function P(n){return"number"==typeof n}var W=e(P);function j(n,r){return n.length===Number(r)}var k=e(j);function F(n){if(n){if(P(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return j(n,0);if("object"==typeof n)return j(Object.keys(n),0)}return!0}var I=e(F);function J(n,r){return n in r}var K=e(J);function R(n){return Number.isNaN(n)}var U=e(R);function V(n){return!!m(n)&&0>Number(n)}var M=e(V),X=e(c);function z(n){return!!n}var C=e(z);function D(n,r){if(s(r))return!1;for(var t in r)if(r[t]===n)return!0;return!1}var G=e(D);function H(n,r){return m(n)&&m(r)&&Number(n)<Number(r)}function L(n,r){return r instanceof RegExp?r.test(n):!!c(r)&&new RegExp(r).test(n)}var Q=e(L);function Y(n,r){return m(n)&&m(r)&&Number(n)===Number(r)}var Z=e(Y);function $(n,r){return c(n)&&c(r)&&n.startsWith(r)}var _={condition:function(n,r){try{return r(n)}catch(n){return!1}},doesNotEndWith:v,doesNotStartWith:e($),endsWith:l,equals:N,greaterThan:g,greaterThanOrEquals:y,gt:g,gte:y,inside:E,isArray:b,isBetween:q,isBlank:T,isBoolean:A,isEmpty:F,isEven:function(n){return!!m(n)&&0==n%2},isFalsy:C,isKeyOf:J,isNaN:R,isNegative:V,isNotArray:d,isNotBetween:w,isNotBlank:S,isNotBoolean:B,isNotEmpty:I,isNotKeyOf:K,isNotNaN:U,isNotNull:i,isNotNullish:f,isNotNumber:W,isNotNumeric:p,isNotString:X,isNotUndefined:a,isNotValueOf:G,isNull:u,isNullish:s,isNumber:P,isNumeric:m,isOdd:function(n){return!!m(n)&&0!=n%2},isPositive:M,isString:c,isTruthy:z,isUndefined:o,isValueOf:D,lengthEquals:j,lengthNotEquals:k,lessThan:H,lessThanOrEquals:x,longerThan:function(n,r){return n.length>Number(r)},longerThanOrEquals:function(n,r){return n.length>=Number(r)},lt:H,lte:x,matches:L,notEquals:h,notInside:O,notMatches:Q,numberEquals:Y,numberNotEquals:Z,shorterThan:function(n,r){return n.length<Number(r)},shorterThanOrEquals:function(n,r){return n.length<=Number(r)},startsWith:$};function nn(n){for(var r in _){var e=_[r];t(e)&&n(r,e)}}var rn=n((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?r(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:r(e,{parent:tn})}));function tn(){return null}function en(n,r,t){if(t||2===arguments.length)for(var e,u=0,i=r.length;u<i;u++)!e&&u in r||(e||(e=Array.prototype.slice.call(r,0,u)),e[u]=r[u]);return n.concat(e||Array.prototype.slice.call(r))}function un(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function on(n,r){var t;return null!==(t=un(n))&&void 0!==t?t:r}function an(n,r){throw Error(on(r,n))}function sn(){try{return t(Proxy)}catch(n){return!1}}function fn(n,r){return n={pass:n},r&&(n.message=r),n}function cn(n,r,t){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return A(n)||n&&A(n.pass)||an("Incorrect return value for rule: "+JSON.stringify(n)),A(n)?fn(n):fn(n.pass,un.apply(void 0,en([n.message,r,t],e,!1)))}function ln(n){function r(r,t,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=cn.apply(void 0,en([rn.run({value:n},(function(){return t.apply(void 0,en([n],u,!1))})),e,n],u,!1))).pass){if(!F(i.message))throw i.message;an("enforce/".concat(e," failed with ").concat(JSON.stringify(n)))}return r}}var t={};if(!sn())return nn((function(n,e){t[n]=r(t,e,n)})),t;var e=new Proxy(t,{get:function(n,t){if(n=_[t])return r(e,n,t)}});return e}function vn(n,r){function t(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(r(n[i],t,i),e)return u}function Nn(n){var r,t=[];return function n(e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=_[e];t.push((function(n){return cn.apply(void 0,en([o.apply(void 0,en([n],u,!1)),e,n],u,!1))}));var a={run:function(n){return on(vn(t,(function(t,e){var u,i=rn.run({value:n},(function(){return t(n)}));i.pass||e(fn(!!i.pass,null!==(u=un(r,n,i.message))&&void 0!==u?u:i.message))})),fn(!0))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return sn()?a=new Proxy(a,{get:function(r,t){return _[t]?n(t):r[t]}}):(nn((function(r){a[r]=n(r)})),a)}}(n)}var hn,mn=(hn={context:function(){return rn.useX()},extend:function(n){r(_,n)}},sn()?new Proxy(r(ln,hn),{get:function(n,r){return r in n?n[r]:_[r]?Nn(r):void 0}}):(nn((function(n){hn[n]=Nn(n)})),r(ln,hn)));export{rn as ctx,mn as enforce};
1
+ import{createContext as n}from"context";var r=Object.assign;function t(n){return"function"==typeof n}function e(n){return function(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];return!n.apply(void 0,r)}}function u(n){return null===n}var i=e(u);function o(n){return void 0===n}var a=e(o);function s(n){return null===n||o(n)}var f=e(s);function c(n){return String(n)===n}function l(n,r){return c(n)&&c(r)&&n.endsWith(r)}var v=e(l);function N(n,r){return n===r}var g=e(N);function h(n){var r=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(r))}var p=e(h);function m(n,r){return h(n)&&h(r)&&Number(n)>Number(r)}function y(n,r){return h(n)&&h(r)&&Number(n)===Number(r)}var d=e(y);function b(n,r){return y(n,r)||m(n,r)}function O(n){return!!Array.isArray(n)}var E=e(O);function x(n,r){return!!(O(r)||c(r)&&c(n))&&-1!==r.indexOf(n)}var q=e(x);function w(n,r){return h(n)&&h(r)&&Number(n)<Number(r)}function S(n,r){return y(n,r)||w(n,r)}function T(n,r,t){return b(n,r)&&S(n,t)}var A=e(T);function B(n){return s(n)||c(n)&&!n.trim()}var P=e(B);function W(n){return!!n===n}var j=e(W);function k(n){return"number"==typeof n}var F=e(k);function I(n,r){return n.length===Number(r)}var J=e(I);function K(n){if(n){if(k(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return I(n,0);if("object"==typeof n)return I(Object.keys(n),0)}return!0}var R=e(K);function U(n,r){return n in r}var V=e(U);function M(n){return Number.isNaN(n)}var X=e(M),z=e(c);function C(n){return!!n}var D=e(C);function G(n,r){if(s(r))return!1;for(var t in r)if(r[t]===n)return!0;return!1}var H=e(G);function L(n,r){return r instanceof RegExp?r.test(n):!!c(r)&&new RegExp(r).test(n)}var Q=e(L);function Y(n,r){return c(n)&&c(r)&&n.startsWith(r)}var Z={condition:function(n,r){try{return r(n)}catch(n){return!1}},doesNotEndWith:v,doesNotStartWith:e(Y),endsWith:l,equals:N,greaterThan:m,greaterThanOrEquals:b,gt:m,gte:b,inside:x,isArray:O,isBetween:T,isBlank:B,isBoolean:W,isEmpty:K,isEven:function(n){return!!h(n)&&0==n%2},isFalsy:D,isKeyOf:U,isNaN:M,isNegative:function(n){return w(n,0)},isNotArray:E,isNotBetween:A,isNotBlank:P,isNotBoolean:j,isNotEmpty:R,isNotKeyOf:V,isNotNaN:X,isNotNull:i,isNotNullish:f,isNotNumber:F,isNotNumeric:p,isNotString:z,isNotUndefined:a,isNotValueOf:H,isNull:u,isNullish:s,isNumber:k,isNumeric:h,isOdd:function(n){return!!h(n)&&0!=n%2},isPositive:function(n){return m(n,0)},isString:c,isTruthy:C,isUndefined:o,isValueOf:G,lengthEquals:I,lengthNotEquals:J,lessThan:w,lessThanOrEquals:S,longerThan:function(n,r){return n.length>Number(r)},longerThanOrEquals:function(n,r){return n.length>=Number(r)},lt:w,lte:S,matches:L,notEquals:g,notInside:q,notMatches:Q,numberEquals:y,numberNotEquals:d,shorterThan:function(n,r){return n.length<Number(r)},shorterThanOrEquals:function(n,r){return n.length<=Number(r)},startsWith:Y};function $(n){for(var r in Z){var e=Z[r];t(e)&&n(r,e)}}var _=n((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?r(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:r(e,{parent:nn})}));function nn(){return null}function rn(n,r,t){if(t||2===arguments.length)for(var e,u=0,i=r.length;u<i;u++)!e&&u in r||(e||(e=Array.prototype.slice.call(r,0,u)),e[u]=r[u]);return n.concat(e||Array.prototype.slice.call(r))}function tn(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function en(n,r){if(!n)throw r instanceof String?r.valueOf():Error(r?tn(r):r)}function un(){try{return t(Proxy)}catch(n){return!1}}function on(n,r){var t;return null!==(t=tn(n))&&void 0!==t?t:r}function an(n,r){return n={pass:n},r&&(n.message=r),n}function sn(n,r,t){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return en(W(n)||n&&W(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),W(n)?an(n):an(n.pass,tn.apply(void 0,rn([n.message,r,t],e,!1)))}function fn(n){function r(r,t,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return en((i=sn.apply(void 0,rn([_.run({value:n},(function(){return t.apply(void 0,rn([n],u,!1))})),e,n],u,!1))).pass,K(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(i.message)),r}}var t={};if(!un())return $((function(n,e){t[n]=r(t,e,n)})),t;var e=new Proxy(t,{get:function(n,t){if(n=Z[t])return r(e,n,t)}});return e}function cn(n,r){function t(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(r(n[i],t,i),e)return u}function ln(n){var r,t=[];return function n(e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=Z[e];t.push((function(n){return sn.apply(void 0,rn([o.apply(void 0,rn([n],u,!1)),e,n],u,!1))}));var a={run:function(n){return on(cn(t,(function(t,e){var u,i=_.run({value:n},(function(){return t(n)}));i.pass||e(an(!!i.pass,null!==(u=tn(r,n,i.message))&&void 0!==u?u:i.message))})),an(!0))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return un()?a=new Proxy(a,{get:function(r,t){return Z[t]?n(t):r[t]}}):($((function(r){a[r]=n(r)})),a)}}(n)}var vn,Nn=(vn={context:function(){return _.useX()},extend:function(n){r(Z,n)}},un()?new Proxy(r(fn,vn),{get:function(n,r){return r in n?n[r]:Z[r]?ln(r):void 0}}):($((function(n){vn[n]=ln(n)})),r(fn,vn)));export{_ as ctx,Nn as enforce};
@@ -4,6 +4,32 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.compose = factory(global.n4s));
5
5
  }(this, (function (n4s) { 'use strict';
6
6
 
7
+ function isFunction(value) {
8
+ return typeof value === 'function';
9
+ }
10
+
11
+ function optionalFunctionValue(value) {
12
+ var args = [];
13
+ for (var _i = 1; _i < arguments.length; _i++) {
14
+ args[_i - 1] = arguments[_i];
15
+ }
16
+ return isFunction(value) ? value.apply(void 0, args) : value;
17
+ }
18
+
19
+ function invariant(condition,
20
+ // eslint-disable-next-line @typescript-eslint/ban-types
21
+ message) {
22
+ if (condition) {
23
+ return;
24
+ }
25
+ // If message is a string object (rather than string literal)
26
+ // Throw the value directly as a string
27
+ // Alternatively, throw an error with the message
28
+ throw message instanceof String
29
+ ? message.valueOf()
30
+ : new Error(message ? optionalFunctionValue(message) : message);
31
+ }
32
+
7
33
  function mapFirst(array, callback) {
8
34
  var broke = false;
9
35
  var breakoutValue = null;
@@ -19,61 +45,11 @@
19
45
  }
20
46
  }
21
47
 
22
- function isFunction(value) {
23
- return typeof value === 'function';
24
- }
25
-
26
- function optionalFunctionValue(value) {
27
- var args = [];
28
- for (var _i = 1; _i < arguments.length; _i++) {
29
- args[_i - 1] = arguments[_i];
30
- }
31
- return isFunction(value) ? value.apply(void 0, args) : value;
32
- }
33
-
34
48
  function defaultTo(callback, defaultValue) {
35
49
  var _a;
36
50
  return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
37
51
  }
38
52
 
39
- /**
40
- * Throws a timed out error.
41
- */
42
- function throwError(devMessage, productionMessage) {
43
- throw new Error(devMessage );
44
- }
45
-
46
- /**
47
- * A safe hasOwnProperty access
48
- */
49
- function hasOwnProperty(obj, key) {
50
- return Object.prototype.hasOwnProperty.call(obj, key);
51
- }
52
-
53
- function isNumber(value) {
54
- return Boolean(typeof value === 'number');
55
- }
56
-
57
- function lengthEquals(value, arg1) {
58
- return value.length === Number(arg1);
59
- }
60
-
61
- function isEmpty(value) {
62
- if (!value) {
63
- return true;
64
- }
65
- else if (isNumber(value)) {
66
- return value === 0;
67
- }
68
- else if (hasOwnProperty(value, 'length')) {
69
- return lengthEquals(value, 0);
70
- }
71
- else if (typeof value === 'object') {
72
- return lengthEquals(Object.keys(value), 0);
73
- }
74
- return true;
75
- }
76
-
77
53
  function ruleReturn(pass, message) {
78
54
  var output = { pass: pass };
79
55
  if (message) {
@@ -108,15 +84,7 @@
108
84
  }
109
85
  return Object.assign(function (value) {
110
86
  var res = run(value);
111
- if (!res.pass) {
112
- if (isEmpty(res.message)) {
113
- throwError();
114
- }
115
- else {
116
- // Explicitly throw a string so that vest.test can pick it up as the validation error message
117
- throw res.message;
118
- }
119
- }
87
+ invariant(res.pass, new String(res.message));
120
88
  }, {
121
89
  run: run,
122
90
  test: function (value) { return run(value).pass; }
@@ -1 +1 @@
1
- "use strict";!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("n4s")):"function"==typeof define&&define.amd?define(["n4s"],e):(n="undefined"!=typeof globalThis?globalThis:n||self).compose=e(n.n4s)}(this,(function(n){function e(n,e){function t(n){r=!0,o=n}for(var r=!1,o=null,u=0;u<n.length;u++)if(e(n[u],t,u),r)return o}function t(n,e){var t;return null!==(t=function(n){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return"function"==typeof n?n.apply(void 0,e):n}(n))&&void 0!==t?t:e}function r(n){if(n){if("number"==typeof n)return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return n.length===Number(0);if("object"==typeof n)return Object.keys(n).length===Number(0)}return!0}function o(n,e){return n={pass:n},e&&(n.message=e),n}return function(){function u(r){return n.ctx.run({value:r},(function(){return t(e(f,(function(n,e){try{var t=n.run(r)}catch(n){t=o(!1)}t.pass||e(t)})),o(!0))}))}for(var f=[],i=0;i<arguments.length;i++)f[i]=arguments[i];return Object.assign((function(n){if(!(n=u(n)).pass){if(r(n.message))throw Error(t(void 0,void 0));throw n.message}}),{run:u,test:function(n){return u(n).pass}})}}));
1
+ "use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("n4s")):"function"==typeof define&&define.amd?define(["n4s"],t):(n="undefined"!=typeof globalThis?globalThis:n||self).compose=t(n.n4s)}(this,(function(n){function t(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return"function"==typeof n?n.apply(void 0,t):n}function e(n,t){function e(n){r=!0,o=n}for(var r=!1,o=null,u=0;u<n.length;u++)if(t(n[u],e,u),r)return o}function r(n,e){var r;return null!==(r=t(n))&&void 0!==r?r:e}function o(n,t){return n={pass:n},t&&(n.message=t),n}return function(){function u(t){return n.ctx.run({value:t},(function(){return r(e(f,(function(n,e){try{var r=n.run(t)}catch(n){r=o(!1)}r.pass||e(r)})),o(!0))}))}for(var f=[],i=0;i<arguments.length;i++)f[i]=arguments[i];return Object.assign((function(n){n=u(n);var e=new String(n.message);if(!n.pass)throw e instanceof String?e.valueOf():Error(e?t(e):e)}),{run:u,test:function(n){return u(n).pass}})}}));
@@ -61,8 +61,13 @@
61
61
  return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
62
62
  }
63
63
 
64
+ function numberEquals(value, eq) {
65
+ return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
66
+ }
67
+ var numberNotEquals = bindNot(numberEquals);
68
+
64
69
  function greaterThanOrEquals(value, gte) {
65
- return isNumeric(value) && isNumeric(gte) && Number(value) >= Number(gte);
70
+ return numberEquals(value, gte) || greaterThan(value, gte);
66
71
  }
67
72
 
68
73
  // The module is named "isArrayValue" since it
@@ -85,8 +90,12 @@
85
90
  }
86
91
  var notInside = bindNot(inside);
87
92
 
93
+ function lessThan(value, lt) {
94
+ return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
95
+ }
96
+
88
97
  function lessThanOrEquals(value, lte) {
89
- return isNumeric(value) && isNumeric(lte) && Number(value) <= Number(lte);
98
+ return numberEquals(value, lte) || lessThan(value, lte);
90
99
  }
91
100
 
92
101
  function isBetween(value, min, max) {
@@ -160,12 +169,8 @@
160
169
  var isNotNaN = bindNot(isNaN$1);
161
170
 
162
171
  function isNegative(value) {
163
- if (isNumeric(value)) {
164
- return Number(value) < 0;
165
- }
166
- return false;
172
+ return lessThan(value, 0);
167
173
  }
168
- var isPositive = bindNot(isNegative);
169
174
 
170
175
  /**
171
176
  * Validates that a given value is an odd number
@@ -177,6 +182,10 @@
177
182
  return false;
178
183
  };
179
184
 
185
+ function isPositive(value) {
186
+ return greaterThan(value, 0);
187
+ }
188
+
180
189
  var isNotString = bindNot(isStringValue);
181
190
 
182
191
  function isTruthy(value) {
@@ -197,10 +206,6 @@
197
206
  }
198
207
  var isNotValueOf = bindNot(isValueOf);
199
208
 
200
- function lessThan(value, lt) {
201
- return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
202
- }
203
-
204
209
  function longerThan(value, arg1) {
205
210
  return value.length > Number(arg1);
206
211
  }
@@ -222,11 +227,6 @@
222
227
  }
223
228
  var notMatches = bindNot(matches);
224
229
 
225
- function numberEquals(value, eq) {
226
- return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
227
- }
228
- var numberNotEquals = bindNot(numberEquals);
229
-
230
230
  function condition(value, callback) {
231
231
  try {
232
232
  return callback(value);
@@ -343,11 +343,18 @@
343
343
  return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
344
344
  }
345
345
 
346
- /**
347
- * Throws a timed out error.
348
- */
349
- function throwError(devMessage, productionMessage) {
350
- throw new Error(devMessage );
346
+ function invariant(condition,
347
+ // eslint-disable-next-line @typescript-eslint/ban-types
348
+ message) {
349
+ if (condition) {
350
+ return;
351
+ }
352
+ // If message is a string object (rather than string literal)
353
+ // Throw the value directly as a string
354
+ // Alternatively, throw an error with the message
355
+ throw message instanceof String
356
+ ? message.valueOf()
357
+ : new Error(message ? optionalFunctionValue(message) : message);
351
358
  }
352
359
 
353
360
  // eslint-disable-next-line max-lines-per-function
@@ -360,8 +367,8 @@
360
367
  useX: useX
361
368
  };
362
369
  function useX(errorMessage) {
363
- var _a;
364
- return ((_a = storage.ctx) !== null && _a !== void 0 ? _a : throwError(defaultTo(errorMessage, 'Context was used after it was closed')));
370
+ invariant(storage.ctx, defaultTo(errorMessage, 'Context was used after it was closed'));
371
+ return storage.ctx;
365
372
  }
366
373
  function run(ctxRef, fn) {
367
374
  var _a;
@@ -498,10 +505,7 @@
498
505
  }
499
506
  function validateResult(result) {
500
507
  // if result is boolean, or if result.pass is boolean
501
- if (isBoolean(result) || (result && isBoolean(result.pass))) {
502
- return;
503
- }
504
- throwError('Incorrect return value for rule: ' + JSON.stringify(result));
508
+ invariant(isBoolean(result) || (result && isBoolean(result.pass)), 'Incorrect return value for rule: ' + JSON.stringify(result));
505
509
  }
506
510
 
507
511
  function enforceEager(value) {
@@ -530,15 +534,9 @@
530
534
  var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args, false)); }),
531
535
  ruleName,
532
536
  value], args, false));
533
- if (!transformedResult.pass) {
534
- if (isEmpty(transformedResult.message)) {
535
- throwError("enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value)));
536
- }
537
- else {
538
- // Explicitly throw a string so that vest.test can pick it up as the validation error message
539
- throw transformedResult.message;
540
- }
541
- }
537
+ invariant(transformedResult.pass, isEmpty(transformedResult.message)
538
+ ? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
539
+ : new String(transformedResult.message));
542
540
  return target;
543
541
  };
544
542
  }
@@ -1 +1 @@
1
- "use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).n4s={})}(this,(function(n){function t(n){return"function"==typeof n}function r(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function e(n){return null===n}function u(n){return void 0===n}function i(n){return null===n||u(n)}function o(n){return String(n)===n}function s(n,t){return o(n)&&o(t)&&n.endsWith(t)}function f(n,t){return n===t}function a(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function c(n,t){return a(n)&&a(t)&&Number(n)>Number(t)}function l(n,t){return a(n)&&a(t)&&Number(n)>=Number(t)}function N(n){return!!Array.isArray(n)}function p(n,t){return!!(N(t)||o(t)&&o(n))&&-1!==t.indexOf(n)}function h(n,t){return a(n)&&a(t)&&Number(n)<=Number(t)}function v(n,t,r){return l(n,t)&&h(n,r)}function d(n){return i(n)||o(n)&&!n.trim()}function g(n){return!!n===n}function y(n){return"number"==typeof n}function m(n,t){return n.length===Number(t)}function b(n){if(n){if(y(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return m(n,0);if("object"==typeof n)return m(Object.keys(n),0)}return!0}function x(n,t){return n in t}function O(n){return Number.isNaN(n)}function E(n){return!!a(n)&&0>Number(n)}function w(n){return!!n}function T(n,t){if(i(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function q(n,t){return a(n)&&a(t)&&Number(n)<Number(t)}function j(n,t){return t instanceof RegExp?t.test(n):!!o(t)&&new RegExp(t).test(n)}function P(n,t){return a(n)&&a(t)&&Number(n)===Number(t)}function S(n,t){return o(n)&&o(t)&&n.startsWith(t)}function A(n){for(var r in pn){var e=pn[r];t(e)&&n(r,e)}}function B(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function W(n,t){var r;return null!==(r=B(n))&&void 0!==r?r:t}function k(n,t){throw Error(W(t,n))}function F(){return null}function I(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 J(){try{return t(Proxy)}catch(n){return!1}}function K(n,t){return n={pass:n},t&&(n.message=t),n}function M(n,t,r){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return g(n)||n&&g(n.pass)||k("Incorrect return value for rule: "+JSON.stringify(n)),g(n)?K(n):K(n.pass,B.apply(void 0,I([n.message,t,r],e,!1)))}function R(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=M.apply(void 0,I([hn.run({value:n},(function(){return r.apply(void 0,I([n],u,!1))})),e,n],u,!1))).pass){if(!b(i.message))throw i.message;k("enforce/".concat(e," failed with ").concat(JSON.stringify(n)))}return t}}var r={};if(!J())return A((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=pn[r])return t(e,n,r)}});return e}function U(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function V(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=pn[e];r.push((function(n){return M.apply(void 0,I([o.apply(void 0,I([n],u,!1)),e,n],u,!1))}));var s={run:function(n){return W(U(r,(function(r,e){var u,i=hn.run({value:n},(function(){return r(n)}));i.pass||e(K(!!i.pass,null!==(u=B(t,n,i.message))&&void 0!==u?u:i.message))})),K(!0))},test:function(n){return s.run(n).pass},message:function(n){return n&&(t=n),s}};return J()?s=new Proxy(s,{get:function(t,r){return pn[r]?n(r):t[r]}}):(A((function(t){s[t]=n(t)})),s)}}(n)}var X,_=Object.assign,z=r(e),C=r(u),D=r(i),G=r(s),H=r(f),L=r(a),Q=r(N),Y=r(p),Z=r(v),$=r(d),nn=r(g),tn=r(y),rn=r(m),en=r(b),un=r(x),on=r(O),sn=r(E),fn=r(o),an=r(w),cn=r(T),ln=r(j),Nn=r(P),pn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:G,doesNotStartWith:r(S),endsWith:s,equals:f,greaterThan:c,greaterThanOrEquals:l,gt:c,gte:l,inside:p,isArray:N,isBetween:v,isBlank:d,isBoolean:g,isEmpty:b,isEven:function(n){return!!a(n)&&0==n%2},isFalsy:an,isKeyOf:x,isNaN:O,isNegative:E,isNotArray:Q,isNotBetween:Z,isNotBlank:$,isNotBoolean:nn,isNotEmpty:en,isNotKeyOf:un,isNotNaN:on,isNotNull:z,isNotNullish:D,isNotNumber:tn,isNotNumeric:L,isNotString:fn,isNotUndefined:C,isNotValueOf:cn,isNull:e,isNullish:i,isNumber:y,isNumeric:a,isOdd:function(n){return!!a(n)&&0!=n%2},isPositive:sn,isString:o,isTruthy:w,isUndefined:u,isValueOf:T,lengthEquals:m,lengthNotEquals:rn,lessThan:q,lessThanOrEquals:h,longerThan:function(n,t){return n.length>Number(t)},longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:q,lte:h,matches:j,notEquals:H,notInside:Y,notMatches:ln,numberEquals:P,numberNotEquals:Nn,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:S},hn=function(n){function t(t,u){var i,o,s=r();return t=_({},s||{},null!==(i=B(n,t,s))&&void 0!==i?i:t),i=e.ctx=Object.freeze(t),e.ancestry.unshift(i),u=u(i),e.ancestry.shift(),e.ctx=null!==(o=e.ancestry[0])&&void 0!==o?o:null,u}function r(){return e.ctx}var e={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:r,useX:function(n){var t;return null!==(t=e.ctx)&&void 0!==t?t:k(W(n,"Context was used after it was closed"))}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?_(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:_(r,{parent:F})}));X={context:function(){return hn.useX()},extend:function(n){_(pn,n)}},z=J()?new Proxy(_(R,X),{get:function(n,t){return t in n?n[t]:pn[t]?V(t):void 0}}):(A((function(n){X[n]=V(n)})),_(R,X)),n.ctx=hn,n.enforce=z,Object.defineProperty(n,"__esModule",{value:!0})}));
1
+ "use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).n4s={})}(this,(function(n){function t(n){return"function"==typeof n}function r(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function e(n){return null===n}function u(n){return void 0===n}function i(n){return null===n||u(n)}function o(n){return String(n)===n}function s(n,t){return o(n)&&o(t)&&n.endsWith(t)}function f(n,t){return n===t}function a(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function c(n,t){return a(n)&&a(t)&&Number(n)>Number(t)}function l(n,t){return a(n)&&a(t)&&Number(n)===Number(t)}function N(n,t){return l(n,t)||c(n,t)}function p(n){return!!Array.isArray(n)}function h(n,t){return!!(p(t)||o(t)&&o(n))&&-1!==t.indexOf(n)}function v(n,t){return a(n)&&a(t)&&Number(n)<Number(t)}function g(n,t){return l(n,t)||v(n,t)}function d(n,t,r){return N(n,t)&&g(n,r)}function y(n){return i(n)||o(n)&&!n.trim()}function m(n){return!!n===n}function b(n){return"number"==typeof n}function x(n,t){return n.length===Number(t)}function O(n){if(n){if(b(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return x(n,0);if("object"==typeof n)return x(Object.keys(n),0)}return!0}function E(n,t){return n in t}function w(n){return Number.isNaN(n)}function T(n){return!!n}function q(n,t){if(i(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function S(n,t){return t instanceof RegExp?t.test(n):!!o(t)&&new RegExp(t).test(n)}function j(n,t){return o(n)&&o(t)&&n.startsWith(t)}function P(n){for(var r in ln){var e=ln[r];t(e)&&n(r,e)}}function A(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function B(n,t){var r;return null!==(r=A(n))&&void 0!==r?r:t}function W(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?A(t):t)}function k(){return null}function F(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 I(){try{return t(Proxy)}catch(n){return!1}}function J(n,t){return n={pass:n},t&&(n.message=t),n}function K(n,t,r){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return W(m(n)||n&&m(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),m(n)?J(n):J(n.pass,A.apply(void 0,F([n.message,t,r],e,!1)))}function M(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return W((i=K.apply(void 0,F([Nn.run({value:n},(function(){return r.apply(void 0,F([n],u,!1))})),e,n],u,!1))).pass,O(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(i.message)),t}}var r={};if(!I())return P((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=ln[r])return t(e,n,r)}});return e}function R(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function U(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=ln[e];r.push((function(n){return K.apply(void 0,F([o.apply(void 0,F([n],u,!1)),e,n],u,!1))}));var s={run:function(n){return B(R(r,(function(r,e){var u,i=Nn.run({value:n},(function(){return r(n)}));i.pass||e(J(!!i.pass,null!==(u=A(t,n,i.message))&&void 0!==u?u:i.message))})),J(!0))},test:function(n){return s.run(n).pass},message:function(n){return n&&(t=n),s}};return I()?s=new Proxy(s,{get:function(t,r){return ln[r]?n(r):t[r]}}):(P((function(t){s[t]=n(t)})),s)}}(n)}var V,X=Object.assign,_=r(e),z=r(u),C=r(i),D=r(s),G=r(f),H=r(a),L=r(l),Q=r(p),Y=r(h),Z=r(d),$=r(y),nn=r(m),tn=r(b),rn=r(x),en=r(O),un=r(E),on=r(w),sn=r(o),fn=r(T),an=r(q),cn=r(S),ln={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:D,doesNotStartWith:r(j),endsWith:s,equals:f,greaterThan:c,greaterThanOrEquals:N,gt:c,gte:N,inside:h,isArray:p,isBetween:d,isBlank:y,isBoolean:m,isEmpty:O,isEven:function(n){return!!a(n)&&0==n%2},isFalsy:fn,isKeyOf:E,isNaN:w,isNegative:function(n){return v(n,0)},isNotArray:Q,isNotBetween:Z,isNotBlank:$,isNotBoolean:nn,isNotEmpty:en,isNotKeyOf:un,isNotNaN:on,isNotNull:_,isNotNullish:C,isNotNumber:tn,isNotNumeric:H,isNotString:sn,isNotUndefined:z,isNotValueOf:an,isNull:e,isNullish:i,isNumber:b,isNumeric:a,isOdd:function(n){return!!a(n)&&0!=n%2},isPositive:function(n){return c(n,0)},isString:o,isTruthy:T,isUndefined:u,isValueOf:q,lengthEquals:x,lengthNotEquals:rn,lessThan:v,lessThanOrEquals:g,longerThan:function(n,t){return n.length>Number(t)},longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:v,lte:g,matches:S,notEquals:G,notInside:Y,notMatches:cn,numberEquals:l,numberNotEquals:L,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:j},Nn=function(n){function t(t,u){var i,o,s=r();return t=X({},s||{},null!==(i=A(n,t,s))&&void 0!==i?i:t),i=e.ctx=Object.freeze(t),e.ancestry.unshift(i),u=u(i),e.ancestry.shift(),e.ctx=null!==(o=e.ancestry[0])&&void 0!==o?o:null,u}function r(){return e.ctx}var e={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:r,useX:function(n){return W(e.ctx,B(n,"Context was used after it was closed")),e.ctx}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?X(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:X(r,{parent:k})}));V={context:function(){return Nn.useX()},extend:function(n){X(ln,n)}},_=I()?new Proxy(X(M,V),{get:function(n,t){return t in n?n[t]:ln[t]?U(t):void 0}}):(P((function(n){V[n]=U(n)})),X(M,V)),n.ctx=Nn,n.enforce=_,Object.defineProperty(n,"__esModule",{value:!0})}));
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "4.1.2",
2
+ "version": "4.1.3",
3
3
  "license": "MIT",
4
4
  "main": "./dist/cjs/n4s.js",
5
5
  "types": "./types/n4s.d.ts",
@@ -10,7 +10,7 @@
10
10
  "release": "vx release"
11
11
  },
12
12
  "dependencies": {
13
- "context": "^2.0.1"
13
+ "context": "^2.0.2"
14
14
  },
15
15
  "module": "./dist/es/n4s.production.js",
16
16
  "exports": {
@@ -35,6 +35,7 @@ declare function isNull(value: unknown): value is null;
35
35
  declare function isNullish(value: any): value is null | undefined;
36
36
  declare function isNumber(value: unknown): value is number;
37
37
  declare function isNumeric(value: string | number): boolean;
38
+ declare function isPositive(value: number | string): boolean;
38
39
  declare function isStringValue(v: unknown): v is string;
39
40
  declare function isTruthy(value: unknown): boolean;
40
41
  declare function isUndefined(value?: unknown): boolean;
@@ -89,7 +90,7 @@ declare const baseRules: {
89
90
  isNumber: typeof isNumber;
90
91
  isNumeric: typeof isNumeric;
91
92
  isOdd: (value: any) => boolean;
92
- isPositive: (value: string | number) => boolean;
93
+ isPositive: typeof isPositive;
93
94
  isString: typeof isStringValue;
94
95
  isTruthy: typeof isTruthy;
95
96
  isUndefined: typeof isUndefined;
@@ -35,6 +35,7 @@ declare function isNull(value: unknown): value is null;
35
35
  declare function isNullish(value: any): value is null | undefined;
36
36
  declare function isNumber(value: unknown): value is number;
37
37
  declare function isNumeric(value: string | number): boolean;
38
+ declare function isPositive(value: number | string): boolean;
38
39
  declare function isStringValue(v: unknown): v is string;
39
40
  declare function isTruthy(value: unknown): boolean;
40
41
  declare function isUndefined(value?: unknown): boolean;
@@ -89,7 +90,7 @@ declare const baseRules: {
89
90
  isNumber: typeof isNumber;
90
91
  isNumeric: typeof isNumeric;
91
92
  isOdd: (value: any) => boolean;
92
- isPositive: (value: string | number) => boolean;
93
+ isPositive: typeof isPositive;
93
94
  isString: typeof isStringValue;
94
95
  isTruthy: typeof isTruthy;
95
96
  isUndefined: typeof isUndefined;
package/types/n4s.d.ts CHANGED
@@ -55,6 +55,7 @@ declare function isNull(value: unknown): value is null;
55
55
  declare function isNullish(value: any): value is null | undefined;
56
56
  declare function isNumber(value: unknown): value is number;
57
57
  declare function isNumeric(value: string | number): boolean;
58
+ declare function isPositive(value: number | string): boolean;
58
59
  declare function isStringValue(v: unknown): v is string;
59
60
  declare function isTruthy(value: unknown): boolean;
60
61
  declare function isUndefined(value?: unknown): boolean;
@@ -109,7 +110,7 @@ declare const baseRules: {
109
110
  isNumber: typeof isNumber;
110
111
  isNumeric: typeof isNumeric;
111
112
  isOdd: (value: any) => boolean;
112
- isPositive: (value: string | number) => boolean;
113
+ isPositive: typeof isPositive;
113
114
  isString: typeof isStringValue;
114
115
  isTruthy: typeof isTruthy;
115
116
  isUndefined: typeof isUndefined;
package/types/schema.d.ts CHANGED
@@ -35,6 +35,7 @@ declare function isNull(value: unknown): value is null;
35
35
  declare function isNullish(value: any): value is null | undefined;
36
36
  declare function isNumber(value: unknown): value is number;
37
37
  declare function isNumeric(value: string | number): boolean;
38
+ declare function isPositive(value: number | string): boolean;
38
39
  declare function isStringValue(v: unknown): v is string;
39
40
  declare function isTruthy(value: unknown): boolean;
40
41
  declare function isUndefined(value?: unknown): boolean;
@@ -89,7 +90,7 @@ declare const baseRules: {
89
90
  isNumber: typeof isNumber;
90
91
  isNumeric: typeof isNumeric;
91
92
  isOdd: (value: any) => boolean;
92
- isPositive: (value: string | number) => boolean;
93
+ isPositive: typeof isPositive;
93
94
  isString: typeof isStringValue;
94
95
  isTruthy: typeof isTruthy;
95
96
  isUndefined: typeof isUndefined;