vest 4.4.0-dev-08ec91 → 4.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/classnames.development.js +2 -2
- package/dist/cjs/classnames.production.js +1 -1
- package/dist/cjs/enforce/compose.development.js +16 -10
- package/dist/cjs/enforce/compose.production.js +1 -1
- package/dist/cjs/enforce/compounds.development.js +18 -30
- package/dist/cjs/enforce/compounds.production.js +1 -1
- package/dist/cjs/enforce/schema.development.js +8 -8
- package/dist/cjs/enforce/schema.production.js +1 -1
- package/dist/cjs/parser.development.js +2 -2
- package/dist/cjs/parser.production.js +1 -1
- package/dist/cjs/vest.development.js +88 -112
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/classnames.development.js +2 -2
- package/dist/es/classnames.production.js +1 -1
- package/dist/es/enforce/compose.development.js +16 -10
- package/dist/es/enforce/compose.production.js +1 -1
- package/dist/es/enforce/compounds.development.js +18 -30
- package/dist/es/enforce/compounds.production.js +1 -1
- package/dist/es/enforce/schema.development.js +8 -8
- package/dist/es/enforce/schema.production.js +1 -1
- package/dist/es/parser.development.js +2 -2
- package/dist/es/parser.production.js +1 -1
- package/dist/es/vest.development.js +88 -112
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/classnames.development.js +2 -2
- package/dist/umd/classnames.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +31 -31
- package/dist/umd/enforce/compose.production.js +1 -1
- package/dist/umd/enforce/compounds.development.js +106 -110
- package/dist/umd/enforce/compounds.production.js +1 -1
- package/dist/umd/enforce/schema.development.js +39 -39
- package/dist/umd/enforce/schema.production.js +1 -1
- package/dist/umd/parser.development.js +2 -2
- package/dist/umd/parser.production.js +1 -1
- package/dist/umd/vest.development.js +111 -126
- package/dist/umd/vest.production.js +1 -1
- package/package.json +3 -3
- package/testUtils/testObjects.ts +2 -17
- package/types/enforce/compose.d.ts +1 -1
- package/types/enforce/compounds.d.ts +1 -1
- package/types/enforce/schema.d.ts +1 -1
- package/types/vest.d.ts +14 -15
- package/testUtils/itWithContext.ts +0 -23
|
@@ -3,95 +3,12 @@
|
|
|
3
3
|
factory();
|
|
4
4
|
}((function () { 'use strict';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
var broke = false;
|
|
8
|
-
var breakoutValue = null;
|
|
9
|
-
for (var i = 0; i < array.length; i++) {
|
|
10
|
-
callback(array[i], breakout, i);
|
|
11
|
-
if (broke) {
|
|
12
|
-
return breakoutValue;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
function breakout(value) {
|
|
16
|
-
broke = true;
|
|
17
|
-
breakoutValue = value;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
6
|
+
var assign = Object.assign;
|
|
20
7
|
|
|
21
8
|
function isFunction(value) {
|
|
22
9
|
return typeof value === 'function';
|
|
23
10
|
}
|
|
24
11
|
|
|
25
|
-
function optionalFunctionValue(value) {
|
|
26
|
-
var args = [];
|
|
27
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
28
|
-
args[_i - 1] = arguments[_i];
|
|
29
|
-
}
|
|
30
|
-
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
function defaultTo(callback, defaultValue) {
|
|
34
|
-
var _a;
|
|
35
|
-
return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function ruleReturn(pass, message) {
|
|
39
|
-
var output = { pass: pass };
|
|
40
|
-
if (message) {
|
|
41
|
-
output.message = message;
|
|
42
|
-
}
|
|
43
|
-
return output;
|
|
44
|
-
}
|
|
45
|
-
function failing() {
|
|
46
|
-
return ruleReturn(false);
|
|
47
|
-
}
|
|
48
|
-
function passing() {
|
|
49
|
-
return ruleReturn(true);
|
|
50
|
-
}
|
|
51
|
-
function defaultToFailing(callback) {
|
|
52
|
-
return defaultTo(callback, failing());
|
|
53
|
-
}
|
|
54
|
-
function defaultToPassing(callback) {
|
|
55
|
-
return defaultTo(callback, passing());
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function runLazyRule(lazyRule, currentValue) {
|
|
59
|
-
try {
|
|
60
|
-
return lazyRule.run(currentValue);
|
|
61
|
-
}
|
|
62
|
-
catch (_a) {
|
|
63
|
-
return failing();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
function allOf(value) {
|
|
68
|
-
var rules = [];
|
|
69
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
70
|
-
rules[_i - 1] = arguments[_i];
|
|
71
|
-
}
|
|
72
|
-
return defaultToPassing(mapFirst(rules, function (rule, breakout) {
|
|
73
|
-
var res = runLazyRule(rule, value);
|
|
74
|
-
if (!res.pass) {
|
|
75
|
-
breakout(res);
|
|
76
|
-
}
|
|
77
|
-
}));
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
function anyOf(value) {
|
|
81
|
-
var rules = [];
|
|
82
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
83
|
-
rules[_i - 1] = arguments[_i];
|
|
84
|
-
}
|
|
85
|
-
return defaultToFailing(mapFirst(rules, function (rule, breakout) {
|
|
86
|
-
var res = runLazyRule(rule, value);
|
|
87
|
-
if (res.pass) {
|
|
88
|
-
breakout(res);
|
|
89
|
-
}
|
|
90
|
-
}));
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
var assign = Object.assign;
|
|
94
|
-
|
|
95
12
|
function bindNot(fn) {
|
|
96
13
|
return function () {
|
|
97
14
|
var args = [];
|
|
@@ -203,11 +120,6 @@
|
|
|
203
120
|
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
204
121
|
}
|
|
205
122
|
|
|
206
|
-
function isNumber(value) {
|
|
207
|
-
return Boolean(typeof value === 'number');
|
|
208
|
-
}
|
|
209
|
-
var isNotNumber = bindNot(isNumber);
|
|
210
|
-
|
|
211
123
|
function lengthEquals(value, arg1) {
|
|
212
124
|
return numberEquals(value.length, arg1);
|
|
213
125
|
}
|
|
@@ -217,9 +129,6 @@
|
|
|
217
129
|
if (!value) {
|
|
218
130
|
return true;
|
|
219
131
|
}
|
|
220
|
-
else if (isNumber(value)) {
|
|
221
|
-
return value === 0;
|
|
222
|
-
}
|
|
223
132
|
else if (hasOwnProperty(value, 'length')) {
|
|
224
133
|
return lengthEquals(value, 0);
|
|
225
134
|
}
|
|
@@ -254,6 +163,11 @@
|
|
|
254
163
|
return lessThan(value, 0);
|
|
255
164
|
}
|
|
256
165
|
|
|
166
|
+
function isNumber(value) {
|
|
167
|
+
return Boolean(typeof value === 'number');
|
|
168
|
+
}
|
|
169
|
+
var isNotNumber = bindNot(isNumber);
|
|
170
|
+
|
|
257
171
|
/**
|
|
258
172
|
* Validates that a given value is an odd number
|
|
259
173
|
*/
|
|
@@ -412,6 +326,19 @@
|
|
|
412
326
|
}
|
|
413
327
|
}
|
|
414
328
|
|
|
329
|
+
function optionalFunctionValue(value) {
|
|
330
|
+
var args = [];
|
|
331
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
332
|
+
args[_i - 1] = arguments[_i];
|
|
333
|
+
}
|
|
334
|
+
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
function defaultTo(value, defaultValue) {
|
|
338
|
+
var _a;
|
|
339
|
+
return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
|
|
340
|
+
}
|
|
341
|
+
|
|
415
342
|
function invariant(condition,
|
|
416
343
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
417
344
|
message) {
|
|
@@ -425,6 +352,10 @@
|
|
|
425
352
|
? message.valueOf()
|
|
426
353
|
: new Error(message ? optionalFunctionValue(message) : message);
|
|
427
354
|
}
|
|
355
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
356
|
+
function StringObject(value) {
|
|
357
|
+
return new String(optionalFunctionValue(value));
|
|
358
|
+
}
|
|
428
359
|
|
|
429
360
|
// eslint-disable-next-line max-lines-per-function
|
|
430
361
|
function createContext(init) {
|
|
@@ -436,8 +367,9 @@
|
|
|
436
367
|
useX: useX
|
|
437
368
|
};
|
|
438
369
|
function useX(errorMessage) {
|
|
439
|
-
|
|
440
|
-
|
|
370
|
+
var ctx = use();
|
|
371
|
+
invariant(ctx, defaultTo(errorMessage, 'Context was used after it was closed'));
|
|
372
|
+
return ctx;
|
|
441
373
|
}
|
|
442
374
|
function run(ctxRef, fn) {
|
|
443
375
|
var _a;
|
|
@@ -507,7 +439,7 @@
|
|
|
507
439
|
return null;
|
|
508
440
|
}
|
|
509
441
|
|
|
510
|
-
|
|
442
|
+
/******************************************************************************
|
|
511
443
|
Copyright (c) Microsoft Corporation.
|
|
512
444
|
|
|
513
445
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -541,6 +473,26 @@
|
|
|
541
473
|
}
|
|
542
474
|
}
|
|
543
475
|
|
|
476
|
+
function ruleReturn(pass, message) {
|
|
477
|
+
var output = { pass: pass };
|
|
478
|
+
if (message) {
|
|
479
|
+
output.message = message;
|
|
480
|
+
}
|
|
481
|
+
return output;
|
|
482
|
+
}
|
|
483
|
+
function failing() {
|
|
484
|
+
return ruleReturn(false);
|
|
485
|
+
}
|
|
486
|
+
function passing() {
|
|
487
|
+
return ruleReturn(true);
|
|
488
|
+
}
|
|
489
|
+
function defaultToFailing(callback) {
|
|
490
|
+
return defaultTo(callback, failing());
|
|
491
|
+
}
|
|
492
|
+
function defaultToPassing(callback) {
|
|
493
|
+
return defaultTo(callback, passing());
|
|
494
|
+
}
|
|
495
|
+
|
|
544
496
|
/**
|
|
545
497
|
* Transform the result of a rule into a standard format
|
|
546
498
|
*/
|
|
@@ -586,17 +538,34 @@
|
|
|
586
538
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
587
539
|
args[_i] = arguments[_i];
|
|
588
540
|
}
|
|
589
|
-
var transformedResult =
|
|
590
|
-
ruleName,
|
|
591
|
-
|
|
592
|
-
invariant(transformedResult.pass,
|
|
541
|
+
var transformedResult = ctx.run({ value: value }, function () {
|
|
542
|
+
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
543
|
+
});
|
|
544
|
+
invariant(transformedResult.pass, isNullish(transformedResult.message)
|
|
593
545
|
? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
|
|
594
|
-
:
|
|
546
|
+
: StringObject(transformedResult.message));
|
|
595
547
|
return target;
|
|
596
548
|
};
|
|
597
549
|
}
|
|
598
550
|
}
|
|
599
551
|
|
|
552
|
+
function mapFirst(array, callback) {
|
|
553
|
+
var broke = false;
|
|
554
|
+
var breakoutValue = null;
|
|
555
|
+
for (var i = 0; i < array.length; i++) {
|
|
556
|
+
callback(array[i], breakout, i);
|
|
557
|
+
if (broke) {
|
|
558
|
+
return breakoutValue;
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
function breakout(conditional, value) {
|
|
562
|
+
if (conditional) {
|
|
563
|
+
broke = true;
|
|
564
|
+
breakoutValue = value;
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
|
|
600
569
|
// eslint-disable-next-line max-lines-per-function
|
|
601
570
|
function genEnforceLazy(key) {
|
|
602
571
|
var registeredRules = [];
|
|
@@ -619,9 +588,7 @@
|
|
|
619
588
|
return defaultToPassing(mapFirst(registeredRules, function (rule, breakout) {
|
|
620
589
|
var _a;
|
|
621
590
|
var res = ctx.run({ value: value }, function () { return rule(value); });
|
|
622
|
-
|
|
623
|
-
breakout(ruleReturn(!!res.pass, (_a = optionalFunctionValue(lazyMessage, value, res.message)) !== null && _a !== void 0 ? _a : res.message));
|
|
624
|
-
}
|
|
591
|
+
breakout(!res.pass, ruleReturn(!!res.pass, (_a = optionalFunctionValue(lazyMessage, value, res.message)) !== null && _a !== void 0 ? _a : res.message));
|
|
625
592
|
}));
|
|
626
593
|
},
|
|
627
594
|
test: function (value) { return proxy.run(value).pass; },
|
|
@@ -712,6 +679,37 @@
|
|
|
712
679
|
}
|
|
713
680
|
var enforce = genEnforce();
|
|
714
681
|
|
|
682
|
+
function runLazyRule(lazyRule, currentValue) {
|
|
683
|
+
try {
|
|
684
|
+
return lazyRule.run(currentValue);
|
|
685
|
+
}
|
|
686
|
+
catch (_a) {
|
|
687
|
+
return failing();
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
function allOf(value) {
|
|
692
|
+
var rules = [];
|
|
693
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
694
|
+
rules[_i - 1] = arguments[_i];
|
|
695
|
+
}
|
|
696
|
+
return defaultToPassing(mapFirst(rules, function (rule, breakout) {
|
|
697
|
+
var res = runLazyRule(rule, value);
|
|
698
|
+
breakout(!res.pass, res);
|
|
699
|
+
}));
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
function anyOf(value) {
|
|
703
|
+
var rules = [];
|
|
704
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
705
|
+
rules[_i - 1] = arguments[_i];
|
|
706
|
+
}
|
|
707
|
+
return defaultToFailing(mapFirst(rules, function (rule, breakout) {
|
|
708
|
+
var res = runLazyRule(rule, value);
|
|
709
|
+
breakout(res.pass, res);
|
|
710
|
+
}));
|
|
711
|
+
}
|
|
712
|
+
|
|
715
713
|
function noneOf(value) {
|
|
716
714
|
var rules = [];
|
|
717
715
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
@@ -719,9 +717,7 @@
|
|
|
719
717
|
}
|
|
720
718
|
return defaultToPassing(mapFirst(rules, function (rule, breakout) {
|
|
721
719
|
var res = runLazyRule(rule, value);
|
|
722
|
-
|
|
723
|
-
breakout(failing());
|
|
724
|
-
}
|
|
720
|
+
breakout(res.pass, failing());
|
|
725
721
|
}));
|
|
726
722
|
}
|
|
727
723
|
|
|
@@ -731,17 +727,17 @@
|
|
|
731
727
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
732
728
|
rules[_i - 1] = arguments[_i];
|
|
733
729
|
}
|
|
734
|
-
var
|
|
730
|
+
var passingCount = 0;
|
|
735
731
|
rules.some(function (rule) {
|
|
736
732
|
var res = runLazyRule(rule, value);
|
|
737
733
|
if (res.pass) {
|
|
738
|
-
|
|
734
|
+
passingCount++;
|
|
739
735
|
}
|
|
740
|
-
if (
|
|
736
|
+
if (greaterThan(passingCount, REQUIRED_COUNT)) {
|
|
741
737
|
return false;
|
|
742
738
|
}
|
|
743
739
|
});
|
|
744
|
-
return ruleReturn(
|
|
740
|
+
return ruleReturn(equals(passingCount, REQUIRED_COUNT));
|
|
745
741
|
}
|
|
746
742
|
|
|
747
743
|
enforce.extend({ allOf: allOf, anyOf: anyOf, noneOf: noneOf, oneOf: oneOf });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n){"function"==typeof define&&define.amd?define(n):n()}((function(){function n(n
|
|
1
|
+
"use strict";!function(n){"function"==typeof define&&define.amd?define(n):n()}((function(){function n(n){return"function"==typeof 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){return null===n}function e(n){return void 0===n}function u(n){return null===n||e(n)}function i(n){return String(n)===n}function o(n,t){return i(n)&&i(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 s(n,t){return a(n)&&a(t)&&Number(n)>Number(t)}function c(n,t){return a(n)&&a(t)&&Number(n)===Number(t)}function l(n,t){return c(n,t)||s(n,t)}function v(n){return!!Array.isArray(n)}function h(n,t){return!!(v(t)||i(t)&&i(n))&&-1!==t.indexOf(n)}function g(n,t){return a(n)&&a(t)&&Number(n)<Number(t)}function p(n,t){return c(n,t)||g(n,t)}function N(n,t,r){return l(n,t)&&p(n,r)}function y(n){return u(n)||i(n)&&!n.trim()}function d(n){return!!n===n}function m(n,t){return c(n.length,t)}function O(n){return!n||(Object.prototype.hasOwnProperty.call(n,"length")?m(n,0):"object"==typeof n&&m(Object.keys(n),0))}function b(n,t){return n in t}function E(n){return Number.isNaN(n)}function x(n){return"number"==typeof n}function w(n){return!!n}function q(n,t){if(u(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):!!i(t)&&new RegExp(t).test(n)}function T(n,t){return i(n)&&i(t)&&n.startsWith(t)}function A(t){for(var r in cn){var e=cn[r];n(e)&&t(r,e)}}function B(t){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return n(t)?t.apply(void 0,r):t}function P(n,t){var r;return null!==(r=B(n))&&void 0!==r?r:B(t)}function W(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?B(t):t)}function j(){return null}function k(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 F(){try{return n(Proxy)}catch(n){return!1}}function I(n,t){return n={pass:n},t&&(n.message=t),n}function J(n,t,r){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return W(d(n)||n&&d(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),d(n)?I(n):I(n.pass,B.apply(void 0,k([n.message,t,r],e,!1)))}function K(n){function t(t,r,e){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];return W((o=ln.run({value:n},(function(){return J.apply(void 0,k([r.apply(void 0,k([n],i,!1)),e,n],i,!1))}))).pass,u(o.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(B(o.message))),t}}var r={};if(!F())return A((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 J.apply(void 0,k([o.apply(void 0,k([n],u,!1)),e,n],u,!1))}));var f={run:function(n){return P(R(r,(function(r,e){var u,i=ln.run({value:n},(function(){return r(n)}));e(!i.pass,I(!!i.pass,null!==(u=B(t,n,i.message))&&void 0!==u?u:i.message))})),I(!0))},test:function(n){return f.run(n).pass},message:function(n){return n&&(t=n),f}};return F()?f=new Proxy(f,{get:function(t,r){return cn[r]?n(r):t[r]}}):(A((function(t){f[t]=n(t)})),f)}}(n)}function V(n,t){try{return n.run(t)}catch(n){return I(!1)}}var X=Object.assign,z=t(r),C=t(e),M=t(u),D=t(o),G=t(f),H=t(a),L=t(c),Q=t(v),Y=t(h),Z=t(N),$=t(y),_=t(d),nn=t(m),tn=t(O),rn=t(b),en=t(E),un=t(x),on=t(i),fn=t(w),an=t(q),sn=t(S),cn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:D,doesNotStartWith:t(T),endsWith:o,equals:f,greaterThan:s,greaterThanOrEquals:l,gt:s,gte:l,inside:h,isArray:v,isBetween:N,isBlank:y,isBoolean:d,isEmpty:O,isEven:function(n){return!!a(n)&&0==n%2},isFalsy:fn,isKeyOf:b,isNaN:E,isNegative:function(n){return g(n,0)},isNotArray:Q,isNotBetween:Z,isNotBlank:$,isNotBoolean:_,isNotEmpty:tn,isNotKeyOf:rn,isNotNaN:en,isNotNull:z,isNotNullish:M,isNotNumber:un,isNotNumeric:H,isNotString:on,isNotUndefined:C,isNotValueOf:an,isNull:r,isNullish:u,isNumber:x,isNumeric:a,isOdd:function(n){return!!a(n)&&0!=n%2},isPositive:function(n){return s(n,0)},isString:i,isTruthy:w,isUndefined:e,isValueOf:q,lengthEquals:m,lengthNotEquals:nn,lessThan:g,lessThanOrEquals:p,longerThan:function(n,t){return s(n.length,t)},longerThanOrEquals:function(n,t){return l(n.length,t)},lt:g,lte:p,matches:S,notEquals:G,notInside:Y,notMatches:sn,numberEquals:c,numberNotEquals:L,shorterThan:function(n,t){return g(n.length,t)},shorterThanOrEquals:function(n,t){return p(n.length,t)},startsWith:T},ln=function(n){function t(t,u){var i,o,f=r();return t=X({},f||{},null!==(i=B(n,t,f))&&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,P(n,"Context was used after it was closed")),t}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?X(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:X(r,{parent:j})}));(function(){function n(){if(!F())return A((function(n){t[n]=U(n)})),X(K,t)}var t={context:function(){return ln.useX()},extend:function(t){X(cn,t),n()}};return n(),new Proxy(X(K,t),{get:function(n,t){return t in n?n[t]:cn[t]?U(t):void 0}})})().extend({allOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return P(R(t,(function(t,r){r(!(t=V(t,n)).pass,t)})),I(!0))},anyOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return P(R(t,(function(t,r){r((t=V(t,n)).pass,t)})),I(!1))},noneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return P(R(t,(function(t,r){r((t=V(t,n)).pass,I(!1))})),I(!0))},oneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var e=0;return t.some((function(t){if(V(t,n).pass&&e++,s(e,1))return!1})),I(1===e)}})}));
|
|
@@ -4,21 +4,6 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.schema = {}));
|
|
5
5
|
}(this, (function (exports) { '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
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
7
|
var assign = Object.assign;
|
|
23
8
|
|
|
24
9
|
function isFunction(value) {
|
|
@@ -136,11 +121,6 @@
|
|
|
136
121
|
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
137
122
|
}
|
|
138
123
|
|
|
139
|
-
function isNumber(value) {
|
|
140
|
-
return Boolean(typeof value === 'number');
|
|
141
|
-
}
|
|
142
|
-
var isNotNumber = bindNot(isNumber);
|
|
143
|
-
|
|
144
124
|
function lengthEquals(value, arg1) {
|
|
145
125
|
return numberEquals(value.length, arg1);
|
|
146
126
|
}
|
|
@@ -150,9 +130,6 @@
|
|
|
150
130
|
if (!value) {
|
|
151
131
|
return true;
|
|
152
132
|
}
|
|
153
|
-
else if (isNumber(value)) {
|
|
154
|
-
return value === 0;
|
|
155
|
-
}
|
|
156
133
|
else if (hasOwnProperty(value, 'length')) {
|
|
157
134
|
return lengthEquals(value, 0);
|
|
158
135
|
}
|
|
@@ -187,6 +164,11 @@
|
|
|
187
164
|
return lessThan(value, 0);
|
|
188
165
|
}
|
|
189
166
|
|
|
167
|
+
function isNumber(value) {
|
|
168
|
+
return Boolean(typeof value === 'number');
|
|
169
|
+
}
|
|
170
|
+
var isNotNumber = bindNot(isNumber);
|
|
171
|
+
|
|
190
172
|
/**
|
|
191
173
|
* Validates that a given value is an odd number
|
|
192
174
|
*/
|
|
@@ -353,9 +335,9 @@
|
|
|
353
335
|
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
354
336
|
}
|
|
355
337
|
|
|
356
|
-
function defaultTo(
|
|
338
|
+
function defaultTo(value, defaultValue) {
|
|
357
339
|
var _a;
|
|
358
|
-
return (_a = optionalFunctionValue(
|
|
340
|
+
return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
|
|
359
341
|
}
|
|
360
342
|
|
|
361
343
|
function invariant(condition,
|
|
@@ -371,6 +353,10 @@
|
|
|
371
353
|
? message.valueOf()
|
|
372
354
|
: new Error(message ? optionalFunctionValue(message) : message);
|
|
373
355
|
}
|
|
356
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
357
|
+
function StringObject(value) {
|
|
358
|
+
return new String(optionalFunctionValue(value));
|
|
359
|
+
}
|
|
374
360
|
|
|
375
361
|
// eslint-disable-next-line max-lines-per-function
|
|
376
362
|
function createContext(init) {
|
|
@@ -382,8 +368,9 @@
|
|
|
382
368
|
useX: useX
|
|
383
369
|
};
|
|
384
370
|
function useX(errorMessage) {
|
|
385
|
-
|
|
386
|
-
|
|
371
|
+
var ctx = use();
|
|
372
|
+
invariant(ctx, defaultTo(errorMessage, 'Context was used after it was closed'));
|
|
373
|
+
return ctx;
|
|
387
374
|
}
|
|
388
375
|
function run(ctxRef, fn) {
|
|
389
376
|
var _a;
|
|
@@ -453,7 +440,7 @@
|
|
|
453
440
|
return null;
|
|
454
441
|
}
|
|
455
442
|
|
|
456
|
-
|
|
443
|
+
/******************************************************************************
|
|
457
444
|
Copyright (c) Microsoft Corporation.
|
|
458
445
|
|
|
459
446
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -549,17 +536,34 @@
|
|
|
549
536
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
550
537
|
args[_i] = arguments[_i];
|
|
551
538
|
}
|
|
552
|
-
var transformedResult =
|
|
553
|
-
ruleName,
|
|
554
|
-
|
|
555
|
-
invariant(transformedResult.pass,
|
|
539
|
+
var transformedResult = ctx.run({ value: value }, function () {
|
|
540
|
+
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
541
|
+
});
|
|
542
|
+
invariant(transformedResult.pass, isNullish(transformedResult.message)
|
|
556
543
|
? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
|
|
557
|
-
:
|
|
544
|
+
: StringObject(transformedResult.message));
|
|
558
545
|
return target;
|
|
559
546
|
};
|
|
560
547
|
}
|
|
561
548
|
}
|
|
562
549
|
|
|
550
|
+
function mapFirst(array, callback) {
|
|
551
|
+
var broke = false;
|
|
552
|
+
var breakoutValue = null;
|
|
553
|
+
for (var i = 0; i < array.length; i++) {
|
|
554
|
+
callback(array[i], breakout, i);
|
|
555
|
+
if (broke) {
|
|
556
|
+
return breakoutValue;
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
function breakout(conditional, value) {
|
|
560
|
+
if (conditional) {
|
|
561
|
+
broke = true;
|
|
562
|
+
breakoutValue = value;
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
|
|
563
567
|
// eslint-disable-next-line max-lines-per-function
|
|
564
568
|
function genEnforceLazy(key) {
|
|
565
569
|
var registeredRules = [];
|
|
@@ -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; },
|
|
@@ -687,9 +689,7 @@
|
|
|
687
689
|
function isArrayOf(inputArray, currentRule) {
|
|
688
690
|
return defaultToPassing(mapFirst(inputArray, function (currentValue, breakout, index) {
|
|
689
691
|
var res = ctx.run({ value: currentValue, set: true, meta: { index: index } }, function () { return runLazyRule(currentRule, currentValue); });
|
|
690
|
-
|
|
691
|
-
breakout(res);
|
|
692
|
-
}
|
|
692
|
+
breakout(!res.pass, res);
|
|
693
693
|
}));
|
|
694
694
|
}
|
|
695
695
|
|
|
@@ -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).schema={})}(this,(function(n){function t(n
|
|
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).schema={})}(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 a(n,t){return o(n)&&o(t)&&n.endsWith(t)}function f(n,t){return n===t}function s(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function c(n,t){return s(n)&&s(t)&&Number(n)>Number(t)}function l(n,t){return s(n)&&s(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 y(n,t){return s(n)&&s(t)&&Number(n)<Number(t)}function N(n,t){return l(n,t)||y(n,t)}function d(n,t,r){return p(n,t)&&N(n,r)}function g(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 j(n,t){return t instanceof RegExp?t.test(n):!!o(t)&&new RegExp(t).test(n)}function S(n,t){return o(n)&&o(t)&&n.startsWith(t)}function P(n){for(var r in pn){var e=pn[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=vn.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=pn[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=pn[e];r.push((function(n){return K.apply(void 0,F([o.apply(void 0,F([n],u,!1)),e,n],u,!1))}));var a={run:function(n){return B(R(r,(function(r,e){var u,i=vn.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 a.run(n).pass},message:function(n){return n&&(t=n),a}};return I()?a=new Proxy(a,{get:function(t,r){return pn[r]?n(r):t[r]}}):(P((function(t){a[t]=n(t)})),a)}}(n)}function V(n,t){try{return n.run(t)}catch(n){return J(!1)}}function X(n,t){var r,e=function(r){var e=n[r],u=t[r];if(!(r=vn.run({value:e,set:!0,meta:{key:r}},(function(){return V(u,e)}))).pass)return{value:r}};for(r in t){var u=e(r);if("object"==typeof u)return u.value}return J(!0)}var _=Object.assign,z=r(e),C=r(u),D=r(i),G=r(a),H=r(f),L=r(s),Q=r(l),Y=r(v),Z=r(h),$=r(d),nn=r(g),tn=r(m),rn=r(b),en=r(O),un=r(x),on=r(E),an=r(w),fn=r(o),sn=r(T),cn=r(q),ln=r(j),pn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:G,doesNotStartWith:r(S),endsWith:a,equals:f,greaterThan:c,greaterThanOrEquals:p,gt:c,gte:p,inside:h,isArray:v,isBetween:d,isBlank:g,isBoolean:m,isEmpty:O,isEven:function(n){return!!s(n)&&0==n%2},isFalsy:sn,isKeyOf:x,isNaN:E,isNegative:function(n){return y(n,0)},isNotArray:Y,isNotBetween:$,isNotBlank:nn,isNotBoolean:tn,isNotEmpty:en,isNotKeyOf:un,isNotNaN:on,isNotNull:z,isNotNullish:D,isNotNumber:an,isNotNumeric:L,isNotString:fn,isNotUndefined:C,isNotValueOf:cn,isNull:e,isNullish:i,isNumber:w,isNumeric:s,isOdd:function(n){return!!s(n)&&0!=n%2},isPositive:function(n){return c(n,0)},isString:o,isTruthy:T,isUndefined:u,isValueOf:q,lengthEquals:b,lengthNotEquals:rn,lessThan:y,lessThanOrEquals:N,longerThan:function(n,t){return c(n.length,t)},longerThanOrEquals:function(n,t){return p(n.length,t)},lt:y,lte:N,matches:j,notEquals:H,notInside:Z,notMatches:ln,numberEquals:l,numberNotEquals:Q,shorterThan:function(n,t){return y(n.length,t)},shorterThanOrEquals:function(n,t){return N(n.length,t)},startsWith:S},vn=function(n){function t(t,u){var i,o,a=r();return t=_({},a||{},null!==(i=A(n,t,a))&&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?_(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:_(r,{parent:k})})),hn=function(){function n(){if(!I())return P((function(n){t[n]=U(n)})),_(M,t)}var t={context:function(){return vn.useX()},extend:function(t){_(pn,t),n()}};return n(),new Proxy(_(M,t),{get:function(n,t){return t in n?n[t]:pn[t]?U(t):void 0}})}();hn.extend({isArrayOf:function(n,t){return B(R(n,(function(n,r,e){r(!(e=vn.run({value:n,set:!0,meta:{index:e}},(function(){return V(t,n)}))).pass,e)})),J(!0))},loose:X,optional:function(n,t){return i(n)?J(!0):V(t,n)},shape:function(n,t){var r=X(n,t);if(!r.pass)return r;for(var e in n)if(!Object.prototype.hasOwnProperty.call(t,e))return J(!1);return J(!0)}}),n.partial=function(n){var t,r={};for(t in n)r[t]=hn.optional(n[t]);return r},Object.defineProperty(n,"__esModule",{value:!0})}));
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
function defaultTo(
|
|
19
|
+
function defaultTo(value, defaultValue) {
|
|
20
20
|
var _a;
|
|
21
|
-
return (_a = optionalFunctionValue(
|
|
21
|
+
return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).parser={})}(this,(function(t){function e(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];return"function"==typeof t?t.apply(void 0,e):t}function n(t){var e=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(e))}function r(t,e){return n(t)&&n(e)&&Number(t)>Number(e)}var o,i,u;(i=o||(o={})).WARNINGS="warnings",i.ERRORS="errors",function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(u||(u={})),t.parse=function(t){function n(n,o){var i,u;return n=o?null===(i=t.tests[o])||void 0===i?void 0:i[n]:t[n],r(i=null!==(u=e(n))&&void 0!==u?u:0,0)}!function(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?e(n):n)}(t&&Object.prototype.hasOwnProperty.call(t,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var o={},i={invalid:function(t){return n(u.ERROR_COUNT,t)},tested:function(e){return e?Object.prototype.hasOwnProperty.call(o,e)?o[e]:(o[e]=Object.prototype.hasOwnProperty.call(t.tests,e)&&r(t.tests[e].testCount,0),i.tested(e)):r(t.testCount,0)},untested:function(e){return 0===t.testCount||!i.tested(e)},valid:function(e){var n;return e?!(null===(n=t.tests[e])||void 0===n||!n.valid):t.valid},warning:function(t){return n(u.WARN_COUNT,t)}};return i},Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
1
|
+
"use strict";!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).parser={})}(this,(function(t){function e(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];return"function"==typeof t?t.apply(void 0,e):t}function n(t){var e=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(e))}function r(t,e){return n(t)&&n(e)&&Number(t)>Number(e)}var o,i,u;(i=o||(o={})).WARNINGS="warnings",i.ERRORS="errors",function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(u||(u={})),t.parse=function(t){function n(n,o){var i,u;return n=o?null===(i=t.tests[o])||void 0===i?void 0:i[n]:t[n],r(i=null!==(u=e(n))&&void 0!==u?u:e(0),0)}!function(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?e(n):n)}(t&&Object.prototype.hasOwnProperty.call(t,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var o={},i={invalid:function(t){return n(u.ERROR_COUNT,t)},tested:function(e){return e?Object.prototype.hasOwnProperty.call(o,e)?o[e]:(o[e]=Object.prototype.hasOwnProperty.call(t.tests,e)&&r(t.tests[e].testCount,0),i.tested(e)):r(t.testCount,0)},untested:function(e){return 0===t.testCount||!i.tested(e)},valid:function(e){var n;return e?!(null===(n=t.tests[e])||void 0===n||!n.valid):t.valid},warning:function(t){return n(u.WARN_COUNT,t)}};return i},Object.defineProperty(t,"__esModule",{value:!0})}));
|