n4s 4.1.5 → 4.1.8-dev-afe5de
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/compose.development.js +6 -53
- package/dist/cjs/compose.production.js +1 -1
- package/dist/cjs/compounds.development.js +16 -71
- package/dist/cjs/compounds.production.js +1 -1
- package/dist/cjs/n4s.development.js +74 -218
- package/dist/cjs/n4s.production.js +1 -1
- package/dist/cjs/schema.development.js +6 -58
- package/dist/cjs/schema.production.js +1 -1
- package/dist/es/compose.development.js +4 -51
- package/dist/es/compose.production.js +1 -1
- package/dist/es/compounds.development.js +11 -66
- package/dist/es/compounds.production.js +1 -1
- package/dist/es/n4s.development.js +16 -160
- package/dist/es/n4s.production.js +1 -1
- package/dist/es/schema.development.js +2 -54
- package/dist/es/schema.production.js +1 -1
- package/dist/umd/compose.development.js +19 -13
- package/dist/umd/compose.production.js +1 -1
- package/dist/umd/compounds.development.js +37 -49
- package/dist/umd/compounds.production.js +1 -1
- package/dist/umd/n4s.development.js +132 -130
- package/dist/umd/n4s.production.js +1 -1
- package/dist/umd/schema.development.js +37 -37
- package/dist/umd/schema.production.js +1 -1
- package/package.json +3 -2
- package/types/compose.d.ts +14 -30
- package/types/compounds.d.ts +14 -30
- package/types/n4s.d.ts +14 -30
- package/types/schema.d.ts +14 -30
|
@@ -2,157 +2,60 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var vestUtils = require('vest-utils');
|
|
5
6
|
var context = require('context');
|
|
6
7
|
|
|
7
|
-
var assign = Object.assign;
|
|
8
|
-
|
|
9
|
-
function isFunction(value) {
|
|
10
|
-
return typeof value === 'function';
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function bindNot(fn) {
|
|
14
|
-
return function () {
|
|
15
|
-
var args = [];
|
|
16
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
17
|
-
args[_i] = arguments[_i];
|
|
18
|
-
}
|
|
19
|
-
return !fn.apply(void 0, args);
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
function isNull(value) {
|
|
24
|
-
return value === null;
|
|
25
|
-
}
|
|
26
|
-
var isNotNull = bindNot(isNull);
|
|
27
|
-
|
|
28
|
-
function isUndefined(value) {
|
|
29
|
-
return value === undefined;
|
|
30
|
-
}
|
|
31
|
-
var isNotUndefined = bindNot(isUndefined);
|
|
32
|
-
|
|
33
|
-
function isNullish(value) {
|
|
34
|
-
return isNull(value) || isUndefined(value);
|
|
35
|
-
}
|
|
36
|
-
var isNotNullish = bindNot(isNullish);
|
|
37
|
-
|
|
38
|
-
function isStringValue(v) {
|
|
39
|
-
return String(v) === v;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
8
|
function endsWith(value, arg1) {
|
|
43
|
-
return isStringValue(value) && isStringValue(arg1) && value.endsWith(arg1);
|
|
9
|
+
return vestUtils.isStringValue(value) && vestUtils.isStringValue(arg1) && value.endsWith(arg1);
|
|
44
10
|
}
|
|
45
|
-
var doesNotEndWith = bindNot(endsWith);
|
|
11
|
+
var doesNotEndWith = vestUtils.bindNot(endsWith);
|
|
46
12
|
|
|
47
13
|
function equals(value, arg1) {
|
|
48
14
|
return value === arg1;
|
|
49
15
|
}
|
|
50
|
-
var notEquals = bindNot(equals);
|
|
51
|
-
|
|
52
|
-
function isNumeric(value) {
|
|
53
|
-
var str = String(value);
|
|
54
|
-
var num = Number(value);
|
|
55
|
-
var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
|
|
56
|
-
return Boolean(result);
|
|
57
|
-
}
|
|
58
|
-
var isNotNumeric = bindNot(isNumeric);
|
|
59
|
-
|
|
60
|
-
function greaterThan(value, gt) {
|
|
61
|
-
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
function numberEquals(value, eq) {
|
|
65
|
-
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
66
|
-
}
|
|
67
|
-
var numberNotEquals = bindNot(numberEquals);
|
|
16
|
+
var notEquals = vestUtils.bindNot(equals);
|
|
68
17
|
|
|
69
18
|
function greaterThanOrEquals(value, gte) {
|
|
70
|
-
return numberEquals(value, gte) || greaterThan(value, gte);
|
|
19
|
+
return vestUtils.numberEquals(value, gte) || vestUtils.greaterThan(value, gte);
|
|
71
20
|
}
|
|
72
21
|
|
|
73
|
-
// The module is named "isArrayValue" since it
|
|
74
|
-
// is conflicting with a nested npm dependency.
|
|
75
|
-
// We may need to revisit this in the future.
|
|
76
|
-
function isArray(value) {
|
|
77
|
-
return Boolean(Array.isArray(value));
|
|
78
|
-
}
|
|
79
|
-
var isNotArray = bindNot(isArray);
|
|
80
|
-
|
|
81
22
|
function inside(value, arg1) {
|
|
82
|
-
if (isArray(arg1)) {
|
|
23
|
+
if (vestUtils.isArray(arg1)) {
|
|
83
24
|
return arg1.indexOf(value) !== -1;
|
|
84
25
|
}
|
|
85
26
|
// both value and arg1 are strings
|
|
86
|
-
if (isStringValue(arg1) && isStringValue(value)) {
|
|
27
|
+
if (vestUtils.isStringValue(arg1) && vestUtils.isStringValue(value)) {
|
|
87
28
|
return arg1.indexOf(value) !== -1;
|
|
88
29
|
}
|
|
89
30
|
return false;
|
|
90
31
|
}
|
|
91
|
-
var notInside = bindNot(inside);
|
|
32
|
+
var notInside = vestUtils.bindNot(inside);
|
|
92
33
|
|
|
93
34
|
function lessThan(value, lt) {
|
|
94
|
-
return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
|
|
35
|
+
return vestUtils.isNumeric(value) && vestUtils.isNumeric(lt) && Number(value) < Number(lt);
|
|
95
36
|
}
|
|
96
37
|
|
|
97
38
|
function lessThanOrEquals(value, lte) {
|
|
98
|
-
return numberEquals(value, lte) || lessThan(value, lte);
|
|
39
|
+
return vestUtils.numberEquals(value, lte) || lessThan(value, lte);
|
|
99
40
|
}
|
|
100
41
|
|
|
101
42
|
function isBetween(value, min, max) {
|
|
102
43
|
return greaterThanOrEquals(value, min) && lessThanOrEquals(value, max);
|
|
103
44
|
}
|
|
104
|
-
var isNotBetween = bindNot(isBetween);
|
|
45
|
+
var isNotBetween = vestUtils.bindNot(isBetween);
|
|
105
46
|
|
|
106
47
|
function isBlank(value) {
|
|
107
|
-
return isNullish(value) || (isStringValue(value) && !value.trim());
|
|
108
|
-
}
|
|
109
|
-
var isNotBlank = bindNot(isBlank);
|
|
110
|
-
|
|
111
|
-
function isBoolean(value) {
|
|
112
|
-
return !!value === value;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
var isNotBoolean = bindNot(isBoolean);
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* A safe hasOwnProperty access
|
|
119
|
-
*/
|
|
120
|
-
function hasOwnProperty(obj, key) {
|
|
121
|
-
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
function isNumber(value) {
|
|
125
|
-
return Boolean(typeof value === 'number');
|
|
126
|
-
}
|
|
127
|
-
var isNotNumber = bindNot(isNumber);
|
|
128
|
-
|
|
129
|
-
function lengthEquals(value, arg1) {
|
|
130
|
-
return numberEquals(value.length, arg1);
|
|
48
|
+
return vestUtils.isNullish(value) || (vestUtils.isStringValue(value) && !value.trim());
|
|
131
49
|
}
|
|
132
|
-
var
|
|
50
|
+
var isNotBlank = vestUtils.bindNot(isBlank);
|
|
133
51
|
|
|
134
|
-
|
|
135
|
-
if (!value) {
|
|
136
|
-
return true;
|
|
137
|
-
}
|
|
138
|
-
else if (isNumber(value)) {
|
|
139
|
-
return value === 0;
|
|
140
|
-
}
|
|
141
|
-
else if (hasOwnProperty(value, 'length')) {
|
|
142
|
-
return lengthEquals(value, 0);
|
|
143
|
-
}
|
|
144
|
-
else if (typeof value === 'object') {
|
|
145
|
-
return lengthEquals(Object.keys(value), 0);
|
|
146
|
-
}
|
|
147
|
-
return false;
|
|
148
|
-
}
|
|
149
|
-
var isNotEmpty = bindNot(isEmpty);
|
|
52
|
+
var isNotBoolean = vestUtils.bindNot(vestUtils.isBoolean);
|
|
150
53
|
|
|
151
54
|
/**
|
|
152
55
|
* Validates that a given value is an even number
|
|
153
56
|
*/
|
|
154
57
|
var isEven = function (value) {
|
|
155
|
-
if (isNumeric(value)) {
|
|
58
|
+
if (vestUtils.isNumeric(value)) {
|
|
156
59
|
return value % 2 === 0;
|
|
157
60
|
}
|
|
158
61
|
return false;
|
|
@@ -161,40 +64,41 @@ var isEven = function (value) {
|
|
|
161
64
|
function isKeyOf(key, obj) {
|
|
162
65
|
return key in obj;
|
|
163
66
|
}
|
|
164
|
-
var isNotKeyOf = bindNot(isKeyOf);
|
|
67
|
+
var isNotKeyOf = vestUtils.bindNot(isKeyOf);
|
|
165
68
|
|
|
166
|
-
function isNaN
|
|
69
|
+
function isNaN(value) {
|
|
167
70
|
return Number.isNaN(value);
|
|
168
71
|
}
|
|
169
|
-
var isNotNaN = bindNot(isNaN
|
|
72
|
+
var isNotNaN = vestUtils.bindNot(isNaN);
|
|
170
73
|
|
|
171
74
|
function isNegative(value) {
|
|
172
75
|
return lessThan(value, 0);
|
|
173
76
|
}
|
|
174
77
|
|
|
78
|
+
function isNumber(value) {
|
|
79
|
+
return Boolean(typeof value === 'number');
|
|
80
|
+
}
|
|
81
|
+
var isNotNumber = vestUtils.bindNot(isNumber);
|
|
82
|
+
|
|
175
83
|
/**
|
|
176
84
|
* Validates that a given value is an odd number
|
|
177
85
|
*/
|
|
178
86
|
var isOdd = function (value) {
|
|
179
|
-
if (isNumeric(value)) {
|
|
87
|
+
if (vestUtils.isNumeric(value)) {
|
|
180
88
|
return value % 2 !== 0;
|
|
181
89
|
}
|
|
182
90
|
return false;
|
|
183
91
|
};
|
|
184
92
|
|
|
185
|
-
|
|
186
|
-
return greaterThan(value, 0);
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
var isNotString = bindNot(isStringValue);
|
|
93
|
+
var isNotString = vestUtils.bindNot(vestUtils.isStringValue);
|
|
190
94
|
|
|
191
95
|
function isTruthy(value) {
|
|
192
96
|
return !!value;
|
|
193
97
|
}
|
|
194
|
-
var isFalsy = bindNot(isTruthy);
|
|
98
|
+
var isFalsy = vestUtils.bindNot(isTruthy);
|
|
195
99
|
|
|
196
100
|
function isValueOf(value, objectToCheck) {
|
|
197
|
-
if (isNullish(objectToCheck)) {
|
|
101
|
+
if (vestUtils.isNullish(objectToCheck)) {
|
|
198
102
|
return false;
|
|
199
103
|
}
|
|
200
104
|
for (var key in objectToCheck) {
|
|
@@ -204,11 +108,7 @@ function isValueOf(value, objectToCheck) {
|
|
|
204
108
|
}
|
|
205
109
|
return false;
|
|
206
110
|
}
|
|
207
|
-
var isNotValueOf = bindNot(isValueOf);
|
|
208
|
-
|
|
209
|
-
function longerThan(value, arg1) {
|
|
210
|
-
return greaterThan(value.length, arg1);
|
|
211
|
-
}
|
|
111
|
+
var isNotValueOf = vestUtils.bindNot(isValueOf);
|
|
212
112
|
|
|
213
113
|
function longerThanOrEquals(value, arg1) {
|
|
214
114
|
return greaterThanOrEquals(value.length, arg1);
|
|
@@ -218,14 +118,14 @@ function matches(value, regex) {
|
|
|
218
118
|
if (regex instanceof RegExp) {
|
|
219
119
|
return regex.test(value);
|
|
220
120
|
}
|
|
221
|
-
else if (isStringValue(regex)) {
|
|
121
|
+
else if (vestUtils.isStringValue(regex)) {
|
|
222
122
|
return new RegExp(regex).test(value);
|
|
223
123
|
}
|
|
224
124
|
else {
|
|
225
125
|
return false;
|
|
226
126
|
}
|
|
227
127
|
}
|
|
228
|
-
var notMatches = bindNot(matches);
|
|
128
|
+
var notMatches = vestUtils.bindNot(matches);
|
|
229
129
|
|
|
230
130
|
function condition(value, callback) {
|
|
231
131
|
try {
|
|
@@ -245,9 +145,9 @@ function shorterThanOrEquals(value, arg1) {
|
|
|
245
145
|
}
|
|
246
146
|
|
|
247
147
|
function startsWith(value, arg1) {
|
|
248
|
-
return isStringValue(value) && isStringValue(arg1) && value.startsWith(arg1);
|
|
148
|
+
return vestUtils.isStringValue(value) && vestUtils.isStringValue(arg1) && value.startsWith(arg1);
|
|
249
149
|
}
|
|
250
|
-
var doesNotStartWith = bindNot(startsWith);
|
|
150
|
+
var doesNotStartWith = vestUtils.bindNot(startsWith);
|
|
251
151
|
|
|
252
152
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, max-lines-per-function
|
|
253
153
|
function rules() {
|
|
@@ -257,50 +157,50 @@ function rules() {
|
|
|
257
157
|
doesNotStartWith: doesNotStartWith,
|
|
258
158
|
endsWith: endsWith,
|
|
259
159
|
equals: equals,
|
|
260
|
-
greaterThan: greaterThan,
|
|
160
|
+
greaterThan: vestUtils.greaterThan,
|
|
261
161
|
greaterThanOrEquals: greaterThanOrEquals,
|
|
262
|
-
gt: greaterThan,
|
|
162
|
+
gt: vestUtils.greaterThan,
|
|
263
163
|
gte: greaterThanOrEquals,
|
|
264
164
|
inside: inside,
|
|
265
|
-
isArray: isArray,
|
|
165
|
+
isArray: vestUtils.isArray,
|
|
266
166
|
isBetween: isBetween,
|
|
267
167
|
isBlank: isBlank,
|
|
268
|
-
isBoolean: isBoolean,
|
|
269
|
-
isEmpty: isEmpty,
|
|
168
|
+
isBoolean: vestUtils.isBoolean,
|
|
169
|
+
isEmpty: vestUtils.isEmpty,
|
|
270
170
|
isEven: isEven,
|
|
271
171
|
isFalsy: isFalsy,
|
|
272
172
|
isKeyOf: isKeyOf,
|
|
273
|
-
isNaN: isNaN
|
|
173
|
+
isNaN: isNaN,
|
|
274
174
|
isNegative: isNegative,
|
|
275
|
-
isNotArray: isNotArray,
|
|
175
|
+
isNotArray: vestUtils.isNotArray,
|
|
276
176
|
isNotBetween: isNotBetween,
|
|
277
177
|
isNotBlank: isNotBlank,
|
|
278
178
|
isNotBoolean: isNotBoolean,
|
|
279
|
-
isNotEmpty: isNotEmpty,
|
|
179
|
+
isNotEmpty: vestUtils.isNotEmpty,
|
|
280
180
|
isNotKeyOf: isNotKeyOf,
|
|
281
181
|
isNotNaN: isNotNaN,
|
|
282
|
-
isNotNull: isNotNull,
|
|
283
|
-
isNotNullish: isNotNullish,
|
|
182
|
+
isNotNull: vestUtils.isNotNull,
|
|
183
|
+
isNotNullish: vestUtils.isNotNullish,
|
|
284
184
|
isNotNumber: isNotNumber,
|
|
285
|
-
isNotNumeric: isNotNumeric,
|
|
185
|
+
isNotNumeric: vestUtils.isNotNumeric,
|
|
286
186
|
isNotString: isNotString,
|
|
287
|
-
isNotUndefined: isNotUndefined,
|
|
187
|
+
isNotUndefined: vestUtils.isNotUndefined,
|
|
288
188
|
isNotValueOf: isNotValueOf,
|
|
289
|
-
isNull: isNull,
|
|
290
|
-
isNullish: isNullish,
|
|
189
|
+
isNull: vestUtils.isNull,
|
|
190
|
+
isNullish: vestUtils.isNullish,
|
|
291
191
|
isNumber: isNumber,
|
|
292
|
-
isNumeric: isNumeric,
|
|
192
|
+
isNumeric: vestUtils.isNumeric,
|
|
293
193
|
isOdd: isOdd,
|
|
294
|
-
isPositive: isPositive,
|
|
295
|
-
isString: isStringValue,
|
|
194
|
+
isPositive: vestUtils.isPositive,
|
|
195
|
+
isString: vestUtils.isStringValue,
|
|
296
196
|
isTruthy: isTruthy,
|
|
297
|
-
isUndefined: isUndefined,
|
|
197
|
+
isUndefined: vestUtils.isUndefined,
|
|
298
198
|
isValueOf: isValueOf,
|
|
299
|
-
lengthEquals: lengthEquals,
|
|
300
|
-
lengthNotEquals: lengthNotEquals,
|
|
199
|
+
lengthEquals: vestUtils.lengthEquals,
|
|
200
|
+
lengthNotEquals: vestUtils.lengthNotEquals,
|
|
301
201
|
lessThan: lessThan,
|
|
302
202
|
lessThanOrEquals: lessThanOrEquals,
|
|
303
|
-
longerThan: longerThan,
|
|
203
|
+
longerThan: vestUtils.longerThan,
|
|
304
204
|
longerThanOrEquals: longerThanOrEquals,
|
|
305
205
|
lt: lessThan,
|
|
306
206
|
lte: lessThanOrEquals,
|
|
@@ -308,8 +208,8 @@ function rules() {
|
|
|
308
208
|
notEquals: notEquals,
|
|
309
209
|
notInside: notInside,
|
|
310
210
|
notMatches: notMatches,
|
|
311
|
-
numberEquals: numberEquals,
|
|
312
|
-
numberNotEquals: numberNotEquals,
|
|
211
|
+
numberEquals: vestUtils.numberEquals,
|
|
212
|
+
numberNotEquals: vestUtils.numberNotEquals,
|
|
313
213
|
shorterThan: shorterThan,
|
|
314
214
|
shorterThanOrEquals: shorterThanOrEquals,
|
|
315
215
|
startsWith: startsWith
|
|
@@ -324,7 +224,7 @@ function getRule(ruleName) {
|
|
|
324
224
|
function eachEnforceRule(action) {
|
|
325
225
|
for (var ruleName in baseRules) {
|
|
326
226
|
var ruleFn = getRule(ruleName);
|
|
327
|
-
if (isFunction(ruleFn)) {
|
|
227
|
+
if (vestUtils.isFunction(ruleFn)) {
|
|
328
228
|
action(ruleName, ruleFn);
|
|
329
229
|
}
|
|
330
230
|
}
|
|
@@ -336,12 +236,12 @@ var ctx = context.createContext(function (ctxRef, parentContext) {
|
|
|
336
236
|
meta: ctxRef.meta || {}
|
|
337
237
|
};
|
|
338
238
|
if (!parentContext) {
|
|
339
|
-
return assign(base, {
|
|
239
|
+
return vestUtils.assign(base, {
|
|
340
240
|
parent: emptyParent
|
|
341
241
|
});
|
|
342
242
|
}
|
|
343
243
|
else if (ctxRef.set) {
|
|
344
|
-
return assign(base, {
|
|
244
|
+
return vestUtils.assign(base, {
|
|
345
245
|
parent: function () { return stripContext(parentContext); }
|
|
346
246
|
});
|
|
347
247
|
}
|
|
@@ -361,7 +261,7 @@ function emptyParent() {
|
|
|
361
261
|
return null;
|
|
362
262
|
}
|
|
363
263
|
|
|
364
|
-
|
|
264
|
+
/******************************************************************************
|
|
365
265
|
Copyright (c) Microsoft Corporation.
|
|
366
266
|
|
|
367
267
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -386,42 +286,15 @@ function __spreadArray(to, from, pack) {
|
|
|
386
286
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
387
287
|
}
|
|
388
288
|
|
|
389
|
-
function optionalFunctionValue(value) {
|
|
390
|
-
var args = [];
|
|
391
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
392
|
-
args[_i - 1] = arguments[_i];
|
|
393
|
-
}
|
|
394
|
-
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
function invariant(condition,
|
|
398
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
399
|
-
message) {
|
|
400
|
-
if (condition) {
|
|
401
|
-
return;
|
|
402
|
-
}
|
|
403
|
-
// If message is a string object (rather than string literal)
|
|
404
|
-
// Throw the value directly as a string
|
|
405
|
-
// Alternatively, throw an error with the message
|
|
406
|
-
throw message instanceof String
|
|
407
|
-
? message.valueOf()
|
|
408
|
-
: new Error(message ? optionalFunctionValue(message) : message);
|
|
409
|
-
}
|
|
410
|
-
|
|
411
289
|
function isProxySupported() {
|
|
412
290
|
try {
|
|
413
|
-
return isFunction(Proxy);
|
|
291
|
+
return vestUtils.isFunction(Proxy);
|
|
414
292
|
}
|
|
415
293
|
catch (_a) {
|
|
416
294
|
return false;
|
|
417
295
|
}
|
|
418
296
|
}
|
|
419
297
|
|
|
420
|
-
function defaultTo(callback, defaultValue) {
|
|
421
|
-
var _a;
|
|
422
|
-
return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
423
|
-
}
|
|
424
|
-
|
|
425
298
|
function ruleReturn(pass, message) {
|
|
426
299
|
var output = { pass: pass };
|
|
427
300
|
if (message) {
|
|
@@ -433,7 +306,7 @@ function passing() {
|
|
|
433
306
|
return ruleReturn(true);
|
|
434
307
|
}
|
|
435
308
|
function defaultToPassing(callback) {
|
|
436
|
-
return defaultTo(callback, passing());
|
|
309
|
+
return vestUtils.defaultTo(callback, passing());
|
|
437
310
|
}
|
|
438
311
|
|
|
439
312
|
/**
|
|
@@ -446,16 +319,16 @@ function transformResult(result, ruleName, value) {
|
|
|
446
319
|
}
|
|
447
320
|
validateResult(result);
|
|
448
321
|
// if result is boolean
|
|
449
|
-
if (isBoolean(result)) {
|
|
322
|
+
if (vestUtils.isBoolean(result)) {
|
|
450
323
|
return ruleReturn(result);
|
|
451
324
|
}
|
|
452
325
|
else {
|
|
453
|
-
return ruleReturn(result.pass, optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args, false)));
|
|
326
|
+
return ruleReturn(result.pass, vestUtils.optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args, false)));
|
|
454
327
|
}
|
|
455
328
|
}
|
|
456
329
|
function validateResult(result) {
|
|
457
330
|
// if result is boolean, or if result.pass is boolean
|
|
458
|
-
invariant(isBoolean(result) || (result && isBoolean(result.pass)), 'Incorrect return value for rule: ' + JSON.stringify(result));
|
|
331
|
+
vestUtils.invariant(vestUtils.isBoolean(result) || (result && vestUtils.isBoolean(result.pass)), 'Incorrect return value for rule: ' + JSON.stringify(result));
|
|
459
332
|
}
|
|
460
333
|
|
|
461
334
|
function enforceEager(value) {
|
|
@@ -481,32 +354,17 @@ function enforceEager(value) {
|
|
|
481
354
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
482
355
|
args[_i] = arguments[_i];
|
|
483
356
|
}
|
|
484
|
-
var transformedResult =
|
|
485
|
-
ruleName,
|
|
486
|
-
|
|
487
|
-
invariant(transformedResult.pass,
|
|
357
|
+
var transformedResult = ctx.run({ value: value }, function () {
|
|
358
|
+
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
359
|
+
});
|
|
360
|
+
vestUtils.invariant(transformedResult.pass, vestUtils.isNullish(transformedResult.message)
|
|
488
361
|
? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
|
|
489
|
-
:
|
|
362
|
+
: vestUtils.StringObject(transformedResult.message));
|
|
490
363
|
return target;
|
|
491
364
|
};
|
|
492
365
|
}
|
|
493
366
|
}
|
|
494
367
|
|
|
495
|
-
function mapFirst(array, callback) {
|
|
496
|
-
var broke = false;
|
|
497
|
-
var breakoutValue = null;
|
|
498
|
-
for (var i = 0; i < array.length; i++) {
|
|
499
|
-
callback(array[i], breakout, i);
|
|
500
|
-
if (broke) {
|
|
501
|
-
return breakoutValue;
|
|
502
|
-
}
|
|
503
|
-
}
|
|
504
|
-
function breakout(value) {
|
|
505
|
-
broke = true;
|
|
506
|
-
breakoutValue = value;
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
|
|
510
368
|
// eslint-disable-next-line max-lines-per-function
|
|
511
369
|
function genEnforceLazy(key) {
|
|
512
370
|
var registeredRules = [];
|
|
@@ -526,12 +384,10 @@ function genEnforceLazy(key) {
|
|
|
526
384
|
});
|
|
527
385
|
var proxy = {
|
|
528
386
|
run: function (value) {
|
|
529
|
-
return defaultToPassing(mapFirst(registeredRules, function (rule, breakout) {
|
|
387
|
+
return defaultToPassing(vestUtils.mapFirst(registeredRules, function (rule, breakout) {
|
|
530
388
|
var _a;
|
|
531
389
|
var res = ctx.run({ value: value }, function () { return rule(value); });
|
|
532
|
-
|
|
533
|
-
breakout(ruleReturn(!!res.pass, (_a = optionalFunctionValue(lazyMessage, value, res.message)) !== null && _a !== void 0 ? _a : res.message));
|
|
534
|
-
}
|
|
390
|
+
breakout(!res.pass, ruleReturn(!!res.pass, (_a = vestUtils.optionalFunctionValue(lazyMessage, value, res.message)) !== null && _a !== void 0 ? _a : res.message));
|
|
535
391
|
}));
|
|
536
392
|
},
|
|
537
393
|
test: function (value) { return proxy.run(value).pass; },
|
|
@@ -593,12 +449,12 @@ function genEnforce() {
|
|
|
593
449
|
var target = {
|
|
594
450
|
context: function () { return ctx.useX(); },
|
|
595
451
|
extend: function (customRules) {
|
|
596
|
-
assign(baseRules, customRules);
|
|
452
|
+
vestUtils.assign(baseRules, customRules);
|
|
597
453
|
handleNoProxy(); // TODO: REMOVE when we stop supporting ES5
|
|
598
454
|
}
|
|
599
455
|
};
|
|
600
456
|
handleNoProxy();
|
|
601
|
-
return new Proxy(assign(enforceEager, target), {
|
|
457
|
+
return new Proxy(vestUtils.assign(enforceEager, target), {
|
|
602
458
|
get: function (target, key) {
|
|
603
459
|
if (key in target) {
|
|
604
460
|
return target[key];
|
|
@@ -616,7 +472,7 @@ function genEnforce() {
|
|
|
616
472
|
// Only on the first rule access - start the chain of calls
|
|
617
473
|
target[ruleName] = genEnforceLazy(ruleName);
|
|
618
474
|
});
|
|
619
|
-
return assign(enforceEager, target);
|
|
475
|
+
return vestUtils.assign(enforceEager, target);
|
|
620
476
|
}
|
|
621
477
|
}
|
|
622
478
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("vest-utils"),t=require("context");function r(t,r){return n.isStringValue(t)&&n.isStringValue(r)&&t.endsWith(r)}var i=n.bindNot(r);function e(n,t){return n===t}var u=n.bindNot(e);function s(t,r){return n.numberEquals(t,r)||n.greaterThan(t,r)}function o(t,r){return!!(n.isArray(r)||n.isStringValue(r)&&n.isStringValue(t))&&-1!==r.indexOf(t)}var a=n.bindNot(o);function l(t,r){return n.isNumeric(t)&&n.isNumeric(r)&&Number(t)<Number(r)}function c(t,r){return n.numberEquals(t,r)||l(t,r)}function f(n,t,r){return s(n,t)&&c(n,r)}var N=n.bindNot(f);function g(t){return n.isNullish(t)||n.isStringValue(t)&&!t.trim()}var v=n.bindNot(g),h=n.bindNot(n.isBoolean),d=function(t){return!!n.isNumeric(t)&&0==t%2};function p(n,t){return n in t}var m=n.bindNot(p);function y(n){return Number.isNaN(n)}var b=n.bindNot(y);function E(n){return l(n,0)}function q(n){return"number"==typeof n}var S=n.bindNot(q),x=function(t){return!!n.isNumeric(t)&&0!=t%2},O=n.bindNot(n.isStringValue);function T(n){return!!n}var V=n.bindNot(T);function B(t,r){if(n.isNullish(r))return!1;for(var i in r)if(r[i]===t)return!0;return!1}var w=n.bindNot(B);function A(n,t){return s(n.length,t)}function P(t,r){return r instanceof RegExp?r.test(t):!!n.isStringValue(r)&&new RegExp(r).test(t)}var F=n.bindNot(P);function W(n,t){try{return t(n)}catch(n){return!1}}function U(n,t){return l(n.length,t)}function j(n,t){return c(n.length,t)}function k(t,r){return n.isStringValue(t)&&n.isStringValue(r)&&t.startsWith(r)}var I=n.bindNot(k);var J={condition:W,doesNotEndWith:i,doesNotStartWith:I,endsWith:r,equals:e,greaterThan:n.greaterThan,greaterThanOrEquals:s,gt:n.greaterThan,gte:s,inside:o,isArray:n.isArray,isBetween:f,isBlank:g,isBoolean:n.isBoolean,isEmpty:n.isEmpty,isEven:d,isFalsy:V,isKeyOf:p,isNaN:y,isNegative:E,isNotArray:n.isNotArray,isNotBetween:N,isNotBlank:v,isNotBoolean:h,isNotEmpty:n.isNotEmpty,isNotKeyOf:m,isNotNaN:b,isNotNull:n.isNotNull,isNotNullish:n.isNotNullish,isNotNumber:S,isNotNumeric:n.isNotNumeric,isNotString:O,isNotUndefined:n.isNotUndefined,isNotValueOf:w,isNull:n.isNull,isNullish:n.isNullish,isNumber:q,isNumeric:n.isNumeric,isOdd:x,isPositive:n.isPositive,isString:n.isStringValue,isTruthy:T,isUndefined:n.isUndefined,isValueOf:B,lengthEquals:n.lengthEquals,lengthNotEquals:n.lengthNotEquals,lessThan:l,lessThanOrEquals:c,longerThan:n.longerThan,longerThanOrEquals:A,lt:l,lte:c,matches:P,notEquals:u,notInside:a,notMatches:F,numberEquals:n.numberEquals,numberNotEquals:n.numberNotEquals,shorterThan:U,shorterThanOrEquals:j,startsWith:k};function K(n){return J[n]}function M(t){for(var r in J){var i=K(r);n.isFunction(i)&&t(r,i)}}var R=t.createContext((function(t,r){var i={value:t.value,meta:t.meta||{}};return r?t.set?n.assign(i,{parent:function(){return function(n){return n?{value:n.value,meta:n.meta,parent:n.parent}:n}(r)}}):r:n.assign(i,{parent:_})}));function _(){return null}function C(n,t,r){if(r||2===arguments.length)for(var i,e=0,u=t.length;e<u;e++)!i&&e in t||(i||(i=Array.prototype.slice.call(t,0,e)),i[e]=t[e]);return n.concat(i||Array.prototype.slice.call(t))}function X(){try{return n.isFunction(Proxy)}catch(n){return!1}}function z(n,t){return n={pass:n},t&&(n.message=t),n}function D(t){return n.defaultTo(t,z(!0))}function G(t,r,i){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return H(t),n.isBoolean(t)?z(t):z(t.pass,n.optionalFunctionValue.apply(void 0,C([t.message,r,i],e,!1)))}function H(t){n.invariant(n.isBoolean(t)||t&&n.isBoolean(t.pass),"Incorrect return value for rule: "+JSON.stringify(t))}function L(t){function r(r,i,e){return function(){for(var u=[],s=0;s<arguments.length;s++)u[s]=arguments[s];return s=R.run({value:t},(function(){return G.apply(void 0,C([i.apply(void 0,C([t],u,!1)),e,t],u,!1))})),n.invariant(s.pass,n.isNullish(s.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(t)):n.StringObject(s.message)),r}}var i={};if(!X())return M((function(n,t){i[n]=r(i,t,n)})),i;var e=new Proxy(i,{get:function(n,t){if(n=K(t))return r(e,n,t)}});return e}function Q(t){var r,i=[];return function t(e){return function(){for(var u=[],s=0;s<arguments.length;s++)u[s]=arguments[s];var o=K(e);i.push((function(n){return G.apply(void 0,C([o.apply(void 0,C([n],u,!1)),e,n],u,!1))}));var a={run:function(t){return D(n.mapFirst(i,(function(i,e){var u,s=R.run({value:t},(function(){return i(t)}));e(!s.pass,z(!!s.pass,null!==(u=n.optionalFunctionValue(r,t,s.message))&&void 0!==u?u:s.message))})))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return X()?a=new Proxy(a,{get:function(n,r){return K(r)?t(r):n[r]}}):(M((function(n){a[n]=t(n)})),a)}}(t)}var Y=function(){function t(){if(!X())return M((function(n){r[n]=Q(n)})),n.assign(L,r)}var r={context:function(){return R.useX()},extend:function(r){n.assign(J,r),t()}};return t(),new Proxy(n.assign(L,r),{get:function(n,t){return t in n?n[t]:K(t)?Q(t):void 0}})}();exports.ctx=R,exports.enforce=Y;
|
|
@@ -3,38 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var n4s = require('n4s');
|
|
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
|
-
function isFunction(value) {
|
|
23
|
-
return typeof value === 'function';
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
function optionalFunctionValue(value) {
|
|
27
|
-
var args = [];
|
|
28
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
29
|
-
args[_i - 1] = arguments[_i];
|
|
30
|
-
}
|
|
31
|
-
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function defaultTo(callback, defaultValue) {
|
|
35
|
-
var _a;
|
|
36
|
-
return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
37
|
-
}
|
|
6
|
+
var vestUtils = require('vest-utils');
|
|
38
7
|
|
|
39
8
|
function ruleReturn(pass, message) {
|
|
40
9
|
var output = { pass: pass };
|
|
@@ -50,7 +19,7 @@ function passing() {
|
|
|
50
19
|
return ruleReturn(true);
|
|
51
20
|
}
|
|
52
21
|
function defaultToPassing(callback) {
|
|
53
|
-
return defaultTo(callback, passing());
|
|
22
|
+
return vestUtils.defaultTo(callback, passing());
|
|
54
23
|
}
|
|
55
24
|
|
|
56
25
|
function runLazyRule(lazyRule, currentValue) {
|
|
@@ -63,11 +32,9 @@ function runLazyRule(lazyRule, currentValue) {
|
|
|
63
32
|
}
|
|
64
33
|
|
|
65
34
|
function isArrayOf(inputArray, currentRule) {
|
|
66
|
-
return defaultToPassing(mapFirst(inputArray, function (currentValue, breakout, index) {
|
|
35
|
+
return defaultToPassing(vestUtils.mapFirst(inputArray, function (currentValue, breakout, index) {
|
|
67
36
|
var res = n4s.ctx.run({ value: currentValue, set: true, meta: { index: index } }, function () { return runLazyRule(currentRule, currentValue); });
|
|
68
|
-
|
|
69
|
-
breakout(res);
|
|
70
|
-
}
|
|
37
|
+
breakout(!res.pass, res);
|
|
71
38
|
}));
|
|
72
39
|
}
|
|
73
40
|
|
|
@@ -90,39 +57,20 @@ function loose(inputObject, shapeObject) {
|
|
|
90
57
|
return passing();
|
|
91
58
|
}
|
|
92
59
|
|
|
93
|
-
function isNull(value) {
|
|
94
|
-
return value === null;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
function isUndefined(value) {
|
|
98
|
-
return value === undefined;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
function isNullish(value) {
|
|
102
|
-
return isNull(value) || isUndefined(value);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
60
|
function optional(value, ruleChain) {
|
|
106
|
-
if (isNullish(value)) {
|
|
61
|
+
if (vestUtils.isNullish(value)) {
|
|
107
62
|
return passing();
|
|
108
63
|
}
|
|
109
64
|
return runLazyRule(ruleChain, value);
|
|
110
65
|
}
|
|
111
66
|
|
|
112
|
-
/**
|
|
113
|
-
* A safe hasOwnProperty access
|
|
114
|
-
*/
|
|
115
|
-
function hasOwnProperty(obj, key) {
|
|
116
|
-
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
67
|
function shape(inputObject, shapeObject) {
|
|
120
68
|
var baseRes = loose(inputObject, shapeObject);
|
|
121
69
|
if (!baseRes.pass) {
|
|
122
70
|
return baseRes;
|
|
123
71
|
}
|
|
124
72
|
for (var key in inputObject) {
|
|
125
|
-
if (!hasOwnProperty(shapeObject, key)) {
|
|
73
|
+
if (!vestUtils.hasOwnProperty(shapeObject, key)) {
|
|
126
74
|
return failing();
|
|
127
75
|
}
|
|
128
76
|
}
|