n4s 4.1.7 → 4.1.8-dev-ae93bf
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 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var
|
|
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};
|
|
@@ -1,50 +1,5 @@
|
|
|
1
1
|
import { ctx } from 'n4s';
|
|
2
|
-
|
|
3
|
-
function isFunction(value) {
|
|
4
|
-
return typeof value === 'function';
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
function optionalFunctionValue(value) {
|
|
8
|
-
var args = [];
|
|
9
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
10
|
-
args[_i - 1] = arguments[_i];
|
|
11
|
-
}
|
|
12
|
-
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function invariant(condition,
|
|
16
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
17
|
-
message) {
|
|
18
|
-
if (condition) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
// If message is a string object (rather than string literal)
|
|
22
|
-
// Throw the value directly as a string
|
|
23
|
-
// Alternatively, throw an error with the message
|
|
24
|
-
throw message instanceof String
|
|
25
|
-
? message.valueOf()
|
|
26
|
-
: new Error(message ? optionalFunctionValue(message) : message);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function mapFirst(array, callback) {
|
|
30
|
-
var broke = false;
|
|
31
|
-
var breakoutValue = null;
|
|
32
|
-
for (var i = 0; i < array.length; i++) {
|
|
33
|
-
callback(array[i], breakout, i);
|
|
34
|
-
if (broke) {
|
|
35
|
-
return breakoutValue;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
function breakout(value) {
|
|
39
|
-
broke = true;
|
|
40
|
-
breakoutValue = value;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function defaultTo(callback, defaultValue) {
|
|
45
|
-
var _a;
|
|
46
|
-
return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
47
|
-
}
|
|
2
|
+
import { defaultTo, assign, mapFirst, invariant, StringObject } from 'vest-utils';
|
|
48
3
|
|
|
49
4
|
function ruleReturn(pass, message) {
|
|
50
5
|
var output = { pass: pass };
|
|
@@ -78,9 +33,9 @@ function compose() {
|
|
|
78
33
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
79
34
|
composites[_i] = arguments[_i];
|
|
80
35
|
}
|
|
81
|
-
return
|
|
36
|
+
return assign(function (value) {
|
|
82
37
|
var res = run(value);
|
|
83
|
-
invariant(res.pass,
|
|
38
|
+
invariant(res.pass, StringObject(res.message));
|
|
84
39
|
}, {
|
|
85
40
|
run: run,
|
|
86
41
|
test: function (value) { return run(value).pass; }
|
|
@@ -94,9 +49,7 @@ function compose() {
|
|
|
94
49
|
so we're limiting it to a small set of functions.
|
|
95
50
|
*/
|
|
96
51
|
var res = runLazyRule(composite, value);
|
|
97
|
-
|
|
98
|
-
breakout(res);
|
|
99
|
-
}
|
|
52
|
+
breakout(!res.pass, res);
|
|
100
53
|
}));
|
|
101
54
|
});
|
|
102
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{defaultTo as n,assign as t,mapFirst as r,invariant as u,StringObject as s}from"vest-utils";import{ctx as e}from"n4s";function o(n,t){return n={pass:n},t&&(n.message=t),n}export default function(){function a(t){return e.run({value:t},(function(){return n(r(f,(function(n,r){try{var u=n.run(t)}catch(n){u=o(!1)}r(!u.pass,u)})),o(!0))}))}for(var f=[],i=0;i<arguments.length;i++)f[i]=arguments[i];return t((function(n){n=a(n),u(n.pass,s(n.message))}),{run:a,test:function(n){return a(n).pass}})}
|
|
@@ -1,36 +1,5 @@
|
|
|
1
1
|
import { enforce } from 'n4s';
|
|
2
|
-
|
|
3
|
-
function mapFirst(array, callback) {
|
|
4
|
-
var broke = false;
|
|
5
|
-
var breakoutValue = null;
|
|
6
|
-
for (var i = 0; i < array.length; i++) {
|
|
7
|
-
callback(array[i], breakout, i);
|
|
8
|
-
if (broke) {
|
|
9
|
-
return breakoutValue;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
function breakout(value) {
|
|
13
|
-
broke = true;
|
|
14
|
-
breakoutValue = value;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
function isFunction(value) {
|
|
19
|
-
return typeof value === 'function';
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
function optionalFunctionValue(value) {
|
|
23
|
-
var args = [];
|
|
24
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
25
|
-
args[_i - 1] = arguments[_i];
|
|
26
|
-
}
|
|
27
|
-
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
function defaultTo(callback, defaultValue) {
|
|
31
|
-
var _a;
|
|
32
|
-
return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
33
|
-
}
|
|
2
|
+
import { defaultTo, mapFirst, bindNot, greaterThan } from 'vest-utils';
|
|
34
3
|
|
|
35
4
|
function ruleReturn(pass, message) {
|
|
36
5
|
var output = { pass: pass };
|
|
@@ -68,9 +37,7 @@ function allOf(value) {
|
|
|
68
37
|
}
|
|
69
38
|
return defaultToPassing(mapFirst(rules, function (rule, breakout) {
|
|
70
39
|
var res = runLazyRule(rule, value);
|
|
71
|
-
|
|
72
|
-
breakout(res);
|
|
73
|
-
}
|
|
40
|
+
breakout(!res.pass, res);
|
|
74
41
|
}));
|
|
75
42
|
}
|
|
76
43
|
|
|
@@ -81,9 +48,7 @@ function anyOf(value) {
|
|
|
81
48
|
}
|
|
82
49
|
return defaultToFailing(mapFirst(rules, function (rule, breakout) {
|
|
83
50
|
var res = runLazyRule(rule, value);
|
|
84
|
-
|
|
85
|
-
breakout(res);
|
|
86
|
-
}
|
|
51
|
+
breakout(res.pass, res);
|
|
87
52
|
}));
|
|
88
53
|
}
|
|
89
54
|
|
|
@@ -94,34 +59,14 @@ function noneOf(value) {
|
|
|
94
59
|
}
|
|
95
60
|
return defaultToPassing(mapFirst(rules, function (rule, breakout) {
|
|
96
61
|
var res = runLazyRule(rule, value);
|
|
97
|
-
|
|
98
|
-
breakout(failing());
|
|
99
|
-
}
|
|
62
|
+
breakout(res.pass, failing());
|
|
100
63
|
}));
|
|
101
64
|
}
|
|
102
65
|
|
|
103
|
-
function
|
|
104
|
-
|
|
105
|
-
var num = Number(value);
|
|
106
|
-
var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
|
|
107
|
-
return Boolean(result);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
function numberEquals(value, eq) {
|
|
111
|
-
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
function lengthEquals(value, arg1) {
|
|
115
|
-
return numberEquals(value.length, arg1);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
function greaterThan(value, gt) {
|
|
119
|
-
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
function longerThan(value, arg1) {
|
|
123
|
-
return greaterThan(value.length, arg1);
|
|
66
|
+
function equals(value, arg1) {
|
|
67
|
+
return value === arg1;
|
|
124
68
|
}
|
|
69
|
+
bindNot(equals);
|
|
125
70
|
|
|
126
71
|
var REQUIRED_COUNT = 1;
|
|
127
72
|
function oneOf(value) {
|
|
@@ -129,17 +74,17 @@ function oneOf(value) {
|
|
|
129
74
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
130
75
|
rules[_i - 1] = arguments[_i];
|
|
131
76
|
}
|
|
132
|
-
var
|
|
77
|
+
var passingCount = 0;
|
|
133
78
|
rules.some(function (rule) {
|
|
134
79
|
var res = runLazyRule(rule, value);
|
|
135
80
|
if (res.pass) {
|
|
136
|
-
|
|
81
|
+
passingCount++;
|
|
137
82
|
}
|
|
138
|
-
if (
|
|
83
|
+
if (greaterThan(passingCount, REQUIRED_COUNT)) {
|
|
139
84
|
return false;
|
|
140
85
|
}
|
|
141
86
|
});
|
|
142
|
-
return ruleReturn(
|
|
87
|
+
return ruleReturn(equals(passingCount, REQUIRED_COUNT));
|
|
143
88
|
}
|
|
144
89
|
|
|
145
90
|
enforce.extend({ allOf: allOf, anyOf: anyOf, noneOf: noneOf, oneOf: oneOf });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{defaultTo as n,mapFirst as r,bindNot as t,greaterThan as f}from"vest-utils";import{enforce as o}from"n4s";function u(n,r){return n={pass:n},r&&(n.message=r),n}function e(n,r){try{return n.run(r)}catch(n){return u(!1)}}t((function(n,r){return n===r})),o.extend({allOf:function(t){for(var f=[],o=1;o<arguments.length;o++)f[o-1]=arguments[o];return n(r(f,(function(n,r){r(!(n=e(n,t)).pass,n)})),u(!0))},anyOf:function(t){for(var f=[],o=1;o<arguments.length;o++)f[o-1]=arguments[o];return n(r(f,(function(n,r){r((n=e(n,t)).pass,n)})),u(!1))},noneOf:function(t){for(var f=[],o=1;o<arguments.length;o++)f[o-1]=arguments[o];return n(r(f,(function(n,r){r((n=e(n,t)).pass,u(!1))})),u(!0))},oneOf:function(n){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];var o=0;return r.some((function(r){if(e(r,n).pass&&o++,f(o,1))return!1})),u(1===o)}});
|
|
@@ -1,40 +1,6 @@
|
|
|
1
|
+
import { bindNot, isStringValue, numberEquals, greaterThan, isArray, isNumeric, isNullish, isBoolean, isEmpty, isNotArray, isNotEmpty, isNotNull, isNotNullish, isNotNumeric, isNotUndefined, isNull, isPositive, isUndefined, lengthEquals, lengthNotEquals, longerThan, numberNotEquals, isFunction, assign, defaultTo, optionalFunctionValue, invariant, StringObject, mapFirst } from 'vest-utils';
|
|
1
2
|
import { createContext } from 'context';
|
|
2
3
|
|
|
3
|
-
var assign = Object.assign;
|
|
4
|
-
|
|
5
|
-
function isFunction(value) {
|
|
6
|
-
return typeof value === 'function';
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
function bindNot(fn) {
|
|
10
|
-
return function () {
|
|
11
|
-
var args = [];
|
|
12
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
13
|
-
args[_i] = arguments[_i];
|
|
14
|
-
}
|
|
15
|
-
return !fn.apply(void 0, args);
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function isNull(value) {
|
|
20
|
-
return value === null;
|
|
21
|
-
}
|
|
22
|
-
var isNotNull = bindNot(isNull);
|
|
23
|
-
|
|
24
|
-
function isUndefined(value) {
|
|
25
|
-
return value === undefined;
|
|
26
|
-
}
|
|
27
|
-
var isNotUndefined = bindNot(isUndefined);
|
|
28
|
-
|
|
29
|
-
function isNullish(value) {
|
|
30
|
-
return isNull(value) || isUndefined(value);
|
|
31
|
-
}
|
|
32
|
-
var isNotNullish = bindNot(isNullish);
|
|
33
|
-
|
|
34
|
-
function isStringValue(v) {
|
|
35
|
-
return String(v) === v;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
4
|
function endsWith(value, arg1) {
|
|
39
5
|
return isStringValue(value) && isStringValue(arg1) && value.endsWith(arg1);
|
|
40
6
|
}
|
|
@@ -45,35 +11,10 @@ function equals(value, arg1) {
|
|
|
45
11
|
}
|
|
46
12
|
var notEquals = bindNot(equals);
|
|
47
13
|
|
|
48
|
-
function isNumeric(value) {
|
|
49
|
-
var str = String(value);
|
|
50
|
-
var num = Number(value);
|
|
51
|
-
var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
|
|
52
|
-
return Boolean(result);
|
|
53
|
-
}
|
|
54
|
-
var isNotNumeric = bindNot(isNumeric);
|
|
55
|
-
|
|
56
|
-
function greaterThan(value, gt) {
|
|
57
|
-
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function numberEquals(value, eq) {
|
|
61
|
-
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
62
|
-
}
|
|
63
|
-
var numberNotEquals = bindNot(numberEquals);
|
|
64
|
-
|
|
65
14
|
function greaterThanOrEquals(value, gte) {
|
|
66
15
|
return numberEquals(value, gte) || greaterThan(value, gte);
|
|
67
16
|
}
|
|
68
17
|
|
|
69
|
-
// The module is named "isArrayValue" since it
|
|
70
|
-
// is conflicting with a nested npm dependency.
|
|
71
|
-
// We may need to revisit this in the future.
|
|
72
|
-
function isArray(value) {
|
|
73
|
-
return Boolean(Array.isArray(value));
|
|
74
|
-
}
|
|
75
|
-
var isNotArray = bindNot(isArray);
|
|
76
|
-
|
|
77
18
|
function inside(value, arg1) {
|
|
78
19
|
if (isArray(arg1)) {
|
|
79
20
|
return arg1.indexOf(value) !== -1;
|
|
@@ -104,46 +45,8 @@ function isBlank(value) {
|
|
|
104
45
|
}
|
|
105
46
|
var isNotBlank = bindNot(isBlank);
|
|
106
47
|
|
|
107
|
-
function isBoolean(value) {
|
|
108
|
-
return !!value === value;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
48
|
var isNotBoolean = bindNot(isBoolean);
|
|
112
49
|
|
|
113
|
-
/**
|
|
114
|
-
* A safe hasOwnProperty access
|
|
115
|
-
*/
|
|
116
|
-
function hasOwnProperty(obj, key) {
|
|
117
|
-
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
function isNumber(value) {
|
|
121
|
-
return Boolean(typeof value === 'number');
|
|
122
|
-
}
|
|
123
|
-
var isNotNumber = bindNot(isNumber);
|
|
124
|
-
|
|
125
|
-
function lengthEquals(value, arg1) {
|
|
126
|
-
return numberEquals(value.length, arg1);
|
|
127
|
-
}
|
|
128
|
-
var lengthNotEquals = bindNot(lengthEquals);
|
|
129
|
-
|
|
130
|
-
function isEmpty(value) {
|
|
131
|
-
if (!value) {
|
|
132
|
-
return true;
|
|
133
|
-
}
|
|
134
|
-
else if (isNumber(value)) {
|
|
135
|
-
return value === 0;
|
|
136
|
-
}
|
|
137
|
-
else if (hasOwnProperty(value, 'length')) {
|
|
138
|
-
return lengthEquals(value, 0);
|
|
139
|
-
}
|
|
140
|
-
else if (typeof value === 'object') {
|
|
141
|
-
return lengthEquals(Object.keys(value), 0);
|
|
142
|
-
}
|
|
143
|
-
return false;
|
|
144
|
-
}
|
|
145
|
-
var isNotEmpty = bindNot(isEmpty);
|
|
146
|
-
|
|
147
50
|
/**
|
|
148
51
|
* Validates that a given value is an even number
|
|
149
52
|
*/
|
|
@@ -159,15 +62,20 @@ function isKeyOf(key, obj) {
|
|
|
159
62
|
}
|
|
160
63
|
var isNotKeyOf = bindNot(isKeyOf);
|
|
161
64
|
|
|
162
|
-
function isNaN
|
|
65
|
+
function isNaN(value) {
|
|
163
66
|
return Number.isNaN(value);
|
|
164
67
|
}
|
|
165
|
-
var isNotNaN = bindNot(isNaN
|
|
68
|
+
var isNotNaN = bindNot(isNaN);
|
|
166
69
|
|
|
167
70
|
function isNegative(value) {
|
|
168
71
|
return lessThan(value, 0);
|
|
169
72
|
}
|
|
170
73
|
|
|
74
|
+
function isNumber(value) {
|
|
75
|
+
return Boolean(typeof value === 'number');
|
|
76
|
+
}
|
|
77
|
+
var isNotNumber = bindNot(isNumber);
|
|
78
|
+
|
|
171
79
|
/**
|
|
172
80
|
* Validates that a given value is an odd number
|
|
173
81
|
*/
|
|
@@ -178,10 +86,6 @@ var isOdd = function (value) {
|
|
|
178
86
|
return false;
|
|
179
87
|
};
|
|
180
88
|
|
|
181
|
-
function isPositive(value) {
|
|
182
|
-
return greaterThan(value, 0);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
89
|
var isNotString = bindNot(isStringValue);
|
|
186
90
|
|
|
187
91
|
function isTruthy(value) {
|
|
@@ -202,10 +106,6 @@ function isValueOf(value, objectToCheck) {
|
|
|
202
106
|
}
|
|
203
107
|
var isNotValueOf = bindNot(isValueOf);
|
|
204
108
|
|
|
205
|
-
function longerThan(value, arg1) {
|
|
206
|
-
return greaterThan(value.length, arg1);
|
|
207
|
-
}
|
|
208
|
-
|
|
209
109
|
function longerThanOrEquals(value, arg1) {
|
|
210
110
|
return greaterThanOrEquals(value.length, arg1);
|
|
211
111
|
}
|
|
@@ -266,7 +166,7 @@ function rules() {
|
|
|
266
166
|
isEven: isEven,
|
|
267
167
|
isFalsy: isFalsy,
|
|
268
168
|
isKeyOf: isKeyOf,
|
|
269
|
-
isNaN: isNaN
|
|
169
|
+
isNaN: isNaN,
|
|
270
170
|
isNegative: isNegative,
|
|
271
171
|
isNotArray: isNotArray,
|
|
272
172
|
isNotBetween: isNotBetween,
|
|
@@ -357,7 +257,7 @@ function emptyParent() {
|
|
|
357
257
|
return null;
|
|
358
258
|
}
|
|
359
259
|
|
|
360
|
-
|
|
260
|
+
/******************************************************************************
|
|
361
261
|
Copyright (c) Microsoft Corporation.
|
|
362
262
|
|
|
363
263
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -382,28 +282,6 @@ function __spreadArray(to, from, pack) {
|
|
|
382
282
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
383
283
|
}
|
|
384
284
|
|
|
385
|
-
function optionalFunctionValue(value) {
|
|
386
|
-
var args = [];
|
|
387
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
388
|
-
args[_i - 1] = arguments[_i];
|
|
389
|
-
}
|
|
390
|
-
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
function invariant(condition,
|
|
394
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
395
|
-
message) {
|
|
396
|
-
if (condition) {
|
|
397
|
-
return;
|
|
398
|
-
}
|
|
399
|
-
// If message is a string object (rather than string literal)
|
|
400
|
-
// Throw the value directly as a string
|
|
401
|
-
// Alternatively, throw an error with the message
|
|
402
|
-
throw message instanceof String
|
|
403
|
-
? message.valueOf()
|
|
404
|
-
: new Error(message ? optionalFunctionValue(message) : message);
|
|
405
|
-
}
|
|
406
|
-
|
|
407
285
|
function isProxySupported() {
|
|
408
286
|
try {
|
|
409
287
|
return isFunction(Proxy);
|
|
@@ -413,11 +291,6 @@ function isProxySupported() {
|
|
|
413
291
|
}
|
|
414
292
|
}
|
|
415
293
|
|
|
416
|
-
function defaultTo(callback, defaultValue) {
|
|
417
|
-
var _a;
|
|
418
|
-
return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
419
|
-
}
|
|
420
|
-
|
|
421
294
|
function ruleReturn(pass, message) {
|
|
422
295
|
var output = { pass: pass };
|
|
423
296
|
if (message) {
|
|
@@ -477,32 +350,17 @@ function enforceEager(value) {
|
|
|
477
350
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
478
351
|
args[_i] = arguments[_i];
|
|
479
352
|
}
|
|
480
|
-
var transformedResult =
|
|
481
|
-
ruleName,
|
|
482
|
-
|
|
483
|
-
invariant(transformedResult.pass,
|
|
353
|
+
var transformedResult = ctx.run({ value: value }, function () {
|
|
354
|
+
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
355
|
+
});
|
|
356
|
+
invariant(transformedResult.pass, isNullish(transformedResult.message)
|
|
484
357
|
? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
|
|
485
|
-
:
|
|
358
|
+
: StringObject(transformedResult.message));
|
|
486
359
|
return target;
|
|
487
360
|
};
|
|
488
361
|
}
|
|
489
362
|
}
|
|
490
363
|
|
|
491
|
-
function mapFirst(array, callback) {
|
|
492
|
-
var broke = false;
|
|
493
|
-
var breakoutValue = null;
|
|
494
|
-
for (var i = 0; i < array.length; i++) {
|
|
495
|
-
callback(array[i], breakout, i);
|
|
496
|
-
if (broke) {
|
|
497
|
-
return breakoutValue;
|
|
498
|
-
}
|
|
499
|
-
}
|
|
500
|
-
function breakout(value) {
|
|
501
|
-
broke = true;
|
|
502
|
-
breakoutValue = value;
|
|
503
|
-
}
|
|
504
|
-
}
|
|
505
|
-
|
|
506
364
|
// eslint-disable-next-line max-lines-per-function
|
|
507
365
|
function genEnforceLazy(key) {
|
|
508
366
|
var registeredRules = [];
|
|
@@ -525,9 +383,7 @@ function genEnforceLazy(key) {
|
|
|
525
383
|
return defaultToPassing(mapFirst(registeredRules, function (rule, breakout) {
|
|
526
384
|
var _a;
|
|
527
385
|
var res = ctx.run({ value: value }, function () { return rule(value); });
|
|
528
|
-
|
|
529
|
-
breakout(ruleReturn(!!res.pass, (_a = optionalFunctionValue(lazyMessage, value, res.message)) !== null && _a !== void 0 ? _a : res.message));
|
|
530
|
-
}
|
|
386
|
+
breakout(!res.pass, ruleReturn(!!res.pass, (_a = optionalFunctionValue(lazyMessage, value, res.message)) !== null && _a !== void 0 ? _a : res.message));
|
|
531
387
|
}));
|
|
532
388
|
},
|
|
533
389
|
test: function (value) { return proxy.run(value).pass; },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createContext as n}from"context";
|
|
1
|
+
import{createContext as n}from"context";import{bindNot as t,isStringValue as r,numberEquals as e,greaterThan as u,isArray as i,isNumeric as o,isNullish as a,isBoolean as s,isEmpty as f,isNotArray as c,isNotEmpty as l,isNotNull as v,isNotNullish as N,isNotNumeric as h,isNotUndefined as p,isNull as g,isPositive as m,isUndefined as y,lengthEquals as d,lengthNotEquals as E,longerThan as x,numberNotEquals as O,isFunction as q,assign as T,defaultTo as b,optionalFunctionValue as w,invariant as B,StringObject as W,mapFirst as P}from"vest-utils";function S(n,t){return r(n)&&r(t)&&n.endsWith(t)}var A=t(S);function k(n,t){return n===t}var I=t(k);function J(n,t){return e(n,t)||u(n,t)}function K(n,t){return!!(i(t)||r(t)&&r(n))&&-1!==t.indexOf(n)}var R=t(K);function U(n,t){return o(n)&&o(t)&&Number(n)<Number(t)}function V(n,t){return e(n,t)||U(n,t)}function F(n,t,r){return J(n,t)&&V(n,r)}var M=t(F);function X(n){return a(n)||r(n)&&!n.trim()}var j=t(X),z=t(s);function C(n,t){return n in t}var D=t(C);function G(n){return Number.isNaN(n)}var H=t(G);function L(n){return"number"==typeof n}var Q=t(L),Y=t(r);function Z(n){return!!n}var $=t(Z);function _(n,t){if(a(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}var nn=t(_);function tn(n,t){return t instanceof RegExp?t.test(n):!!r(t)&&new RegExp(t).test(n)}var rn=t(tn);function en(n,t){return r(n)&&r(t)&&n.startsWith(t)}var un={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:A,doesNotStartWith:t(en),endsWith:S,equals:k,greaterThan:u,greaterThanOrEquals:J,gt:u,gte:J,inside:K,isArray:i,isBetween:F,isBlank:X,isBoolean:s,isEmpty:f,isEven:function(n){return!!o(n)&&0==n%2},isFalsy:$,isKeyOf:C,isNaN:G,isNegative:function(n){return U(n,0)},isNotArray:c,isNotBetween:M,isNotBlank:j,isNotBoolean:z,isNotEmpty:l,isNotKeyOf:D,isNotNaN:H,isNotNull:v,isNotNullish:N,isNotNumber:Q,isNotNumeric:h,isNotString:Y,isNotUndefined:p,isNotValueOf:nn,isNull:g,isNullish:a,isNumber:L,isNumeric:o,isOdd:function(n){return!!o(n)&&0!=n%2},isPositive:m,isString:r,isTruthy:Z,isUndefined:y,isValueOf:_,lengthEquals:d,lengthNotEquals:E,lessThan:U,lessThanOrEquals:V,longerThan:x,longerThanOrEquals:function(n,t){return J(n.length,t)},lt:U,lte:V,matches:tn,notEquals:I,notInside:R,notMatches:rn,numberEquals:e,numberNotEquals:O,shorterThan:function(n,t){return U(n.length,t)},shorterThanOrEquals:function(n,t){return V(n.length,t)},startsWith:en};function on(n){for(var t in un){var r=un[t];q(r)&&n(t,r)}}var an=n((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?T(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:T(r,{parent:sn})}));function sn(){return null}function fn(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 cn(){try{return q(Proxy)}catch(n){return!1}}function ln(n,t){return n={pass:n},t&&(n.message=t),n}function vn(n,t,r){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return B(s(n)||n&&s(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),s(n)?ln(n):ln(n.pass,w.apply(void 0,fn([n.message,t,r],e,!1)))}function Nn(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return i=an.run({value:n},(function(){return vn.apply(void 0,fn([r.apply(void 0,fn([n],u,!1)),e,n],u,!1))})),B(i.pass,a(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):W(i.message)),t}}var r={};if(!cn())return on((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=un[r])return t(e,n,r)}});return e}function hn(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=un[e];r.push((function(n){return vn.apply(void 0,fn([o.apply(void 0,fn([n],u,!1)),e,n],u,!1))}));var a={run:function(n){return b(P(r,(function(r,e){var u,i=an.run({value:n},(function(){return r(n)}));e(!i.pass,ln(!!i.pass,null!==(u=w(t,n,i.message))&&void 0!==u?u:i.message))})),ln(!0))},test:function(n){return a.run(n).pass},message:function(n){return n&&(t=n),a}};return cn()?a=new Proxy(a,{get:function(t,r){return un[r]?n(r):t[r]}}):(on((function(t){a[t]=n(t)})),a)}}(n)}var pn=function(){function n(){if(!cn())return on((function(n){t[n]=hn(n)})),T(Nn,t)}var t={context:function(){return an.useX()},extend:function(t){T(un,t),n()}};return n(),new Proxy(T(Nn,t),{get:function(n,t){return t in n?n[t]:un[t]?hn(t):void 0}})}();export{an as ctx,pn as enforce};
|
|
@@ -1,36 +1,5 @@
|
|
|
1
1
|
import { ctx, enforce } from 'n4s';
|
|
2
|
-
|
|
3
|
-
function mapFirst(array, callback) {
|
|
4
|
-
var broke = false;
|
|
5
|
-
var breakoutValue = null;
|
|
6
|
-
for (var i = 0; i < array.length; i++) {
|
|
7
|
-
callback(array[i], breakout, i);
|
|
8
|
-
if (broke) {
|
|
9
|
-
return breakoutValue;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
function breakout(value) {
|
|
13
|
-
broke = true;
|
|
14
|
-
breakoutValue = value;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
function isFunction(value) {
|
|
19
|
-
return typeof value === 'function';
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
function optionalFunctionValue(value) {
|
|
23
|
-
var args = [];
|
|
24
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
25
|
-
args[_i - 1] = arguments[_i];
|
|
26
|
-
}
|
|
27
|
-
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
function defaultTo(callback, defaultValue) {
|
|
31
|
-
var _a;
|
|
32
|
-
return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
33
|
-
}
|
|
2
|
+
import { defaultTo, mapFirst, isNullish, hasOwnProperty } from 'vest-utils';
|
|
34
3
|
|
|
35
4
|
function ruleReturn(pass, message) {
|
|
36
5
|
var output = { pass: pass };
|
|
@@ -61,9 +30,7 @@ function runLazyRule(lazyRule, currentValue) {
|
|
|
61
30
|
function isArrayOf(inputArray, currentRule) {
|
|
62
31
|
return defaultToPassing(mapFirst(inputArray, function (currentValue, breakout, index) {
|
|
63
32
|
var res = ctx.run({ value: currentValue, set: true, meta: { index: index } }, function () { return runLazyRule(currentRule, currentValue); });
|
|
64
|
-
|
|
65
|
-
breakout(res);
|
|
66
|
-
}
|
|
33
|
+
breakout(!res.pass, res);
|
|
67
34
|
}));
|
|
68
35
|
}
|
|
69
36
|
|
|
@@ -86,18 +53,6 @@ function loose(inputObject, shapeObject) {
|
|
|
86
53
|
return passing();
|
|
87
54
|
}
|
|
88
55
|
|
|
89
|
-
function isNull(value) {
|
|
90
|
-
return value === null;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
function isUndefined(value) {
|
|
94
|
-
return value === undefined;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
function isNullish(value) {
|
|
98
|
-
return isNull(value) || isUndefined(value);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
56
|
function optional(value, ruleChain) {
|
|
102
57
|
if (isNullish(value)) {
|
|
103
58
|
return passing();
|
|
@@ -105,13 +60,6 @@ function optional(value, ruleChain) {
|
|
|
105
60
|
return runLazyRule(ruleChain, value);
|
|
106
61
|
}
|
|
107
62
|
|
|
108
|
-
/**
|
|
109
|
-
* A safe hasOwnProperty access
|
|
110
|
-
*/
|
|
111
|
-
function hasOwnProperty(obj, key) {
|
|
112
|
-
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
63
|
function shape(inputObject, shapeObject) {
|
|
116
64
|
var baseRes = loose(inputObject, shapeObject);
|
|
117
65
|
if (!baseRes.pass) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{defaultTo as r,mapFirst as n,isNullish as t,hasOwnProperty as e}from"vest-utils";import{ctx as u,enforce as o}from"n4s";function i(r,n){return r={pass:r},n&&(r.message=n),r}function a(r,n){try{return r.run(n)}catch(r){return i(!1)}}function f(r,n){function t(t){var e=r[t],o=n[t];if(!(t=u.run({value:e,set:!0,meta:{key:t}},(function(){return a(o,e)}))).pass)return{value:t}}for(var e in n){var o=t(e);if("object"==typeof o)return o.value}return i(!0)}o.extend({isArrayOf:function(t,e){return r(n(t,(function(r,n,t){n(!(t=u.run({value:r,set:!0,meta:{index:t}},(function(){return a(e,r)}))).pass,t)})),i(!0))},loose:f,optional:function(r,n){return t(r)?i(!0):a(n,r)},shape:function(r,n){var t=f(r,n);if(!t.pass)return t;for(var u in r)if(!e(n,u))return i(!1);return i(!0)}});export function partial(r){var n,t={};for(n in r)t[n]=o.optional(r[n]);return t}
|