n4s 4.1.8 → 4.1.9-dev-c786f7

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