vest 4.2.1 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/classnames.development.js +76 -28
- package/dist/cjs/classnames.production.js +1 -1
- package/dist/cjs/enforce/compose.development.js +27 -59
- package/dist/cjs/enforce/compose.production.js +1 -1
- package/dist/cjs/parser.development.js +84 -22
- package/dist/cjs/parser.production.js +1 -1
- package/dist/cjs/promisify.development.js +21 -8
- package/dist/cjs/promisify.production.js +1 -1
- package/dist/cjs/vest.development.js +219 -203
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/classnames.development.js +76 -28
- package/dist/es/classnames.production.js +1 -1
- package/dist/es/enforce/compose.development.js +27 -59
- package/dist/es/enforce/compose.production.js +1 -1
- package/dist/es/parser.development.js +84 -22
- package/dist/es/parser.production.js +1 -1
- package/dist/es/promisify.development.js +21 -8
- package/dist/es/promisify.production.js +1 -1
- package/dist/es/vest.development.js +219 -203
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/classnames.development.js +76 -28
- package/dist/umd/classnames.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +89 -99
- package/dist/umd/enforce/compose.production.js +1 -1
- package/dist/umd/enforce/compounds.development.js +34 -36
- package/dist/umd/enforce/compounds.production.js +1 -1
- package/dist/umd/enforce/schema.development.js +34 -36
- package/dist/umd/enforce/schema.production.js +1 -1
- package/dist/umd/parser.development.js +84 -22
- package/dist/umd/parser.production.js +1 -1
- package/dist/umd/promisify.development.js +21 -8
- package/dist/umd/promisify.production.js +1 -1
- package/dist/umd/vest.development.js +213 -204
- package/dist/umd/vest.production.js +1 -1
- package/package.json +3 -3
- package/testUtils/mockThrowError.ts +3 -6
- package/testUtils/suiteDummy.ts +5 -1
- package/types/classnames.d.ts +13 -54
- package/types/enforce/compose.d.ts +2 -1
- package/types/enforce/compounds.d.ts +2 -1
- package/types/enforce/schema.d.ts +2 -1
- package/types/parser.d.ts +12 -53
- package/types/promisify.d.ts +12 -9
- package/types/vest.d.ts +17 -14
|
@@ -143,8 +143,13 @@
|
|
|
143
143
|
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
144
144
|
}
|
|
145
145
|
|
|
146
|
+
function numberEquals(value, eq) {
|
|
147
|
+
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
148
|
+
}
|
|
149
|
+
var numberNotEquals = bindNot(numberEquals);
|
|
150
|
+
|
|
146
151
|
function greaterThanOrEquals(value, gte) {
|
|
147
|
-
return
|
|
152
|
+
return numberEquals(value, gte) || greaterThan(value, gte);
|
|
148
153
|
}
|
|
149
154
|
|
|
150
155
|
// The module is named "isArrayValue" since it
|
|
@@ -167,8 +172,12 @@
|
|
|
167
172
|
}
|
|
168
173
|
var notInside = bindNot(inside);
|
|
169
174
|
|
|
175
|
+
function lessThan(value, lt) {
|
|
176
|
+
return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
|
|
177
|
+
}
|
|
178
|
+
|
|
170
179
|
function lessThanOrEquals(value, lte) {
|
|
171
|
-
return
|
|
180
|
+
return numberEquals(value, lte) || lessThan(value, lte);
|
|
172
181
|
}
|
|
173
182
|
|
|
174
183
|
function isBetween(value, min, max) {
|
|
@@ -242,12 +251,8 @@
|
|
|
242
251
|
var isNotNaN = bindNot(isNaN$1);
|
|
243
252
|
|
|
244
253
|
function isNegative(value) {
|
|
245
|
-
|
|
246
|
-
return Number(value) < 0;
|
|
247
|
-
}
|
|
248
|
-
return false;
|
|
254
|
+
return lessThan(value, 0);
|
|
249
255
|
}
|
|
250
|
-
var isPositive = bindNot(isNegative);
|
|
251
256
|
|
|
252
257
|
/**
|
|
253
258
|
* Validates that a given value is an odd number
|
|
@@ -259,6 +264,10 @@
|
|
|
259
264
|
return false;
|
|
260
265
|
};
|
|
261
266
|
|
|
267
|
+
function isPositive(value) {
|
|
268
|
+
return greaterThan(value, 0);
|
|
269
|
+
}
|
|
270
|
+
|
|
262
271
|
var isNotString = bindNot(isStringValue);
|
|
263
272
|
|
|
264
273
|
function isTruthy(value) {
|
|
@@ -279,10 +288,6 @@
|
|
|
279
288
|
}
|
|
280
289
|
var isNotValueOf = bindNot(isValueOf);
|
|
281
290
|
|
|
282
|
-
function lessThan(value, lt) {
|
|
283
|
-
return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
|
|
284
|
-
}
|
|
285
|
-
|
|
286
291
|
function longerThan(value, arg1) {
|
|
287
292
|
return value.length > Number(arg1);
|
|
288
293
|
}
|
|
@@ -304,11 +309,6 @@
|
|
|
304
309
|
}
|
|
305
310
|
var notMatches = bindNot(matches);
|
|
306
311
|
|
|
307
|
-
function numberEquals(value, eq) {
|
|
308
|
-
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
309
|
-
}
|
|
310
|
-
var numberNotEquals = bindNot(numberEquals);
|
|
311
|
-
|
|
312
312
|
function condition(value, callback) {
|
|
313
313
|
try {
|
|
314
314
|
return callback(value);
|
|
@@ -412,11 +412,18 @@
|
|
|
412
412
|
}
|
|
413
413
|
}
|
|
414
414
|
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
415
|
+
function invariant(condition,
|
|
416
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
417
|
+
message) {
|
|
418
|
+
if (condition) {
|
|
419
|
+
return;
|
|
420
|
+
}
|
|
421
|
+
// If message is a string object (rather than string literal)
|
|
422
|
+
// Throw the value directly as a string
|
|
423
|
+
// Alternatively, throw an error with the message
|
|
424
|
+
throw message instanceof String
|
|
425
|
+
? message.valueOf()
|
|
426
|
+
: new Error(message ? optionalFunctionValue(message) : message);
|
|
420
427
|
}
|
|
421
428
|
|
|
422
429
|
// eslint-disable-next-line max-lines-per-function
|
|
@@ -429,8 +436,8 @@
|
|
|
429
436
|
useX: useX
|
|
430
437
|
};
|
|
431
438
|
function useX(errorMessage) {
|
|
432
|
-
|
|
433
|
-
return
|
|
439
|
+
invariant(storage.ctx, defaultTo(errorMessage, 'Context was used after it was closed'));
|
|
440
|
+
return storage.ctx;
|
|
434
441
|
}
|
|
435
442
|
function run(ctxRef, fn) {
|
|
436
443
|
var _a;
|
|
@@ -553,10 +560,7 @@
|
|
|
553
560
|
}
|
|
554
561
|
function validateResult(result) {
|
|
555
562
|
// if result is boolean, or if result.pass is boolean
|
|
556
|
-
|
|
557
|
-
return;
|
|
558
|
-
}
|
|
559
|
-
throwError('Incorrect return value for rule: ' + JSON.stringify(result));
|
|
563
|
+
invariant(isBoolean(result) || (result && isBoolean(result.pass)), 'Incorrect return value for rule: ' + JSON.stringify(result));
|
|
560
564
|
}
|
|
561
565
|
|
|
562
566
|
function enforceEager(value) {
|
|
@@ -585,15 +589,9 @@
|
|
|
585
589
|
var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args, false)); }),
|
|
586
590
|
ruleName,
|
|
587
591
|
value], args, false));
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
}
|
|
592
|
-
else {
|
|
593
|
-
// Explicitly throw a string so that vest.test can pick it up as the validation error message
|
|
594
|
-
throw transformedResult.message;
|
|
595
|
-
}
|
|
596
|
-
}
|
|
592
|
+
invariant(transformedResult.pass, isEmpty(transformedResult.message)
|
|
593
|
+
? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
|
|
594
|
+
: new String(transformedResult.message));
|
|
597
595
|
return target;
|
|
598
596
|
};
|
|
599
597
|
}
|
|
@@ -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
|
|
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 N(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function h(n,t){return N(n)&&N(t)&&Number(n)>Number(t)}function g(n,t){return N(n)&&N(t)&&Number(n)===Number(t)}function p(n,t){return g(n,t)||h(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 N(n)&&N(t)&&Number(n)<Number(t)}function b(n,t){return g(n,t)||m(n,t)}function O(n,t,r){return p(n,t)&&b(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 n.length===Number(t)}function S(n){if(n){if(w(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return q(n,0);if("object"==typeof n)return q(Object.keys(n),0)}return!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 n.length>Number(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 vn){var e=vn[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([Nn.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=vn[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=vn[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=Nn.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 vn[r]?t(r):n[r]}}):(F((function(n){l[n]=t(n)})),l)}}(t)}var z,C=Object.assign,M=o(f),D=o(a),G=o(s),H=o(l),L=o(v),Q=o(N),Y=o(g),Z=o(y),$=o(d),_=o(O),nn=o(x),tn=o(E),rn=o(w),en=o(q),un=o(S),on=o(T),fn=o(A),an=o(c),sn=o(B),cn=o(P),ln=o(j),vn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:H,doesNotStartWith:o(k),endsWith:l,equals:v,greaterThan:h,greaterThanOrEquals:p,gt:h,gte:p,inside:d,isArray:y,isBetween:O,isBlank:x,isBoolean:E,isEmpty:S,isEven:function(n){return!!N(n)&&0==n%2},isFalsy:sn,isKeyOf:T,isNaN:A,isNegative:function(n){return m(n,0)},isNotArray:Z,isNotBetween:_,isNotBlank:nn,isNotBoolean:tn,isNotEmpty:un,isNotKeyOf:on,isNotNaN:fn,isNotNull:M,isNotNullish:G,isNotNumber:rn,isNotNumeric:Q,isNotString:an,isNotUndefined:D,isNotValueOf:cn,isNull:f,isNullish:s,isNumber:w,isNumeric:N,isOdd:function(n){return!!N(n)&&0!=n%2},isPositive:function(n){return h(n,0)},isString:c,isTruthy:B,isUndefined:a,isValueOf:P,lengthEquals:q,lengthNotEquals:en,lessThan:m,lessThanOrEquals:b,longerThan:W,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:m,lte:b,matches:j,notEquals:L,notInside:$,notMatches:ln,numberEquals:g,numberNotEquals:Y,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:k},Nn=function(n){function t(t,e){var o,f,a=u();return t=C({},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?C(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:C(r,{parent:J})}));(z={context:function(){return Nn.useX()},extend:function(n){C(vn,n)}},R()?new Proxy(C(V,z),{get:function(n,t){return t in n?n[t]:vn[t]?X(t):void 0}}):(F((function(n){z[n]=X(n)})),C(V,z))).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(W(e,1))return!1;(t=i(t,n)).pass&&e.push(t)})),u(q(e,1))}})}));
|
|
@@ -76,8 +76,13 @@
|
|
|
76
76
|
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
+
function numberEquals(value, eq) {
|
|
80
|
+
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
81
|
+
}
|
|
82
|
+
var numberNotEquals = bindNot(numberEquals);
|
|
83
|
+
|
|
79
84
|
function greaterThanOrEquals(value, gte) {
|
|
80
|
-
return
|
|
85
|
+
return numberEquals(value, gte) || greaterThan(value, gte);
|
|
81
86
|
}
|
|
82
87
|
|
|
83
88
|
// The module is named "isArrayValue" since it
|
|
@@ -100,8 +105,12 @@
|
|
|
100
105
|
}
|
|
101
106
|
var notInside = bindNot(inside);
|
|
102
107
|
|
|
108
|
+
function lessThan(value, lt) {
|
|
109
|
+
return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
|
|
110
|
+
}
|
|
111
|
+
|
|
103
112
|
function lessThanOrEquals(value, lte) {
|
|
104
|
-
return
|
|
113
|
+
return numberEquals(value, lte) || lessThan(value, lte);
|
|
105
114
|
}
|
|
106
115
|
|
|
107
116
|
function isBetween(value, min, max) {
|
|
@@ -175,12 +184,8 @@
|
|
|
175
184
|
var isNotNaN = bindNot(isNaN$1);
|
|
176
185
|
|
|
177
186
|
function isNegative(value) {
|
|
178
|
-
|
|
179
|
-
return Number(value) < 0;
|
|
180
|
-
}
|
|
181
|
-
return false;
|
|
187
|
+
return lessThan(value, 0);
|
|
182
188
|
}
|
|
183
|
-
var isPositive = bindNot(isNegative);
|
|
184
189
|
|
|
185
190
|
/**
|
|
186
191
|
* Validates that a given value is an odd number
|
|
@@ -192,6 +197,10 @@
|
|
|
192
197
|
return false;
|
|
193
198
|
};
|
|
194
199
|
|
|
200
|
+
function isPositive(value) {
|
|
201
|
+
return greaterThan(value, 0);
|
|
202
|
+
}
|
|
203
|
+
|
|
195
204
|
var isNotString = bindNot(isStringValue);
|
|
196
205
|
|
|
197
206
|
function isTruthy(value) {
|
|
@@ -212,10 +221,6 @@
|
|
|
212
221
|
}
|
|
213
222
|
var isNotValueOf = bindNot(isValueOf);
|
|
214
223
|
|
|
215
|
-
function lessThan(value, lt) {
|
|
216
|
-
return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
|
|
217
|
-
}
|
|
218
|
-
|
|
219
224
|
function longerThan(value, arg1) {
|
|
220
225
|
return value.length > Number(arg1);
|
|
221
226
|
}
|
|
@@ -237,11 +242,6 @@
|
|
|
237
242
|
}
|
|
238
243
|
var notMatches = bindNot(matches);
|
|
239
244
|
|
|
240
|
-
function numberEquals(value, eq) {
|
|
241
|
-
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
242
|
-
}
|
|
243
|
-
var numberNotEquals = bindNot(numberEquals);
|
|
244
|
-
|
|
245
245
|
function condition(value, callback) {
|
|
246
246
|
try {
|
|
247
247
|
return callback(value);
|
|
@@ -358,11 +358,18 @@
|
|
|
358
358
|
return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
359
359
|
}
|
|
360
360
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
361
|
+
function invariant(condition,
|
|
362
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
363
|
+
message) {
|
|
364
|
+
if (condition) {
|
|
365
|
+
return;
|
|
366
|
+
}
|
|
367
|
+
// If message is a string object (rather than string literal)
|
|
368
|
+
// Throw the value directly as a string
|
|
369
|
+
// Alternatively, throw an error with the message
|
|
370
|
+
throw message instanceof String
|
|
371
|
+
? message.valueOf()
|
|
372
|
+
: new Error(message ? optionalFunctionValue(message) : message);
|
|
366
373
|
}
|
|
367
374
|
|
|
368
375
|
// eslint-disable-next-line max-lines-per-function
|
|
@@ -375,8 +382,8 @@
|
|
|
375
382
|
useX: useX
|
|
376
383
|
};
|
|
377
384
|
function useX(errorMessage) {
|
|
378
|
-
|
|
379
|
-
return
|
|
385
|
+
invariant(storage.ctx, defaultTo(errorMessage, 'Context was used after it was closed'));
|
|
386
|
+
return storage.ctx;
|
|
380
387
|
}
|
|
381
388
|
function run(ctxRef, fn) {
|
|
382
389
|
var _a;
|
|
@@ -516,10 +523,7 @@
|
|
|
516
523
|
}
|
|
517
524
|
function validateResult(result) {
|
|
518
525
|
// if result is boolean, or if result.pass is boolean
|
|
519
|
-
|
|
520
|
-
return;
|
|
521
|
-
}
|
|
522
|
-
throwError('Incorrect return value for rule: ' + JSON.stringify(result));
|
|
526
|
+
invariant(isBoolean(result) || (result && isBoolean(result.pass)), 'Incorrect return value for rule: ' + JSON.stringify(result));
|
|
523
527
|
}
|
|
524
528
|
|
|
525
529
|
function enforceEager(value) {
|
|
@@ -548,15 +552,9 @@
|
|
|
548
552
|
var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args, false)); }),
|
|
549
553
|
ruleName,
|
|
550
554
|
value], args, false));
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
}
|
|
555
|
-
else {
|
|
556
|
-
// Explicitly throw a string so that vest.test can pick it up as the validation error message
|
|
557
|
-
throw transformedResult.message;
|
|
558
|
-
}
|
|
559
|
-
}
|
|
555
|
+
invariant(transformedResult.pass, isEmpty(transformedResult.message)
|
|
556
|
+
? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
|
|
557
|
+
: new String(transformedResult.message));
|
|
560
558
|
return target;
|
|
561
559
|
};
|
|
562
560
|
}
|
|
@@ -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)
|
|
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 N(n,t){return!!(h(t)||a(t)&&a(n))&&-1!==t.indexOf(n)}function y(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function d(n,t){return p(n,t)||y(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 n.length===Number(t)}function E(n){if(n){if(O(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return x(n,0);if("object"==typeof n)return x(Object.keys(n),0)}return!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 vn){var e=vn[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([hn.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=vn[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=vn[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=hn.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 vn[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=hn.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 _,z=Object.assign,C=e(u),D=e(i),G=e(o),H=e(f),L=e(s),Q=e(c),Y=e(p),Z=e(h),$=e(N),nn=e(g),tn=e(m),rn=e(b),en=e(O),un=e(x),on=e(E),an=e(w),fn=e(T),sn=e(a),cn=e(q),ln=e(j),pn=e(S),vn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:H,doesNotStartWith:e(P),endsWith:f,equals:s,greaterThan:l,greaterThanOrEquals:v,gt:l,gte:v,inside:N,isArray:h,isBetween:g,isBlank:m,isBoolean:b,isEmpty:E,isEven:function(n){return!!c(n)&&0==n%2},isFalsy:cn,isKeyOf:w,isNaN:T,isNegative:function(n){return y(n,0)},isNotArray:Z,isNotBetween:nn,isNotBlank:tn,isNotBoolean:rn,isNotEmpty:on,isNotKeyOf:an,isNotNaN:fn,isNotNull:C,isNotNullish:G,isNotNumber:en,isNotNumeric:Q,isNotString:sn,isNotUndefined:D,isNotValueOf:ln,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:un,lessThan:y,lessThanOrEquals:d,longerThan:function(n,t){return n.length>Number(t)},longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:y,lte:d,matches:S,notEquals:L,notInside:$,notMatches:pn,numberEquals:p,numberNotEquals:Y,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:P},hn=function(n){function t(t,u){var i,o,a=r();return t=z({},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?z(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:z(r,{parent:F})})),Nn=(_={context:function(){return hn.useX()},extend:function(n){z(vn,n)}},J()?new Proxy(z(R,_),{get:function(n,t){return t in n?n[t]:vn[t]?U(t):void 0}}):(A((function(n){_[n]=U(n)})),z(R,_)));Nn.extend({isArrayOf:function(n,r){return W(t(n,(function(n,t,e){(e=hn.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]=Nn.optional(n[t]);return r},Object.defineProperty(n,"__esModule",{value:!0})}));
|
|
@@ -4,6 +4,39 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.parser = {}));
|
|
5
5
|
}(this, (function (exports) { 'use strict';
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* A safe hasOwnProperty access
|
|
9
|
+
*/
|
|
10
|
+
function hasOwnProperty(obj, key) {
|
|
11
|
+
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function isFunction(value) {
|
|
15
|
+
return typeof value === 'function';
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function optionalFunctionValue(value) {
|
|
19
|
+
var args = [];
|
|
20
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
21
|
+
args[_i - 1] = arguments[_i];
|
|
22
|
+
}
|
|
23
|
+
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function invariant(condition,
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
28
|
+
message) {
|
|
29
|
+
if (condition) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
// If message is a string object (rather than string literal)
|
|
33
|
+
// Throw the value directly as a string
|
|
34
|
+
// Alternatively, throw an error with the message
|
|
35
|
+
throw message instanceof String
|
|
36
|
+
? message.valueOf()
|
|
37
|
+
: new Error(message ? optionalFunctionValue(message) : message);
|
|
38
|
+
}
|
|
39
|
+
|
|
7
40
|
function isNumeric(value) {
|
|
8
41
|
var str = String(value);
|
|
9
42
|
var num = Number(value);
|
|
@@ -15,35 +48,64 @@
|
|
|
15
48
|
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
16
49
|
}
|
|
17
50
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
*/
|
|
21
|
-
function hasOwnProperty(obj, key) {
|
|
22
|
-
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
51
|
+
function isPositive(value) {
|
|
52
|
+
return greaterThan(value, 0);
|
|
23
53
|
}
|
|
24
54
|
|
|
55
|
+
var Severity;
|
|
56
|
+
(function (Severity) {
|
|
57
|
+
Severity["WARNINGS"] = "warnings";
|
|
58
|
+
Severity["ERRORS"] = "errors";
|
|
59
|
+
})(Severity || (Severity = {}));
|
|
60
|
+
var SeverityCount;
|
|
61
|
+
(function (SeverityCount) {
|
|
62
|
+
SeverityCount["ERROR_COUNT"] = "errorCount";
|
|
63
|
+
SeverityCount["WARN_COUNT"] = "warnCount";
|
|
64
|
+
})(SeverityCount || (SeverityCount = {}));
|
|
65
|
+
|
|
66
|
+
// eslint-disable-next-line max-lines-per-function
|
|
25
67
|
function parse(res) {
|
|
68
|
+
invariant(res && hasOwnProperty(res, 'valid'), "Vest parser: expected argument at position 0 to be Vest's result object.");
|
|
26
69
|
var testedStorage = {};
|
|
27
70
|
var selectors = {
|
|
28
|
-
invalid:
|
|
29
|
-
tested:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
if (hasOwnProperty(testedStorage, fieldName))
|
|
34
|
-
return testedStorage[fieldName];
|
|
35
|
-
testedStorage[fieldName] =
|
|
36
|
-
hasOwnProperty(res.tests, fieldName) &&
|
|
37
|
-
greaterThan(res.tests[fieldName].testCount, 0);
|
|
38
|
-
return selectors.tested(fieldName);
|
|
39
|
-
},
|
|
40
|
-
untested: function (fieldName) {
|
|
41
|
-
return res.testCount === 0 || !selectors.tested(fieldName);
|
|
42
|
-
},
|
|
43
|
-
valid: res.isValid,
|
|
44
|
-
warning: res.hasWarnings
|
|
71
|
+
invalid: hasErrors,
|
|
72
|
+
tested: isTested,
|
|
73
|
+
untested: isUntested,
|
|
74
|
+
valid: isValid,
|
|
75
|
+
warning: hasWarnings
|
|
45
76
|
};
|
|
46
77
|
return selectors;
|
|
78
|
+
function isTested(fieldName) {
|
|
79
|
+
if (!fieldName) {
|
|
80
|
+
return isPositive(res.testCount);
|
|
81
|
+
}
|
|
82
|
+
if (hasOwnProperty(testedStorage, fieldName))
|
|
83
|
+
return testedStorage[fieldName];
|
|
84
|
+
testedStorage[fieldName] =
|
|
85
|
+
hasOwnProperty(res.tests, fieldName) &&
|
|
86
|
+
isPositive(res.tests[fieldName].testCount);
|
|
87
|
+
return selectors.tested(fieldName);
|
|
88
|
+
}
|
|
89
|
+
function isUntested(fieldName) {
|
|
90
|
+
return res.testCount === 0 || !selectors.tested(fieldName);
|
|
91
|
+
}
|
|
92
|
+
function isValid(fieldName) {
|
|
93
|
+
var _a, _b;
|
|
94
|
+
return Boolean(fieldName ? (_b = (_a = res.tests) === null || _a === void 0 ? void 0 : _a[fieldName]) === null || _b === void 0 ? void 0 : _b.valid : res.valid);
|
|
95
|
+
}
|
|
96
|
+
function hasWarnings(fieldName) {
|
|
97
|
+
return hasFailures(res, SeverityCount.WARN_COUNT, fieldName);
|
|
98
|
+
}
|
|
99
|
+
function hasErrors(fieldName) {
|
|
100
|
+
return hasFailures(res, SeverityCount.ERROR_COUNT, fieldName);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
function hasFailures(res, countKey, fieldName) {
|
|
104
|
+
var _a, _b, _c;
|
|
105
|
+
var failureCount = fieldName
|
|
106
|
+
? (_b = (_a = res.tests) === null || _a === void 0 ? void 0 : _a[fieldName]) === null || _b === void 0 ? void 0 : _b[countKey]
|
|
107
|
+
: (_c = res[countKey]) !== null && _c !== void 0 ? _c : 0;
|
|
108
|
+
return isPositive(failureCount);
|
|
47
109
|
}
|
|
48
110
|
|
|
49
111
|
exports.parse = parse;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(e
|
|
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){var e=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(e))}function n(t,n){return e(t)&&e(n)&&Number(t)>Number(n)}function r(t,e,r){var o,i,u;return n(t=r?null===(i=null===(o=t.tests)||void 0===o?void 0:o[r])||void 0===i?void 0:i[e]:null!==(u=t[e])&&void 0!==u?u:0,0)}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(t,e){if(!t)throw e instanceof String?e.valueOf():Error(e?function(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}(e):e)}(t&&Object.prototype.hasOwnProperty.call(t,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var e={},o={invalid:function(e){return r(t,u.ERROR_COUNT,e)},tested:function(r){return r?Object.prototype.hasOwnProperty.call(e,r)?e[r]:(e[r]=Object.prototype.hasOwnProperty.call(t.tests,r)&&n(t.tests[r].testCount,0),o.tested(r)):n(t.testCount,0)},untested:function(e){return 0===t.testCount||!o.tested(e)},valid:function(e){var n,r;return!!(e?null!==(r=null===(n=t.tests)||void 0===n?void 0:n[e])&&void 0!==r&&r.valid:t.valid)},warning:function(e){return r(t,u.WARN_COUNT,e)}};return o},Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
@@ -8,11 +8,26 @@
|
|
|
8
8
|
return typeof value === 'function';
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
function optionalFunctionValue(value) {
|
|
12
|
+
var args = [];
|
|
13
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
14
|
+
args[_i - 1] = arguments[_i];
|
|
15
|
+
}
|
|
16
|
+
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function invariant(condition,
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
21
|
+
message) {
|
|
22
|
+
if (condition) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
// If message is a string object (rather than string literal)
|
|
26
|
+
// Throw the value directly as a string
|
|
27
|
+
// Alternatively, throw an error with the message
|
|
28
|
+
throw message instanceof String
|
|
29
|
+
? message.valueOf()
|
|
30
|
+
: new Error(message ? optionalFunctionValue(message) : message);
|
|
16
31
|
}
|
|
17
32
|
|
|
18
33
|
var promisify = function (validatorFn) {
|
|
@@ -21,9 +36,7 @@
|
|
|
21
36
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
22
37
|
args[_i] = arguments[_i];
|
|
23
38
|
}
|
|
24
|
-
|
|
25
|
-
throwError('promisify: Expected validatorFn to be a function.');
|
|
26
|
-
}
|
|
39
|
+
invariant(isFunction(validatorFn), 'promisify: Expected validatorFn to be a function.');
|
|
27
40
|
return new Promise(function (resolve) { return validatorFn.apply(void 0, args).done(resolve); });
|
|
28
41
|
};
|
|
29
42
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n,
|
|
1
|
+
"use strict";!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(n="undefined"!=typeof globalThis?globalThis:n||self).promisify=e()}(this,(function(){function n(n,e){if(!n)throw e instanceof String?e.valueOf():Error(e?function(n){for(var e=[],o=1;o<arguments.length;o++)e[o-1]=arguments[o];return"function"==typeof n?n.apply(void 0,e):n}(e):e)}return function(e){return function(){for(var o=[],t=0;t<arguments.length;t++)o[t]=arguments[t];return n("function"==typeof e,"promisify: Expected validatorFn to be a function."),new Promise((function(n){return e.apply(void 0,o).done(n)}))}}}));
|