n4s 4.1.7 → 4.1.8

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,8 @@
2
2
 
3
3
  var n4s = require('n4s');
4
4
 
5
+ var assign = Object.assign;
6
+
5
7
  function isFunction(value) {
6
8
  return typeof value === 'function';
7
9
  }
@@ -27,6 +29,10 @@ message) {
27
29
  ? message.valueOf()
28
30
  : new Error(message ? optionalFunctionValue(message) : message);
29
31
  }
32
+ // eslint-disable-next-line @typescript-eslint/ban-types
33
+ function StringObject(value) {
34
+ return new String(optionalFunctionValue(value));
35
+ }
30
36
 
31
37
  function mapFirst(array, callback) {
32
38
  var broke = false;
@@ -37,15 +43,17 @@ function mapFirst(array, callback) {
37
43
  return breakoutValue;
38
44
  }
39
45
  }
40
- function breakout(value) {
41
- broke = true;
42
- breakoutValue = value;
46
+ function breakout(conditional, value) {
47
+ if (conditional) {
48
+ broke = true;
49
+ breakoutValue = value;
50
+ }
43
51
  }
44
52
  }
45
53
 
46
- function defaultTo(callback, defaultValue) {
54
+ function defaultTo(value, defaultValue) {
47
55
  var _a;
48
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
56
+ return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
49
57
  }
50
58
 
51
59
  function ruleReturn(pass, message) {
@@ -80,9 +88,9 @@ function compose() {
80
88
  for (var _i = 0; _i < arguments.length; _i++) {
81
89
  composites[_i] = arguments[_i];
82
90
  }
83
- return Object.assign(function (value) {
91
+ return assign(function (value) {
84
92
  var res = run(value);
85
- invariant(res.pass, new String(res.message));
93
+ invariant(res.pass, StringObject(res.message));
86
94
  }, {
87
95
  run: run,
88
96
  test: function (value) { return run(value).pass; }
@@ -96,9 +104,7 @@ function compose() {
96
104
  so we're limiting it to a small set of functions.
97
105
  */
98
106
  var res = runLazyRule(composite, value);
99
- if (!res.pass) {
100
- breakout(res);
101
- }
107
+ breakout(!res.pass, res);
102
108
  }));
103
109
  });
104
110
  }
@@ -1 +1 @@
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}})};
1
+ "use strict";var n=require("n4s"),r=Object.assign;function t(n){return"function"==typeof n}function u(n){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];return t(n)?n.apply(void 0,r):n}function e(n,r){if(!n)throw r instanceof String?r.valueOf():Error(r?u(r):r)}function o(n){return new String(u(n))}function i(n,r){function t(n,r){n&&(u=!0,e=r)}for(var u=!1,e=null,o=0;o<n.length;o++)if(r(n[o],t,o),u)return e}function f(n,r){return n={pass:n},r&&(n.message=r),n}function c(n){return function(n,r){var t;return null!==(t=u(n))&&void 0!==t?t:u(r)}(n,f(!0))}function s(n,r){try{return n.run(r)}catch(n){return f(!1)}}module.exports=function(){function t(r){return n.ctx.run({value:r},(function(){return c(i(u,(function(n,t){t(!(n=s(n,r)).pass,n)})))}))}for(var u=[],f=0;f<arguments.length;f++)u[f]=arguments[f];return r((function(n){e((n=t(n)).pass,o(n.message))}),{run:t,test:function(n){return t(n).pass}})};
@@ -11,9 +11,11 @@ function mapFirst(array, callback) {
11
11
  return breakoutValue;
12
12
  }
13
13
  }
14
- function breakout(value) {
15
- broke = true;
16
- breakoutValue = value;
14
+ function breakout(conditional, value) {
15
+ if (conditional) {
16
+ broke = true;
17
+ breakoutValue = value;
18
+ }
17
19
  }
18
20
  }
19
21
 
@@ -29,9 +31,9 @@ function optionalFunctionValue(value) {
29
31
  return isFunction(value) ? value.apply(void 0, args) : value;
30
32
  }
31
33
 
32
- function defaultTo(callback, defaultValue) {
34
+ function defaultTo(value, defaultValue) {
33
35
  var _a;
34
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
36
+ return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
35
37
  }
36
38
 
37
39
  function ruleReturn(pass, message) {
@@ -70,9 +72,7 @@ function allOf(value) {
70
72
  }
71
73
  return defaultToPassing(mapFirst(rules, function (rule, breakout) {
72
74
  var res = runLazyRule(rule, value);
73
- if (!res.pass) {
74
- breakout(res);
75
- }
75
+ breakout(!res.pass, res);
76
76
  }));
77
77
  }
78
78
 
@@ -83,9 +83,7 @@ function anyOf(value) {
83
83
  }
84
84
  return defaultToFailing(mapFirst(rules, function (rule, breakout) {
85
85
  var res = runLazyRule(rule, value);
86
- if (res.pass) {
87
- breakout(res);
88
- }
86
+ breakout(res.pass, res);
89
87
  }));
90
88
  }
91
89
 
@@ -96,12 +94,14 @@ function noneOf(value) {
96
94
  }
97
95
  return defaultToPassing(mapFirst(rules, function (rule, breakout) {
98
96
  var res = runLazyRule(rule, value);
99
- if (res.pass) {
100
- breakout(failing());
101
- }
97
+ breakout(res.pass, failing());
102
98
  }));
103
99
  }
104
100
 
101
+ function equals(value, arg1) {
102
+ return value === arg1;
103
+ }
104
+
105
105
  function isNumeric(value) {
106
106
  var str = String(value);
107
107
  var num = Number(value);
@@ -109,39 +109,27 @@ function isNumeric(value) {
109
109
  return Boolean(result);
110
110
  }
111
111
 
112
- function numberEquals(value, eq) {
113
- return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
114
- }
115
-
116
- function lengthEquals(value, arg1) {
117
- return numberEquals(value.length, arg1);
118
- }
119
-
120
112
  function greaterThan(value, gt) {
121
113
  return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
122
114
  }
123
115
 
124
- function longerThan(value, arg1) {
125
- return greaterThan(value.length, arg1);
126
- }
127
-
128
116
  var REQUIRED_COUNT = 1;
129
117
  function oneOf(value) {
130
118
  var rules = [];
131
119
  for (var _i = 1; _i < arguments.length; _i++) {
132
120
  rules[_i - 1] = arguments[_i];
133
121
  }
134
- var passing = [];
122
+ var passingCount = 0;
135
123
  rules.some(function (rule) {
136
124
  var res = runLazyRule(rule, value);
137
125
  if (res.pass) {
138
- passing.push(res);
126
+ passingCount++;
139
127
  }
140
- if (longerThan(passing, REQUIRED_COUNT)) {
128
+ if (greaterThan(passingCount, REQUIRED_COUNT)) {
141
129
  return false;
142
130
  }
143
131
  });
144
- return ruleReturn(lengthEquals(passing, REQUIRED_COUNT));
132
+ return ruleReturn(equals(passingCount, REQUIRED_COUNT));
145
133
  }
146
134
 
147
135
  n4s.enforce.extend({ allOf: allOf, anyOf: anyOf, noneOf: noneOf, oneOf: oneOf });
@@ -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,f=0;f<n.length;f++)if(r(n[f],t,f),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){return n={pass:n},r&&(n.message=r),n}function f(){return e(!1)}function o(n){return u(n,f())}function i(n){return u(n,e(!0))}function c(n,r){try{return n.run(r)}catch(n){return f()}}function a(n){var r=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(r))}function s(n,r){return function(n,r){return a(n)&&a(r)&&Number(n)===Number(r)}(n.length,r)}function l(n,r){return function(n,r){return a(n)&&a(r)&&Number(n)>Number(r)}(n.length,r)}n.enforce.extend({allOf:function(n){for(var t=[],u=1;u<arguments.length;u++)t[u-1]=arguments[u];return i(r(t,(function(r,t){(r=c(r,n)).pass||t(r)})))},anyOf:function(n){for(var t=[],u=1;u<arguments.length;u++)t[u-1]=arguments[u];return o(r(t,(function(r,t){(r=c(r,n)).pass&&t(r)})))},noneOf:function(n){for(var t=[],u=1;u<arguments.length;u++)t[u-1]=arguments[u];return i(r(t,(function(r,t){c(r,n).pass&&t(f())})))},oneOf:function(n){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];var u=[];return r.some((function(r){if((r=c(r,n)).pass&&u.push(r),l(u,1))return!1})),e(s(u,1))}});
1
+ "use strict";var n=require("n4s");function r(n,r){function t(n,r){n&&(u=!0,e=r)}for(var u=!1,e=null,f=0;f<n.length;f++)if(r(n[f],t,f),u)return e}function t(n){return"function"==typeof n}function u(n){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];return t(n)?n.apply(void 0,r):n}function e(n,r){var t;return null!==(t=u(n))&&void 0!==t?t:u(r)}function f(n,r){return n={pass:n},r&&(n.message=r),n}function o(){return f(!1)}function i(n){return e(n,o())}function c(n){return e(n,f(!0))}function a(n,r){try{return n.run(r)}catch(n){return o()}}function s(n,r){return n===r}function l(n){var r=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(r))}function v(n,r){return l(n)&&l(r)&&Number(n)>Number(r)}n.enforce.extend({allOf:function(n){for(var t=[],u=1;u<arguments.length;u++)t[u-1]=arguments[u];return c(r(t,(function(r,t){t(!(r=a(r,n)).pass,r)})))},anyOf:function(n){for(var t=[],u=1;u<arguments.length;u++)t[u-1]=arguments[u];return i(r(t,(function(r,t){t((r=a(r,n)).pass,r)})))},noneOf:function(n){for(var t=[],u=1;u<arguments.length;u++)t[u-1]=arguments[u];return c(r(t,(function(r,t){t((r=a(r,n)).pass,o())})))},oneOf:function(n){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];var u=0;return r.some((function(r){if(a(r,n).pass&&u++,v(u,1))return!1})),f(s(u,1))}});
@@ -121,11 +121,6 @@ function hasOwnProperty(obj, key) {
121
121
  return Object.prototype.hasOwnProperty.call(obj, key);
122
122
  }
123
123
 
124
- function isNumber(value) {
125
- return Boolean(typeof value === 'number');
126
- }
127
- var isNotNumber = bindNot(isNumber);
128
-
129
124
  function lengthEquals(value, arg1) {
130
125
  return numberEquals(value.length, arg1);
131
126
  }
@@ -135,9 +130,6 @@ function isEmpty(value) {
135
130
  if (!value) {
136
131
  return true;
137
132
  }
138
- else if (isNumber(value)) {
139
- return value === 0;
140
- }
141
133
  else if (hasOwnProperty(value, 'length')) {
142
134
  return lengthEquals(value, 0);
143
135
  }
@@ -172,6 +164,11 @@ function isNegative(value) {
172
164
  return lessThan(value, 0);
173
165
  }
174
166
 
167
+ function isNumber(value) {
168
+ return Boolean(typeof value === 'number');
169
+ }
170
+ var isNotNumber = bindNot(isNumber);
171
+
175
172
  /**
176
173
  * Validates that a given value is an odd number
177
174
  */
@@ -361,7 +358,7 @@ function emptyParent() {
361
358
  return null;
362
359
  }
363
360
 
364
- /*! *****************************************************************************
361
+ /******************************************************************************
365
362
  Copyright (c) Microsoft Corporation.
366
363
 
367
364
  Permission to use, copy, modify, and/or distribute this software for any
@@ -407,6 +404,10 @@ message) {
407
404
  ? message.valueOf()
408
405
  : new Error(message ? optionalFunctionValue(message) : message);
409
406
  }
407
+ // eslint-disable-next-line @typescript-eslint/ban-types
408
+ function StringObject(value) {
409
+ return new String(optionalFunctionValue(value));
410
+ }
410
411
 
411
412
  function isProxySupported() {
412
413
  try {
@@ -417,9 +418,9 @@ function isProxySupported() {
417
418
  }
418
419
  }
419
420
 
420
- function defaultTo(callback, defaultValue) {
421
+ function defaultTo(value, defaultValue) {
421
422
  var _a;
422
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
423
+ return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
423
424
  }
424
425
 
425
426
  function ruleReturn(pass, message) {
@@ -481,12 +482,12 @@ function enforceEager(value) {
481
482
  for (var _i = 0; _i < arguments.length; _i++) {
482
483
  args[_i] = arguments[_i];
483
484
  }
484
- var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args, false)); }),
485
- ruleName,
486
- value], args, false));
487
- invariant(transformedResult.pass, isEmpty(transformedResult.message)
485
+ var transformedResult = ctx.run({ value: value }, function () {
486
+ return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
487
+ });
488
+ invariant(transformedResult.pass, isNullish(transformedResult.message)
488
489
  ? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
489
- : new String(transformedResult.message));
490
+ : StringObject(transformedResult.message));
490
491
  return target;
491
492
  };
492
493
  }
@@ -501,9 +502,11 @@ function mapFirst(array, callback) {
501
502
  return breakoutValue;
502
503
  }
503
504
  }
504
- function breakout(value) {
505
- broke = true;
506
- breakoutValue = value;
505
+ function breakout(conditional, value) {
506
+ if (conditional) {
507
+ broke = true;
508
+ breakoutValue = value;
509
+ }
507
510
  }
508
511
  }
509
512
 
@@ -529,9 +532,7 @@ function genEnforceLazy(key) {
529
532
  return defaultToPassing(mapFirst(registeredRules, function (rule, breakout) {
530
533
  var _a;
531
534
  var res = ctx.run({ value: value }, function () { return rule(value); });
532
- if (!res.pass) {
533
- breakout(ruleReturn(!!res.pass, (_a = optionalFunctionValue(lazyMessage, value, res.message)) !== null && _a !== void 0 ? _a : res.message));
534
- }
535
+ breakout(!res.pass, ruleReturn(!!res.pass, (_a = optionalFunctionValue(lazyMessage, value, res.message)) !== null && _a !== void 0 ? _a : res.message));
535
536
  }));
536
537
  },
537
538
  test: function (value) { return proxy.run(value).pass; },
@@ -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 g(n){var r=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(r))}var h=e(g);function y(n,r){return g(n)&&g(r)&&Number(n)>Number(r)}function m(n,r){return g(n)&&g(r)&&Number(n)===Number(r)}var d=e(m);function b(n,r){return m(n,r)||y(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 m(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 m(n.length,r)}var J=e(I);function K(n){return!n||(k(n)?0===n:function(n,r){return Object.prototype.hasOwnProperty.call(n,r)}(n,"length")?I(n,0):"object"==typeof n&&I(Object.keys(n),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 y(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 y(n.length,r)}function $(n,r){return b(n.length,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 w(n.length,r)}function un(n,r){return S(n.length,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:y,greaterThanOrEquals:b,gt:y,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:m,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 yn(n,r){return n={pass:n},r&&(n.message=r),n}function mn(n){return function(n,r){var t;return null!==(t=pn(n))&&void 0!==t?t:r}(n,yn(!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)?yn(n):yn(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 mn(En(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 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=function(){function n(){if(!hn())return cn((function(n){t[n]=xn(n)})),r(On,t)}var t={context:function(){return ln.useX()},extend:function(t){r(sn,t),n()}};return n(),new Proxy(r(On,t),{get:function(n,r){return r in n?n[r]:fn(r)?xn(r):void 0}})}();exports.ctx=ln,exports.enforce=qn;
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 y(n,r){return g(n)&&g(r)&&Number(n)>Number(r)}function m(n,r){return g(n)&&g(r)&&Number(n)===Number(r)}var d=e(m);function b(n,r){return m(n,r)||y(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 m(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,r){return m(n.length,r)}var F=e(k);function I(n){return!n||(function(n,r){return Object.prototype.hasOwnProperty.call(n,r)}(n,"length")?k(n,0):"object"==typeof n&&k(Object.keys(n),0))}var J=e(I),K=function(n){return!!g(n)&&0==n%2};function M(n,r){return n in r}var R=e(M);function U(n){return Number.isNaN(n)}var V=e(U);function _(n){return w(n,0)}function C(n){return"number"==typeof n}var X=e(C),z=function(n){return!!g(n)&&0!=n%2};function D(n){return y(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 y(n.length,r)}function $(n,r){return b(n.length,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 w(n.length,r)}function un(n,r){return S(n.length,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:y,greaterThanOrEquals:b,gt:y,gte:b,inside:x,isArray:O,isBetween:T,isBlank:A,isBoolean:W,isEmpty:I,isEven:K,isFalsy:L,isKeyOf:M,isNaN:U,isNegative:_,isNotArray:E,isNotBetween:P,isNotBlank:B,isNotBoolean:j,isNotEmpty:J,isNotKeyOf:R,isNotNaN:V,isNotNull:i,isNotNullish:f,isNotNumber:X,isNotNumeric:h,isNotString:G,isNotUndefined:a,isNotValueOf:Y,isNull:u,isNullish:s,isNumber:C,isNumeric:g,isOdd:z,isPositive:D,isString:c,isTruthy:H,isUndefined:o,isValueOf:Q,lengthEquals:k,lengthNotEquals:F,lessThan:w,lessThanOrEquals:S,longerThan:Z,longerThanOrEquals:$,lt:w,lte:S,matches:nn,notEquals:p,notInside:q,notMatches:rn,numberEquals:m,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(n){return new String(pn(n))}function yn(){try{return t(Proxy)}catch(n){return!1}}function mn(n,r){return n={pass:n},r&&(n.message=r),n}function dn(n){return function(n,r){var t;return null!==(t=pn(n))&&void 0!==t?t:pn(r)}(n,mn(!0))}function bn(n,r,t){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return On(n),W(n)?mn(n):mn(n.pass,pn.apply(void 0,Nn([n.message,r,t],e,!1)))}function On(n){gn(W(n)||n&&W(n.pass),"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];return gn((i=ln.run({value:n},(function(){return bn.apply(void 0,Nn([t.apply(void 0,Nn([n],u,!1)),e,n],u,!1))}))).pass,s(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):hn(i.message)),r}}var t={};if(!yn())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,r){n&&(e=!0,u=r)}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)}));e(!i.pass,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 yn()?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=function(){function n(){if(!yn())return cn((function(n){t[n]=qn(n)})),r(En,t)}var t={context:function(){return ln.useX()},extend:function(t){r(sn,t),n()}};return n(),new Proxy(r(En,t),{get:function(n,r){return r in n?n[r]:fn(r)?qn(r):void 0}})}();exports.ctx=ln,exports.enforce=wn;
@@ -13,9 +13,11 @@ function mapFirst(array, callback) {
13
13
  return breakoutValue;
14
14
  }
15
15
  }
16
- function breakout(value) {
17
- broke = true;
18
- breakoutValue = value;
16
+ function breakout(conditional, value) {
17
+ if (conditional) {
18
+ broke = true;
19
+ breakoutValue = value;
20
+ }
19
21
  }
20
22
  }
21
23
 
@@ -31,9 +33,9 @@ function optionalFunctionValue(value) {
31
33
  return isFunction(value) ? value.apply(void 0, args) : value;
32
34
  }
33
35
 
34
- function defaultTo(callback, defaultValue) {
36
+ function defaultTo(value, defaultValue) {
35
37
  var _a;
36
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
38
+ return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
37
39
  }
38
40
 
39
41
  function ruleReturn(pass, message) {
@@ -65,9 +67,7 @@ function runLazyRule(lazyRule, currentValue) {
65
67
  function isArrayOf(inputArray, currentRule) {
66
68
  return defaultToPassing(mapFirst(inputArray, function (currentValue, breakout, index) {
67
69
  var res = n4s.ctx.run({ value: currentValue, set: true, meta: { index: index } }, function () { return runLazyRule(currentRule, currentValue); });
68
- if (!res.pass) {
69
- breakout(res);
70
- }
70
+ breakout(!res.pass, res);
71
71
  }));
72
72
  }
73
73
 
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("n4s");function r(n){return"function"==typeof n}function t(n,t){var e;return null!==(e=function(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return r(n)?n.apply(void 0,t):n}(n))&&void 0!==e?e:t}function e(n,r){return n={pass:n},r&&(n.message=r),n}function u(){return e(!1)}function o(){return e(!0)}function i(n,r){try{return n.run(r)}catch(n){return u()}}function f(r,t){var e,u=function(e){var u=r[e],o=t[e];if(!(e=n.ctx.run({value:u,set:!0,meta:{key:e}},(function(){return i(o,u)}))).pass)return{value:e}};for(e in t){var f=u(e);if("object"==typeof f)return f.value}return o()}function c(n,r){return Object.prototype.hasOwnProperty.call(n,r)}n.enforce.extend({isArrayOf:function(r,e){return function(n){return t(n,o())}(function(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}(r,(function(r,t,u){(u=n.ctx.run({value:r,set:!0,meta:{index:u}},(function(){return i(e,r)}))).pass||t(u)})))},loose:f,optional:function(n,r){return function(n){return function(n){return null===n}(n)||function(n){return void 0===n}(n)}(n)?o():i(r,n)},shape:function(n,r){var t=f(n,r);if(!t.pass)return t;for(var e in n)if(!c(r,e))return u();return o()}}),exports.partial=function(r){var t,e={};for(t in r)e[t]=n.enforce.optional(r[t]);return e};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("n4s");function r(n){return"function"==typeof n}function t(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return r(n)?n.apply(void 0,t):n}function e(n,r){return n={pass:n},r&&(n.message=r),n}function u(){return e(!1)}function o(){return e(!0)}function i(n){return function(n,r){var e;return null!==(e=t(n))&&void 0!==e?e:t(r)}(n,o())}function f(n,r){try{return n.run(r)}catch(n){return u()}}function c(r,t){var e,u=function(e){var u=r[e],o=t[e];if(!(e=n.ctx.run({value:u,set:!0,meta:{key:e}},(function(){return f(o,u)}))).pass)return{value:e}};for(e in t){var i=u(e);if("object"==typeof i)return i.value}return o()}function a(n,r){return Object.prototype.hasOwnProperty.call(n,r)}n.enforce.extend({isArrayOf:function(r,t){return i(function(n,r){function t(n,r){n&&(e=!0,u=r)}for(var e=!1,u=null,o=0;o<n.length;o++)if(r(n[o],t,o),e)return u}(r,(function(r,e,u){e(!(u=n.ctx.run({value:r,set:!0,meta:{index:u}},(function(){return f(t,r)}))).pass,u)})))},loose:c,optional:function(n,r){return function(n){return function(n){return null===n}(n)||function(n){return void 0===n}(n)}(n)?o():f(r,n)},shape:function(n,r){var t=c(n,r);if(!t.pass)return t;for(var e in n)if(!a(r,e))return u();return o()}}),exports.partial=function(r){var t,e={};for(t in r)e[t]=n.enforce.optional(r[t]);return e};
@@ -1,5 +1,7 @@
1
1
  import { ctx } from 'n4s';
2
2
 
3
+ var assign = Object.assign;
4
+
3
5
  function isFunction(value) {
4
6
  return typeof value === 'function';
5
7
  }
@@ -25,6 +27,10 @@ message) {
25
27
  ? message.valueOf()
26
28
  : new Error(message ? optionalFunctionValue(message) : message);
27
29
  }
30
+ // eslint-disable-next-line @typescript-eslint/ban-types
31
+ function StringObject(value) {
32
+ return new String(optionalFunctionValue(value));
33
+ }
28
34
 
29
35
  function mapFirst(array, callback) {
30
36
  var broke = false;
@@ -35,15 +41,17 @@ function mapFirst(array, callback) {
35
41
  return breakoutValue;
36
42
  }
37
43
  }
38
- function breakout(value) {
39
- broke = true;
40
- breakoutValue = value;
44
+ function breakout(conditional, value) {
45
+ if (conditional) {
46
+ broke = true;
47
+ breakoutValue = value;
48
+ }
41
49
  }
42
50
  }
43
51
 
44
- function defaultTo(callback, defaultValue) {
52
+ function defaultTo(value, defaultValue) {
45
53
  var _a;
46
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
54
+ return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
47
55
  }
48
56
 
49
57
  function ruleReturn(pass, message) {
@@ -78,9 +86,9 @@ function compose() {
78
86
  for (var _i = 0; _i < arguments.length; _i++) {
79
87
  composites[_i] = arguments[_i];
80
88
  }
81
- return Object.assign(function (value) {
89
+ return assign(function (value) {
82
90
  var res = run(value);
83
- invariant(res.pass, new String(res.message));
91
+ invariant(res.pass, StringObject(res.message));
84
92
  }, {
85
93
  run: run,
86
94
  test: function (value) { return run(value).pass; }
@@ -94,9 +102,7 @@ function compose() {
94
102
  so we're limiting it to a small set of functions.
95
103
  */
96
104
  var res = runLazyRule(composite, value);
97
- if (!res.pass) {
98
- breakout(res);
99
- }
105
+ breakout(!res.pass, res);
100
106
  }));
101
107
  });
102
108
  }
@@ -1 +1 @@
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}})}
1
+ import{ctx as n}from"n4s";var r=Object.assign;function t(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 u(n,r){function t(n,r){n&&(u=!0,e=r)}for(var u=!1,e=null,o=0;o<n.length;o++)if(r(n[o],t,o),u)return e}function e(n,r){var u;return null!==(u=t(n))&&void 0!==u?u:t(r)}function o(n,r){return n={pass:n},r&&(n.message=r),n}export default function(){function f(r){return n.run({value:r},(function(){return e(u(i,(function(n,t){try{var u=n.run(r)}catch(n){u=o(!1)}t(!u.pass,u)})),o(!0))}))}for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];return r((function(n){n=f(n);var r=new String(t(n.message));if(!n.pass)throw r instanceof String?r.valueOf():Error(r?t(r):r)}),{run:f,test:function(n){return f(n).pass}})}
@@ -9,9 +9,11 @@ function mapFirst(array, callback) {
9
9
  return breakoutValue;
10
10
  }
11
11
  }
12
- function breakout(value) {
13
- broke = true;
14
- breakoutValue = value;
12
+ function breakout(conditional, value) {
13
+ if (conditional) {
14
+ broke = true;
15
+ breakoutValue = value;
16
+ }
15
17
  }
16
18
  }
17
19
 
@@ -27,9 +29,9 @@ function optionalFunctionValue(value) {
27
29
  return isFunction(value) ? value.apply(void 0, args) : value;
28
30
  }
29
31
 
30
- function defaultTo(callback, defaultValue) {
32
+ function defaultTo(value, defaultValue) {
31
33
  var _a;
32
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
34
+ return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
33
35
  }
34
36
 
35
37
  function ruleReturn(pass, message) {
@@ -68,9 +70,7 @@ function allOf(value) {
68
70
  }
69
71
  return defaultToPassing(mapFirst(rules, function (rule, breakout) {
70
72
  var res = runLazyRule(rule, value);
71
- if (!res.pass) {
72
- breakout(res);
73
- }
73
+ breakout(!res.pass, res);
74
74
  }));
75
75
  }
76
76
 
@@ -81,9 +81,7 @@ function anyOf(value) {
81
81
  }
82
82
  return defaultToFailing(mapFirst(rules, function (rule, breakout) {
83
83
  var res = runLazyRule(rule, value);
84
- if (res.pass) {
85
- breakout(res);
86
- }
84
+ breakout(res.pass, res);
87
85
  }));
88
86
  }
89
87
 
@@ -94,12 +92,14 @@ function noneOf(value) {
94
92
  }
95
93
  return defaultToPassing(mapFirst(rules, function (rule, breakout) {
96
94
  var res = runLazyRule(rule, value);
97
- if (res.pass) {
98
- breakout(failing());
99
- }
95
+ breakout(res.pass, failing());
100
96
  }));
101
97
  }
102
98
 
99
+ function equals(value, arg1) {
100
+ return value === arg1;
101
+ }
102
+
103
103
  function isNumeric(value) {
104
104
  var str = String(value);
105
105
  var num = Number(value);
@@ -107,39 +107,27 @@ function isNumeric(value) {
107
107
  return Boolean(result);
108
108
  }
109
109
 
110
- function numberEquals(value, eq) {
111
- return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
112
- }
113
-
114
- function lengthEquals(value, arg1) {
115
- return numberEquals(value.length, arg1);
116
- }
117
-
118
110
  function greaterThan(value, gt) {
119
111
  return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
120
112
  }
121
113
 
122
- function longerThan(value, arg1) {
123
- return greaterThan(value.length, arg1);
124
- }
125
-
126
114
  var REQUIRED_COUNT = 1;
127
115
  function oneOf(value) {
128
116
  var rules = [];
129
117
  for (var _i = 1; _i < arguments.length; _i++) {
130
118
  rules[_i - 1] = arguments[_i];
131
119
  }
132
- var passing = [];
120
+ var passingCount = 0;
133
121
  rules.some(function (rule) {
134
122
  var res = runLazyRule(rule, value);
135
123
  if (res.pass) {
136
- passing.push(res);
124
+ passingCount++;
137
125
  }
138
- if (longerThan(passing, REQUIRED_COUNT)) {
126
+ if (greaterThan(passingCount, REQUIRED_COUNT)) {
139
127
  return false;
140
128
  }
141
129
  });
142
- return ruleReturn(lengthEquals(passing, REQUIRED_COUNT));
130
+ return ruleReturn(equals(passingCount, REQUIRED_COUNT));
143
131
  }
144
132
 
145
133
  enforce.extend({ allOf: allOf, anyOf: anyOf, noneOf: noneOf, oneOf: oneOf });
@@ -1 +1 @@
1
- import{enforce as n}from"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,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 u(n,r){return n={pass:n},r&&(n.message=r),n}function e(n,r){try{return n.run(r)}catch(n){return u(!1)}}function o(n){var r=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(r))}function f(n,r){return o(n)&&o(r)&&Number(n)===Number(r)}n.extend({allOf:function(n){for(var o=[],f=1;f<arguments.length;f++)o[f-1]=arguments[f];return t(r(o,(function(r,t){(r=e(r,n)).pass||t(r)})),u(!0))},anyOf:function(n){for(var o=[],f=1;f<arguments.length;f++)o[f-1]=arguments[f];return t(r(o,(function(r,t){(r=e(r,n)).pass&&t(r)})),u(!1))},noneOf:function(n){for(var o=[],f=1;f<arguments.length;f++)o[f-1]=arguments[f];return t(r(o,(function(r,t){e(r,n).pass&&t(u(!1))})),u(!0))},oneOf:function(n){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];var i=[];return r.some((function(r){if((r=e(r,n)).pass&&i.push(r),o(r=i.length)&&o(1)&&Number(r)>Number(1))return!1})),u(f(i.length,1))}});
1
+ import{enforce as n}from"n4s";function r(n,r){function t(n,r){n&&(u=!0,e=r)}for(var u=!1,e=null,o=0;o<n.length;o++)if(r(n[o],t,o),u)return e}function t(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 u(n,r){var u;return null!==(u=t(n))&&void 0!==u?u:t(r)}function e(n,r){return n={pass:n},r&&(n.message=r),n}function o(n,r){try{return n.run(r)}catch(n){return e(!1)}}function f(n){var r=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(r))}n.extend({allOf:function(n){for(var t=[],f=1;f<arguments.length;f++)t[f-1]=arguments[f];return u(r(t,(function(r,t){t(!(r=o(r,n)).pass,r)})),e(!0))},anyOf:function(n){for(var t=[],f=1;f<arguments.length;f++)t[f-1]=arguments[f];return u(r(t,(function(r,t){t((r=o(r,n)).pass,r)})),e(!1))},noneOf:function(n){for(var t=[],f=1;f<arguments.length;f++)t[f-1]=arguments[f];return u(r(t,(function(r,t){t((r=o(r,n)).pass,e(!1))})),e(!0))},oneOf:function(n){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];var u=0;return r.some((function(r){if(o(r,n).pass&&u++,f(r=u)&&f(1)&&Number(r)>Number(1))return!1})),e(1===u)}});
@@ -117,11 +117,6 @@ function hasOwnProperty(obj, key) {
117
117
  return Object.prototype.hasOwnProperty.call(obj, key);
118
118
  }
119
119
 
120
- function isNumber(value) {
121
- return Boolean(typeof value === 'number');
122
- }
123
- var isNotNumber = bindNot(isNumber);
124
-
125
120
  function lengthEquals(value, arg1) {
126
121
  return numberEquals(value.length, arg1);
127
122
  }
@@ -131,9 +126,6 @@ function isEmpty(value) {
131
126
  if (!value) {
132
127
  return true;
133
128
  }
134
- else if (isNumber(value)) {
135
- return value === 0;
136
- }
137
129
  else if (hasOwnProperty(value, 'length')) {
138
130
  return lengthEquals(value, 0);
139
131
  }
@@ -168,6 +160,11 @@ function isNegative(value) {
168
160
  return lessThan(value, 0);
169
161
  }
170
162
 
163
+ function isNumber(value) {
164
+ return Boolean(typeof value === 'number');
165
+ }
166
+ var isNotNumber = bindNot(isNumber);
167
+
171
168
  /**
172
169
  * Validates that a given value is an odd number
173
170
  */
@@ -357,7 +354,7 @@ function emptyParent() {
357
354
  return null;
358
355
  }
359
356
 
360
- /*! *****************************************************************************
357
+ /******************************************************************************
361
358
  Copyright (c) Microsoft Corporation.
362
359
 
363
360
  Permission to use, copy, modify, and/or distribute this software for any
@@ -403,6 +400,10 @@ message) {
403
400
  ? message.valueOf()
404
401
  : new Error(message ? optionalFunctionValue(message) : message);
405
402
  }
403
+ // eslint-disable-next-line @typescript-eslint/ban-types
404
+ function StringObject(value) {
405
+ return new String(optionalFunctionValue(value));
406
+ }
406
407
 
407
408
  function isProxySupported() {
408
409
  try {
@@ -413,9 +414,9 @@ function isProxySupported() {
413
414
  }
414
415
  }
415
416
 
416
- function defaultTo(callback, defaultValue) {
417
+ function defaultTo(value, defaultValue) {
417
418
  var _a;
418
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
419
+ return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
419
420
  }
420
421
 
421
422
  function ruleReturn(pass, message) {
@@ -477,12 +478,12 @@ function enforceEager(value) {
477
478
  for (var _i = 0; _i < arguments.length; _i++) {
478
479
  args[_i] = arguments[_i];
479
480
  }
480
- var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args, false)); }),
481
- ruleName,
482
- value], args, false));
483
- invariant(transformedResult.pass, isEmpty(transformedResult.message)
481
+ var transformedResult = ctx.run({ value: value }, function () {
482
+ return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
483
+ });
484
+ invariant(transformedResult.pass, isNullish(transformedResult.message)
484
485
  ? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
485
- : new String(transformedResult.message));
486
+ : StringObject(transformedResult.message));
486
487
  return target;
487
488
  };
488
489
  }
@@ -497,9 +498,11 @@ function mapFirst(array, callback) {
497
498
  return breakoutValue;
498
499
  }
499
500
  }
500
- function breakout(value) {
501
- broke = true;
502
- breakoutValue = value;
501
+ function breakout(conditional, value) {
502
+ if (conditional) {
503
+ broke = true;
504
+ breakoutValue = value;
505
+ }
503
506
  }
504
507
  }
505
508
 
@@ -525,9 +528,7 @@ function genEnforceLazy(key) {
525
528
  return defaultToPassing(mapFirst(registeredRules, function (rule, breakout) {
526
529
  var _a;
527
530
  var res = ctx.run({ value: value }, function () { return rule(value); });
528
- if (!res.pass) {
529
- breakout(ruleReturn(!!res.pass, (_a = optionalFunctionValue(lazyMessage, value, res.message)) !== null && _a !== void 0 ? _a : res.message));
530
- }
531
+ breakout(!res.pass, ruleReturn(!!res.pass, (_a = optionalFunctionValue(lazyMessage, value, res.message)) !== null && _a !== void 0 ? _a : res.message));
531
532
  }));
532
533
  },
533
534
  test: function (value) { return proxy.run(value).pass; },
@@ -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 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 y(n,r){return h(n)&&h(r)&&Number(n)>Number(r)}function m(n,r){return h(n)&&h(r)&&Number(n)===Number(r)}var d=e(m);function b(n,r){return m(n,r)||y(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 m(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 m(n.length,r)}var J=e(I);function K(n){return!n||(k(n)?0===n:Object.prototype.hasOwnProperty.call(n,"length")?I(n,0):"object"==typeof n&&I(Object.keys(n),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:y,greaterThanOrEquals:b,gt:y,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 y(n,0)},isString:c,isTruthy:C,isUndefined:o,isValueOf:G,lengthEquals:I,lengthNotEquals:J,lessThan:w,lessThanOrEquals:S,longerThan:function(n,r){return y(n.length,r)},longerThanOrEquals:function(n,r){return b(n.length,r)},lt:w,lte:S,matches:L,notEquals:g,notInside:q,notMatches:Q,numberEquals:m,numberNotEquals:d,shorterThan:function(n,r){return w(n.length,r)},shorterThanOrEquals:function(n,r){return S(n.length,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=function(){function n(){if(!un())return $((function(n){t[n]=ln(n)})),r(fn,t)}var t={context:function(){return _.useX()},extend:function(t){r(Z,t),n()}};return n(),new Proxy(r(fn,t),{get:function(n,r){return r in n?n[r]:Z[r]?ln(r):void 0}})}();export{_ as ctx,vn 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 y(n,r){return h(n)&&h(r)&&Number(n)>Number(r)}function m(n,r){return h(n)&&h(r)&&Number(n)===Number(r)}var d=e(m);function b(n,r){return m(n,r)||y(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 m(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,r){return m(n.length,r)}var F=e(k);function I(n){return!n||(Object.prototype.hasOwnProperty.call(n,"length")?k(n,0):"object"==typeof n&&k(Object.keys(n),0))}var J=e(I);function K(n,r){return n in r}var R=e(K);function U(n){return Number.isNaN(n)}var V=e(U);function M(n){return"number"==typeof 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:y,greaterThanOrEquals:b,gt:y,gte:b,inside:x,isArray:O,isBetween:T,isBlank:B,isBoolean:W,isEmpty:I,isEven:function(n){return!!h(n)&&0==n%2},isFalsy:D,isKeyOf:K,isNaN:U,isNegative:function(n){return w(n,0)},isNotArray:E,isNotBetween:A,isNotBlank:P,isNotBoolean:j,isNotEmpty:J,isNotKeyOf:R,isNotNaN:V,isNotNull:i,isNotNullish:f,isNotNumber:X,isNotNumeric:p,isNotString:z,isNotUndefined:a,isNotValueOf:H,isNull:u,isNullish:s,isNumber:M,isNumeric:h,isOdd:function(n){return!!h(n)&&0!=n%2},isPositive:function(n){return y(n,0)},isString:c,isTruthy:C,isUndefined:o,isValueOf:G,lengthEquals:k,lengthNotEquals:F,lessThan:w,lessThanOrEquals:S,longerThan:function(n,r){return y(n.length,r)},longerThanOrEquals:function(n,r){return b(n.length,r)},lt:w,lte:S,matches:L,notEquals:g,notInside:q,notMatches:Q,numberEquals:m,numberNotEquals:d,shorterThan:function(n,r){return w(n.length,r)},shorterThanOrEquals:function(n,r){return S(n.length,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:tn(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=_.run({value:n},(function(){return sn.apply(void 0,rn([t.apply(void 0,rn([n],u,!1)),e,n],u,!1))}))).pass,s(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(tn(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,r){n&&(e=!0,u=r)}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)}));e(!i.pass,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=function(){function n(){if(!un())return $((function(n){t[n]=ln(n)})),r(fn,t)}var t={context:function(){return _.useX()},extend:function(t){r(Z,t),n()}};return n(),new Proxy(r(fn,t),{get:function(n,r){return r in n?n[r]:Z[r]?ln(r):void 0}})}();export{_ as ctx,vn as enforce};
@@ -9,9 +9,11 @@ function mapFirst(array, callback) {
9
9
  return breakoutValue;
10
10
  }
11
11
  }
12
- function breakout(value) {
13
- broke = true;
14
- breakoutValue = value;
12
+ function breakout(conditional, value) {
13
+ if (conditional) {
14
+ broke = true;
15
+ breakoutValue = value;
16
+ }
15
17
  }
16
18
  }
17
19
 
@@ -27,9 +29,9 @@ function optionalFunctionValue(value) {
27
29
  return isFunction(value) ? value.apply(void 0, args) : value;
28
30
  }
29
31
 
30
- function defaultTo(callback, defaultValue) {
32
+ function defaultTo(value, defaultValue) {
31
33
  var _a;
32
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
34
+ return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
33
35
  }
34
36
 
35
37
  function ruleReturn(pass, message) {
@@ -61,9 +63,7 @@ function runLazyRule(lazyRule, currentValue) {
61
63
  function isArrayOf(inputArray, currentRule) {
62
64
  return defaultToPassing(mapFirst(inputArray, function (currentValue, breakout, index) {
63
65
  var res = ctx.run({ value: currentValue, set: true, meta: { index: index } }, function () { return runLazyRule(currentRule, currentValue); });
64
- if (!res.pass) {
65
- breakout(res);
66
- }
66
+ breakout(!res.pass, res);
67
67
  }));
68
68
  }
69
69
 
@@ -1 +1 @@
1
- import{ctx as n,enforce as r}from"n4s";function t(n,r){return n={pass:n},r&&(n.message=r),n}function u(n,r){try{return n.run(r)}catch(n){return t(!1)}}function e(r,e){function o(t){var o=r[t],i=e[t];if(!(t=n.run({value:o,set:!0,meta:{key:t}},(function(){return u(i,o)}))).pass)return{value:t}}for(var i in e){var a=o(i);if("object"==typeof a)return a.value}return t(!0)}r.extend({isArrayOf:function(r,e){return function(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(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}(r,(function(r,t,o){(o=n.run({value:r,set:!0,meta:{index:o}},(function(){return u(e,r)}))).pass||t(o)})),t(!0))},loose:e,optional:function(n,r){return null==n?t(!0):u(r,n)},shape:function(n,r){var u=e(n,r);if(!u.pass)return u;for(var o in n)if(!Object.prototype.hasOwnProperty.call(r,o))return t(!1);return t(!0)}});export function partial(n){var t,u={};for(t in n)u[t]=r.optional(n[t]);return u}
1
+ import{ctx as n,enforce as r}from"n4s";function t(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 u(n,r){return n={pass:n},r&&(n.message=r),n}function e(n,r){try{return n.run(r)}catch(n){return u(!1)}}function o(r,t){function o(u){var o=r[u],i=t[u];if(!(u=n.run({value:o,set:!0,meta:{key:u}},(function(){return e(i,o)}))).pass)return{value:u}}for(var i in t){var a=o(i);if("object"==typeof a)return a.value}return u(!0)}r.extend({isArrayOf:function(r,o){return function(n,r){var u;return null!==(u=t(n))&&void 0!==u?u:t(r)}(function(n,r){function t(n,r){n&&(u=!0,e=r)}for(var u=!1,e=null,o=0;o<n.length;o++)if(r(n[o],t,o),u)return e}(r,(function(r,t,u){t(!(u=n.run({value:r,set:!0,meta:{index:u}},(function(){return e(o,r)}))).pass,u)})),u(!0))},loose:o,optional:function(n,r){return null==n?u(!0):e(r,n)},shape:function(n,r){var t=o(n,r);if(!t.pass)return t;for(var e in n)if(!Object.prototype.hasOwnProperty.call(r,e))return u(!1);return u(!0)}});export function partial(n){var t,u={};for(t in n)u[t]=r.optional(n[t]);return u}
@@ -4,6 +4,8 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.compose = factory(global.n4s));
5
5
  }(this, (function (n4s) { 'use strict';
6
6
 
7
+ var assign = Object.assign;
8
+
7
9
  function isFunction(value) {
8
10
  return typeof value === 'function';
9
11
  }
@@ -29,6 +31,10 @@
29
31
  ? message.valueOf()
30
32
  : new Error(message ? optionalFunctionValue(message) : message);
31
33
  }
34
+ // eslint-disable-next-line @typescript-eslint/ban-types
35
+ function StringObject(value) {
36
+ return new String(optionalFunctionValue(value));
37
+ }
32
38
 
33
39
  function mapFirst(array, callback) {
34
40
  var broke = false;
@@ -39,15 +45,17 @@
39
45
  return breakoutValue;
40
46
  }
41
47
  }
42
- function breakout(value) {
43
- broke = true;
44
- breakoutValue = value;
48
+ function breakout(conditional, value) {
49
+ if (conditional) {
50
+ broke = true;
51
+ breakoutValue = value;
52
+ }
45
53
  }
46
54
  }
47
55
 
48
- function defaultTo(callback, defaultValue) {
56
+ function defaultTo(value, defaultValue) {
49
57
  var _a;
50
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
58
+ return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
51
59
  }
52
60
 
53
61
  function ruleReturn(pass, message) {
@@ -82,9 +90,9 @@
82
90
  for (var _i = 0; _i < arguments.length; _i++) {
83
91
  composites[_i] = arguments[_i];
84
92
  }
85
- return Object.assign(function (value) {
93
+ return assign(function (value) {
86
94
  var res = run(value);
87
- invariant(res.pass, new String(res.message));
95
+ invariant(res.pass, StringObject(res.message));
88
96
  }, {
89
97
  run: run,
90
98
  test: function (value) { return run(value).pass; }
@@ -98,9 +106,7 @@
98
106
  so we're limiting it to a small set of functions.
99
107
  */
100
108
  var res = runLazyRule(composite, value);
101
- if (!res.pass) {
102
- breakout(res);
103
- }
109
+ breakout(!res.pass, res);
104
110
  }));
105
111
  });
106
112
  }
@@ -1 +1 @@
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}})}}));
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,t){n&&(r=!0,o=t)}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:t(e)}function o(n,t){return n={pass:n},t&&(n.message=t),n}var u=Object.assign;return function(){function f(t){return n.ctx.run({value:t},(function(){return r(e(i,(function(n,e){try{var r=n.run(t)}catch(n){r=o(!1)}e(!r.pass,r)})),o(!0))}))}for(var i=[],s=0;s<arguments.length;s++)i[s]=arguments[s];return u((function(n){n=f(n);var e=new String(t(n.message));if(!n.pass)throw e instanceof String?e.valueOf():Error(e?t(e):e)}),{run:f,test:function(n){return f(n).pass}})}}));
@@ -13,9 +13,11 @@
13
13
  return breakoutValue;
14
14
  }
15
15
  }
16
- function breakout(value) {
17
- broke = true;
18
- breakoutValue = value;
16
+ function breakout(conditional, value) {
17
+ if (conditional) {
18
+ broke = true;
19
+ breakoutValue = value;
20
+ }
19
21
  }
20
22
  }
21
23
 
@@ -31,9 +33,9 @@
31
33
  return isFunction(value) ? value.apply(void 0, args) : value;
32
34
  }
33
35
 
34
- function defaultTo(callback, defaultValue) {
36
+ function defaultTo(value, defaultValue) {
35
37
  var _a;
36
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
38
+ return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
37
39
  }
38
40
 
39
41
  function ruleReturn(pass, message) {
@@ -72,9 +74,7 @@
72
74
  }
73
75
  return defaultToPassing(mapFirst(rules, function (rule, breakout) {
74
76
  var res = runLazyRule(rule, value);
75
- if (!res.pass) {
76
- breakout(res);
77
- }
77
+ breakout(!res.pass, res);
78
78
  }));
79
79
  }
80
80
 
@@ -85,9 +85,7 @@
85
85
  }
86
86
  return defaultToFailing(mapFirst(rules, function (rule, breakout) {
87
87
  var res = runLazyRule(rule, value);
88
- if (res.pass) {
89
- breakout(res);
90
- }
88
+ breakout(res.pass, res);
91
89
  }));
92
90
  }
93
91
 
@@ -98,12 +96,14 @@
98
96
  }
99
97
  return defaultToPassing(mapFirst(rules, function (rule, breakout) {
100
98
  var res = runLazyRule(rule, value);
101
- if (res.pass) {
102
- breakout(failing());
103
- }
99
+ breakout(res.pass, failing());
104
100
  }));
105
101
  }
106
102
 
103
+ function equals(value, arg1) {
104
+ return value === arg1;
105
+ }
106
+
107
107
  function isNumeric(value) {
108
108
  var str = String(value);
109
109
  var num = Number(value);
@@ -111,39 +111,27 @@
111
111
  return Boolean(result);
112
112
  }
113
113
 
114
- function numberEquals(value, eq) {
115
- return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
116
- }
117
-
118
- function lengthEquals(value, arg1) {
119
- return numberEquals(value.length, arg1);
120
- }
121
-
122
114
  function greaterThan(value, gt) {
123
115
  return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
124
116
  }
125
117
 
126
- function longerThan(value, arg1) {
127
- return greaterThan(value.length, arg1);
128
- }
129
-
130
118
  var REQUIRED_COUNT = 1;
131
119
  function oneOf(value) {
132
120
  var rules = [];
133
121
  for (var _i = 1; _i < arguments.length; _i++) {
134
122
  rules[_i - 1] = arguments[_i];
135
123
  }
136
- var passing = [];
124
+ var passingCount = 0;
137
125
  rules.some(function (rule) {
138
126
  var res = runLazyRule(rule, value);
139
127
  if (res.pass) {
140
- passing.push(res);
128
+ passingCount++;
141
129
  }
142
- if (longerThan(passing, REQUIRED_COUNT)) {
130
+ if (greaterThan(passingCount, REQUIRED_COUNT)) {
143
131
  return false;
144
132
  }
145
133
  });
146
- return ruleReturn(lengthEquals(passing, REQUIRED_COUNT));
134
+ return ruleReturn(equals(passingCount, REQUIRED_COUNT));
147
135
  }
148
136
 
149
137
  n4s.enforce.extend({ allOf: allOf, anyOf: anyOf, noneOf: noneOf, oneOf: oneOf });
@@ -1 +1 @@
1
- "use strict";!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("n4s")):"function"==typeof define&&define.amd?define(["n4s"],e):e((n="undefined"!=typeof globalThis?globalThis:n||self).n4s)}(this,(function(n){function e(n,e){function t(n){r=!0,u=n}for(var r=!1,u=null,f=0;f<n.length;f++)if(e(n[f],t,f),r)return u}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,e){return n={pass:n},e&&(n.message=e),n}function u(n,e){try{return n.run(e)}catch(n){return r(!1)}}function f(n){var e=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(e))}function o(n,e){return f(n)&&f(e)&&Number(n)===Number(e)}n.enforce.extend({allOf:function(n){for(var f=[],o=1;o<arguments.length;o++)f[o-1]=arguments[o];return t(e(f,(function(e,t){(e=u(e,n)).pass||t(e)})),r(!0))},anyOf:function(n){for(var f=[],o=1;o<arguments.length;o++)f[o-1]=arguments[o];return t(e(f,(function(e,t){(e=u(e,n)).pass&&t(e)})),r(!1))},noneOf:function(n){for(var f=[],o=1;o<arguments.length;o++)f[o-1]=arguments[o];return t(e(f,(function(e,t){u(e,n).pass&&t(r(!1))})),r(!0))},oneOf:function(n){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];var i=[];return e.some((function(e){if((e=u(e,n)).pass&&i.push(e),f(e=i.length)&&f(1)&&Number(e)>Number(1))return!1})),r(o(i.length,1))}})}));
1
+ "use strict";!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("n4s")):"function"==typeof define&&define.amd?define(["n4s"],e):e((n="undefined"!=typeof globalThis?globalThis:n||self).n4s)}(this,(function(n){function e(n,e){function t(n,e){n&&(r=!0,f=e)}for(var r=!1,f=null,u=0;u<n.length;u++)if(e(n[u],t,u),r)return f}function t(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}function r(n,e){var r;return null!==(r=t(n))&&void 0!==r?r:t(e)}function f(n,e){return n={pass:n},e&&(n.message=e),n}function u(n,e){try{return n.run(e)}catch(n){return f(!1)}}function o(n){var e=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(e))}n.enforce.extend({allOf:function(n){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return r(e(t,(function(e,t){t(!(e=u(e,n)).pass,e)})),f(!0))},anyOf:function(n){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return r(e(t,(function(e,t){t((e=u(e,n)).pass,e)})),f(!1))},noneOf:function(n){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return r(e(t,(function(e,t){t((e=u(e,n)).pass,f(!1))})),f(!0))},oneOf:function(n){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];var r=0;return e.some((function(e){if(u(e,n).pass&&r++,o(e=r)&&o(1)&&Number(e)>Number(1))return!1})),f(1===r)}})}));
@@ -121,11 +121,6 @@
121
121
  return Object.prototype.hasOwnProperty.call(obj, key);
122
122
  }
123
123
 
124
- function isNumber(value) {
125
- return Boolean(typeof value === 'number');
126
- }
127
- var isNotNumber = bindNot(isNumber);
128
-
129
124
  function lengthEquals(value, arg1) {
130
125
  return numberEquals(value.length, arg1);
131
126
  }
@@ -135,9 +130,6 @@
135
130
  if (!value) {
136
131
  return true;
137
132
  }
138
- else if (isNumber(value)) {
139
- return value === 0;
140
- }
141
133
  else if (hasOwnProperty(value, 'length')) {
142
134
  return lengthEquals(value, 0);
143
135
  }
@@ -172,6 +164,11 @@
172
164
  return lessThan(value, 0);
173
165
  }
174
166
 
167
+ function isNumber(value) {
168
+ return Boolean(typeof value === 'number');
169
+ }
170
+ var isNotNumber = bindNot(isNumber);
171
+
175
172
  /**
176
173
  * Validates that a given value is an odd number
177
174
  */
@@ -338,9 +335,9 @@
338
335
  return isFunction(value) ? value.apply(void 0, args) : value;
339
336
  }
340
337
 
341
- function defaultTo(callback, defaultValue) {
338
+ function defaultTo(value, defaultValue) {
342
339
  var _a;
343
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
340
+ return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
344
341
  }
345
342
 
346
343
  function invariant(condition,
@@ -356,6 +353,10 @@
356
353
  ? message.valueOf()
357
354
  : new Error(message ? optionalFunctionValue(message) : message);
358
355
  }
356
+ // eslint-disable-next-line @typescript-eslint/ban-types
357
+ function StringObject(value) {
358
+ return new String(optionalFunctionValue(value));
359
+ }
359
360
 
360
361
  // eslint-disable-next-line max-lines-per-function
361
362
  function createContext(init) {
@@ -367,8 +368,9 @@
367
368
  useX: useX
368
369
  };
369
370
  function useX(errorMessage) {
370
- invariant(storage.ctx, defaultTo(errorMessage, 'Context was used after it was closed'));
371
- return storage.ctx;
371
+ var ctx = use();
372
+ invariant(ctx, defaultTo(errorMessage, 'Context was used after it was closed'));
373
+ return ctx;
372
374
  }
373
375
  function run(ctxRef, fn) {
374
376
  var _a;
@@ -438,7 +440,7 @@
438
440
  return null;
439
441
  }
440
442
 
441
- /*! *****************************************************************************
443
+ /******************************************************************************
442
444
  Copyright (c) Microsoft Corporation.
443
445
 
444
446
  Permission to use, copy, modify, and/or distribute this software for any
@@ -531,12 +533,12 @@
531
533
  for (var _i = 0; _i < arguments.length; _i++) {
532
534
  args[_i] = arguments[_i];
533
535
  }
534
- var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args, false)); }),
535
- ruleName,
536
- value], args, false));
537
- invariant(transformedResult.pass, isEmpty(transformedResult.message)
536
+ var transformedResult = ctx.run({ value: value }, function () {
537
+ return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
538
+ });
539
+ invariant(transformedResult.pass, isNullish(transformedResult.message)
538
540
  ? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
539
- : new String(transformedResult.message));
541
+ : StringObject(transformedResult.message));
540
542
  return target;
541
543
  };
542
544
  }
@@ -551,9 +553,11 @@
551
553
  return breakoutValue;
552
554
  }
553
555
  }
554
- function breakout(value) {
555
- broke = true;
556
- breakoutValue = value;
556
+ function breakout(conditional, value) {
557
+ if (conditional) {
558
+ broke = true;
559
+ breakoutValue = value;
560
+ }
557
561
  }
558
562
  }
559
563
 
@@ -579,9 +583,7 @@
579
583
  return defaultToPassing(mapFirst(registeredRules, function (rule, breakout) {
580
584
  var _a;
581
585
  var res = ctx.run({ value: value }, function () { return rule(value); });
582
- if (!res.pass) {
583
- breakout(ruleReturn(!!res.pass, (_a = optionalFunctionValue(lazyMessage, value, res.message)) !== null && _a !== void 0 ? _a : res.message));
584
- }
586
+ breakout(!res.pass, ruleReturn(!!res.pass, (_a = optionalFunctionValue(lazyMessage, value, res.message)) !== null && _a !== void 0 ? _a : res.message));
585
587
  }));
586
588
  },
587
589
  test: function (value) { return proxy.run(value).pass; },
@@ -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 p(n,t){return l(n,t)||c(n,t)}function v(n){return!!Array.isArray(n)}function h(n,t){return!!(v(t)||o(t)&&o(n))&&-1!==t.indexOf(n)}function N(n,t){return a(n)&&a(t)&&Number(n)<Number(t)}function g(n,t){return l(n,t)||N(n,t)}function d(n,t,r){return p(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 l(n.length,t)}function O(n){return!n||(b(n)?0===n:Object.prototype.hasOwnProperty.call(n,"length")?x(n,0):"object"==typeof n&&x(Object.keys(n),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 cn){var e=cn[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([ln.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=cn[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=cn[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=ln.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 cn[r]?n(r):t[r]}}):(P((function(t){s[t]=n(t)})),s)}}(n)}var V=Object.assign,X=r(e),_=r(u),z=r(i),C=r(s),D=r(f),G=r(a),H=r(l),L=r(v),Q=r(h),Y=r(d),Z=r(y),$=r(m),nn=r(b),tn=r(x),rn=r(O),en=r(E),un=r(w),on=r(o),sn=r(T),fn=r(q),an=r(S),cn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:C,doesNotStartWith:r(j),endsWith:s,equals:f,greaterThan:c,greaterThanOrEquals:p,gt:c,gte:p,inside:h,isArray:v,isBetween:d,isBlank:y,isBoolean:m,isEmpty:O,isEven:function(n){return!!a(n)&&0==n%2},isFalsy:sn,isKeyOf:E,isNaN:w,isNegative:function(n){return N(n,0)},isNotArray:L,isNotBetween:Y,isNotBlank:Z,isNotBoolean:$,isNotEmpty:rn,isNotKeyOf:en,isNotNaN:un,isNotNull:X,isNotNullish:z,isNotNumber:nn,isNotNumeric:G,isNotString:on,isNotUndefined:_,isNotValueOf:fn,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:tn,lessThan:N,lessThanOrEquals:g,longerThan:function(n,t){return c(n.length,t)},longerThanOrEquals:function(n,t){return p(n.length,t)},lt:N,lte:g,matches:S,notEquals:D,notInside:Q,notMatches:an,numberEquals:l,numberNotEquals:H,shorterThan:function(n,t){return N(n.length,t)},shorterThanOrEquals:function(n,t){return g(n.length,t)},startsWith:j},ln=function(n){function t(t,u){var i,o,s=r();return t=V({},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?V(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:V(r,{parent:k})}));X=function(){function n(){if(!I())return P((function(n){t[n]=U(n)})),V(M,t)}var t={context:function(){return ln.useX()},extend:function(t){V(cn,t),n()}};return n(),new Proxy(V(M,t),{get:function(n,t){return t in n?n[t]:cn[t]?U(t):void 0}})}(),n.ctx=ln,n.enforce=X,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 p(n,t){return l(n,t)||c(n,t)}function v(n){return!!Array.isArray(n)}function h(n,t){return!!(v(t)||o(t)&&o(n))&&-1!==t.indexOf(n)}function N(n,t){return a(n)&&a(t)&&Number(n)<Number(t)}function g(n,t){return l(n,t)||N(n,t)}function d(n,t,r){return p(n,t)&&g(n,r)}function y(n){return i(n)||o(n)&&!n.trim()}function m(n){return!!n===n}function b(n,t){return l(n.length,t)}function O(n){return!n||(Object.prototype.hasOwnProperty.call(n,"length")?b(n,0):"object"==typeof n&&b(Object.keys(n),0))}function x(n,t){return n in t}function E(n){return Number.isNaN(n)}function w(n){return"number"==typeof 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 cn){var e=cn[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:A(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=[],o=0;o<arguments.length;o++)u[o]=arguments[o];return W((o=ln.run({value:n},(function(){return K.apply(void 0,F([r.apply(void 0,F([n],u,!1)),e,n],u,!1))}))).pass,i(o.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(A(o.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=cn[r])return t(e,n,r)}});return e}function R(n,t){function r(n,t){n&&(e=!0,u=t)}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=cn[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=ln.run({value:n},(function(){return r(n)}));e(!i.pass,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 cn[r]?n(r):t[r]}}):(P((function(t){s[t]=n(t)})),s)}}(n)}var V=Object.assign,X=r(e),_=r(u),z=r(i),C=r(s),D=r(f),G=r(a),H=r(l),L=r(v),Q=r(h),Y=r(d),Z=r(y),$=r(m),nn=r(b),tn=r(O),rn=r(x),en=r(E),un=r(w),on=r(o),sn=r(T),fn=r(q),an=r(S),cn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:C,doesNotStartWith:r(j),endsWith:s,equals:f,greaterThan:c,greaterThanOrEquals:p,gt:c,gte:p,inside:h,isArray:v,isBetween:d,isBlank:y,isBoolean:m,isEmpty:O,isEven:function(n){return!!a(n)&&0==n%2},isFalsy:sn,isKeyOf:x,isNaN:E,isNegative:function(n){return N(n,0)},isNotArray:L,isNotBetween:Y,isNotBlank:Z,isNotBoolean:$,isNotEmpty:tn,isNotKeyOf:rn,isNotNaN:en,isNotNull:X,isNotNullish:z,isNotNumber:un,isNotNumeric:G,isNotString:on,isNotUndefined:_,isNotValueOf:fn,isNull:e,isNullish:i,isNumber:w,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:b,lengthNotEquals:nn,lessThan:N,lessThanOrEquals:g,longerThan:function(n,t){return c(n.length,t)},longerThanOrEquals:function(n,t){return p(n.length,t)},lt:N,lte:g,matches:S,notEquals:D,notInside:Q,notMatches:an,numberEquals:l,numberNotEquals:H,shorterThan:function(n,t){return N(n.length,t)},shorterThanOrEquals:function(n,t){return g(n.length,t)},startsWith:j},ln=function(n){function t(t,u){var i,o,s=r();return t=V({},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){var t=r();return W(t,B(n,"Context was used after it was closed")),t}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?V(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:V(r,{parent:k})}));X=function(){function n(){if(!I())return P((function(n){t[n]=U(n)})),V(M,t)}var t={context:function(){return ln.useX()},extend:function(t){V(cn,t),n()}};return n(),new Proxy(V(M,t),{get:function(n,t){return t in n?n[t]:cn[t]?U(t):void 0}})}(),n.ctx=ln,n.enforce=X,Object.defineProperty(n,"__esModule",{value:!0})}));
@@ -13,9 +13,11 @@
13
13
  return breakoutValue;
14
14
  }
15
15
  }
16
- function breakout(value) {
17
- broke = true;
18
- breakoutValue = value;
16
+ function breakout(conditional, value) {
17
+ if (conditional) {
18
+ broke = true;
19
+ breakoutValue = value;
20
+ }
19
21
  }
20
22
  }
21
23
 
@@ -31,9 +33,9 @@
31
33
  return isFunction(value) ? value.apply(void 0, args) : value;
32
34
  }
33
35
 
34
- function defaultTo(callback, defaultValue) {
36
+ function defaultTo(value, defaultValue) {
35
37
  var _a;
36
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
38
+ return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
37
39
  }
38
40
 
39
41
  function ruleReturn(pass, message) {
@@ -65,9 +67,7 @@
65
67
  function isArrayOf(inputArray, currentRule) {
66
68
  return defaultToPassing(mapFirst(inputArray, function (currentValue, breakout, index) {
67
69
  var res = n4s.ctx.run({ value: currentValue, set: true, meta: { index: index } }, function () { return runLazyRule(currentRule, currentValue); });
68
- if (!res.pass) {
69
- breakout(res);
70
- }
70
+ breakout(!res.pass, res);
71
71
  }));
72
72
  }
73
73
 
@@ -1 +1 @@
1
- "use strict";!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("n4s")):"function"==typeof define&&define.amd?define(["exports","n4s"],e):e((n="undefined"!=typeof globalThis?globalThis:n||self).schema={},n.n4s)}(this,(function(n,e){function t(n,e){return n={pass:n},e&&(n.message=e),n}function r(n,e){try{return n.run(e)}catch(n){return t(!1)}}function o(n,o){var u,f=function(t){var u=n[t],f=o[t];if(!(t=e.ctx.run({value:u,set:!0,meta:{key:t}},(function(){return r(f,u)}))).pass)return{value:t}};for(u in o){var i=f(u);if("object"==typeof i)return i.value}return t(!0)}e.enforce.extend({isArrayOf:function(n,o){return function(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(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}(n,(function(n,t,u){(u=e.ctx.run({value:n,set:!0,meta:{index:u}},(function(){return r(o,n)}))).pass||t(u)})),t(!0))},loose:o,optional:function(n,e){return null==n?t(!0):r(e,n)},shape:function(n,e){var r=o(n,e);if(!r.pass)return r;for(var u in n)if(!Object.prototype.hasOwnProperty.call(e,u))return t(!1);return t(!0)}}),n.partial=function(n){var t,r={};for(t in n)r[t]=e.enforce.optional(n[t]);return r},Object.defineProperty(n,"__esModule",{value:!0})}));
1
+ "use strict";!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("n4s")):"function"==typeof define&&define.amd?define(["exports","n4s"],e):e((n="undefined"!=typeof globalThis?globalThis:n||self).schema={},n.n4s)}(this,(function(n,e){function t(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}function r(n,e){return n={pass:n},e&&(n.message=e),n}function o(n,e){try{return n.run(e)}catch(n){return r(!1)}}function u(n,t){var u,f=function(r){var u=n[r],f=t[r];if(!(r=e.ctx.run({value:u,set:!0,meta:{key:r}},(function(){return o(f,u)}))).pass)return{value:r}};for(u in t){var i=f(u);if("object"==typeof i)return i.value}return r(!0)}e.enforce.extend({isArrayOf:function(n,u){return function(n,e){var r;return null!==(r=t(n))&&void 0!==r?r:t(e)}(function(n,e){function t(n,e){n&&(r=!0,o=e)}for(var r=!1,o=null,u=0;u<n.length;u++)if(e(n[u],t,u),r)return o}(n,(function(n,t,r){t(!(r=e.ctx.run({value:n,set:!0,meta:{index:r}},(function(){return o(u,n)}))).pass,r)})),r(!0))},loose:u,optional:function(n,e){return null==n?r(!0):o(e,n)},shape:function(n,e){var t=u(n,e);if(!t.pass)return t;for(var o in n)if(!Object.prototype.hasOwnProperty.call(e,o))return r(!1);return r(!0)}}),n.partial=function(n){var t,r={};for(t in n)r[t]=e.enforce.optional(n[t]);return r},Object.defineProperty(n,"__esModule",{value:!0})}));
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "4.1.7",
2
+ "version": "4.1.8",
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.6"
13
+ "context": "^2.0.7"
14
14
  },
15
15
  "module": "./dist/es/n4s.production.js",
16
16
  "exports": {
@@ -38,7 +38,7 @@ declare function isNumeric(value: string | number): boolean;
38
38
  declare function isPositive(value: number | string): boolean;
39
39
  declare function isStringValue(v: unknown): v is string;
40
40
  declare function isTruthy(value: unknown): boolean;
41
- declare function isUndefined(value?: unknown): boolean;
41
+ declare function isUndefined(value?: unknown): value is undefined;
42
42
  declare function isValueOf(value: any, objectToCheck: any): boolean;
43
43
  declare function lengthEquals(value: string | unknown[], arg1: string | number): boolean;
44
44
  declare function lessThan(value: string | number, lt: string | number): boolean;
@@ -38,7 +38,7 @@ declare function isNumeric(value: string | number): boolean;
38
38
  declare function isPositive(value: number | string): boolean;
39
39
  declare function isStringValue(v: unknown): v is string;
40
40
  declare function isTruthy(value: unknown): boolean;
41
- declare function isUndefined(value?: unknown): boolean;
41
+ declare function isUndefined(value?: unknown): value is undefined;
42
42
  declare function isValueOf(value: any, objectToCheck: any): boolean;
43
43
  declare function lengthEquals(value: string | unknown[], arg1: string | number): boolean;
44
44
  declare function lessThan(value: string | number, lt: string | number): boolean;
package/types/n4s.d.ts CHANGED
@@ -58,7 +58,7 @@ declare function isNumeric(value: string | number): boolean;
58
58
  declare function isPositive(value: number | string): boolean;
59
59
  declare function isStringValue(v: unknown): v is string;
60
60
  declare function isTruthy(value: unknown): boolean;
61
- declare function isUndefined(value?: unknown): boolean;
61
+ declare function isUndefined(value?: unknown): value is undefined;
62
62
  declare function isValueOf(value: any, objectToCheck: any): boolean;
63
63
  declare function lengthEquals(value: string | unknown[], arg1: string | number): boolean;
64
64
  declare function lessThan(value: string | number, lt: string | number): boolean;
package/types/schema.d.ts CHANGED
@@ -38,7 +38,7 @@ declare function isNumeric(value: string | number): boolean;
38
38
  declare function isPositive(value: number | string): boolean;
39
39
  declare function isStringValue(v: unknown): v is string;
40
40
  declare function isTruthy(value: unknown): boolean;
41
- declare function isUndefined(value?: unknown): boolean;
41
+ declare function isUndefined(value?: unknown): value is undefined;
42
42
  declare function isValueOf(value: any, objectToCheck: any): boolean;
43
43
  declare function lengthEquals(value: string | unknown[], arg1: string | number): boolean;
44
44
  declare function lessThan(value: string | number, lt: string | number): boolean;