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.
@@ -1,52 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var n4s = require('n4s');
4
-
5
- function isFunction(value) {
6
- return typeof value === 'function';
7
- }
8
-
9
- function optionalFunctionValue(value) {
10
- var args = [];
11
- for (var _i = 1; _i < arguments.length; _i++) {
12
- args[_i - 1] = arguments[_i];
13
- }
14
- return isFunction(value) ? value.apply(void 0, args) : value;
15
- }
16
-
17
- function invariant(condition,
18
- // eslint-disable-next-line @typescript-eslint/ban-types
19
- message) {
20
- if (condition) {
21
- return;
22
- }
23
- // If message is a string object (rather than string literal)
24
- // Throw the value directly as a string
25
- // Alternatively, throw an error with the message
26
- throw message instanceof String
27
- ? message.valueOf()
28
- : new Error(message ? optionalFunctionValue(message) : message);
29
- }
30
-
31
- function mapFirst(array, callback) {
32
- var broke = false;
33
- var breakoutValue = null;
34
- for (var i = 0; i < array.length; i++) {
35
- callback(array[i], breakout, i);
36
- if (broke) {
37
- return breakoutValue;
38
- }
39
- }
40
- function breakout(value) {
41
- broke = true;
42
- breakoutValue = value;
43
- }
44
- }
45
-
46
- function defaultTo(callback, defaultValue) {
47
- var _a;
48
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
49
- }
4
+ var vestUtils = require('vest-utils');
50
5
 
51
6
  function ruleReturn(pass, message) {
52
7
  var output = { pass: pass };
@@ -62,7 +17,7 @@ function passing() {
62
17
  return ruleReturn(true);
63
18
  }
64
19
  function defaultToPassing(callback) {
65
- return defaultTo(callback, passing());
20
+ return vestUtils.defaultTo(callback, passing());
66
21
  }
67
22
 
68
23
  function runLazyRule(lazyRule, currentValue) {
@@ -80,25 +35,23 @@ function compose() {
80
35
  for (var _i = 0; _i < arguments.length; _i++) {
81
36
  composites[_i] = arguments[_i];
82
37
  }
83
- return Object.assign(function (value) {
38
+ return vestUtils.assign(function (value) {
84
39
  var res = run(value);
85
- invariant(res.pass, new String(res.message));
40
+ vestUtils.invariant(res.pass, vestUtils.StringObject(res.message));
86
41
  }, {
87
42
  run: run,
88
43
  test: function (value) { return run(value).pass; }
89
44
  });
90
45
  function run(value) {
91
46
  return n4s.ctx.run({ value: value }, function () {
92
- return defaultToPassing(mapFirst(composites, function (composite, breakout) {
47
+ return defaultToPassing(vestUtils.mapFirst(composites, function (composite, breakout) {
93
48
  /* HACK: Just a small white lie. ~~HELP WANTED~~.
94
49
  The ideal is that instead of `LazyRuleRunners` We would simply use `Lazy` to begin with.
95
50
  The problem is that lazy rules can't really be passed to this function due to some generic hell
96
51
  so we're limiting it to a small set of functions.
97
52
  */
98
53
  var res = runLazyRule(composite, value);
99
- if (!res.pass) {
100
- breakout(res);
101
- }
54
+ breakout(!res.pass, res);
102
55
  }));
103
56
  });
104
57
  }
@@ -1 +1 @@
1
- "use strict";var n=require("n4s");function r(n){return"function"==typeof n}function t(n){for(var t=[],u=1;u<arguments.length;u++)t[u-1]=arguments[u];return r(n)?n.apply(void 0,t):n}function u(n,r){if(!n)throw r instanceof String?r.valueOf():Error(r?t(r):r)}function e(n,r){function t(n){u=!0,e=n}for(var u=!1,e=null,o=0;o<n.length;o++)if(r(n[o],t,o),u)return e}function o(n,r){return n={pass:n},r&&(n.message=r),n}function i(n){return function(n,r){var u;return null!==(u=t(n))&&void 0!==u?u:r}(n,o(!0))}function f(n,r){try{return n.run(r)}catch(n){return o(!1)}}module.exports=function(){function r(r){return n.ctx.run({value:r},(function(){return i(e(t,(function(n,t){(n=f(n,r)).pass||t(n)})))}))}for(var t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];return Object.assign((function(n){u((n=r(n)).pass,new String(n.message))}),{run:r,test:function(n){return r(n).pass}})};
1
+ "use strict";var n=require("n4s"),t=require("vest-utils");function r(n,t){return n={pass:n},t&&(n.message=t),n}function u(n){return t.defaultTo(n,r(!0))}function e(n,t){try{return n.run(t)}catch(n){return r(!1)}}module.exports=function(){function r(r){return n.ctx.run({value:r},(function(){return u(t.mapFirst(s,(function(n,t){t(!(n=e(n,r)).pass,n)})))}))}for(var s=[],i=0;i<arguments.length;i++)s[i]=arguments[i];return t.assign((function(n){n=r(n),t.invariant(n.pass,t.StringObject(n.message))}),{run:r,test:function(n){return r(n).pass}})};
@@ -1,38 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var n4s = require('n4s');
4
-
5
- function mapFirst(array, callback) {
6
- var broke = false;
7
- var breakoutValue = null;
8
- for (var i = 0; i < array.length; i++) {
9
- callback(array[i], breakout, i);
10
- if (broke) {
11
- return breakoutValue;
12
- }
13
- }
14
- function breakout(value) {
15
- broke = true;
16
- breakoutValue = value;
17
- }
18
- }
19
-
20
- function isFunction(value) {
21
- return typeof value === 'function';
22
- }
23
-
24
- function optionalFunctionValue(value) {
25
- var args = [];
26
- for (var _i = 1; _i < arguments.length; _i++) {
27
- args[_i - 1] = arguments[_i];
28
- }
29
- return isFunction(value) ? value.apply(void 0, args) : value;
30
- }
31
-
32
- function defaultTo(callback, defaultValue) {
33
- var _a;
34
- return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
35
- }
4
+ var vestUtils = require('vest-utils');
36
5
 
37
6
  function ruleReturn(pass, message) {
38
7
  var output = { pass: pass };
@@ -48,10 +17,10 @@ function passing() {
48
17
  return ruleReturn(true);
49
18
  }
50
19
  function defaultToFailing(callback) {
51
- return defaultTo(callback, failing());
20
+ return vestUtils.defaultTo(callback, failing());
52
21
  }
53
22
  function defaultToPassing(callback) {
54
- return defaultTo(callback, passing());
23
+ return vestUtils.defaultTo(callback, passing());
55
24
  }
56
25
 
57
26
  function runLazyRule(lazyRule, currentValue) {
@@ -68,11 +37,9 @@ function allOf(value) {
68
37
  for (var _i = 1; _i < arguments.length; _i++) {
69
38
  rules[_i - 1] = arguments[_i];
70
39
  }
71
- return defaultToPassing(mapFirst(rules, function (rule, breakout) {
40
+ return defaultToPassing(vestUtils.mapFirst(rules, function (rule, breakout) {
72
41
  var res = runLazyRule(rule, value);
73
- if (!res.pass) {
74
- breakout(res);
75
- }
42
+ breakout(!res.pass, res);
76
43
  }));
77
44
  }
78
45
 
@@ -81,11 +48,9 @@ function anyOf(value) {
81
48
  for (var _i = 1; _i < arguments.length; _i++) {
82
49
  rules[_i - 1] = arguments[_i];
83
50
  }
84
- return defaultToFailing(mapFirst(rules, function (rule, breakout) {
51
+ return defaultToFailing(vestUtils.mapFirst(rules, function (rule, breakout) {
85
52
  var res = runLazyRule(rule, value);
86
- if (res.pass) {
87
- breakout(res);
88
- }
53
+ breakout(res.pass, res);
89
54
  }));
90
55
  }
91
56
 
@@ -94,36 +59,16 @@ function noneOf(value) {
94
59
  for (var _i = 1; _i < arguments.length; _i++) {
95
60
  rules[_i - 1] = arguments[_i];
96
61
  }
97
- return defaultToPassing(mapFirst(rules, function (rule, breakout) {
62
+ return defaultToPassing(vestUtils.mapFirst(rules, function (rule, breakout) {
98
63
  var res = runLazyRule(rule, value);
99
- if (res.pass) {
100
- breakout(failing());
101
- }
64
+ breakout(res.pass, failing());
102
65
  }));
103
66
  }
104
67
 
105
- function isNumeric(value) {
106
- var str = String(value);
107
- var num = Number(value);
108
- var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
109
- return Boolean(result);
110
- }
111
-
112
- function numberEquals(value, eq) {
113
- return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
114
- }
115
-
116
- function lengthEquals(value, arg1) {
117
- return numberEquals(value.length, arg1);
118
- }
119
-
120
- function greaterThan(value, gt) {
121
- return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
122
- }
123
-
124
- function longerThan(value, arg1) {
125
- return greaterThan(value.length, arg1);
68
+ function equals(value, arg1) {
69
+ return value === arg1;
126
70
  }
71
+ vestUtils.bindNot(equals);
127
72
 
128
73
  var REQUIRED_COUNT = 1;
129
74
  function oneOf(value) {
@@ -131,17 +76,17 @@ function oneOf(value) {
131
76
  for (var _i = 1; _i < arguments.length; _i++) {
132
77
  rules[_i - 1] = arguments[_i];
133
78
  }
134
- var passing = [];
79
+ var passingCount = 0;
135
80
  rules.some(function (rule) {
136
81
  var res = runLazyRule(rule, value);
137
82
  if (res.pass) {
138
- passing.push(res);
83
+ passingCount++;
139
84
  }
140
- if (longerThan(passing, REQUIRED_COUNT)) {
85
+ if (vestUtils.greaterThan(passingCount, REQUIRED_COUNT)) {
141
86
  return false;
142
87
  }
143
88
  });
144
- return ruleReturn(lengthEquals(passing, REQUIRED_COUNT));
89
+ return ruleReturn(equals(passingCount, REQUIRED_COUNT));
145
90
  }
146
91
 
147
92
  n4s.enforce.extend({ allOf: allOf, anyOf: anyOf, noneOf: noneOf, oneOf: oneOf });
@@ -1 +1 @@
1
- "use strict";var n=require("n4s");function r(n,r){function t(n){u=!0,e=n}for(var u=!1,e=null,f=0;f<n.length;f++)if(r(n[f],t,f),u)return e}function t(n){return"function"==typeof n}function u(n,r){var u;return null!==(u=function(n){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];return t(n)?n.apply(void 0,r):n}(n))&&void 0!==u?u:r}function e(n,r){return n={pass:n},r&&(n.message=r),n}function f(){return e(!1)}function o(n){return u(n,f())}function i(n){return u(n,e(!0))}function c(n,r){try{return n.run(r)}catch(n){return f()}}function a(n){var r=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(r))}function s(n,r){return function(n,r){return a(n)&&a(r)&&Number(n)===Number(r)}(n.length,r)}function l(n,r){return function(n,r){return a(n)&&a(r)&&Number(n)>Number(r)}(n.length,r)}n.enforce.extend({allOf:function(n){for(var t=[],u=1;u<arguments.length;u++)t[u-1]=arguments[u];return i(r(t,(function(r,t){(r=c(r,n)).pass||t(r)})))},anyOf:function(n){for(var t=[],u=1;u<arguments.length;u++)t[u-1]=arguments[u];return o(r(t,(function(r,t){(r=c(r,n)).pass&&t(r)})))},noneOf:function(n){for(var t=[],u=1;u<arguments.length;u++)t[u-1]=arguments[u];return i(r(t,(function(r,t){c(r,n).pass&&t(f())})))},oneOf:function(n){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];var u=[];return r.some((function(r){if((r=c(r,n)).pass&&u.push(r),l(u,1))return!1})),e(s(u,1))}});
1
+ "use strict";var n=require("n4s"),r=require("vest-utils");function t(n,r){return n={pass:n},r&&(n.message=r),n}function e(){return t(!1)}function u(n){return r.defaultTo(n,e())}function f(n){return r.defaultTo(n,t(!0))}function o(n,r){try{return n.run(r)}catch(n){return e()}}function i(n,r){return n===r}r.bindNot(i);n.enforce.extend({allOf:function(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return f(r.mapFirst(t,(function(r,t){t(!(r=o(r,n)).pass,r)})))},anyOf:function(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return u(r.mapFirst(t,(function(r,t){t((r=o(r,n)).pass,r)})))},noneOf:function(n){for(var t=[],u=1;u<arguments.length;u++)t[u-1]=arguments[u];return f(r.mapFirst(t,(function(r,t){t((r=o(r,n)).pass,e())})))},oneOf:function(n){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];var f=0;return e.some((function(t){if(o(t,n).pass&&f++,r.greaterThan(f,1))return!1})),t(i(f,1))}});