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
|
@@ -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
|
|
38
|
+
return vestUtils.assign(function (value) {
|
|
84
39
|
var res = run(value);
|
|
85
|
-
invariant(res.pass,
|
|
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
|
-
|
|
100
|
-
breakout(res);
|
|
101
|
-
}
|
|
54
|
+
breakout(!res.pass, res);
|
|
102
55
|
}));
|
|
103
56
|
});
|
|
104
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var n=require("n4s")
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
100
|
-
breakout(failing());
|
|
101
|
-
}
|
|
64
|
+
breakout(res.pass, failing());
|
|
102
65
|
}));
|
|
103
66
|
}
|
|
104
67
|
|
|
105
|
-
function
|
|
106
|
-
|
|
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
|
|
79
|
+
var passingCount = 0;
|
|
135
80
|
rules.some(function (rule) {
|
|
136
81
|
var res = runLazyRule(rule, value);
|
|
137
82
|
if (res.pass) {
|
|
138
|
-
|
|
83
|
+
passingCount++;
|
|
139
84
|
}
|
|
140
|
-
if (
|
|
85
|
+
if (vestUtils.greaterThan(passingCount, REQUIRED_COUNT)) {
|
|
141
86
|
return false;
|
|
142
87
|
}
|
|
143
88
|
});
|
|
144
|
-
return ruleReturn(
|
|
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")
|
|
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))}});
|