vest 4.4.1 → 4.4.2-dev-afe5de
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/classnames.development.js +9 -60
- package/dist/cjs/classnames.production.js +1 -1
- package/dist/cjs/enforce/compose.development.js +6 -53
- package/dist/cjs/enforce/compose.production.js +1 -1
- package/dist/cjs/enforce/compounds.development.js +16 -71
- package/dist/cjs/enforce/compounds.production.js +1 -1
- package/dist/cjs/enforce/schema.development.js +6 -58
- package/dist/cjs/enforce/schema.production.js +1 -1
- package/dist/cjs/parser.development.js +8 -59
- package/dist/cjs/parser.production.js +1 -1
- package/dist/cjs/promisify.development.js +2 -26
- package/dist/cjs/promisify.production.js +1 -1
- package/dist/cjs/vest.development.js +94 -293
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/classnames.development.js +1 -52
- package/dist/es/classnames.production.js +1 -1
- package/dist/es/enforce/compose.development.js +4 -51
- package/dist/es/enforce/compose.production.js +1 -1
- package/dist/es/enforce/compounds.development.js +11 -66
- package/dist/es/enforce/compounds.production.js +1 -1
- package/dist/es/enforce/schema.development.js +2 -54
- package/dist/es/enforce/schema.production.js +1 -1
- package/dist/es/parser.development.js +1 -52
- package/dist/es/parser.production.js +1 -1
- package/dist/es/promisify.development.js +1 -25
- package/dist/es/promisify.production.js +1 -1
- package/dist/es/vest.development.js +19 -218
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/classnames.development.js +13 -13
- package/dist/umd/classnames.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +121 -121
- package/dist/umd/enforce/compose.production.js +1 -1
- package/dist/umd/enforce/compounds.development.js +180 -184
- package/dist/umd/enforce/compounds.production.js +1 -1
- package/dist/umd/enforce/schema.development.js +132 -132
- package/dist/umd/enforce/schema.production.js +1 -1
- package/dist/umd/parser.development.js +13 -13
- package/dist/umd/parser.production.js +1 -1
- package/dist/umd/vest.development.js +277 -277
- package/dist/umd/vest.production.js +1 -1
- package/package.json +4 -3
- package/testUtils/mockThrowError.ts +2 -1
- package/testUtils/suiteDummy.ts +1 -1
- package/testUtils/testObjects.ts +0 -8
- package/types/enforce/compose.d.ts +14 -30
- package/types/enforce/compounds.d.ts +14 -30
- package/types/enforce/schema.d.ts +14 -30
- package/types/vest.d.ts +4 -3
- package/testUtils/itWithContext.ts +0 -23
|
@@ -4,6 +4,57 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.compose = factory());
|
|
5
5
|
}(this, (function () { 'use strict';
|
|
6
6
|
|
|
7
|
+
function bindNot(fn) {
|
|
8
|
+
return function () {
|
|
9
|
+
var args = [];
|
|
10
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
11
|
+
args[_i] = arguments[_i];
|
|
12
|
+
}
|
|
13
|
+
return !fn.apply(void 0, args);
|
|
14
|
+
};
|
|
15
|
+
}
|
|
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
|
+
|
|
43
|
+
function isNull(value) {
|
|
44
|
+
return value === null;
|
|
45
|
+
}
|
|
46
|
+
var isNotNull = bindNot(isNull);
|
|
47
|
+
|
|
48
|
+
function isUndefined(value) {
|
|
49
|
+
return value === undefined;
|
|
50
|
+
}
|
|
51
|
+
var isNotUndefined = bindNot(isUndefined);
|
|
52
|
+
|
|
53
|
+
function isNullish(value) {
|
|
54
|
+
return isNull(value) || isUndefined(value);
|
|
55
|
+
}
|
|
56
|
+
var isNotNullish = bindNot(isNullish);
|
|
57
|
+
|
|
7
58
|
function isFunction(value) {
|
|
8
59
|
return typeof value === 'function';
|
|
9
60
|
}
|
|
@@ -16,6 +67,28 @@
|
|
|
16
67
|
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
17
68
|
}
|
|
18
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
|
+
|
|
19
92
|
function invariant(condition,
|
|
20
93
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
21
94
|
message) {
|
|
@@ -29,6 +102,18 @@
|
|
|
29
102
|
? message.valueOf()
|
|
30
103
|
: new Error(message ? optionalFunctionValue(message) : message);
|
|
31
104
|
}
|
|
105
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
106
|
+
function StringObject(value) {
|
|
107
|
+
return new String(optionalFunctionValue(value));
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function isStringValue(v) {
|
|
111
|
+
return String(v) === v;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function isBoolean(value) {
|
|
115
|
+
return !!value === value;
|
|
116
|
+
}
|
|
32
117
|
|
|
33
118
|
function mapFirst(array, callback) {
|
|
34
119
|
var broke = false;
|
|
@@ -39,41 +124,30 @@
|
|
|
39
124
|
return breakoutValue;
|
|
40
125
|
}
|
|
41
126
|
}
|
|
42
|
-
function breakout(value) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
var assign = Object.assign;
|
|
49
|
-
|
|
50
|
-
function bindNot(fn) {
|
|
51
|
-
return function () {
|
|
52
|
-
var args = [];
|
|
53
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
54
|
-
args[_i] = arguments[_i];
|
|
127
|
+
function breakout(conditional, value) {
|
|
128
|
+
if (conditional) {
|
|
129
|
+
broke = true;
|
|
130
|
+
breakoutValue = value;
|
|
55
131
|
}
|
|
56
|
-
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function isNull(value) {
|
|
61
|
-
return value === null;
|
|
132
|
+
}
|
|
62
133
|
}
|
|
63
|
-
var isNotNull = bindNot(isNull);
|
|
64
134
|
|
|
65
|
-
function
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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;
|
|
72
146
|
}
|
|
73
|
-
var
|
|
147
|
+
var isNotEmpty = bindNot(isEmpty);
|
|
74
148
|
|
|
75
|
-
function
|
|
76
|
-
return
|
|
149
|
+
function isPositive(value) {
|
|
150
|
+
return greaterThan(value, 0);
|
|
77
151
|
}
|
|
78
152
|
|
|
79
153
|
function endsWith(value, arg1) {
|
|
@@ -86,35 +160,10 @@
|
|
|
86
160
|
}
|
|
87
161
|
var notEquals = bindNot(equals);
|
|
88
162
|
|
|
89
|
-
function isNumeric(value) {
|
|
90
|
-
var str = String(value);
|
|
91
|
-
var num = Number(value);
|
|
92
|
-
var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
|
|
93
|
-
return Boolean(result);
|
|
94
|
-
}
|
|
95
|
-
var isNotNumeric = bindNot(isNumeric);
|
|
96
|
-
|
|
97
|
-
function greaterThan(value, gt) {
|
|
98
|
-
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
function numberEquals(value, eq) {
|
|
102
|
-
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
103
|
-
}
|
|
104
|
-
var numberNotEquals = bindNot(numberEquals);
|
|
105
|
-
|
|
106
163
|
function greaterThanOrEquals(value, gte) {
|
|
107
164
|
return numberEquals(value, gte) || greaterThan(value, gte);
|
|
108
165
|
}
|
|
109
166
|
|
|
110
|
-
// The module is named "isArrayValue" since it
|
|
111
|
-
// is conflicting with a nested npm dependency.
|
|
112
|
-
// We may need to revisit this in the future.
|
|
113
|
-
function isArray(value) {
|
|
114
|
-
return Boolean(Array.isArray(value));
|
|
115
|
-
}
|
|
116
|
-
var isNotArray = bindNot(isArray);
|
|
117
|
-
|
|
118
167
|
function inside(value, arg1) {
|
|
119
168
|
if (isArray(arg1)) {
|
|
120
169
|
return arg1.indexOf(value) !== -1;
|
|
@@ -145,46 +194,8 @@
|
|
|
145
194
|
}
|
|
146
195
|
var isNotBlank = bindNot(isBlank);
|
|
147
196
|
|
|
148
|
-
function isBoolean(value) {
|
|
149
|
-
return !!value === value;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
197
|
var isNotBoolean = bindNot(isBoolean);
|
|
153
198
|
|
|
154
|
-
/**
|
|
155
|
-
* A safe hasOwnProperty access
|
|
156
|
-
*/
|
|
157
|
-
function hasOwnProperty(obj, key) {
|
|
158
|
-
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
function isNumber(value) {
|
|
162
|
-
return Boolean(typeof value === 'number');
|
|
163
|
-
}
|
|
164
|
-
var isNotNumber = bindNot(isNumber);
|
|
165
|
-
|
|
166
|
-
function lengthEquals(value, arg1) {
|
|
167
|
-
return numberEquals(value.length, arg1);
|
|
168
|
-
}
|
|
169
|
-
var lengthNotEquals = bindNot(lengthEquals);
|
|
170
|
-
|
|
171
|
-
function isEmpty(value) {
|
|
172
|
-
if (!value) {
|
|
173
|
-
return true;
|
|
174
|
-
}
|
|
175
|
-
else if (isNumber(value)) {
|
|
176
|
-
return value === 0;
|
|
177
|
-
}
|
|
178
|
-
else if (hasOwnProperty(value, 'length')) {
|
|
179
|
-
return lengthEquals(value, 0);
|
|
180
|
-
}
|
|
181
|
-
else if (typeof value === 'object') {
|
|
182
|
-
return lengthEquals(Object.keys(value), 0);
|
|
183
|
-
}
|
|
184
|
-
return false;
|
|
185
|
-
}
|
|
186
|
-
var isNotEmpty = bindNot(isEmpty);
|
|
187
|
-
|
|
188
199
|
/**
|
|
189
200
|
* Validates that a given value is an even number
|
|
190
201
|
*/
|
|
@@ -209,6 +220,11 @@
|
|
|
209
220
|
return lessThan(value, 0);
|
|
210
221
|
}
|
|
211
222
|
|
|
223
|
+
function isNumber(value) {
|
|
224
|
+
return Boolean(typeof value === 'number');
|
|
225
|
+
}
|
|
226
|
+
var isNotNumber = bindNot(isNumber);
|
|
227
|
+
|
|
212
228
|
/**
|
|
213
229
|
* Validates that a given value is an odd number
|
|
214
230
|
*/
|
|
@@ -219,10 +235,6 @@
|
|
|
219
235
|
return false;
|
|
220
236
|
};
|
|
221
237
|
|
|
222
|
-
function isPositive(value) {
|
|
223
|
-
return greaterThan(value, 0);
|
|
224
|
-
}
|
|
225
|
-
|
|
226
238
|
var isNotString = bindNot(isStringValue);
|
|
227
239
|
|
|
228
240
|
function isTruthy(value) {
|
|
@@ -243,10 +255,6 @@
|
|
|
243
255
|
}
|
|
244
256
|
var isNotValueOf = bindNot(isValueOf);
|
|
245
257
|
|
|
246
|
-
function longerThan(value, arg1) {
|
|
247
|
-
return greaterThan(value.length, arg1);
|
|
248
|
-
}
|
|
249
|
-
|
|
250
258
|
function longerThanOrEquals(value, arg1) {
|
|
251
259
|
return greaterThanOrEquals(value.length, arg1);
|
|
252
260
|
}
|
|
@@ -367,11 +375,6 @@
|
|
|
367
375
|
}
|
|
368
376
|
}
|
|
369
377
|
|
|
370
|
-
function defaultTo(callback, defaultValue) {
|
|
371
|
-
var _a;
|
|
372
|
-
return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
373
|
-
}
|
|
374
|
-
|
|
375
378
|
// eslint-disable-next-line max-lines-per-function
|
|
376
379
|
function createContext(init) {
|
|
377
380
|
var storage = { ancestry: [] };
|
|
@@ -382,8 +385,9 @@
|
|
|
382
385
|
useX: useX
|
|
383
386
|
};
|
|
384
387
|
function useX(errorMessage) {
|
|
385
|
-
|
|
386
|
-
|
|
388
|
+
var ctx = use();
|
|
389
|
+
invariant(ctx, defaultTo(errorMessage, 'Context was used after it was closed'));
|
|
390
|
+
return ctx;
|
|
387
391
|
}
|
|
388
392
|
function run(ctxRef, fn) {
|
|
389
393
|
var _a;
|
|
@@ -549,12 +553,12 @@
|
|
|
549
553
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
550
554
|
args[_i] = arguments[_i];
|
|
551
555
|
}
|
|
552
|
-
var transformedResult =
|
|
553
|
-
ruleName,
|
|
554
|
-
|
|
555
|
-
invariant(transformedResult.pass,
|
|
556
|
+
var transformedResult = ctx.run({ value: value }, function () {
|
|
557
|
+
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
558
|
+
});
|
|
559
|
+
invariant(transformedResult.pass, isNullish(transformedResult.message)
|
|
556
560
|
? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
|
|
557
|
-
:
|
|
561
|
+
: StringObject(transformedResult.message));
|
|
558
562
|
return target;
|
|
559
563
|
};
|
|
560
564
|
}
|
|
@@ -582,9 +586,7 @@
|
|
|
582
586
|
return defaultToPassing(mapFirst(registeredRules, function (rule, breakout) {
|
|
583
587
|
var _a;
|
|
584
588
|
var res = ctx.run({ value: value }, function () { return rule(value); });
|
|
585
|
-
|
|
586
|
-
breakout(ruleReturn(!!res.pass, (_a = optionalFunctionValue(lazyMessage, value, res.message)) !== null && _a !== void 0 ? _a : res.message));
|
|
587
|
-
}
|
|
589
|
+
breakout(!res.pass, ruleReturn(!!res.pass, (_a = optionalFunctionValue(lazyMessage, value, res.message)) !== null && _a !== void 0 ? _a : res.message));
|
|
588
590
|
}));
|
|
589
591
|
},
|
|
590
592
|
test: function (value) { return proxy.run(value).pass; },
|
|
@@ -690,9 +692,9 @@
|
|
|
690
692
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
691
693
|
composites[_i] = arguments[_i];
|
|
692
694
|
}
|
|
693
|
-
return
|
|
695
|
+
return assign(function (value) {
|
|
694
696
|
var res = run(value);
|
|
695
|
-
invariant(res.pass,
|
|
697
|
+
invariant(res.pass, StringObject(res.message));
|
|
696
698
|
}, {
|
|
697
699
|
run: run,
|
|
698
700
|
test: function (value) { return run(value).pass; }
|
|
@@ -706,9 +708,7 @@
|
|
|
706
708
|
so we're limiting it to a small set of functions.
|
|
707
709
|
*/
|
|
708
710
|
var res = runLazyRule(composite, value);
|
|
709
|
-
|
|
710
|
-
breakout(res);
|
|
711
|
-
}
|
|
711
|
+
breakout(!res.pass, res);
|
|
712
712
|
}));
|
|
713
713
|
});
|
|
714
714
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n="undefined"!=typeof globalThis?globalThis:n||self).compose=t()}(this,(function(){function n(n){return
|
|
1
|
+
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n="undefined"!=typeof globalThis?globalThis:n||self).compose=t()}(this,(function(){function n(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function t(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function r(n,r){return t(n)&&t(r)&&Number(n)===Number(r)}function e(n,t){return r(n.length,t)}function u(n,r){return t(n)&&t(r)&&Number(n)>Number(r)}function i(n){return null===n}function o(n){return void 0===n}function s(n){return null===n||o(n)}function f(n){return"function"==typeof n}function a(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return f(n)?n.apply(void 0,t):n}function c(n,t){var r;return null!==(r=a(n))&&void 0!==r?r:a(t)}function l(n){return!!Array.isArray(n)}function p(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?a(t):t)}function v(n){return String(n)===n}function h(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 N(n){return!n||(Object.prototype.hasOwnProperty.call(n,"length")?e(n,0):"object"==typeof n&&e(Object.keys(n),0))}function y(n,t){return v(n)&&v(t)&&n.endsWith(t)}function d(n,t){return n===t}function m(n,t){return r(n,t)||u(n,t)}function b(n,t){return!!(l(t)||v(t)&&v(n))&&-1!==t.indexOf(n)}function O(n,r){return t(n)&&t(r)&&Number(n)<Number(r)}function E(n,t){return r(n,t)||O(n,t)}function x(n,t,r){return m(n,t)&&E(n,r)}function w(n){return s(n)||v(n)&&!n.trim()}function T(n,t){return n in t}function q(n){return Number.isNaN(n)}function S(n){return"number"==typeof n}function j(n){return!!n}function A(n,t){if(s(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):!!v(t)&&new RegExp(t).test(n)}function P(n,t){return v(n)&&v(t)&&n.startsWith(t)}function W(n){for(var t in an){var r=an[t];f(r)&&n(t,r)}}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 f(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 p(h(n)||n&&h(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),h(n)?J(n):J(n.pass,a.apply(void 0,F([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 p((i=cn.run({value:n},(function(){return K.apply(void 0,F([r.apply(void 0,F([n],u,!1)),e,n],u,!1))}))).pass,s(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(a(i.message))),t}}var r={};if(!I())return W((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=an[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=an[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 c(g(r,(function(r,e){var u,i=cn.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 an[r]?n(r):t[r]}}):(W((function(t){s[t]=n(t)})),s)}}(n)}var V=n(t),X=n(r),z=n(e),C=n(i),M=n(o),D=n(s),G=n(l),H=Object.assign,L=n(N),Q=n(y),Y=n(d),Z=n(b),$=n(x),_=n(w),nn=n(h),tn=n(T),rn=n(q),en=n(S),un=n(v),on=n(j),sn=n(A),fn=n(B),an={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:Q,doesNotStartWith:n(P),endsWith:y,equals:d,greaterThan:u,greaterThanOrEquals:m,gt:u,gte:m,inside:b,isArray:l,isBetween:x,isBlank:w,isBoolean:h,isEmpty:N,isEven:function(n){return!!t(n)&&0==n%2},isFalsy:on,isKeyOf:T,isNaN:q,isNegative:function(n){return O(n,0)},isNotArray:G,isNotBetween:$,isNotBlank:_,isNotBoolean:nn,isNotEmpty:L,isNotKeyOf:tn,isNotNaN:rn,isNotNull:C,isNotNullish:D,isNotNumber:en,isNotNumeric:V,isNotString:un,isNotUndefined:M,isNotValueOf:sn,isNull:i,isNullish:s,isNumber:S,isNumeric:t,isOdd:function(n){return!!t(n)&&0!=n%2},isPositive:function(n){return u(n,0)},isString:v,isTruthy:j,isUndefined:o,isValueOf:A,lengthEquals:e,lengthNotEquals:z,lessThan:O,lessThanOrEquals:E,longerThan:function(n,t){return u(n.length,t)},longerThanOrEquals:function(n,t){return m(n.length,t)},lt:O,lte:E,matches:B,notEquals:Y,notInside:Z,notMatches:fn,numberEquals:r,numberNotEquals:X,shorterThan:function(n,t){return O(n.length,t)},shorterThanOrEquals:function(n,t){return E(n.length,t)},startsWith:P},cn=function(n){function t(t,u){var i,o,s=r();return t=H({},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 p(t,c(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:k})}));return function(){function n(){if(!I())return W((function(n){t[n]=U(n)})),H(R,t)}var t={context:function(){return cn.useX()},extend:function(t){H(an,t),n()}};n(),new Proxy(H(R,t),{get:function(n,t){return t in n?n[t]:an[t]?U(t):void 0}})}(),function(){function n(n){return cn.run({value:n},(function(){return c(g(t,(function(t,r){try{var e=t.run(n)}catch(n){e=J(!1)}r(!e.pass,e)})),J(!0))}))}for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return H((function(t){p((t=n(t)).pass,new String(a(t.message)))}),{run:n,test:function(t){return n(t).pass}})}}));
|