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.
Files changed (43) hide show
  1. package/dist/cjs/classnames.development.js +2 -2
  2. package/dist/cjs/classnames.production.js +1 -1
  3. package/dist/cjs/enforce/compose.development.js +16 -10
  4. package/dist/cjs/enforce/compose.production.js +1 -1
  5. package/dist/cjs/enforce/compounds.development.js +18 -30
  6. package/dist/cjs/enforce/compounds.production.js +1 -1
  7. package/dist/cjs/enforce/schema.development.js +8 -8
  8. package/dist/cjs/enforce/schema.production.js +1 -1
  9. package/dist/cjs/parser.development.js +2 -2
  10. package/dist/cjs/parser.production.js +1 -1
  11. package/dist/cjs/vest.development.js +88 -112
  12. package/dist/cjs/vest.production.js +1 -1
  13. package/dist/es/classnames.development.js +2 -2
  14. package/dist/es/classnames.production.js +1 -1
  15. package/dist/es/enforce/compose.development.js +16 -10
  16. package/dist/es/enforce/compose.production.js +1 -1
  17. package/dist/es/enforce/compounds.development.js +18 -30
  18. package/dist/es/enforce/compounds.production.js +1 -1
  19. package/dist/es/enforce/schema.development.js +8 -8
  20. package/dist/es/enforce/schema.production.js +1 -1
  21. package/dist/es/parser.development.js +2 -2
  22. package/dist/es/parser.production.js +1 -1
  23. package/dist/es/vest.development.js +88 -112
  24. package/dist/es/vest.production.js +1 -1
  25. package/dist/umd/classnames.development.js +2 -2
  26. package/dist/umd/classnames.production.js +1 -1
  27. package/dist/umd/enforce/compose.development.js +31 -31
  28. package/dist/umd/enforce/compose.production.js +1 -1
  29. package/dist/umd/enforce/compounds.development.js +106 -110
  30. package/dist/umd/enforce/compounds.production.js +1 -1
  31. package/dist/umd/enforce/schema.development.js +39 -39
  32. package/dist/umd/enforce/schema.production.js +1 -1
  33. package/dist/umd/parser.development.js +2 -2
  34. package/dist/umd/parser.production.js +1 -1
  35. package/dist/umd/vest.development.js +111 -126
  36. package/dist/umd/vest.production.js +1 -1
  37. package/package.json +3 -3
  38. package/testUtils/testObjects.ts +2 -17
  39. package/types/enforce/compose.d.ts +1 -1
  40. package/types/enforce/compounds.d.ts +1 -1
  41. package/types/enforce/schema.d.ts +1 -1
  42. package/types/vest.d.ts +14 -15
  43. package/testUtils/itWithContext.ts +0 -23
@@ -3,95 +3,12 @@
3
3
  factory();
4
4
  }((function () { 'use strict';
5
5
 
6
- function mapFirst(array, callback) {
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
- invariant(storage.ctx, defaultTo(errorMessage, 'Context was used after it was closed'));
440
- return storage.ctx;
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 = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args, false)); }),
590
- ruleName,
591
- value], args, false));
592
- invariant(transformedResult.pass, isEmpty(transformedResult.message)
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
- : new String(transformedResult.message));
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
- if (!res.pass) {
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
- if (res.pass) {
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 passing = [];
730
+ var passingCount = 0;
735
731
  rules.some(function (rule) {
736
732
  var res = runLazyRule(rule, value);
737
733
  if (res.pass) {
738
- passing.push(res);
734
+ passingCount++;
739
735
  }
740
- if (longerThan(passing, REQUIRED_COUNT)) {
736
+ if (greaterThan(passingCount, REQUIRED_COUNT)) {
741
737
  return false;
742
738
  }
743
739
  });
744
- return ruleReturn(lengthEquals(passing, REQUIRED_COUNT));
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,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 t(n){return"function"==typeof n}function r(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 e(n,t){var e;return null!==(e=r(n))&&void 0!==e?e:t}function u(n,t){return n={pass:n},t&&(n.message=t),n}function i(n,t){try{return n.run(t)}catch(n){return u(!1)}}function o(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function f(n){return null===n}function a(n){return void 0===n}function s(n){return null===n||a(n)}function c(n){return String(n)===n}function l(n,t){return c(n)&&c(t)&&n.endsWith(t)}function v(n,t){return n===t}function h(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function g(n,t){return h(n)&&h(t)&&Number(n)>Number(t)}function p(n,t){return h(n)&&h(t)&&Number(n)===Number(t)}function N(n,t){return p(n,t)||g(n,t)}function y(n){return!!Array.isArray(n)}function d(n,t){return!!(y(t)||c(t)&&c(n))&&-1!==t.indexOf(n)}function m(n,t){return h(n)&&h(t)&&Number(n)<Number(t)}function O(n,t){return p(n,t)||m(n,t)}function b(n,t,r){return N(n,t)&&O(n,r)}function x(n){return s(n)||c(n)&&!n.trim()}function E(n){return!!n===n}function w(n){return"number"==typeof n}function q(n,t){return p(n.length,t)}function S(n){return!n||(w(n)?0===n:Object.prototype.hasOwnProperty.call(n,"length")?q(n,0):"object"==typeof n&&q(Object.keys(n),0))}function T(n,t){return n in t}function A(n){return Number.isNaN(n)}function B(n){return!!n}function P(n,t){if(s(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function W(n,t){return g(n.length,t)}function j(n,t){return t instanceof RegExp?t.test(n):!!c(t)&&new RegExp(t).test(n)}function k(n,t){return c(n)&&c(t)&&n.startsWith(t)}function F(n){for(var r in ln){var e=ln[r];t(e)&&n(r,e)}}function I(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?r(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 R(){try{return t(Proxy)}catch(n){return!1}}function U(n,t,e){for(var i=[],o=3;o<arguments.length;o++)i[o-3]=arguments[o];return I(E(n)||n&&E(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),E(n)?u(n):u(n.pass,r.apply(void 0,K([n.message,t,e],i,!1)))}function V(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return I((i=U.apply(void 0,K([vn.run({value:n},(function(){return r.apply(void 0,K([n],u,!1))})),e,n],u,!1))).pass,S(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(i.message)),t}}var r={};if(!R())return F((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=ln[r])return t(e,n,r)}});return e}function X(t){var i,o=[];return function t(f){return function(){for(var a=[],s=0;s<arguments.length;s++)a[s]=arguments[s];var c=ln[f];o.push((function(n){return U.apply(void 0,K([c.apply(void 0,K([n],a,!1)),f,n],a,!1))}));var l={run:function(t){return e(n(o,(function(n,e){var o,f=vn.run({value:t},(function(){return n(t)}));f.pass||e(u(!!f.pass,null!==(o=r(i,t,f.message))&&void 0!==o?o:f.message))})),u(!0))},test:function(n){return l.run(n).pass},message:function(n){return n&&(i=n),l}};return R()?l=new Proxy(l,{get:function(n,r){return ln[r]?t(r):n[r]}}):(F((function(n){l[n]=t(n)})),l)}}(t)}var z=Object.assign,C=o(f),M=o(a),D=o(s),G=o(l),H=o(v),L=o(h),Q=o(p),Y=o(y),Z=o(d),$=o(b),_=o(x),nn=o(E),tn=o(w),rn=o(q),en=o(S),un=o(T),on=o(A),fn=o(c),an=o(B),sn=o(P),cn=o(j),ln={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:G,doesNotStartWith:o(k),endsWith:l,equals:v,greaterThan:g,greaterThanOrEquals:N,gt:g,gte:N,inside:d,isArray:y,isBetween:b,isBlank:x,isBoolean:E,isEmpty:S,isEven:function(n){return!!h(n)&&0==n%2},isFalsy:an,isKeyOf:T,isNaN:A,isNegative:function(n){return m(n,0)},isNotArray:Y,isNotBetween:$,isNotBlank:_,isNotBoolean:nn,isNotEmpty:en,isNotKeyOf:un,isNotNaN:on,isNotNull:C,isNotNullish:D,isNotNumber:tn,isNotNumeric:L,isNotString:fn,isNotUndefined:M,isNotValueOf:sn,isNull:f,isNullish:s,isNumber:w,isNumeric:h,isOdd:function(n){return!!h(n)&&0!=n%2},isPositive:function(n){return g(n,0)},isString:c,isTruthy:B,isUndefined:a,isValueOf:P,lengthEquals:q,lengthNotEquals:rn,lessThan:m,lessThanOrEquals:O,longerThan:W,longerThanOrEquals:function(n,t){return N(n.length,t)},lt:m,lte:O,matches:j,notEquals:H,notInside:Z,notMatches:cn,numberEquals:p,numberNotEquals:Q,shorterThan:function(n,t){return m(n.length,t)},shorterThanOrEquals:function(n,t){return O(n.length,t)},startsWith:k},vn=function(n){function t(t,e){var o,f,a=u();return t=z({},a||{},null!==(o=r(n,t,a))&&void 0!==o?o:t),o=i.ctx=Object.freeze(t),i.ancestry.unshift(o),e=e(o),i.ancestry.shift(),i.ctx=null!==(f=i.ancestry[0])&&void 0!==f?f:null,e}function u(){return i.ctx}var i={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:u,useX:function(n){return I(i.ctx,e(n,"Context was used after it was closed")),i.ctx}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?z(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:z(r,{parent:J})}));(function(){function n(){if(!R())return F((function(n){t[n]=X(n)})),z(V,t)}var t={context:function(){return vn.useX()},extend:function(t){z(ln,t),n()}};return n(),new Proxy(z(V,t),{get:function(n,t){return t in n?n[t]:ln[t]?X(t):void 0}})})().extend({allOf:function(t){for(var r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];return e(n(r,(function(n,r){(n=i(n,t)).pass||r(n)})),u(!0))},anyOf:function(t){for(var r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];return e(n(r,(function(n,r){(n=i(n,t)).pass&&r(n)})),u(!1))},noneOf:function(t){for(var r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];return e(n(r,(function(n,r){i(n,t).pass&&r(u(!1))})),u(!0))},oneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var e=[];return t.some((function(t){if((t=i(t,n)).pass&&e.push(t),W(e,1))return!1})),u(q(e,1))}})}));
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(callback, defaultValue) {
338
+ function defaultTo(value, defaultValue) {
357
339
  var _a;
358
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
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
- invariant(storage.ctx, defaultTo(errorMessage, 'Context was used after it was closed'));
386
- return storage.ctx;
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 = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args, false)); }),
553
- ruleName,
554
- value], args, false));
555
- invariant(transformedResult.pass, isEmpty(transformedResult.message)
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
- : new String(transformedResult.message));
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
- if (!res.pass) {
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
- if (!res.pass) {
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,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 r(n){return"function"==typeof n}function e(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function u(n){return null===n}function i(n){return void 0===n}function o(n){return null===n||i(n)}function a(n){return String(n)===n}function f(n,t){return a(n)&&a(t)&&n.endsWith(t)}function s(n,t){return n===t}function c(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function l(n,t){return c(n)&&c(t)&&Number(n)>Number(t)}function p(n,t){return c(n)&&c(t)&&Number(n)===Number(t)}function v(n,t){return p(n,t)||l(n,t)}function h(n){return!!Array.isArray(n)}function y(n,t){return!!(h(t)||a(t)&&a(n))&&-1!==t.indexOf(n)}function N(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function d(n,t){return p(n,t)||N(n,t)}function g(n,t,r){return v(n,t)&&d(n,r)}function m(n){return o(n)||a(n)&&!n.trim()}function b(n){return!!n===n}function O(n){return"number"==typeof n}function x(n,t){return p(n.length,t)}function E(n){return!n||(O(n)?0===n:Object.prototype.hasOwnProperty.call(n,"length")?x(n,0):"object"==typeof n&&x(Object.keys(n),0))}function w(n,t){return n in t}function T(n){return Number.isNaN(n)}function q(n){return!!n}function j(n,t){if(o(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):!!a(t)&&new RegExp(t).test(n)}function P(n,t){return a(n)&&a(t)&&n.startsWith(t)}function A(n){for(var t in pn){var e=pn[t];r(e)&&n(t,e)}}function B(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return r(n)?n.apply(void 0,t):n}function W(n,t){var r;return null!==(r=B(n))&&void 0!==r?r:t}function k(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?B(t):t)}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 r(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 k(b(n)||n&&b(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),b(n)?K(n):K(n.pass,B.apply(void 0,I([n.message,t,r],e,!1)))}function R(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return k((i=M.apply(void 0,I([vn.run({value:n},(function(){return r.apply(void 0,I([n],u,!1))})),e,n],u,!1))).pass,E(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(i.message)),t}}var r={};if(!J())return A((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=pn[r])return t(e,n,r)}});return e}function U(n){var r,e=[];return function n(u){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];var a=pn[u];e.push((function(n){return M.apply(void 0,I([a.apply(void 0,I([n],i,!1)),u,n],i,!1))}));var f={run:function(n){return W(t(e,(function(t,e){var u,i=vn.run({value:n},(function(){return t(n)}));i.pass||e(K(!!i.pass,null!==(u=B(r,n,i.message))&&void 0!==u?u:i.message))})),K(!0))},test:function(n){return f.run(n).pass},message:function(n){return n&&(r=n),f}};return J()?f=new Proxy(f,{get:function(t,r){return pn[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 K(!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 K(!0)}var _=Object.assign,z=e(u),C=e(i),D=e(o),G=e(f),H=e(s),L=e(c),Q=e(p),Y=e(h),Z=e(y),$=e(g),nn=e(m),tn=e(b),rn=e(O),en=e(x),un=e(E),on=e(w),an=e(T),fn=e(a),sn=e(q),cn=e(j),ln=e(S),pn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:G,doesNotStartWith:e(P),endsWith:f,equals:s,greaterThan:l,greaterThanOrEquals:v,gt:l,gte:v,inside:y,isArray:h,isBetween:g,isBlank:m,isBoolean:b,isEmpty:E,isEven:function(n){return!!c(n)&&0==n%2},isFalsy:sn,isKeyOf:w,isNaN:T,isNegative:function(n){return N(n,0)},isNotArray:Y,isNotBetween:$,isNotBlank:nn,isNotBoolean:tn,isNotEmpty:un,isNotKeyOf:on,isNotNaN:an,isNotNull:z,isNotNullish:D,isNotNumber:rn,isNotNumeric:L,isNotString:fn,isNotUndefined:C,isNotValueOf:cn,isNull:u,isNullish:o,isNumber:O,isNumeric:c,isOdd:function(n){return!!c(n)&&0!=n%2},isPositive:function(n){return l(n,0)},isString:a,isTruthy:q,isUndefined:i,isValueOf:j,lengthEquals:x,lengthNotEquals:en,lessThan:N,lessThanOrEquals:d,longerThan:function(n,t){return l(n.length,t)},longerThanOrEquals:function(n,t){return v(n.length,t)},lt:N,lte:d,matches:S,notEquals:H,notInside:Z,notMatches:ln,numberEquals:p,numberNotEquals:Q,shorterThan:function(n,t){return N(n.length,t)},shorterThanOrEquals:function(n,t){return d(n.length,t)},startsWith:P},vn=function(n){function t(t,u){var i,o,a=r();return t=_({},a||{},null!==(i=B(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){return k(e.ctx,W(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?_(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:_(r,{parent:F})})),hn=function(){function n(){if(!J())return A((function(n){t[n]=U(n)})),_(R,t)}var t={context:function(){return vn.useX()},extend:function(t){_(pn,t),n()}};return n(),new Proxy(_(R,t),{get:function(n,t){return t in n?n[t]:pn[t]?U(t):void 0}})}();hn.extend({isArrayOf:function(n,r){return W(t(n,(function(n,t,e){(e=vn.run({value:n,set:!0,meta:{index:e}},(function(){return V(r,n)}))).pass||t(e)})),K(!0))},loose:X,optional:function(n,t){return o(n)?K(!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 K(!1);return K(!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})}));
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(callback, defaultValue) {
19
+ function defaultTo(value, defaultValue) {
20
20
  var _a;
21
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
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})}));