vest 4.4.2 → 4.4.3-dev-c786f7

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 (49) hide show
  1. package/dist/cjs/classnames.development.js +9 -60
  2. package/dist/cjs/classnames.production.js +1 -1
  3. package/dist/cjs/enforce/compose.development.js +5 -58
  4. package/dist/cjs/enforce/compose.production.js +1 -1
  5. package/dist/cjs/enforce/compounds.development.js +8 -51
  6. package/dist/cjs/enforce/compounds.production.js +1 -1
  7. package/dist/cjs/enforce/schema.development.js +5 -57
  8. package/dist/cjs/enforce/schema.production.js +1 -1
  9. package/dist/cjs/parser.development.js +8 -59
  10. package/dist/cjs/parser.production.js +1 -1
  11. package/dist/cjs/promisify.development.js +2 -26
  12. package/dist/cjs/promisify.production.js +1 -1
  13. package/dist/cjs/vest.development.js +119 -368
  14. package/dist/cjs/vest.production.js +1 -1
  15. package/dist/es/classnames.development.js +1 -52
  16. package/dist/es/classnames.production.js +1 -1
  17. package/dist/es/enforce/compose.development.js +1 -54
  18. package/dist/es/enforce/compose.production.js +1 -1
  19. package/dist/es/enforce/compounds.development.js +2 -45
  20. package/dist/es/enforce/compounds.production.js +1 -1
  21. package/dist/es/enforce/schema.development.js +1 -53
  22. package/dist/es/enforce/schema.production.js +1 -1
  23. package/dist/es/parser.development.js +1 -52
  24. package/dist/es/parser.production.js +1 -1
  25. package/dist/es/promisify.development.js +1 -25
  26. package/dist/es/promisify.production.js +1 -1
  27. package/dist/es/vest.development.js +44 -293
  28. package/dist/es/vest.production.js +1 -1
  29. package/dist/umd/classnames.development.js +11 -11
  30. package/dist/umd/classnames.production.js +1 -1
  31. package/dist/umd/enforce/compose.development.js +94 -94
  32. package/dist/umd/enforce/compose.production.js +1 -1
  33. package/dist/umd/enforce/compounds.development.js +117 -117
  34. package/dist/umd/enforce/compounds.production.js +1 -1
  35. package/dist/umd/enforce/schema.development.js +117 -117
  36. package/dist/umd/enforce/schema.production.js +1 -1
  37. package/dist/umd/parser.development.js +11 -11
  38. package/dist/umd/parser.production.js +1 -1
  39. package/dist/umd/vest.development.js +296 -295
  40. package/dist/umd/vest.production.js +1 -1
  41. package/package.json +4 -3
  42. package/testUtils/__tests__/partition.test.ts +21 -0
  43. package/testUtils/mockThrowError.ts +2 -1
  44. package/testUtils/partition.ts +13 -0
  45. package/testUtils/suiteDummy.ts +1 -1
  46. package/types/enforce/compose.d.ts +15 -31
  47. package/types/enforce/compounds.d.ts +15 -31
  48. package/types/enforce/schema.d.ts +15 -31
  49. package/types/vest.d.ts +1 -1
@@ -4,7 +4,56 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.compose = factory());
5
5
  }(this, (function () { 'use strict';
6
6
 
7
- var assign = Object.assign;
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);
8
57
 
9
58
  function isFunction(value) {
10
59
  return typeof value === 'function';
@@ -18,6 +67,28 @@
18
67
  return isFunction(value) ? value.apply(void 0, args) : value;
19
68
  }
20
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
+
21
92
  function invariant(condition,
22
93
  // eslint-disable-next-line @typescript-eslint/ban-types
23
94
  message) {
@@ -36,6 +107,14 @@
36
107
  return new String(optionalFunctionValue(value));
37
108
  }
38
109
 
110
+ function isStringValue(v) {
111
+ return String(v) === v;
112
+ }
113
+
114
+ function isBoolean(value) {
115
+ return !!value === value;
116
+ }
117
+
39
118
  function mapFirst(array, callback) {
40
119
  var broke = false;
41
120
  var breakoutValue = null;
@@ -53,33 +132,22 @@
53
132
  }
54
133
  }
55
134
 
56
- function bindNot(fn) {
57
- return function () {
58
- var args = [];
59
- for (var _i = 0; _i < arguments.length; _i++) {
60
- args[_i] = arguments[_i];
61
- }
62
- return !fn.apply(void 0, args);
63
- };
64
- }
65
-
66
- function isNull(value) {
67
- return value === null;
68
- }
69
- var isNotNull = bindNot(isNull);
70
-
71
- function isUndefined(value) {
72
- return value === undefined;
73
- }
74
- var isNotUndefined = bindNot(isUndefined);
75
-
76
- function isNullish(value) {
77
- return isNull(value) || isUndefined(value);
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;
78
146
  }
79
- var isNotNullish = bindNot(isNullish);
147
+ var isNotEmpty = bindNot(isEmpty);
80
148
 
81
- function isStringValue(v) {
82
- return String(v) === v;
149
+ function isPositive(value) {
150
+ return greaterThan(value, 0);
83
151
  }
84
152
 
85
153
  function endsWith(value, arg1) {
@@ -92,35 +160,10 @@
92
160
  }
93
161
  var notEquals = bindNot(equals);
94
162
 
95
- function isNumeric(value) {
96
- var str = String(value);
97
- var num = Number(value);
98
- var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
99
- return Boolean(result);
100
- }
101
- var isNotNumeric = bindNot(isNumeric);
102
-
103
- function greaterThan(value, gt) {
104
- return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
105
- }
106
-
107
- function numberEquals(value, eq) {
108
- return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
109
- }
110
- var numberNotEquals = bindNot(numberEquals);
111
-
112
163
  function greaterThanOrEquals(value, gte) {
113
164
  return numberEquals(value, gte) || greaterThan(value, gte);
114
165
  }
115
166
 
116
- // The module is named "isArrayValue" since it
117
- // is conflicting with a nested npm dependency.
118
- // We may need to revisit this in the future.
119
- function isArray(value) {
120
- return Boolean(Array.isArray(value));
121
- }
122
- var isNotArray = bindNot(isArray);
123
-
124
167
  function inside(value, arg1) {
125
168
  if (isArray(arg1)) {
126
169
  return arg1.indexOf(value) !== -1;
@@ -151,38 +194,8 @@
151
194
  }
152
195
  var isNotBlank = bindNot(isBlank);
153
196
 
154
- function isBoolean(value) {
155
- return !!value === value;
156
- }
157
-
158
197
  var isNotBoolean = bindNot(isBoolean);
159
198
 
160
- /**
161
- * A safe hasOwnProperty access
162
- */
163
- function hasOwnProperty(obj, key) {
164
- return Object.prototype.hasOwnProperty.call(obj, key);
165
- }
166
-
167
- function lengthEquals(value, arg1) {
168
- return numberEquals(value.length, arg1);
169
- }
170
- var lengthNotEquals = bindNot(lengthEquals);
171
-
172
- function isEmpty(value) {
173
- if (!value) {
174
- return true;
175
- }
176
- else if (hasOwnProperty(value, 'length')) {
177
- return lengthEquals(value, 0);
178
- }
179
- else if (typeof value === 'object') {
180
- return lengthEquals(Object.keys(value), 0);
181
- }
182
- return false;
183
- }
184
- var isNotEmpty = bindNot(isEmpty);
185
-
186
199
  /**
187
200
  * Validates that a given value is an even number
188
201
  */
@@ -222,10 +235,6 @@
222
235
  return false;
223
236
  };
224
237
 
225
- function isPositive(value) {
226
- return greaterThan(value, 0);
227
- }
228
-
229
238
  var isNotString = bindNot(isStringValue);
230
239
 
231
240
  function isTruthy(value) {
@@ -246,10 +255,6 @@
246
255
  }
247
256
  var isNotValueOf = bindNot(isValueOf);
248
257
 
249
- function longerThan(value, arg1) {
250
- return greaterThan(value.length, arg1);
251
- }
252
-
253
258
  function longerThanOrEquals(value, arg1) {
254
259
  return greaterThanOrEquals(value.length, arg1);
255
260
  }
@@ -370,11 +375,6 @@
370
375
  }
371
376
  }
372
377
 
373
- function defaultTo(value, defaultValue) {
374
- var _a;
375
- return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
376
- }
377
-
378
378
  // eslint-disable-next-line max-lines-per-function
379
379
  function createContext(init) {
380
380
  var storage = { ancestry: [] };
@@ -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"function"==typeof n}function t(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 r(n,r){if(!n)throw r instanceof String?r.valueOf():Error(r?t(r):r)}function e(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){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}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 String(n)===n}function a(n,t){return f(n)&&f(t)&&n.endsWith(t)}function c(n,t){return n===t}function l(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function p(n,t){return l(n)&&l(t)&&Number(n)>Number(t)}function v(n,t){return l(n)&&l(t)&&Number(n)===Number(t)}function h(n,t){return v(n,t)||p(n,t)}function g(n){return!!Array.isArray(n)}function N(n,t){return!!(g(t)||f(t)&&f(n))&&-1!==t.indexOf(n)}function y(n,t){return l(n)&&l(t)&&Number(n)<Number(t)}function d(n,t){return v(n,t)||y(n,t)}function m(n,t,r){return h(n,t)&&d(n,r)}function b(n){return s(n)||f(n)&&!n.trim()}function O(n){return!!n===n}function E(n,t){return v(n.length,t)}function x(n){return!n||(Object.prototype.hasOwnProperty.call(n,"length")?E(n,0):"object"==typeof n&&E(Object.keys(n),0))}function w(n,t){return n in t}function T(n){return Number.isNaN(n)}function q(n){return"number"==typeof n}function S(n){return!!n}function j(n,t){if(s(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function A(n,t){return t instanceof RegExp?t.test(n):!!f(t)&&new RegExp(t).test(n)}function B(n,t){return f(n)&&f(t)&&n.startsWith(t)}function P(t){for(var r in an){var e=an[r];n(e)&&t(r,e)}}function W(n,r){var e;return null!==(e=t(n))&&void 0!==e?e: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 n(Proxy)}catch(n){return!1}}function J(n,t){return n={pass:n},t&&(n.message=t),n}function K(n,e,u){for(var i=[],o=3;o<arguments.length;o++)i[o-3]=arguments[o];return r(O(n)||n&&O(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),O(n)?J(n):J(n.pass,t.apply(void 0,F([n.message,e,u],i,!1)))}function R(n){function e(e,u,i){return function(){for(var o=[],f=0;f<arguments.length;f++)o[f]=arguments[f];return r((f=cn.run({value:n},(function(){return K.apply(void 0,F([u.apply(void 0,F([n],o,!1)),i,n],o,!1))}))).pass,s(f.message)?"enforce/".concat(i," failed with ").concat(JSON.stringify(n)):new String(t(f.message))),e}}var u={};if(!I())return P((function(n,t){u[n]=e(u,t,n)})),u;var i=new Proxy(u,{get:function(n,t){if(n=an[t])return e(i,n,t)}});return i}function U(n){var r,u=[];return function n(i){return function(){for(var o=[],s=0;s<arguments.length;s++)o[s]=arguments[s];var f=an[i];u.push((function(n){return K.apply(void 0,F([f.apply(void 0,F([n],o,!1)),i,n],o,!1))}));var a={run:function(n){return W(e(u,(function(e,u){var i,o=cn.run({value:n},(function(){return e(n)}));u(!o.pass,J(!!o.pass,null!==(i=t(r,n,o.message))&&void 0!==i?i:o.message))})),J(!0))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return I()?a=new Proxy(a,{get:function(t,r){return an[r]?n(r):t[r]}}):(P((function(t){a[t]=n(t)})),a)}}(n)}var V=Object.assign,X=u(i),z=u(o),C=u(s),M=u(a),D=u(c),G=u(l),H=u(v),L=u(g),Q=u(N),Y=u(m),Z=u(b),$=u(O),_=u(E),nn=u(x),tn=u(w),rn=u(T),en=u(q),un=u(f),on=u(S),sn=u(j),fn=u(A),an={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:M,doesNotStartWith:u(B),endsWith:a,equals:c,greaterThan:p,greaterThanOrEquals:h,gt:p,gte:h,inside:N,isArray:g,isBetween:m,isBlank:b,isBoolean:O,isEmpty:x,isEven:function(n){return!!l(n)&&0==n%2},isFalsy:on,isKeyOf:w,isNaN:T,isNegative:function(n){return y(n,0)},isNotArray:L,isNotBetween:Y,isNotBlank:Z,isNotBoolean:$,isNotEmpty:nn,isNotKeyOf:tn,isNotNaN:rn,isNotNull:X,isNotNullish:C,isNotNumber:en,isNotNumeric:G,isNotString:un,isNotUndefined:z,isNotValueOf:sn,isNull:i,isNullish:s,isNumber:q,isNumeric:l,isOdd:function(n){return!!l(n)&&0!=n%2},isPositive:function(n){return p(n,0)},isString:f,isTruthy:S,isUndefined:o,isValueOf:j,lengthEquals:E,lengthNotEquals:_,lessThan:y,lessThanOrEquals:d,longerThan:function(n,t){return p(n.length,t)},longerThanOrEquals:function(n,t){return h(n.length,t)},lt:y,lte:d,matches:A,notEquals:D,notInside:Q,notMatches:fn,numberEquals:v,numberNotEquals:H,shorterThan:function(n,t){return y(n.length,t)},shorterThanOrEquals:function(n,t){return d(n.length,t)},startsWith:B},cn=function(n){function e(r,e){var o,s,f=u();return r=V({},f||{},null!==(o=t(n,r,f))&&void 0!==o?o:r),o=i.ctx=Object.freeze(r),i.ancestry.unshift(o),e=e(o),i.ancestry.shift(),i.ctx=null!==(s=i.ancestry[0])&&void 0!==s?s:null,e}function u(){return i.ctx}var i={ancestry:[]};return{bind:function(n,t){return function(){for(var r=[],u=0;u<arguments.length;u++)r[u]=arguments[u];return e(n,(function(){return t.apply(void 0,r)}))}},run:e,use:u,useX:function(n){var t=u();return r(t,W(n,"Context was used after it was closed")),t}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?V(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:V(r,{parent:k})}));return function(){function n(){if(!I())return P((function(n){t[n]=U(n)})),V(R,t)}var t={context:function(){return cn.useX()},extend:function(t){V(an,t),n()}};n(),new Proxy(V(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 W(e(u,(function(t,r){try{var e=t.run(n)}catch(n){e=J(!1)}r(!e.pass,e)})),J(!0))}))}for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return V((function(e){r((e=n(e)).pass,new String(t(e.message)))}),{run:n,test:function(t){return n(t).pass}})}}));
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}})}}));
@@ -3,12 +3,6 @@
3
3
  factory();
4
4
  }((function () { 'use strict';
5
5
 
6
- var assign = Object.assign;
7
-
8
- function isFunction(value) {
9
- return typeof value === 'function';
10
- }
11
-
12
6
  function bindNot(fn) {
13
7
  return function () {
14
8
  var args = [];
@@ -19,6 +13,32 @@
19
13
  };
20
14
  }
21
15
 
16
+ function isNumeric(value) {
17
+ var str = String(value);
18
+ var num = Number(value);
19
+ var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
20
+ return Boolean(result);
21
+ }
22
+ var isNotNumeric = bindNot(isNumeric);
23
+
24
+ function numberEquals(value, eq) {
25
+ return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
26
+ }
27
+ var numberNotEquals = bindNot(numberEquals);
28
+
29
+ function lengthEquals(value, arg1) {
30
+ return numberEquals(value.length, arg1);
31
+ }
32
+ var lengthNotEquals = bindNot(lengthEquals);
33
+
34
+ function greaterThan(value, gt) {
35
+ return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
36
+ }
37
+
38
+ function longerThan(value, arg1) {
39
+ return greaterThan(value.length, arg1);
40
+ }
41
+
22
42
  function isNull(value) {
23
43
  return value === null;
24
44
  }
@@ -34,49 +54,115 @@
34
54
  }
35
55
  var isNotNullish = bindNot(isNullish);
36
56
 
57
+ function isFunction(value) {
58
+ return typeof value === 'function';
59
+ }
60
+
61
+ function optionalFunctionValue(value) {
62
+ var args = [];
63
+ for (var _i = 1; _i < arguments.length; _i++) {
64
+ args[_i - 1] = arguments[_i];
65
+ }
66
+ return isFunction(value) ? value.apply(void 0, args) : value;
67
+ }
68
+
69
+ function defaultTo(value, defaultValue) {
70
+ var _a;
71
+ return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
72
+ }
73
+
74
+ // The module is named "isArrayValue" since it
75
+ // is conflicting with a nested npm dependency.
76
+ // We may need to revisit this in the future.
77
+ function isArray(value) {
78
+ return Boolean(Array.isArray(value));
79
+ }
80
+ var isNotArray = bindNot(isArray);
81
+
82
+ /**
83
+ * A safe hasOwnProperty access
84
+ */
85
+ function hasOwnProperty(obj, key) {
86
+ return Object.prototype.hasOwnProperty.call(obj, key);
87
+ }
88
+
89
+ var assign = Object.assign;
90
+
91
+ function invariant(condition,
92
+ // eslint-disable-next-line @typescript-eslint/ban-types
93
+ message) {
94
+ if (condition) {
95
+ return;
96
+ }
97
+ // If message is a string object (rather than string literal)
98
+ // Throw the value directly as a string
99
+ // Alternatively, throw an error with the message
100
+ throw message instanceof String
101
+ ? message.valueOf()
102
+ : new Error(message ? optionalFunctionValue(message) : message);
103
+ }
104
+ // eslint-disable-next-line @typescript-eslint/ban-types
105
+ function StringObject(value) {
106
+ return new String(optionalFunctionValue(value));
107
+ }
108
+
37
109
  function isStringValue(v) {
38
110
  return String(v) === v;
39
111
  }
40
112
 
41
- function endsWith(value, arg1) {
42
- return isStringValue(value) && isStringValue(arg1) && value.endsWith(arg1);
113
+ function isBoolean(value) {
114
+ return !!value === value;
43
115
  }
44
- var doesNotEndWith = bindNot(endsWith);
45
116
 
46
- function equals(value, arg1) {
47
- return value === arg1;
117
+ function mapFirst(array, callback) {
118
+ var broke = false;
119
+ var breakoutValue = null;
120
+ for (var i = 0; i < array.length; i++) {
121
+ callback(array[i], breakout, i);
122
+ if (broke) {
123
+ return breakoutValue;
124
+ }
125
+ }
126
+ function breakout(conditional, value) {
127
+ if (conditional) {
128
+ broke = true;
129
+ breakoutValue = value;
130
+ }
131
+ }
48
132
  }
49
- var notEquals = bindNot(equals);
50
133
 
51
- function isNumeric(value) {
52
- var str = String(value);
53
- var num = Number(value);
54
- var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
55
- return Boolean(result);
134
+ function isEmpty(value) {
135
+ if (!value) {
136
+ return true;
137
+ }
138
+ else if (hasOwnProperty(value, 'length')) {
139
+ return lengthEquals(value, 0);
140
+ }
141
+ else if (typeof value === 'object') {
142
+ return lengthEquals(Object.keys(value), 0);
143
+ }
144
+ return false;
56
145
  }
57
- var isNotNumeric = bindNot(isNumeric);
146
+ var isNotEmpty = bindNot(isEmpty);
58
147
 
59
- function greaterThan(value, gt) {
60
- return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
148
+ function isPositive(value) {
149
+ return greaterThan(value, 0);
61
150
  }
62
151
 
63
- function numberEquals(value, eq) {
64
- return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
152
+ function endsWith(value, arg1) {
153
+ return isStringValue(value) && isStringValue(arg1) && value.endsWith(arg1);
65
154
  }
66
- var numberNotEquals = bindNot(numberEquals);
155
+ var doesNotEndWith = bindNot(endsWith);
156
+
157
+ function equals(value, arg1) {
158
+ return value === arg1;
159
+ }
160
+ var notEquals = bindNot(equals);
67
161
 
68
162
  function greaterThanOrEquals(value, gte) {
69
163
  return numberEquals(value, gte) || greaterThan(value, gte);
70
164
  }
71
165
 
72
- // The module is named "isArrayValue" since it
73
- // is conflicting with a nested npm dependency.
74
- // We may need to revisit this in the future.
75
- function isArray(value) {
76
- return Boolean(Array.isArray(value));
77
- }
78
- var isNotArray = bindNot(isArray);
79
-
80
166
  function inside(value, arg1) {
81
167
  if (isArray(arg1)) {
82
168
  return arg1.indexOf(value) !== -1;
@@ -107,38 +193,8 @@
107
193
  }
108
194
  var isNotBlank = bindNot(isBlank);
109
195
 
110
- function isBoolean(value) {
111
- return !!value === value;
112
- }
113
-
114
196
  var isNotBoolean = bindNot(isBoolean);
115
197
 
116
- /**
117
- * A safe hasOwnProperty access
118
- */
119
- function hasOwnProperty(obj, key) {
120
- return Object.prototype.hasOwnProperty.call(obj, key);
121
- }
122
-
123
- function lengthEquals(value, arg1) {
124
- return numberEquals(value.length, arg1);
125
- }
126
- var lengthNotEquals = bindNot(lengthEquals);
127
-
128
- function isEmpty(value) {
129
- if (!value) {
130
- return true;
131
- }
132
- else if (hasOwnProperty(value, 'length')) {
133
- return lengthEquals(value, 0);
134
- }
135
- else if (typeof value === 'object') {
136
- return lengthEquals(Object.keys(value), 0);
137
- }
138
- return false;
139
- }
140
- var isNotEmpty = bindNot(isEmpty);
141
-
142
198
  /**
143
199
  * Validates that a given value is an even number
144
200
  */
@@ -178,10 +234,6 @@
178
234
  return false;
179
235
  };
180
236
 
181
- function isPositive(value) {
182
- return greaterThan(value, 0);
183
- }
184
-
185
237
  var isNotString = bindNot(isStringValue);
186
238
 
187
239
  function isTruthy(value) {
@@ -202,10 +254,6 @@
202
254
  }
203
255
  var isNotValueOf = bindNot(isValueOf);
204
256
 
205
- function longerThan(value, arg1) {
206
- return greaterThan(value.length, arg1);
207
- }
208
-
209
257
  function longerThanOrEquals(value, arg1) {
210
258
  return greaterThanOrEquals(value.length, arg1);
211
259
  }
@@ -326,37 +374,6 @@
326
374
  }
327
375
  }
328
376
 
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
-
342
- function invariant(condition,
343
- // eslint-disable-next-line @typescript-eslint/ban-types
344
- message) {
345
- if (condition) {
346
- return;
347
- }
348
- // If message is a string object (rather than string literal)
349
- // Throw the value directly as a string
350
- // Alternatively, throw an error with the message
351
- throw message instanceof String
352
- ? message.valueOf()
353
- : new Error(message ? optionalFunctionValue(message) : message);
354
- }
355
- // eslint-disable-next-line @typescript-eslint/ban-types
356
- function StringObject(value) {
357
- return new String(optionalFunctionValue(value));
358
- }
359
-
360
377
  // eslint-disable-next-line max-lines-per-function
361
378
  function createContext(init) {
362
379
  var storage = { ancestry: [] };
@@ -549,23 +566,6 @@
549
566
  }
550
567
  }
551
568
 
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
-
569
569
  // eslint-disable-next-line max-lines-per-function
570
570
  function genEnforceLazy(key) {
571
571
  var registeredRules = [];
@@ -1 +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)}})}));
1
+ "use strict";!function(n){"function"==typeof define&&define.amd?define(n):n()}((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 f(n){return null===n||o(n)}function a(n){return"function"==typeof n}function s(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return a(n)?n.apply(void 0,t):n}function c(n,t){var r;return null!==(r=s(n))&&void 0!==r?r:s(t)}function l(n){return!!Array.isArray(n)}function v(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?s(t):t)}function h(n){return String(n)===n}function g(n){return!!n===n}function p(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 h(n)&&h(t)&&n.endsWith(t)}function d(n,t){return n===t}function m(n,t){return r(n,t)||u(n,t)}function O(n,t){return!!(l(t)||h(t)&&h(n))&&-1!==t.indexOf(n)}function b(n,r){return t(n)&&t(r)&&Number(n)<Number(r)}function E(n,t){return r(n,t)||b(n,t)}function x(n,t,r){return m(n,t)&&E(n,r)}function w(n){return f(n)||h(n)&&!n.trim()}function q(n,t){return n in t}function S(n){return Number.isNaN(n)}function T(n){return"number"==typeof n}function A(n){return!!n}function B(n,t){if(f(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function P(n,t){return t instanceof RegExp?t.test(n):!!h(t)&&new RegExp(t).test(n)}function W(n,t){return h(n)&&h(t)&&n.startsWith(t)}function j(n){for(var t in cn){var r=cn[t];a(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 a(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 v(g(n)||n&&g(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),g(n)?J(n):J(n.pass,s.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 v((i=ln.run({value:n},(function(){return K.apply(void 0,F([r.apply(void 0,F([n],u,!1)),e,n],u,!1))}))).pass,f(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(s(i.message))),t}}var r={};if(!I())return j((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=cn[r])return t(e,n,r)}});return e}function U(n){var t,r=[];return function n(e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=cn[e];r.push((function(n){return K.apply(void 0,F([o.apply(void 0,F([n],u,!1)),e,n],u,!1))}));var f={run:function(n){return c(p(r,(function(r,e){var u,i=ln.run({value:n},(function(){return r(n)}));e(!i.pass,J(!!i.pass,null!==(u=s(t,n,i.message))&&void 0!==u?u:i.message))})),J(!0))},test:function(n){return f.run(n).pass},message:function(n){return n&&(t=n),f}};return I()?f=new Proxy(f,{get:function(t,r){return cn[r]?n(r):t[r]}}):(j((function(t){f[t]=n(t)})),f)}}(n)}function V(n,t){try{return n.run(t)}catch(n){return J(!1)}}var X=n(t),z=n(r),C=n(e),M=n(i),D=n(o),G=n(f),H=n(l),L=Object.assign,Q=n(N),Y=n(y),Z=n(d),$=n(O),_=n(x),nn=n(w),tn=n(g),rn=n(q),en=n(S),un=n(T),on=n(h),fn=n(A),an=n(B),sn=n(P),cn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:Y,doesNotStartWith:n(W),endsWith:y,equals:d,greaterThan:u,greaterThanOrEquals:m,gt:u,gte:m,inside:O,isArray:l,isBetween:x,isBlank:w,isBoolean:g,isEmpty:N,isEven:function(n){return!!t(n)&&0==n%2},isFalsy:fn,isKeyOf:q,isNaN:S,isNegative:function(n){return b(n,0)},isNotArray:H,isNotBetween:_,isNotBlank:nn,isNotBoolean:tn,isNotEmpty:Q,isNotKeyOf:rn,isNotNaN:en,isNotNull:M,isNotNullish:G,isNotNumber:un,isNotNumeric:X,isNotString:on,isNotUndefined:D,isNotValueOf:an,isNull:i,isNullish:f,isNumber:T,isNumeric:t,isOdd:function(n){return!!t(n)&&0!=n%2},isPositive:function(n){return u(n,0)},isString:h,isTruthy:A,isUndefined:o,isValueOf:B,lengthEquals:e,lengthNotEquals:C,lessThan:b,lessThanOrEquals:E,longerThan:function(n,t){return u(n.length,t)},longerThanOrEquals:function(n,t){return m(n.length,t)},lt:b,lte:E,matches:P,notEquals:Z,notInside:$,notMatches:sn,numberEquals:r,numberNotEquals:z,shorterThan:function(n,t){return b(n.length,t)},shorterThanOrEquals:function(n,t){return E(n.length,t)},startsWith:W},ln=function(n){function t(t,u){var i,o,f=r();return t=L({},f||{},null!==(i=s(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 v(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?L(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:L(r,{parent:k})}));(function(){function n(){if(!I())return j((function(n){t[n]=U(n)})),L(R,t)}var t={context:function(){return ln.useX()},extend:function(t){L(cn,t),n()}};return n(),new Proxy(L(R,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 c(p(t,(function(t,r){r(!(t=V(t,n)).pass,t)})),J(!0))},anyOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return c(p(t,(function(t,r){r((t=V(t,n)).pass,t)})),J(!1))},noneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return c(p(t,(function(t,r){r((t=V(t,n)).pass,J(!1))})),J(!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++,u(e,1))return!1})),J(1===e)}})}));