@nu-art/ts-common 0.102.104 → 0.102.106
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/package.json
CHANGED
|
@@ -14,9 +14,11 @@ export declare const tsValidateString: (length?: number, mandatory?: boolean) =>
|
|
|
14
14
|
export declare const tsValidateNumber: (mandatory?: boolean) => Validator<number>;
|
|
15
15
|
export declare const tsValidateBoolean: (mandatory?: boolean) => Validator<boolean>;
|
|
16
16
|
export declare const tsValidateValue: (values: string[], mandatory?: boolean) => Validator<string>;
|
|
17
|
-
export declare const
|
|
17
|
+
export declare const tsValidateIsInRange: (ranges: [number, number][], mandatory?: boolean) => Validator<number>;
|
|
18
|
+
export declare const tsValidateRange: (mandatory?: boolean) => Validator<[number, number] | undefined>;
|
|
18
19
|
export declare const tsValidateRegexp: (regexp: RegExp, mandatory?: boolean) => Validator<string>;
|
|
19
20
|
export declare const tsValidateMD5: (mandatory?: boolean) => Validator<string>;
|
|
20
21
|
export declare const tsValidateTimestamp: (interval?: number, mandatory?: boolean) => Validator<number>;
|
|
21
22
|
export declare const tsValidateAudit: (range?: RangeTimestamp) => (audit?: AuditBy) => any;
|
|
23
|
+
export declare const tsValidateNonMandatoryObject: <T>(validator: ValidatorTypeResolver<T>) => ((input?: T | undefined) => any)[];
|
|
22
24
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.tsValidateAudit = exports.tsValidateTimestamp = exports.tsValidateMD5 = exports.tsValidateRegexp = exports.tsValidateRange = exports.tsValidateValue = exports.tsValidateBoolean = exports.tsValidateNumber = exports.tsValidateString = exports.tsValidateArray = exports.tsValidateUnionV3 = exports.tsValidateCustom = exports.tsValidateUnion = exports.tsValidateDynamicObject = void 0;
|
|
3
|
+
exports.tsValidateNonMandatoryObject = exports.tsValidateAudit = exports.tsValidateTimestamp = exports.tsValidateMD5 = exports.tsValidateRegexp = exports.tsValidateRange = exports.tsValidateIsInRange = exports.tsValidateValue = exports.tsValidateBoolean = exports.tsValidateNumber = exports.tsValidateString = exports.tsValidateArray = exports.tsValidateUnionV3 = exports.tsValidateCustom = exports.tsValidateUnion = exports.tsValidateDynamicObject = void 0;
|
|
4
4
|
var tools_1 = require("../utils/tools");
|
|
5
5
|
var validator_core_1 = require("./validator-core");
|
|
6
6
|
var date_time_tools_1 = require("../utils/date-time-tools");
|
|
@@ -8,7 +8,8 @@ var array_tools_1 = require("../utils/array-tools");
|
|
|
8
8
|
var object_tools_1 = require("../utils/object-tools");
|
|
9
9
|
var tsValidateDynamicObject = function (valuesValidator, keysValidator, mandatory) {
|
|
10
10
|
if (mandatory === void 0) { mandatory = true; }
|
|
11
|
-
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
11
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
12
|
+
function (input) {
|
|
12
13
|
if (!input)
|
|
13
14
|
return;
|
|
14
15
|
var keys = (0, object_tools_1._keys)(input);
|
|
@@ -26,7 +27,8 @@ var tsValidateDynamicObject = function (valuesValidator, keysValidator, mandator
|
|
|
26
27
|
exports.tsValidateDynamicObject = tsValidateDynamicObject;
|
|
27
28
|
var tsValidateUnion = function (validators, mandatory) {
|
|
28
29
|
if (mandatory === void 0) { mandatory = true; }
|
|
29
|
-
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
30
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
31
|
+
function (input) {
|
|
30
32
|
var results = [];
|
|
31
33
|
for (var _i = 0, validators_1 = validators; _i < validators_1.length; _i++) {
|
|
32
34
|
var validator = validators_1[_i];
|
|
@@ -35,19 +37,22 @@ var tsValidateUnion = function (validators, mandatory) {
|
|
|
35
37
|
return;
|
|
36
38
|
results.push(_res);
|
|
37
39
|
}
|
|
38
|
-
return (0, array_tools_1.filterInstances)(results).length !== 0 ? ['Input does not match any of the possible types',
|
|
40
|
+
return (0, array_tools_1.filterInstances)(results).length !== 0 ? ['Input does not match any of the possible types',
|
|
41
|
+
results] : undefined;
|
|
39
42
|
}];
|
|
40
43
|
};
|
|
41
44
|
exports.tsValidateUnion = tsValidateUnion;
|
|
42
45
|
var tsValidateCustom = function (processor, mandatory) {
|
|
43
46
|
if (mandatory === void 0) { mandatory = true; }
|
|
44
|
-
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
47
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
48
|
+
processor];
|
|
45
49
|
};
|
|
46
50
|
exports.tsValidateCustom = tsValidateCustom;
|
|
47
51
|
var typeFunc = function (type) { return typeof type; };
|
|
48
52
|
var tsValidateUnionV3 = function (validatorObject, mandatory) {
|
|
49
53
|
if (mandatory === void 0) { mandatory = true; }
|
|
50
|
-
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
54
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
55
|
+
function (input) {
|
|
51
56
|
var _type = typeof input;
|
|
52
57
|
return (0, object_tools_1._keys)(validatorObject)
|
|
53
58
|
.includes(_type) ? (0, validator_core_1.tsValidateResult)(input, validatorObject[_type]) : 'Input does not match any of the possible types';
|
|
@@ -57,7 +62,8 @@ exports.tsValidateUnionV3 = tsValidateUnionV3;
|
|
|
57
62
|
var tsValidateArray = function (validator, mandatory, minimumLength) {
|
|
58
63
|
if (mandatory === void 0) { mandatory = true; }
|
|
59
64
|
if (minimumLength === void 0) { minimumLength = 0; }
|
|
60
|
-
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
65
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
66
|
+
function (input) {
|
|
61
67
|
var results = [];
|
|
62
68
|
var _input = input;
|
|
63
69
|
if (_input.length < minimumLength)
|
|
@@ -72,7 +78,8 @@ exports.tsValidateArray = tsValidateArray;
|
|
|
72
78
|
var tsValidateString = function (length, mandatory) {
|
|
73
79
|
if (length === void 0) { length = -1; }
|
|
74
80
|
if (mandatory === void 0) { mandatory = true; }
|
|
75
|
-
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
81
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
82
|
+
function (input) {
|
|
76
83
|
// noinspection SuspiciousTypeOfGuard
|
|
77
84
|
if (typeof input !== 'string')
|
|
78
85
|
return "input is not a string";
|
|
@@ -86,7 +93,8 @@ var tsValidateString = function (length, mandatory) {
|
|
|
86
93
|
exports.tsValidateString = tsValidateString;
|
|
87
94
|
var tsValidateNumber = function (mandatory) {
|
|
88
95
|
if (mandatory === void 0) { mandatory = true; }
|
|
89
|
-
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
96
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
97
|
+
function (input) {
|
|
90
98
|
// noinspection SuspiciousTypeOfGuard
|
|
91
99
|
if (typeof input === 'number')
|
|
92
100
|
return;
|
|
@@ -96,7 +104,8 @@ var tsValidateNumber = function (mandatory) {
|
|
|
96
104
|
exports.tsValidateNumber = tsValidateNumber;
|
|
97
105
|
var tsValidateBoolean = function (mandatory) {
|
|
98
106
|
if (mandatory === void 0) { mandatory = true; }
|
|
99
|
-
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
107
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
108
|
+
function (input) {
|
|
100
109
|
// noinspection SuspiciousTypeOfGuard
|
|
101
110
|
if (typeof input === 'boolean')
|
|
102
111
|
return;
|
|
@@ -106,16 +115,18 @@ var tsValidateBoolean = function (mandatory) {
|
|
|
106
115
|
exports.tsValidateBoolean = tsValidateBoolean;
|
|
107
116
|
var tsValidateValue = function (values, mandatory) {
|
|
108
117
|
if (mandatory === void 0) { mandatory = true; }
|
|
109
|
-
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
118
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
119
|
+
function (input) {
|
|
110
120
|
if (values.includes(input))
|
|
111
121
|
return;
|
|
112
122
|
return "Input is not valid:\n input: ".concat(input, "\n options: ").concat((0, tools_1.__stringify)(values), "\n");
|
|
113
123
|
}];
|
|
114
124
|
};
|
|
115
125
|
exports.tsValidateValue = tsValidateValue;
|
|
116
|
-
var
|
|
126
|
+
var tsValidateIsInRange = function (ranges, mandatory) {
|
|
117
127
|
if (mandatory === void 0) { mandatory = true; }
|
|
118
|
-
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
128
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
129
|
+
function (input) {
|
|
119
130
|
for (var _i = 0, ranges_1 = ranges; _i < ranges_1.length; _i++) {
|
|
120
131
|
var range = ranges_1[_i];
|
|
121
132
|
if (range[0] <= input && input <= range[1])
|
|
@@ -124,10 +135,26 @@ var tsValidateRange = function (ranges, mandatory) {
|
|
|
124
135
|
return "Input is not valid:\n input: ".concat(input, "\n Expected Range: ").concat((0, tools_1.__stringify)(ranges), "\n");
|
|
125
136
|
}];
|
|
126
137
|
};
|
|
138
|
+
exports.tsValidateIsInRange = tsValidateIsInRange;
|
|
139
|
+
var tsValidateRange = function (mandatory) {
|
|
140
|
+
if (mandatory === void 0) { mandatory = true; }
|
|
141
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
142
|
+
function (input) {
|
|
143
|
+
if (!input)
|
|
144
|
+
return 'Missing range';
|
|
145
|
+
if (typeof input[0] !== 'number' || typeof input[1] !== 'number')
|
|
146
|
+
return "Got range value that's not a number";
|
|
147
|
+
if (input[0] > input[1]) {
|
|
148
|
+
return 'Range min is larger than range max';
|
|
149
|
+
}
|
|
150
|
+
return;
|
|
151
|
+
}];
|
|
152
|
+
};
|
|
127
153
|
exports.tsValidateRange = tsValidateRange;
|
|
128
154
|
var tsValidateRegexp = function (regexp, mandatory) {
|
|
129
155
|
if (mandatory === void 0) { mandatory = true; }
|
|
130
|
-
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
156
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
157
|
+
function (input) {
|
|
131
158
|
// console.log({input, regexp});
|
|
132
159
|
if (regexp.test(input))
|
|
133
160
|
return;
|
|
@@ -142,7 +169,8 @@ var tsValidateMD5 = function (mandatory) {
|
|
|
142
169
|
exports.tsValidateMD5 = tsValidateMD5;
|
|
143
170
|
var tsValidateTimestamp = function (interval, mandatory) {
|
|
144
171
|
if (mandatory === void 0) { mandatory = true; }
|
|
145
|
-
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
172
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
173
|
+
function (input) {
|
|
146
174
|
var now = (0, date_time_tools_1.currentTimeMillis)();
|
|
147
175
|
var minTimestamp = now - (interval || now);
|
|
148
176
|
if (minTimestamp <= input && input <= now)
|
|
@@ -154,8 +182,14 @@ exports.tsValidateTimestamp = tsValidateTimestamp;
|
|
|
154
182
|
var tsValidateAudit = function (range) {
|
|
155
183
|
return function (audit) {
|
|
156
184
|
var _a;
|
|
157
|
-
return (0, validator_core_1.tsValidate)((_a = audit === null || audit === void 0 ? void 0 : audit.auditAt) === null || _a === void 0 ? void 0 : _a.timestamp, (0, exports.
|
|
185
|
+
return (0, validator_core_1.tsValidate)((_a = audit === null || audit === void 0 ? void 0 : audit.auditAt) === null || _a === void 0 ? void 0 : _a.timestamp, (0, exports.tsValidateIsInRange)([[0,
|
|
186
|
+
Number.MAX_VALUE]]));
|
|
158
187
|
};
|
|
159
188
|
};
|
|
160
189
|
exports.tsValidateAudit = tsValidateAudit;
|
|
190
|
+
var tsValidateNonMandatoryObject = function (validator) {
|
|
191
|
+
return [(0, validator_core_1.tsValidateExists)(false),
|
|
192
|
+
function (input) { return (0, validator_core_1.tsValidateResult)(input, validator); }];
|
|
193
|
+
};
|
|
194
|
+
exports.tsValidateNonMandatoryObject = tsValidateNonMandatoryObject;
|
|
161
195
|
//# sourceMappingURL=type-validators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-validators.js","sourceRoot":"","sources":["../../src/main/validator/type-validators.ts"],"names":[],"mappings":";;;AAAA,wCAA2C;AAC3C,mDAS0B;AAC1B,4DAA2D;
|
|
1
|
+
{"version":3,"file":"type-validators.js","sourceRoot":"","sources":["../../src/main/validator/type-validators.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { CustomException } from '../core/exceptions';
|
|
2
2
|
import { TS_Object } from '../utils/types';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Should be like the following but errors in resolving...
|
|
5
|
+
*
|
|
6
|
+
* K extends [infer E1] ? [Validator<E1>[]] :
|
|
7
|
+
* K extends [infer E1, infer E2] ? [Validator<E1>,Validator<E2>] :
|
|
8
|
+
* K extends [infer E1, infer E2, infer E3] ? [Validator<E1>,Validator<E2>,Validator<E2>] :
|
|
9
|
+
* K extends [infer E1, infer E2, infer E3, infer E4] ? [Validator<E1>,Validator<E2>,Validator<E2>,Validator<E4>] :
|
|
10
|
+
*/
|
|
11
|
+
export type ValidatorTypeResolver<K> = K extends [infer E1] ? Validator<K> : K extends [infer E1, infer E2] ? Validator<K> : K extends [infer E1, infer E2, infer E3] ? Validator<K> : K extends [infer E1, infer E2, infer E3, infer E4] ? Validator<K> : K extends any[] ? Validator<K> : K extends TS_Object ? TypeValidator<K> | Validator<K> : Validator<K>;
|
|
4
12
|
export type ValidatorImpl<P> = (p?: P) => (InvalidResult<P> | undefined);
|
|
5
13
|
export type Validator<P> = ValidatorImpl<P> | ValidatorImpl<P>[];
|
|
6
14
|
export type TypeValidator<T extends TS_Object> = {
|
|
@@ -21,5 +29,5 @@ export declare const tsValidateExists: (mandatory?: boolean) => ValidatorImpl<an
|
|
|
21
29
|
export declare const tsValidateMustExist: ValidatorImpl<any>;
|
|
22
30
|
export declare const tsValidateOptional: ValidatorImpl<any>;
|
|
23
31
|
export declare const tsValidate: <T extends unknown>(instance: T | undefined, _validator: ValidatorTypeResolver<T>, strict?: boolean) => any;
|
|
24
|
-
export declare const tsValidateResult: <T extends unknown>(instance: T | undefined, _validator: ValidatorTypeResolver<T>, key?: keyof T | undefined) => any;
|
|
32
|
+
export declare const tsValidateResult: <T extends unknown>(instance: T | undefined, _validator: ValidatorTypeResolver<T>, key?: keyof T | undefined, parentInstance?: any) => any;
|
|
25
33
|
export declare const tsValidateObject: <T>(__validator: TypeValidator<object>, instance: T, path?: string) => InvalidResultObject<T> | undefined;
|
|
@@ -91,12 +91,12 @@ var tsValidate = function (instance, _validator, strict) {
|
|
|
91
91
|
return results;
|
|
92
92
|
};
|
|
93
93
|
exports.tsValidate = tsValidate;
|
|
94
|
-
var tsValidateResult = function (instance, _validator, key) {
|
|
94
|
+
var tsValidateResult = function (instance, _validator, key, parentInstance) {
|
|
95
95
|
if (!_validator)
|
|
96
96
|
return;
|
|
97
97
|
var validator = typeof _validator === 'function' ? [_validator] : _validator;
|
|
98
98
|
if (Array.isArray(validator)) {
|
|
99
|
-
var result = validator.reduce(function (result, __validator) { return result === CONST_NO_ERROR ? result : result || __validator(instance); }, undefined);
|
|
99
|
+
var result = validator.reduce(function (result, __validator) { return result === CONST_NO_ERROR ? result : result || __validator(instance, parentInstance); }, undefined);
|
|
100
100
|
return result !== CONST_NO_ERROR ? result : undefined;
|
|
101
101
|
}
|
|
102
102
|
if (typeof validator === 'object') {
|
|
@@ -125,7 +125,7 @@ var tsValidateObject = function (__validator, instance, path) {
|
|
|
125
125
|
var key = validatorKeys_1[_a];
|
|
126
126
|
var value = instance[key];
|
|
127
127
|
var validator = __validator[key];
|
|
128
|
-
var propsResult = (0, exports.tsValidateResult)(value, validator, key);
|
|
128
|
+
var propsResult = (0, exports.tsValidateResult)(value, validator, key, instance);
|
|
129
129
|
if (propsResult && propsResult !== CONST_NO_ERROR)
|
|
130
130
|
result[key] = propsResult;
|
|
131
131
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator-core.js","sourceRoot":"","sources":["../../src/main/validator/validator-core.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;;;;;AAEH,iDAAmD;AACnD,sDAA4C;
|
|
1
|
+
{"version":3,"file":"validator-core.js","sourceRoot":"","sources":["../../src/main/validator/validator-core.ts"],"names":[],"mappings":"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"}
|