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.
@@ -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 lengthNotEquals = bindNot(lengthEquals);
50
+ var isNotBlank = vestUtils.bindNot(isBlank);
133
51
 
134
- function isEmpty(value) {
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$1(value) {
69
+ function isNaN(value) {
167
70
  return Number.isNaN(value);
168
71
  }
169
- var isNotNaN = bindNot(isNaN$1);
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
- function isPositive(value) {
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$1,
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 = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args, false)); }),
485
- ruleName,
486
- value], args, false));
487
- invariant(transformedResult.pass, isEmpty(transformedResult.message)
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
- : new String(transformedResult.message));
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
- if (!res.pass) {
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("context"),r=Object.assign;function t(n){return"function"==typeof n}function e(n){return function(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];return!n.apply(void 0,r)}}function u(n){return null===n}var i=e(u);function o(n){return void 0===n}var a=e(o);function s(n){return u(n)||o(n)}var f=e(s);function c(n){return String(n)===n}function l(n,r){return c(n)&&c(r)&&n.endsWith(r)}var v=e(l);function N(n,r){return n===r}var p=e(N);function g(n){var r=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(r))}var h=e(g);function y(n,r){return g(n)&&g(r)&&Number(n)>Number(r)}function m(n,r){return g(n)&&g(r)&&Number(n)===Number(r)}var d=e(m);function b(n,r){return m(n,r)||y(n,r)}function O(n){return!!Array.isArray(n)}var E=e(O);function x(n,r){return!!(O(r)||c(r)&&c(n))&&-1!==r.indexOf(n)}var q=e(x);function w(n,r){return g(n)&&g(r)&&Number(n)<Number(r)}function S(n,r){return m(n,r)||w(n,r)}function T(n,r,t){return b(n,r)&&S(n,t)}var P=e(T);function A(n){return s(n)||c(n)&&!n.trim()}var B=e(A);function W(n){return!!n===n}var j=e(W);function k(n){return"number"==typeof n}var F=e(k);function I(n,r){return m(n.length,r)}var J=e(I);function K(n){return!n||(k(n)?0===n:function(n,r){return Object.prototype.hasOwnProperty.call(n,r)}(n,"length")?I(n,0):"object"==typeof n&&I(Object.keys(n),0))}var M=e(K),R=function(n){return!!g(n)&&0==n%2};function U(n,r){return n in r}var V=e(U);function _(n){return Number.isNaN(n)}var C=e(_);function X(n){return w(n,0)}var z=function(n){return!!g(n)&&0!=n%2};function D(n){return y(n,0)}var G=e(c);function H(n){return!!n}var L=e(H);function Q(n,r){if(s(r))return!1;for(var t in r)if(r[t]===n)return!0;return!1}var Y=e(Q);function Z(n,r){return y(n.length,r)}function $(n,r){return b(n.length,r)}function nn(n,r){return r instanceof RegExp?r.test(n):!!c(r)&&new RegExp(r).test(n)}var rn=e(nn);function tn(n,r){try{return r(n)}catch(n){return!1}}function en(n,r){return w(n.length,r)}function un(n,r){return S(n.length,r)}function on(n,r){return c(n)&&c(r)&&n.startsWith(r)}var an=e(on);var sn={condition:tn,doesNotEndWith:v,doesNotStartWith:an,endsWith:l,equals:N,greaterThan:y,greaterThanOrEquals:b,gt:y,gte:b,inside:x,isArray:O,isBetween:T,isBlank:A,isBoolean:W,isEmpty:K,isEven:R,isFalsy:L,isKeyOf:U,isNaN:_,isNegative:X,isNotArray:E,isNotBetween:P,isNotBlank:B,isNotBoolean:j,isNotEmpty:M,isNotKeyOf:V,isNotNaN:C,isNotNull:i,isNotNullish:f,isNotNumber:F,isNotNumeric:h,isNotString:G,isNotUndefined:a,isNotValueOf:Y,isNull:u,isNullish:s,isNumber:k,isNumeric:g,isOdd:z,isPositive:D,isString:c,isTruthy:H,isUndefined:o,isValueOf:Q,lengthEquals:I,lengthNotEquals:J,lessThan:w,lessThanOrEquals:S,longerThan:Z,longerThanOrEquals:$,lt:w,lte:S,matches:nn,notEquals:p,notInside:q,notMatches:rn,numberEquals:m,numberNotEquals:d,shorterThan:en,shorterThanOrEquals:un,startsWith:on};function fn(n){return sn[n]}function cn(n){for(var r in sn){var e=fn(r);t(e)&&n(r,e)}}var ln=n.createContext((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?r(e,{parent:function(){return function(n){return n?{value:n.value,meta:n.meta,parent:n.parent}:n}(t)}}):t:r(e,{parent:vn})}));function vn(){return null}function Nn(n,r,t){if(t||2===arguments.length)for(var e,u=0,i=r.length;u<i;u++)!e&&u in r||(e||(e=Array.prototype.slice.call(r,0,u)),e[u]=r[u]);return n.concat(e||Array.prototype.slice.call(r))}function pn(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 gn(n,r){if(!n)throw r instanceof String?r.valueOf():Error(r?pn(r):r)}function hn(){try{return t(Proxy)}catch(n){return!1}}function yn(n,r){return n={pass:n},r&&(n.message=r),n}function mn(n){return function(n,r){var t;return null!==(t=pn(n))&&void 0!==t?t:r}(n,yn(!0))}function dn(n,r,t){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return bn(n),W(n)?yn(n):yn(n.pass,pn.apply(void 0,Nn([n.message,r,t],e,!1)))}function bn(n){gn(W(n)||n&&W(n.pass),"Incorrect return value for rule: "+JSON.stringify(n))}function On(n){function r(r,t,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return gn((i=dn.apply(void 0,Nn([ln.run({value:n},(function(){return t.apply(void 0,Nn([n],u,!1))})),e,n],u,!1))).pass,K(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(i.message)),r}}var t={};if(!hn())return cn((function(n,e){t[n]=r(t,e,n)})),t;var e=new Proxy(t,{get:function(n,t){if(n=fn(t))return r(e,n,t)}});return e}function En(n,r){function t(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(r(n[i],t,i),e)return u}function xn(n){var r,t=[];return function n(e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=fn(e);t.push((function(n){return dn.apply(void 0,Nn([o.apply(void 0,Nn([n],u,!1)),e,n],u,!1))}));var a={run:function(n){return mn(En(t,(function(t,e){var u,i=ln.run({value:n},(function(){return t(n)}));i.pass||e(yn(!!i.pass,null!==(u=pn(r,n,i.message))&&void 0!==u?u:i.message))})))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return hn()?a=new Proxy(a,{get:function(r,t){return fn(t)?n(t):r[t]}}):(cn((function(r){a[r]=n(r)})),a)}}(n)}var qn=function(){function n(){if(!hn())return cn((function(n){t[n]=xn(n)})),r(On,t)}var t={context:function(){return ln.useX()},extend:function(t){r(sn,t),n()}};return n(),new Proxy(r(On,t),{get:function(n,r){return r in n?n[r]:fn(r)?xn(r):void 0}})}();exports.ctx=ln,exports.enforce=qn;
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
- if (!res.pass) {
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
  }