n4s 4.1.7 → 4.1.8-dev-ae93bf

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.
@@ -16,6 +16,13 @@
16
16
  return isFunction(value) ? value.apply(void 0, args) : value;
17
17
  }
18
18
 
19
+ function defaultTo(value, defaultValue) {
20
+ var _a;
21
+ return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
22
+ }
23
+
24
+ var assign = Object.assign;
25
+
19
26
  function invariant(condition,
20
27
  // eslint-disable-next-line @typescript-eslint/ban-types
21
28
  message) {
@@ -29,6 +36,10 @@
29
36
  ? message.valueOf()
30
37
  : new Error(message ? optionalFunctionValue(message) : message);
31
38
  }
39
+ // eslint-disable-next-line @typescript-eslint/ban-types
40
+ function StringObject(value) {
41
+ return new String(optionalFunctionValue(value));
42
+ }
32
43
 
33
44
  function mapFirst(array, callback) {
34
45
  var broke = false;
@@ -39,17 +50,14 @@
39
50
  return breakoutValue;
40
51
  }
41
52
  }
42
- function breakout(value) {
43
- broke = true;
44
- breakoutValue = value;
53
+ function breakout(conditional, value) {
54
+ if (conditional) {
55
+ broke = true;
56
+ breakoutValue = value;
57
+ }
45
58
  }
46
59
  }
47
60
 
48
- function defaultTo(callback, defaultValue) {
49
- var _a;
50
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
51
- }
52
-
53
61
  function ruleReturn(pass, message) {
54
62
  var output = { pass: pass };
55
63
  if (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,e){var r;return null!==(r=t(n))&&void 0!==r?r:t(e)}function r(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 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 e(r(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}})}}));
@@ -4,19 +4,15 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.n4s));
5
5
  }(this, (function (n4s) { 'use strict';
6
6
 
7
- function mapFirst(array, callback) {
8
- var broke = false;
9
- var breakoutValue = null;
10
- for (var i = 0; i < array.length; i++) {
11
- callback(array[i], breakout, i);
12
- if (broke) {
13
- return breakoutValue;
14
- }
15
- }
16
- function breakout(value) {
17
- broke = true;
18
- breakoutValue = value;
19
- }
7
+ function isNumeric(value) {
8
+ var str = String(value);
9
+ var num = Number(value);
10
+ var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
11
+ return Boolean(result);
12
+ }
13
+
14
+ function greaterThan(value, gt) {
15
+ return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
20
16
  }
21
17
 
22
18
  function isFunction(value) {
@@ -31,9 +27,26 @@
31
27
  return isFunction(value) ? value.apply(void 0, args) : value;
32
28
  }
33
29
 
34
- function defaultTo(callback, defaultValue) {
30
+ function defaultTo(value, defaultValue) {
35
31
  var _a;
36
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
32
+ return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
33
+ }
34
+
35
+ function mapFirst(array, callback) {
36
+ var broke = false;
37
+ var breakoutValue = null;
38
+ for (var i = 0; i < array.length; i++) {
39
+ callback(array[i], breakout, i);
40
+ if (broke) {
41
+ return breakoutValue;
42
+ }
43
+ }
44
+ function breakout(conditional, value) {
45
+ if (conditional) {
46
+ broke = true;
47
+ breakoutValue = value;
48
+ }
49
+ }
37
50
  }
38
51
 
39
52
  function ruleReturn(pass, message) {
@@ -72,9 +85,7 @@
72
85
  }
73
86
  return defaultToPassing(mapFirst(rules, function (rule, breakout) {
74
87
  var res = runLazyRule(rule, value);
75
- if (!res.pass) {
76
- breakout(res);
77
- }
88
+ breakout(!res.pass, res);
78
89
  }));
79
90
  }
80
91
 
@@ -85,9 +96,7 @@
85
96
  }
86
97
  return defaultToFailing(mapFirst(rules, function (rule, breakout) {
87
98
  var res = runLazyRule(rule, value);
88
- if (res.pass) {
89
- breakout(res);
90
- }
99
+ breakout(res.pass, res);
91
100
  }));
92
101
  }
93
102
 
@@ -98,33 +107,12 @@
98
107
  }
99
108
  return defaultToPassing(mapFirst(rules, function (rule, breakout) {
100
109
  var res = runLazyRule(rule, value);
101
- if (res.pass) {
102
- breakout(failing());
103
- }
110
+ breakout(res.pass, failing());
104
111
  }));
105
112
  }
106
113
 
107
- function isNumeric(value) {
108
- var str = String(value);
109
- var num = Number(value);
110
- var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
111
- return Boolean(result);
112
- }
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
- function greaterThan(value, gt) {
123
- return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
124
- }
125
-
126
- function longerThan(value, arg1) {
127
- return greaterThan(value.length, arg1);
114
+ function equals(value, arg1) {
115
+ return value === arg1;
128
116
  }
129
117
 
130
118
  var REQUIRED_COUNT = 1;
@@ -133,17 +121,17 @@
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){var e=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(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){var r;return null!==(r=t(n))&&void 0!==r?r:t(e)}function f(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 u(n,e){return n={pass:n},e&&(n.message=e),n}function o(n,e){try{return n.run(e)}catch(n){return u(!1)}}n.enforce.extend({allOf:function(n){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return r(f(e,(function(e,t){t(!(e=o(e,n)).pass,e)})),u(!0))},anyOf:function(n){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return r(f(e,(function(e,t){t((e=o(e,n)).pass,e)})),u(!1))},noneOf:function(n){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return r(f(e,(function(e,t){t((e=o(e,n)).pass,u(!1))})),u(!0))},oneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var f=0;return t.some((function(t){if(o(t,n).pass&&f++,e(t=f)&&e(1)&&Number(t)>Number(1))return!1})),u(1===f)}})}));
@@ -4,12 +4,6 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.n4s = {}));
5
5
  }(this, (function (exports) { 'use strict';
6
6
 
7
- var assign = Object.assign;
8
-
9
- function isFunction(value) {
10
- return typeof value === 'function';
11
- }
12
-
13
7
  function bindNot(fn) {
14
8
  return function () {
15
9
  var args = [];
@@ -20,6 +14,32 @@
20
14
  };
21
15
  }
22
16
 
17
+ function isNumeric(value) {
18
+ var str = String(value);
19
+ var num = Number(value);
20
+ var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
21
+ return Boolean(result);
22
+ }
23
+ var isNotNumeric = bindNot(isNumeric);
24
+
25
+ function numberEquals(value, eq) {
26
+ return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
27
+ }
28
+ var numberNotEquals = bindNot(numberEquals);
29
+
30
+ function lengthEquals(value, arg1) {
31
+ return numberEquals(value.length, arg1);
32
+ }
33
+ var lengthNotEquals = bindNot(lengthEquals);
34
+
35
+ function greaterThan(value, gt) {
36
+ return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
37
+ }
38
+
39
+ function longerThan(value, arg1) {
40
+ return greaterThan(value.length, arg1);
41
+ }
42
+
23
43
  function isNull(value) {
24
44
  return value === null;
25
45
  }
@@ -35,48 +55,114 @@
35
55
  }
36
56
  var isNotNullish = bindNot(isNullish);
37
57
 
58
+ function isFunction(value) {
59
+ return typeof value === 'function';
60
+ }
61
+
62
+ function optionalFunctionValue(value) {
63
+ var args = [];
64
+ for (var _i = 1; _i < arguments.length; _i++) {
65
+ args[_i - 1] = arguments[_i];
66
+ }
67
+ return isFunction(value) ? value.apply(void 0, args) : value;
68
+ }
69
+
70
+ function defaultTo(value, defaultValue) {
71
+ var _a;
72
+ return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
73
+ }
74
+
75
+ // The module is named "isArrayValue" since it
76
+ // is conflicting with a nested npm dependency.
77
+ // We may need to revisit this in the future.
78
+ function isArray(value) {
79
+ return Boolean(Array.isArray(value));
80
+ }
81
+ var isNotArray = bindNot(isArray);
82
+
83
+ /**
84
+ * A safe hasOwnProperty access
85
+ */
86
+ function hasOwnProperty(obj, key) {
87
+ return Object.prototype.hasOwnProperty.call(obj, key);
88
+ }
89
+
90
+ var assign = Object.assign;
91
+
92
+ function invariant(condition,
93
+ // eslint-disable-next-line @typescript-eslint/ban-types
94
+ message) {
95
+ if (condition) {
96
+ return;
97
+ }
98
+ // If message is a string object (rather than string literal)
99
+ // Throw the value directly as a string
100
+ // Alternatively, throw an error with the message
101
+ throw message instanceof String
102
+ ? message.valueOf()
103
+ : new Error(message ? optionalFunctionValue(message) : message);
104
+ }
105
+ // eslint-disable-next-line @typescript-eslint/ban-types
106
+ function StringObject(value) {
107
+ return new String(optionalFunctionValue(value));
108
+ }
109
+
38
110
  function isStringValue(v) {
39
111
  return String(v) === v;
40
112
  }
41
113
 
42
- function endsWith(value, arg1) {
43
- return isStringValue(value) && isStringValue(arg1) && value.endsWith(arg1);
114
+ function isBoolean(value) {
115
+ return !!value === value;
44
116
  }
45
- var doesNotEndWith = bindNot(endsWith);
46
117
 
47
- function equals(value, arg1) {
48
- return value === arg1;
118
+ function mapFirst(array, callback) {
119
+ var broke = false;
120
+ var breakoutValue = null;
121
+ for (var i = 0; i < array.length; i++) {
122
+ callback(array[i], breakout, i);
123
+ if (broke) {
124
+ return breakoutValue;
125
+ }
126
+ }
127
+ function breakout(conditional, value) {
128
+ if (conditional) {
129
+ broke = true;
130
+ breakoutValue = value;
131
+ }
132
+ }
49
133
  }
50
- var notEquals = bindNot(equals);
51
134
 
52
- function isNumeric(value) {
53
- var str = String(value);
54
- var num = Number(value);
55
- var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
56
- return Boolean(result);
135
+ function isEmpty(value) {
136
+ if (!value) {
137
+ return true;
138
+ }
139
+ else if (hasOwnProperty(value, 'length')) {
140
+ return lengthEquals(value, 0);
141
+ }
142
+ else if (typeof value === 'object') {
143
+ return lengthEquals(Object.keys(value), 0);
144
+ }
145
+ return false;
57
146
  }
58
- var isNotNumeric = bindNot(isNumeric);
147
+ var isNotEmpty = bindNot(isEmpty);
59
148
 
60
- function greaterThan(value, gt) {
61
- return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
149
+ function isPositive(value) {
150
+ return greaterThan(value, 0);
62
151
  }
63
152
 
64
- function numberEquals(value, eq) {
65
- return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
153
+ function endsWith(value, arg1) {
154
+ return isStringValue(value) && isStringValue(arg1) && value.endsWith(arg1);
66
155
  }
67
- var numberNotEquals = bindNot(numberEquals);
156
+ var doesNotEndWith = bindNot(endsWith);
68
157
 
69
- function greaterThanOrEquals(value, gte) {
70
- return numberEquals(value, gte) || greaterThan(value, gte);
158
+ function equals(value, arg1) {
159
+ return value === arg1;
71
160
  }
161
+ var notEquals = bindNot(equals);
72
162
 
73
- // The module is named "isArrayValue" since it
74
- // is conflicting with a nested npm dependency.
75
- // We may need to revisit this in the future.
76
- function isArray(value) {
77
- return Boolean(Array.isArray(value));
163
+ function greaterThanOrEquals(value, gte) {
164
+ return numberEquals(value, gte) || greaterThan(value, gte);
78
165
  }
79
- var isNotArray = bindNot(isArray);
80
166
 
81
167
  function inside(value, arg1) {
82
168
  if (isArray(arg1)) {
@@ -108,46 +194,8 @@
108
194
  }
109
195
  var isNotBlank = bindNot(isBlank);
110
196
 
111
- function isBoolean(value) {
112
- return !!value === value;
113
- }
114
-
115
197
  var isNotBoolean = bindNot(isBoolean);
116
198
 
117
- /**
118
- * A safe hasOwnProperty access
119
- */
120
- function hasOwnProperty(obj, key) {
121
- return Object.prototype.hasOwnProperty.call(obj, key);
122
- }
123
-
124
- function isNumber(value) {
125
- return Boolean(typeof value === 'number');
126
- }
127
- var isNotNumber = bindNot(isNumber);
128
-
129
- function lengthEquals(value, arg1) {
130
- return numberEquals(value.length, arg1);
131
- }
132
- var lengthNotEquals = bindNot(lengthEquals);
133
-
134
- function isEmpty(value) {
135
- if (!value) {
136
- return true;
137
- }
138
- else if (isNumber(value)) {
139
- return value === 0;
140
- }
141
- else if (hasOwnProperty(value, 'length')) {
142
- return lengthEquals(value, 0);
143
- }
144
- else if (typeof value === 'object') {
145
- return lengthEquals(Object.keys(value), 0);
146
- }
147
- return false;
148
- }
149
- var isNotEmpty = bindNot(isEmpty);
150
-
151
199
  /**
152
200
  * Validates that a given value is an even number
153
201
  */
@@ -172,6 +220,11 @@
172
220
  return lessThan(value, 0);
173
221
  }
174
222
 
223
+ function isNumber(value) {
224
+ return Boolean(typeof value === 'number');
225
+ }
226
+ var isNotNumber = bindNot(isNumber);
227
+
175
228
  /**
176
229
  * Validates that a given value is an odd number
177
230
  */
@@ -182,10 +235,6 @@
182
235
  return false;
183
236
  };
184
237
 
185
- function isPositive(value) {
186
- return greaterThan(value, 0);
187
- }
188
-
189
238
  var isNotString = bindNot(isStringValue);
190
239
 
191
240
  function isTruthy(value) {
@@ -206,10 +255,6 @@
206
255
  }
207
256
  var isNotValueOf = bindNot(isValueOf);
208
257
 
209
- function longerThan(value, arg1) {
210
- return greaterThan(value.length, arg1);
211
- }
212
-
213
258
  function longerThanOrEquals(value, arg1) {
214
259
  return greaterThanOrEquals(value.length, arg1);
215
260
  }
@@ -330,33 +375,6 @@
330
375
  }
331
376
  }
332
377
 
333
- function optionalFunctionValue(value) {
334
- var args = [];
335
- for (var _i = 1; _i < arguments.length; _i++) {
336
- args[_i - 1] = arguments[_i];
337
- }
338
- return isFunction(value) ? value.apply(void 0, args) : value;
339
- }
340
-
341
- function defaultTo(callback, defaultValue) {
342
- var _a;
343
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
344
- }
345
-
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);
358
- }
359
-
360
378
  // eslint-disable-next-line max-lines-per-function
361
379
  function createContext(init) {
362
380
  var storage = { ancestry: [] };
@@ -367,8 +385,9 @@
367
385
  useX: useX
368
386
  };
369
387
  function useX(errorMessage) {
370
- invariant(storage.ctx, defaultTo(errorMessage, 'Context was used after it was closed'));
371
- return storage.ctx;
388
+ var ctx = use();
389
+ invariant(ctx, defaultTo(errorMessage, 'Context was used after it was closed'));
390
+ return ctx;
372
391
  }
373
392
  function run(ctxRef, fn) {
374
393
  var _a;
@@ -438,7 +457,7 @@
438
457
  return null;
439
458
  }
440
459
 
441
- /*! *****************************************************************************
460
+ /******************************************************************************
442
461
  Copyright (c) Microsoft Corporation.
443
462
 
444
463
  Permission to use, copy, modify, and/or distribute this software for any
@@ -531,32 +550,17 @@
531
550
  for (var _i = 0; _i < arguments.length; _i++) {
532
551
  args[_i] = arguments[_i];
533
552
  }
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)
553
+ var transformedResult = ctx.run({ value: value }, function () {
554
+ return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
555
+ });
556
+ invariant(transformedResult.pass, isNullish(transformedResult.message)
538
557
  ? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
539
- : new String(transformedResult.message));
558
+ : StringObject(transformedResult.message));
540
559
  return target;
541
560
  };
542
561
  }
543
562
  }
544
563
 
545
- function mapFirst(array, callback) {
546
- var broke = false;
547
- var breakoutValue = null;
548
- for (var i = 0; i < array.length; i++) {
549
- callback(array[i], breakout, i);
550
- if (broke) {
551
- return breakoutValue;
552
- }
553
- }
554
- function breakout(value) {
555
- broke = true;
556
- breakoutValue = value;
557
- }
558
- }
559
-
560
564
  // eslint-disable-next-line max-lines-per-function
561
565
  function genEnforceLazy(key) {
562
566
  var registeredRules = [];
@@ -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(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function r(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function e(n,t){return r(n)&&r(t)&&Number(n)===Number(t)}function u(n,t){return e(n.length,t)}function i(n,t){return r(n)&&r(t)&&Number(n)>Number(t)}function o(n){return null===n}function s(n){return void 0===n}function f(n){return null===n||s(n)}function a(n){return"function"==typeof n}function c(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return a(n)?n.apply(void 0,t):n}function l(n,t){var r;return null!==(r=c(n))&&void 0!==r?r:c(t)}function p(n){return!!Array.isArray(n)}function v(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?c(t):t)}function h(n){return String(n)===n}function N(n){return!!n===n}function g(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 d(n){return!n||(Object.prototype.hasOwnProperty.call(n,"length")?u(n,0):"object"==typeof n&&u(Object.keys(n),0))}function y(n,t){return h(n)&&h(t)&&n.endsWith(t)}function m(n,t){return n===t}function b(n,t){return e(n,t)||i(n,t)}function O(n,t){return!!(p(t)||h(t)&&h(n))&&-1!==t.indexOf(n)}function x(n,t){return r(n)&&r(t)&&Number(n)<Number(t)}function E(n,t){return e(n,t)||x(n,t)}function w(n,t,r){return b(n,t)&&E(n,r)}function T(n){return f(n)||h(n)&&!n.trim()}function q(n,t){return n in t}function S(n){return Number.isNaN(n)}function j(n){return"number"==typeof n}function P(n){return!!n}function A(n,t){if(f(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function B(n,t){return t instanceof RegExp?t.test(n):!!h(t)&&new RegExp(t).test(n)}function W(n,t){return h(n)&&h(t)&&n.startsWith(t)}function k(n){for(var t in cn){var r=cn[t];a(r)&&n(t,r)}}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 a(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 v(N(n)||n&&N(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),N(n)?K(n):K(n.pass,c.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];return v((i=ln.run({value:n},(function(){return M.apply(void 0,I([r.apply(void 0,I([n],u,!1)),e,n],u,!1))}))).pass,f(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(c(i.message))),t}}var r={};if(!J())return k((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 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 M.apply(void 0,I([o.apply(void 0,I([n],u,!1)),e,n],u,!1))}));var s={run:function(n){return l(g(r,(function(r,e){var u,i=ln.run({value:n},(function(){return r(n)}));e(!i.pass,K(!!i.pass,null!==(u=c(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 cn[r]?n(r):t[r]}}):(k((function(t){s[t]=n(t)})),s)}}(n)}var V=t(r),X=t(e),_=t(u),z=t(o),C=t(s),D=t(f),G=t(p),H=Object.assign,L=t(d),Q=t(y),Y=t(m),Z=t(O),$=t(w),nn=t(T),tn=t(N),rn=t(q),en=t(S),un=t(j),on=t(h),sn=t(P),fn=t(A),an=t(B),cn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:Q,doesNotStartWith:t(W),endsWith:y,equals:m,greaterThan:i,greaterThanOrEquals:b,gt:i,gte:b,inside:O,isArray:p,isBetween:w,isBlank:T,isBoolean:N,isEmpty:d,isEven:function(n){return!!r(n)&&0==n%2},isFalsy:sn,isKeyOf:q,isNaN:S,isNegative:function(n){return x(n,0)},isNotArray:G,isNotBetween:$,isNotBlank:nn,isNotBoolean:tn,isNotEmpty:L,isNotKeyOf:rn,isNotNaN:en,isNotNull:z,isNotNullish:D,isNotNumber:un,isNotNumeric:V,isNotString:on,isNotUndefined:C,isNotValueOf:fn,isNull:o,isNullish:f,isNumber:j,isNumeric:r,isOdd:function(n){return!!r(n)&&0!=n%2},isPositive:function(n){return i(n,0)},isString:h,isTruthy:P,isUndefined:s,isValueOf:A,lengthEquals:u,lengthNotEquals:_,lessThan:x,lessThanOrEquals:E,longerThan:function(n,t){return i(n.length,t)},longerThanOrEquals:function(n,t){return b(n.length,t)},lt:x,lte:E,matches:B,notEquals:Y,notInside:Z,notMatches:an,numberEquals:e,numberNotEquals:X,shorterThan:function(n,t){return x(n.length,t)},shorterThanOrEquals:function(n,t){return E(n.length,t)},startsWith:W},ln=function(n){function t(t,u){var i,o,s=r();return t=H({},s||{},null!==(i=c(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 v(t,l(n,"Context was used after it was closed")),t}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?H(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:H(r,{parent:F})}));V=function(){function n(){if(!J())return k((function(n){t[n]=U(n)})),H(R,t)}var t={context:function(){return ln.useX()},extend:function(t){H(cn,t),n()}};return n(),new Proxy(H(R,t),{get:function(n,t){return t in n?n[t]:cn[t]?U(t):void 0}})}(),n.ctx=ln,n.enforce=V,Object.defineProperty(n,"__esModule",{value:!0})}));