n4s 4.1.7 → 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
|
@@ -16,6 +16,13 @@
|
|
|
16
16
|
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
function defaultTo(value, defaultValue) {
|
|
20
|
+
var _a;
|
|
21
|
+
return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
var assign = Object.assign;
|
|
25
|
+
|
|
19
26
|
function invariant(condition,
|
|
20
27
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
21
28
|
message) {
|
|
@@ -29,6 +36,10 @@
|
|
|
29
36
|
? message.valueOf()
|
|
30
37
|
: new Error(message ? optionalFunctionValue(message) : message);
|
|
31
38
|
}
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
40
|
+
function StringObject(value) {
|
|
41
|
+
return new String(optionalFunctionValue(value));
|
|
42
|
+
}
|
|
32
43
|
|
|
33
44
|
function mapFirst(array, callback) {
|
|
34
45
|
var broke = false;
|
|
@@ -39,17 +50,14 @@
|
|
|
39
50
|
return breakoutValue;
|
|
40
51
|
}
|
|
41
52
|
}
|
|
42
|
-
function breakout(value) {
|
|
43
|
-
|
|
44
|
-
|
|
53
|
+
function breakout(conditional, value) {
|
|
54
|
+
if (conditional) {
|
|
55
|
+
broke = true;
|
|
56
|
+
breakoutValue = value;
|
|
57
|
+
}
|
|
45
58
|
}
|
|
46
59
|
}
|
|
47
60
|
|
|
48
|
-
function defaultTo(callback, defaultValue) {
|
|
49
|
-
var _a;
|
|
50
|
-
return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
61
|
function ruleReturn(pass, message) {
|
|
54
62
|
var output = { pass: pass };
|
|
55
63
|
if (message) {
|
|
@@ -82,9 +90,9 @@
|
|
|
82
90
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
83
91
|
composites[_i] = arguments[_i];
|
|
84
92
|
}
|
|
85
|
-
return
|
|
93
|
+
return assign(function (value) {
|
|
86
94
|
var res = run(value);
|
|
87
|
-
invariant(res.pass,
|
|
95
|
+
invariant(res.pass, StringObject(res.message));
|
|
88
96
|
}, {
|
|
89
97
|
run: run,
|
|
90
98
|
test: function (value) { return run(value).pass; }
|
|
@@ -98,9 +106,7 @@
|
|
|
98
106
|
so we're limiting it to a small set of functions.
|
|
99
107
|
*/
|
|
100
108
|
var res = runLazyRule(composite, value);
|
|
101
|
-
|
|
102
|
-
breakout(res);
|
|
103
|
-
}
|
|
109
|
+
breakout(!res.pass, res);
|
|
104
110
|
}));
|
|
105
111
|
});
|
|
106
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("n4s")):"function"==typeof define&&define.amd?define(["n4s"],t):(n="undefined"!=typeof globalThis?globalThis:n||self).compose=t(n.n4s)}(this,(function(n){function t(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return"function"==typeof n?n.apply(void 0,t):n}function e(n,t){function e(n){r=!0,o=
|
|
1
|
+
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("n4s")):"function"==typeof define&&define.amd?define(["n4s"],t):(n="undefined"!=typeof globalThis?globalThis:n||self).compose=t(n.n4s)}(this,(function(n){function t(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return"function"==typeof n?n.apply(void 0,t):n}function e(n,e){var r;return null!==(r=t(n))&&void 0!==r?r:t(e)}function r(n,t){function e(n,t){n&&(r=!0,o=t)}for(var r=!1,o=null,u=0;u<n.length;u++)if(t(n[u],e,u),r)return o}function o(n,t){return n={pass:n},t&&(n.message=t),n}var u=Object.assign;return function(){function f(t){return n.ctx.run({value:t},(function(){return e(r(i,(function(n,e){try{var r=n.run(t)}catch(n){r=o(!1)}e(!r.pass,r)})),o(!0))}))}for(var i=[],s=0;s<arguments.length;s++)i[s]=arguments[s];return u((function(n){n=f(n);var e=new String(t(n.message));if(!n.pass)throw e instanceof String?e.valueOf():Error(e?t(e):e)}),{run:f,test:function(n){return f(n).pass}})}}));
|
|
@@ -4,19 +4,15 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.n4s));
|
|
5
5
|
}(this, (function (n4s) { 'use strict';
|
|
6
6
|
|
|
7
|
-
function
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
function breakout(value) {
|
|
17
|
-
broke = true;
|
|
18
|
-
breakoutValue = value;
|
|
19
|
-
}
|
|
7
|
+
function isNumeric(value) {
|
|
8
|
+
var str = String(value);
|
|
9
|
+
var num = Number(value);
|
|
10
|
+
var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
|
|
11
|
+
return Boolean(result);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function greaterThan(value, gt) {
|
|
15
|
+
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
20
16
|
}
|
|
21
17
|
|
|
22
18
|
function isFunction(value) {
|
|
@@ -31,9 +27,26 @@
|
|
|
31
27
|
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
32
28
|
}
|
|
33
29
|
|
|
34
|
-
function defaultTo(
|
|
30
|
+
function defaultTo(value, defaultValue) {
|
|
35
31
|
var _a;
|
|
36
|
-
return (_a = optionalFunctionValue(
|
|
32
|
+
return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function mapFirst(array, callback) {
|
|
36
|
+
var broke = false;
|
|
37
|
+
var breakoutValue = null;
|
|
38
|
+
for (var i = 0; i < array.length; i++) {
|
|
39
|
+
callback(array[i], breakout, i);
|
|
40
|
+
if (broke) {
|
|
41
|
+
return breakoutValue;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function breakout(conditional, value) {
|
|
45
|
+
if (conditional) {
|
|
46
|
+
broke = true;
|
|
47
|
+
breakoutValue = value;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
37
50
|
}
|
|
38
51
|
|
|
39
52
|
function ruleReturn(pass, message) {
|
|
@@ -72,9 +85,7 @@
|
|
|
72
85
|
}
|
|
73
86
|
return defaultToPassing(mapFirst(rules, function (rule, breakout) {
|
|
74
87
|
var res = runLazyRule(rule, value);
|
|
75
|
-
|
|
76
|
-
breakout(res);
|
|
77
|
-
}
|
|
88
|
+
breakout(!res.pass, res);
|
|
78
89
|
}));
|
|
79
90
|
}
|
|
80
91
|
|
|
@@ -85,9 +96,7 @@
|
|
|
85
96
|
}
|
|
86
97
|
return defaultToFailing(mapFirst(rules, function (rule, breakout) {
|
|
87
98
|
var res = runLazyRule(rule, value);
|
|
88
|
-
|
|
89
|
-
breakout(res);
|
|
90
|
-
}
|
|
99
|
+
breakout(res.pass, res);
|
|
91
100
|
}));
|
|
92
101
|
}
|
|
93
102
|
|
|
@@ -98,33 +107,12 @@
|
|
|
98
107
|
}
|
|
99
108
|
return defaultToPassing(mapFirst(rules, function (rule, breakout) {
|
|
100
109
|
var res = runLazyRule(rule, value);
|
|
101
|
-
|
|
102
|
-
breakout(failing());
|
|
103
|
-
}
|
|
110
|
+
breakout(res.pass, failing());
|
|
104
111
|
}));
|
|
105
112
|
}
|
|
106
113
|
|
|
107
|
-
function
|
|
108
|
-
|
|
109
|
-
var num = Number(value);
|
|
110
|
-
var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
|
|
111
|
-
return Boolean(result);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
function numberEquals(value, eq) {
|
|
115
|
-
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
function lengthEquals(value, arg1) {
|
|
119
|
-
return numberEquals(value.length, arg1);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
function greaterThan(value, gt) {
|
|
123
|
-
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
function longerThan(value, arg1) {
|
|
127
|
-
return greaterThan(value.length, arg1);
|
|
114
|
+
function equals(value, arg1) {
|
|
115
|
+
return value === arg1;
|
|
128
116
|
}
|
|
129
117
|
|
|
130
118
|
var REQUIRED_COUNT = 1;
|
|
@@ -133,17 +121,17 @@
|
|
|
133
121
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
134
122
|
rules[_i - 1] = arguments[_i];
|
|
135
123
|
}
|
|
136
|
-
var
|
|
124
|
+
var passingCount = 0;
|
|
137
125
|
rules.some(function (rule) {
|
|
138
126
|
var res = runLazyRule(rule, value);
|
|
139
127
|
if (res.pass) {
|
|
140
|
-
|
|
128
|
+
passingCount++;
|
|
141
129
|
}
|
|
142
|
-
if (
|
|
130
|
+
if (greaterThan(passingCount, REQUIRED_COUNT)) {
|
|
143
131
|
return false;
|
|
144
132
|
}
|
|
145
133
|
});
|
|
146
|
-
return ruleReturn(
|
|
134
|
+
return ruleReturn(equals(passingCount, REQUIRED_COUNT));
|
|
147
135
|
}
|
|
148
136
|
|
|
149
137
|
n4s.enforce.extend({ allOf: allOf, anyOf: anyOf, noneOf: noneOf, oneOf: oneOf });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("n4s")):"function"==typeof define&&define.amd?define(["n4s"],e):e((n="undefined"!=typeof globalThis?globalThis:n||self).n4s)}(this,(function(n){function e(n
|
|
1
|
+
"use strict";!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("n4s")):"function"==typeof define&&define.amd?define(["n4s"],e):e((n="undefined"!=typeof globalThis?globalThis:n||self).n4s)}(this,(function(n){function e(n){var e=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(e))}function t(n){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return"function"==typeof n?n.apply(void 0,e):n}function r(n,e){var r;return null!==(r=t(n))&&void 0!==r?r:t(e)}function f(n,e){function t(n,e){n&&(r=!0,f=e)}for(var r=!1,f=null,u=0;u<n.length;u++)if(e(n[u],t,u),r)return f}function u(n,e){return n={pass:n},e&&(n.message=e),n}function o(n,e){try{return n.run(e)}catch(n){return u(!1)}}n.enforce.extend({allOf:function(n){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return r(f(e,(function(e,t){t(!(e=o(e,n)).pass,e)})),u(!0))},anyOf:function(n){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return r(f(e,(function(e,t){t((e=o(e,n)).pass,e)})),u(!1))},noneOf:function(n){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return r(f(e,(function(e,t){t((e=o(e,n)).pass,u(!1))})),u(!0))},oneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var f=0;return t.some((function(t){if(o(t,n).pass&&f++,e(t=f)&&e(1)&&Number(t)>Number(1))return!1})),u(1===f)}})}));
|
|
@@ -4,12 +4,6 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.n4s = {}));
|
|
5
5
|
}(this, (function (exports) { 'use strict';
|
|
6
6
|
|
|
7
|
-
var assign = Object.assign;
|
|
8
|
-
|
|
9
|
-
function isFunction(value) {
|
|
10
|
-
return typeof value === 'function';
|
|
11
|
-
}
|
|
12
|
-
|
|
13
7
|
function bindNot(fn) {
|
|
14
8
|
return function () {
|
|
15
9
|
var args = [];
|
|
@@ -20,6 +14,32 @@
|
|
|
20
14
|
};
|
|
21
15
|
}
|
|
22
16
|
|
|
17
|
+
function isNumeric(value) {
|
|
18
|
+
var str = String(value);
|
|
19
|
+
var num = Number(value);
|
|
20
|
+
var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
|
|
21
|
+
return Boolean(result);
|
|
22
|
+
}
|
|
23
|
+
var isNotNumeric = bindNot(isNumeric);
|
|
24
|
+
|
|
25
|
+
function numberEquals(value, eq) {
|
|
26
|
+
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
27
|
+
}
|
|
28
|
+
var numberNotEquals = bindNot(numberEquals);
|
|
29
|
+
|
|
30
|
+
function lengthEquals(value, arg1) {
|
|
31
|
+
return numberEquals(value.length, arg1);
|
|
32
|
+
}
|
|
33
|
+
var lengthNotEquals = bindNot(lengthEquals);
|
|
34
|
+
|
|
35
|
+
function greaterThan(value, gt) {
|
|
36
|
+
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function longerThan(value, arg1) {
|
|
40
|
+
return greaterThan(value.length, arg1);
|
|
41
|
+
}
|
|
42
|
+
|
|
23
43
|
function isNull(value) {
|
|
24
44
|
return value === null;
|
|
25
45
|
}
|
|
@@ -35,48 +55,114 @@
|
|
|
35
55
|
}
|
|
36
56
|
var isNotNullish = bindNot(isNullish);
|
|
37
57
|
|
|
58
|
+
function isFunction(value) {
|
|
59
|
+
return typeof value === 'function';
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function optionalFunctionValue(value) {
|
|
63
|
+
var args = [];
|
|
64
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
65
|
+
args[_i - 1] = arguments[_i];
|
|
66
|
+
}
|
|
67
|
+
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function defaultTo(value, defaultValue) {
|
|
71
|
+
var _a;
|
|
72
|
+
return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// The module is named "isArrayValue" since it
|
|
76
|
+
// is conflicting with a nested npm dependency.
|
|
77
|
+
// We may need to revisit this in the future.
|
|
78
|
+
function isArray(value) {
|
|
79
|
+
return Boolean(Array.isArray(value));
|
|
80
|
+
}
|
|
81
|
+
var isNotArray = bindNot(isArray);
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* A safe hasOwnProperty access
|
|
85
|
+
*/
|
|
86
|
+
function hasOwnProperty(obj, key) {
|
|
87
|
+
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
var assign = Object.assign;
|
|
91
|
+
|
|
92
|
+
function invariant(condition,
|
|
93
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
94
|
+
message) {
|
|
95
|
+
if (condition) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
// If message is a string object (rather than string literal)
|
|
99
|
+
// Throw the value directly as a string
|
|
100
|
+
// Alternatively, throw an error with the message
|
|
101
|
+
throw message instanceof String
|
|
102
|
+
? message.valueOf()
|
|
103
|
+
: new Error(message ? optionalFunctionValue(message) : message);
|
|
104
|
+
}
|
|
105
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
106
|
+
function StringObject(value) {
|
|
107
|
+
return new String(optionalFunctionValue(value));
|
|
108
|
+
}
|
|
109
|
+
|
|
38
110
|
function isStringValue(v) {
|
|
39
111
|
return String(v) === v;
|
|
40
112
|
}
|
|
41
113
|
|
|
42
|
-
function
|
|
43
|
-
return
|
|
114
|
+
function isBoolean(value) {
|
|
115
|
+
return !!value === value;
|
|
44
116
|
}
|
|
45
|
-
var doesNotEndWith = bindNot(endsWith);
|
|
46
117
|
|
|
47
|
-
function
|
|
48
|
-
|
|
118
|
+
function mapFirst(array, callback) {
|
|
119
|
+
var broke = false;
|
|
120
|
+
var breakoutValue = null;
|
|
121
|
+
for (var i = 0; i < array.length; i++) {
|
|
122
|
+
callback(array[i], breakout, i);
|
|
123
|
+
if (broke) {
|
|
124
|
+
return breakoutValue;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
function breakout(conditional, value) {
|
|
128
|
+
if (conditional) {
|
|
129
|
+
broke = true;
|
|
130
|
+
breakoutValue = value;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
49
133
|
}
|
|
50
|
-
var notEquals = bindNot(equals);
|
|
51
134
|
|
|
52
|
-
function
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
135
|
+
function isEmpty(value) {
|
|
136
|
+
if (!value) {
|
|
137
|
+
return true;
|
|
138
|
+
}
|
|
139
|
+
else if (hasOwnProperty(value, 'length')) {
|
|
140
|
+
return lengthEquals(value, 0);
|
|
141
|
+
}
|
|
142
|
+
else if (typeof value === 'object') {
|
|
143
|
+
return lengthEquals(Object.keys(value), 0);
|
|
144
|
+
}
|
|
145
|
+
return false;
|
|
57
146
|
}
|
|
58
|
-
var
|
|
147
|
+
var isNotEmpty = bindNot(isEmpty);
|
|
59
148
|
|
|
60
|
-
function
|
|
61
|
-
return
|
|
149
|
+
function isPositive(value) {
|
|
150
|
+
return greaterThan(value, 0);
|
|
62
151
|
}
|
|
63
152
|
|
|
64
|
-
function
|
|
65
|
-
return
|
|
153
|
+
function endsWith(value, arg1) {
|
|
154
|
+
return isStringValue(value) && isStringValue(arg1) && value.endsWith(arg1);
|
|
66
155
|
}
|
|
67
|
-
var
|
|
156
|
+
var doesNotEndWith = bindNot(endsWith);
|
|
68
157
|
|
|
69
|
-
function
|
|
70
|
-
return
|
|
158
|
+
function equals(value, arg1) {
|
|
159
|
+
return value === arg1;
|
|
71
160
|
}
|
|
161
|
+
var notEquals = bindNot(equals);
|
|
72
162
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
// We may need to revisit this in the future.
|
|
76
|
-
function isArray(value) {
|
|
77
|
-
return Boolean(Array.isArray(value));
|
|
163
|
+
function greaterThanOrEquals(value, gte) {
|
|
164
|
+
return numberEquals(value, gte) || greaterThan(value, gte);
|
|
78
165
|
}
|
|
79
|
-
var isNotArray = bindNot(isArray);
|
|
80
166
|
|
|
81
167
|
function inside(value, arg1) {
|
|
82
168
|
if (isArray(arg1)) {
|
|
@@ -108,46 +194,8 @@
|
|
|
108
194
|
}
|
|
109
195
|
var isNotBlank = bindNot(isBlank);
|
|
110
196
|
|
|
111
|
-
function isBoolean(value) {
|
|
112
|
-
return !!value === value;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
197
|
var isNotBoolean = bindNot(isBoolean);
|
|
116
198
|
|
|
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);
|
|
131
|
-
}
|
|
132
|
-
var lengthNotEquals = bindNot(lengthEquals);
|
|
133
|
-
|
|
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);
|
|
150
|
-
|
|
151
199
|
/**
|
|
152
200
|
* Validates that a given value is an even number
|
|
153
201
|
*/
|
|
@@ -172,6 +220,11 @@
|
|
|
172
220
|
return lessThan(value, 0);
|
|
173
221
|
}
|
|
174
222
|
|
|
223
|
+
function isNumber(value) {
|
|
224
|
+
return Boolean(typeof value === 'number');
|
|
225
|
+
}
|
|
226
|
+
var isNotNumber = bindNot(isNumber);
|
|
227
|
+
|
|
175
228
|
/**
|
|
176
229
|
* Validates that a given value is an odd number
|
|
177
230
|
*/
|
|
@@ -182,10 +235,6 @@
|
|
|
182
235
|
return false;
|
|
183
236
|
};
|
|
184
237
|
|
|
185
|
-
function isPositive(value) {
|
|
186
|
-
return greaterThan(value, 0);
|
|
187
|
-
}
|
|
188
|
-
|
|
189
238
|
var isNotString = bindNot(isStringValue);
|
|
190
239
|
|
|
191
240
|
function isTruthy(value) {
|
|
@@ -206,10 +255,6 @@
|
|
|
206
255
|
}
|
|
207
256
|
var isNotValueOf = bindNot(isValueOf);
|
|
208
257
|
|
|
209
|
-
function longerThan(value, arg1) {
|
|
210
|
-
return greaterThan(value.length, arg1);
|
|
211
|
-
}
|
|
212
|
-
|
|
213
258
|
function longerThanOrEquals(value, arg1) {
|
|
214
259
|
return greaterThanOrEquals(value.length, arg1);
|
|
215
260
|
}
|
|
@@ -330,33 +375,6 @@
|
|
|
330
375
|
}
|
|
331
376
|
}
|
|
332
377
|
|
|
333
|
-
function optionalFunctionValue(value) {
|
|
334
|
-
var args = [];
|
|
335
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
336
|
-
args[_i - 1] = arguments[_i];
|
|
337
|
-
}
|
|
338
|
-
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
function defaultTo(callback, defaultValue) {
|
|
342
|
-
var _a;
|
|
343
|
-
return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
function invariant(condition,
|
|
347
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
348
|
-
message) {
|
|
349
|
-
if (condition) {
|
|
350
|
-
return;
|
|
351
|
-
}
|
|
352
|
-
// If message is a string object (rather than string literal)
|
|
353
|
-
// Throw the value directly as a string
|
|
354
|
-
// Alternatively, throw an error with the message
|
|
355
|
-
throw message instanceof String
|
|
356
|
-
? message.valueOf()
|
|
357
|
-
: new Error(message ? optionalFunctionValue(message) : message);
|
|
358
|
-
}
|
|
359
|
-
|
|
360
378
|
// eslint-disable-next-line max-lines-per-function
|
|
361
379
|
function createContext(init) {
|
|
362
380
|
var storage = { ancestry: [] };
|
|
@@ -367,8 +385,9 @@
|
|
|
367
385
|
useX: useX
|
|
368
386
|
};
|
|
369
387
|
function useX(errorMessage) {
|
|
370
|
-
|
|
371
|
-
|
|
388
|
+
var ctx = use();
|
|
389
|
+
invariant(ctx, defaultTo(errorMessage, 'Context was used after it was closed'));
|
|
390
|
+
return ctx;
|
|
372
391
|
}
|
|
373
392
|
function run(ctxRef, fn) {
|
|
374
393
|
var _a;
|
|
@@ -438,7 +457,7 @@
|
|
|
438
457
|
return null;
|
|
439
458
|
}
|
|
440
459
|
|
|
441
|
-
|
|
460
|
+
/******************************************************************************
|
|
442
461
|
Copyright (c) Microsoft Corporation.
|
|
443
462
|
|
|
444
463
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -531,32 +550,17 @@
|
|
|
531
550
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
532
551
|
args[_i] = arguments[_i];
|
|
533
552
|
}
|
|
534
|
-
var transformedResult =
|
|
535
|
-
ruleName,
|
|
536
|
-
|
|
537
|
-
invariant(transformedResult.pass,
|
|
553
|
+
var transformedResult = ctx.run({ value: value }, function () {
|
|
554
|
+
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
555
|
+
});
|
|
556
|
+
invariant(transformedResult.pass, isNullish(transformedResult.message)
|
|
538
557
|
? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
|
|
539
|
-
:
|
|
558
|
+
: StringObject(transformedResult.message));
|
|
540
559
|
return target;
|
|
541
560
|
};
|
|
542
561
|
}
|
|
543
562
|
}
|
|
544
563
|
|
|
545
|
-
function mapFirst(array, callback) {
|
|
546
|
-
var broke = false;
|
|
547
|
-
var breakoutValue = null;
|
|
548
|
-
for (var i = 0; i < array.length; i++) {
|
|
549
|
-
callback(array[i], breakout, i);
|
|
550
|
-
if (broke) {
|
|
551
|
-
return breakoutValue;
|
|
552
|
-
}
|
|
553
|
-
}
|
|
554
|
-
function breakout(value) {
|
|
555
|
-
broke = true;
|
|
556
|
-
breakoutValue = value;
|
|
557
|
-
}
|
|
558
|
-
}
|
|
559
|
-
|
|
560
564
|
// eslint-disable-next-line max-lines-per-function
|
|
561
565
|
function genEnforceLazy(key) {
|
|
562
566
|
var registeredRules = [];
|
|
@@ -579,9 +583,7 @@
|
|
|
579
583
|
return defaultToPassing(mapFirst(registeredRules, function (rule, breakout) {
|
|
580
584
|
var _a;
|
|
581
585
|
var res = ctx.run({ value: value }, function () { return rule(value); });
|
|
582
|
-
|
|
583
|
-
breakout(ruleReturn(!!res.pass, (_a = optionalFunctionValue(lazyMessage, value, res.message)) !== null && _a !== void 0 ? _a : res.message));
|
|
584
|
-
}
|
|
586
|
+
breakout(!res.pass, ruleReturn(!!res.pass, (_a = optionalFunctionValue(lazyMessage, value, res.message)) !== null && _a !== void 0 ? _a : res.message));
|
|
585
587
|
}));
|
|
586
588
|
},
|
|
587
589
|
test: function (value) { return proxy.run(value).pass; },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).n4s={})}(this,(function(n){function t(n){return
|
|
1
|
+
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).n4s={})}(this,(function(n){function t(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function r(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function e(n,t){return r(n)&&r(t)&&Number(n)===Number(t)}function u(n,t){return e(n.length,t)}function i(n,t){return r(n)&&r(t)&&Number(n)>Number(t)}function o(n){return null===n}function s(n){return void 0===n}function f(n){return null===n||s(n)}function a(n){return"function"==typeof n}function c(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return a(n)?n.apply(void 0,t):n}function l(n,t){var r;return null!==(r=c(n))&&void 0!==r?r:c(t)}function p(n){return!!Array.isArray(n)}function v(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?c(t):t)}function h(n){return String(n)===n}function N(n){return!!n===n}function g(n,t){function r(n,t){n&&(e=!0,u=t)}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function d(n){return!n||(Object.prototype.hasOwnProperty.call(n,"length")?u(n,0):"object"==typeof n&&u(Object.keys(n),0))}function y(n,t){return h(n)&&h(t)&&n.endsWith(t)}function m(n,t){return n===t}function b(n,t){return e(n,t)||i(n,t)}function O(n,t){return!!(p(t)||h(t)&&h(n))&&-1!==t.indexOf(n)}function x(n,t){return r(n)&&r(t)&&Number(n)<Number(t)}function E(n,t){return e(n,t)||x(n,t)}function w(n,t,r){return b(n,t)&&E(n,r)}function T(n){return f(n)||h(n)&&!n.trim()}function q(n,t){return n in t}function S(n){return Number.isNaN(n)}function j(n){return"number"==typeof n}function P(n){return!!n}function A(n,t){if(f(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function B(n,t){return t instanceof RegExp?t.test(n):!!h(t)&&new RegExp(t).test(n)}function W(n,t){return h(n)&&h(t)&&n.startsWith(t)}function k(n){for(var t in cn){var r=cn[t];a(r)&&n(t,r)}}function F(){return null}function I(n,t,r){if(r||2===arguments.length)for(var e,u=0,i=t.length;u<i;u++)!e&&u in t||(e||(e=Array.prototype.slice.call(t,0,u)),e[u]=t[u]);return n.concat(e||Array.prototype.slice.call(t))}function J(){try{return a(Proxy)}catch(n){return!1}}function K(n,t){return n={pass:n},t&&(n.message=t),n}function M(n,t,r){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return v(N(n)||n&&N(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),N(n)?K(n):K(n.pass,c.apply(void 0,I([n.message,t,r],e,!1)))}function R(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return v((i=ln.run({value:n},(function(){return M.apply(void 0,I([r.apply(void 0,I([n],u,!1)),e,n],u,!1))}))).pass,f(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(c(i.message))),t}}var r={};if(!J())return k((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=cn[r])return t(e,n,r)}});return e}function U(n){var t,r=[];return function n(e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=cn[e];r.push((function(n){return M.apply(void 0,I([o.apply(void 0,I([n],u,!1)),e,n],u,!1))}));var s={run:function(n){return l(g(r,(function(r,e){var u,i=ln.run({value:n},(function(){return r(n)}));e(!i.pass,K(!!i.pass,null!==(u=c(t,n,i.message))&&void 0!==u?u:i.message))})),K(!0))},test:function(n){return s.run(n).pass},message:function(n){return n&&(t=n),s}};return J()?s=new Proxy(s,{get:function(t,r){return cn[r]?n(r):t[r]}}):(k((function(t){s[t]=n(t)})),s)}}(n)}var V=t(r),X=t(e),_=t(u),z=t(o),C=t(s),D=t(f),G=t(p),H=Object.assign,L=t(d),Q=t(y),Y=t(m),Z=t(O),$=t(w),nn=t(T),tn=t(N),rn=t(q),en=t(S),un=t(j),on=t(h),sn=t(P),fn=t(A),an=t(B),cn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:Q,doesNotStartWith:t(W),endsWith:y,equals:m,greaterThan:i,greaterThanOrEquals:b,gt:i,gte:b,inside:O,isArray:p,isBetween:w,isBlank:T,isBoolean:N,isEmpty:d,isEven:function(n){return!!r(n)&&0==n%2},isFalsy:sn,isKeyOf:q,isNaN:S,isNegative:function(n){return x(n,0)},isNotArray:G,isNotBetween:$,isNotBlank:nn,isNotBoolean:tn,isNotEmpty:L,isNotKeyOf:rn,isNotNaN:en,isNotNull:z,isNotNullish:D,isNotNumber:un,isNotNumeric:V,isNotString:on,isNotUndefined:C,isNotValueOf:fn,isNull:o,isNullish:f,isNumber:j,isNumeric:r,isOdd:function(n){return!!r(n)&&0!=n%2},isPositive:function(n){return i(n,0)},isString:h,isTruthy:P,isUndefined:s,isValueOf:A,lengthEquals:u,lengthNotEquals:_,lessThan:x,lessThanOrEquals:E,longerThan:function(n,t){return i(n.length,t)},longerThanOrEquals:function(n,t){return b(n.length,t)},lt:x,lte:E,matches:B,notEquals:Y,notInside:Z,notMatches:an,numberEquals:e,numberNotEquals:X,shorterThan:function(n,t){return x(n.length,t)},shorterThanOrEquals:function(n,t){return E(n.length,t)},startsWith:W},ln=function(n){function t(t,u){var i,o,s=r();return t=H({},s||{},null!==(i=c(n,t,s))&&void 0!==i?i:t),i=e.ctx=Object.freeze(t),e.ancestry.unshift(i),u=u(i),e.ancestry.shift(),e.ctx=null!==(o=e.ancestry[0])&&void 0!==o?o:null,u}function r(){return e.ctx}var e={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:r,useX:function(n){var t=r();return v(t,l(n,"Context was used after it was closed")),t}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?H(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:H(r,{parent:F})}));V=function(){function n(){if(!J())return k((function(n){t[n]=U(n)})),H(R,t)}var t={context:function(){return ln.useX()},extend:function(t){H(cn,t),n()}};return n(),new Proxy(H(R,t),{get:function(n,t){return t in n?n[t]:cn[t]?U(t):void 0}})}(),n.ctx=ln,n.enforce=V,Object.defineProperty(n,"__esModule",{value:!0})}));
|