@nu-art/ts-common 0.105.0 → 0.105.2
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/consts/consts.d.ts +1 -0
- package/consts/consts.js +22 -0
- package/consts/consts.js.map +1 -0
- package/core/application.d.ts +5 -0
- package/core/application.js +55 -0
- package/core/application.js.map +1 -0
- package/core/debug-flags.d.ts +25 -0
- package/core/debug-flags.js +87 -0
- package/core/debug-flags.js.map +1 -0
- package/core/dispatcher.d.ts +18 -0
- package/core/dispatcher.js +132 -0
- package/core/dispatcher.js.map +1 -0
- package/core/error-handling.d.ts +14 -0
- package/core/error-handling.js +38 -0
- package/core/error-handling.js.map +1 -0
- package/core/exceptions.d.ts +118 -0
- package/core/exceptions.js +214 -0
- package/core/exceptions.js.map +1 -0
- package/core/logger/BeLogged.d.ts +14 -0
- package/core/logger/BeLogged.js +61 -0
- package/core/logger/BeLogged.js.map +1 -0
- package/core/logger/LogClient.d.ts +14 -0
- package/core/logger/LogClient.js +67 -0
- package/core/logger/LogClient.js.map +1 -0
- package/core/logger/LogClient_BaseRotate.d.ts +19 -0
- package/core/logger/LogClient_BaseRotate.js +80 -0
- package/core/logger/LogClient_BaseRotate.js.map +1 -0
- package/core/logger/LogClient_Browser.d.ts +9 -0
- package/core/logger/LogClient_Browser.js +101 -0
- package/core/logger/LogClient_Browser.js.map +1 -0
- package/core/logger/LogClient_Function.d.ts +8 -0
- package/core/logger/LogClient_Function.js +75 -0
- package/core/logger/LogClient_Function.js.map +1 -0
- package/core/logger/LogClient_MemBuffer.d.ts +9 -0
- package/core/logger/LogClient_MemBuffer.js +61 -0
- package/core/logger/LogClient_MemBuffer.js.map +1 -0
- package/core/logger/LogClient_Terminal.d.ts +9 -0
- package/core/logger/LogClient_Terminal.js +75 -0
- package/core/logger/LogClient_Terminal.js.map +1 -0
- package/core/logger/Logger.d.ts +38 -0
- package/core/logger/Logger.js +216 -0
- package/core/logger/Logger.js.map +1 -0
- package/core/logger/types.d.ts +10 -0
- package/core/logger/types.js +36 -0
- package/core/logger/types.js.map +1 -0
- package/core/logger/utils.d.ts +5 -0
- package/core/logger/utils.js +80 -0
- package/core/logger/utils.js.map +1 -0
- package/core/module-manager.d.ts +18 -0
- package/core/module-manager.js +112 -0
- package/core/module-manager.js.map +1 -0
- package/core/module.d.ts +32 -0
- package/core/module.js +126 -0
- package/core/module.js.map +1 -0
- package/csv.d.ts +1 -0
- package/csv.js +35 -0
- package/csv.js.map +1 -0
- package/index.d.ts +43 -0
- package/index.js +77 -0
- package/index.js.map +1 -0
- package/modules/CSVModule.d.ts +32 -0
- package/modules/CSVModule.js +165 -0
- package/modules/CSVModule.js.map +1 -0
- package/modules/CliParamsModule.d.ts +27 -0
- package/modules/CliParamsModule.js +94 -0
- package/modules/CliParamsModule.js.map +1 -0
- package/modules/csv-serializer.d.ts +11 -0
- package/modules/csv-serializer.js +50 -0
- package/modules/csv-serializer.js.map +1 -0
- package/package.json +3 -6
- package/permissions/permission-group.d.ts +8 -0
- package/permissions/permission-group.js +37 -0
- package/permissions/permission-group.js.map +1 -0
- package/test-index.d.ts +2 -0
- package/test-index.js +19 -0
- package/test-index.js.map +1 -0
- package/testing/consts.d.ts +5 -0
- package/testing/consts.js +74 -0
- package/testing/consts.js.map +1 -0
- package/testing/types.d.ts +16 -0
- package/testing/types.js +20 -0
- package/testing/types.js.map +1 -0
- package/tools/Replacer.d.ts +24 -0
- package/tools/Replacer.js +172 -0
- package/tools/Replacer.js.map +1 -0
- package/tools/get-log-style.d.ts +14 -0
- package/tools/get-log-style.js +43 -0
- package/tools/get-log-style.js.map +1 -0
- package/utils/array-tools.d.ts +85 -0
- package/utils/array-tools.js +302 -0
- package/utils/array-tools.js.map +1 -0
- package/utils/crypto-tools.d.ts +4 -0
- package/utils/crypto-tools.js +36 -0
- package/utils/crypto-tools.js.map +1 -0
- package/utils/date-time-tools.d.ts +28 -0
- package/utils/date-time-tools.js +180 -0
- package/utils/date-time-tools.js.map +1 -0
- package/utils/db-object-tools.d.ts +3 -0
- package/utils/db-object-tools.js +9 -0
- package/utils/db-object-tools.js.map +1 -0
- package/utils/filter-tools.d.ts +137 -0
- package/utils/filter-tools.js +217 -0
- package/utils/filter-tools.js.map +1 -0
- package/utils/hash-tools.d.ts +8 -0
- package/utils/hash-tools.js +60 -0
- package/utils/hash-tools.js.map +1 -0
- package/utils/merge-tools.d.ts +3 -0
- package/utils/merge-tools.js +71 -0
- package/utils/merge-tools.js.map +1 -0
- package/utils/mimetype-tools.d.ts +8 -0
- package/utils/mimetype-tools.js +29 -0
- package/utils/mimetype-tools.js.map +1 -0
- package/utils/number-tools.d.ts +1 -0
- package/utils/number-tools.js +26 -0
- package/utils/number-tools.js.map +1 -0
- package/utils/object-tools.d.ts +13 -0
- package/utils/object-tools.js +129 -0
- package/utils/object-tools.js.map +1 -0
- package/utils/query-params.d.ts +5 -0
- package/utils/query-params.js +24 -0
- package/utils/query-params.js.map +1 -0
- package/utils/queue.d.ts +16 -0
- package/utils/queue.js +166 -0
- package/utils/queue.js.map +1 -0
- package/utils/random-tools.d.ts +2 -0
- package/utils/random-tools.js +35 -0
- package/utils/random-tools.js.map +1 -0
- package/utils/storage-capacity-tools.d.ts +6 -0
- package/utils/storage-capacity-tools.js +27 -0
- package/utils/storage-capacity-tools.js.map +1 -0
- package/utils/string-tools.d.ts +10 -0
- package/utils/string-tools.js +100 -0
- package/utils/string-tools.js.map +1 -0
- package/utils/tools.d.ts +13 -0
- package/utils/tools.js +103 -0
- package/utils/tools.js.map +1 -0
- package/utils/types.d.ts +92 -0
- package/utils/types.js +23 -0
- package/utils/types.js.map +1 -0
- package/utils/version-tools.d.ts +10 -0
- package/utils/version-tools.js +51 -0
- package/utils/version-tools.js.map +1 -0
- package/validator/type-validators.d.ts +29 -0
- package/validator/type-validators.js +211 -0
- package/validator/type-validators.js.map +1 -0
- package/validator/validator-core.d.ts +36 -0
- package/validator/validator-core.js +144 -0
- package/validator/validator-core.js.map +1 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tsValidator_color = exports.tsValidateNonMandatoryObject = exports.tsValidateAudit = exports.tsValidateTimestamp = exports.tsValidateMD5 = exports.tsValidateRegexp = exports.tsValidateRange = exports.tsValidateIsInRange = exports.tsValidateValue = exports.tsValidateBoolean = exports.tsValidateEnum = exports.tsValidateNumber = exports.tsValidator_nonMandatoryString = exports.tsValidateString = exports.tsValidateArray = exports.tsValidateUnionV3 = exports.tsValidateCustom = exports.tsValidateUnion = exports.tsValidateDynamicObject = void 0;
|
|
4
|
+
var tools_1 = require("../utils/tools");
|
|
5
|
+
var validator_core_1 = require("./validator-core");
|
|
6
|
+
var date_time_tools_1 = require("../utils/date-time-tools");
|
|
7
|
+
var array_tools_1 = require("../utils/array-tools");
|
|
8
|
+
var object_tools_1 = require("../utils/object-tools");
|
|
9
|
+
var types_1 = require("../core/logger/types");
|
|
10
|
+
var tsValidateDynamicObject = function (valuesValidator, keysValidator, mandatory) {
|
|
11
|
+
if (mandatory === void 0) { mandatory = true; }
|
|
12
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
13
|
+
function (input) {
|
|
14
|
+
if (!input)
|
|
15
|
+
return;
|
|
16
|
+
var keys = (0, object_tools_1._keys)(input);
|
|
17
|
+
var _result = keys.reduce(function (res, key) {
|
|
18
|
+
var _valRes = (0, validator_core_1.tsValidateResult)(input[key], valuesValidator);
|
|
19
|
+
var _keyRes = (0, validator_core_1.tsValidateResult)(key, keysValidator);
|
|
20
|
+
if (_valRes && _keyRes)
|
|
21
|
+
res[key] = "Key: ".concat(_keyRes, "}\nValue: ").concat(_valRes);
|
|
22
|
+
else if (_valRes)
|
|
23
|
+
res[key] = 'Value: ' + _valRes;
|
|
24
|
+
else if (_keyRes)
|
|
25
|
+
res[key] = 'Key: ' + _keyRes;
|
|
26
|
+
return res;
|
|
27
|
+
}, {});
|
|
28
|
+
return (0, object_tools_1._keys)(_result).length ? _result : undefined;
|
|
29
|
+
}];
|
|
30
|
+
};
|
|
31
|
+
exports.tsValidateDynamicObject = tsValidateDynamicObject;
|
|
32
|
+
var tsValidateUnion = function (validators, mandatory) {
|
|
33
|
+
if (mandatory === void 0) { mandatory = true; }
|
|
34
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
35
|
+
function (input) {
|
|
36
|
+
var results = [];
|
|
37
|
+
for (var _i = 0, validators_1 = validators; _i < validators_1.length; _i++) {
|
|
38
|
+
var validator = validators_1[_i];
|
|
39
|
+
var _res = (0, validator_core_1.tsValidateResult)(input, validator);
|
|
40
|
+
if (!_res)
|
|
41
|
+
return;
|
|
42
|
+
results.push(_res);
|
|
43
|
+
}
|
|
44
|
+
return (0, array_tools_1.filterInstances)(results).length !== 0 ? ['Input does not match any of the possible types',
|
|
45
|
+
results] : undefined;
|
|
46
|
+
}];
|
|
47
|
+
};
|
|
48
|
+
exports.tsValidateUnion = tsValidateUnion;
|
|
49
|
+
var tsValidateCustom = function (processor, mandatory) {
|
|
50
|
+
if (mandatory === void 0) { mandatory = true; }
|
|
51
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
52
|
+
processor];
|
|
53
|
+
};
|
|
54
|
+
exports.tsValidateCustom = tsValidateCustom;
|
|
55
|
+
var typeFunc = function (type) { return typeof type; };
|
|
56
|
+
var tsValidateUnionV3 = function (validatorObject, mandatory) {
|
|
57
|
+
if (mandatory === void 0) { mandatory = true; }
|
|
58
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
59
|
+
function (input) {
|
|
60
|
+
var _type = typeof input;
|
|
61
|
+
return (0, object_tools_1._keys)(validatorObject)
|
|
62
|
+
.includes(_type) ? (0, validator_core_1.tsValidateResult)(input, validatorObject[_type]) : 'Input does not match any of the possible types';
|
|
63
|
+
}];
|
|
64
|
+
};
|
|
65
|
+
exports.tsValidateUnionV3 = tsValidateUnionV3;
|
|
66
|
+
var tsValidateArray = function (validator, mandatory, minimumLength) {
|
|
67
|
+
if (mandatory === void 0) { mandatory = true; }
|
|
68
|
+
if (minimumLength === void 0) { minimumLength = 0; }
|
|
69
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
70
|
+
function (input) {
|
|
71
|
+
var results = [];
|
|
72
|
+
var _input = input;
|
|
73
|
+
if (_input.length < minimumLength)
|
|
74
|
+
return 'Array length smaller than minimum defined length';
|
|
75
|
+
for (var i = 0; i < _input.length; i++) {
|
|
76
|
+
results[i] = (0, validator_core_1.tsValidateResult)(_input[i], validator);
|
|
77
|
+
}
|
|
78
|
+
return (0, array_tools_1.filterInstances)(results).length !== 0 ? results : undefined;
|
|
79
|
+
}];
|
|
80
|
+
};
|
|
81
|
+
exports.tsValidateArray = tsValidateArray;
|
|
82
|
+
var tsValidateString = function (length, mandatory) {
|
|
83
|
+
if (length === void 0) { length = -1; }
|
|
84
|
+
if (mandatory === void 0) { mandatory = true; }
|
|
85
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
86
|
+
function (input) {
|
|
87
|
+
// noinspection SuspiciousTypeOfGuard
|
|
88
|
+
if (typeof input !== 'string')
|
|
89
|
+
return "input is not a string";
|
|
90
|
+
if (length === -1)
|
|
91
|
+
return;
|
|
92
|
+
if (input.length <= length)
|
|
93
|
+
return;
|
|
94
|
+
return "input is longer than ".concat(length);
|
|
95
|
+
}];
|
|
96
|
+
};
|
|
97
|
+
exports.tsValidateString = tsValidateString;
|
|
98
|
+
exports.tsValidator_nonMandatoryString = (0, exports.tsValidateString)(-1, false);
|
|
99
|
+
var tsValidateNumber = function (mandatory) {
|
|
100
|
+
if (mandatory === void 0) { mandatory = true; }
|
|
101
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
102
|
+
function (input) {
|
|
103
|
+
// noinspection SuspiciousTypeOfGuard
|
|
104
|
+
if (typeof input === 'number')
|
|
105
|
+
return;
|
|
106
|
+
return "Input is not a number! \nvalue: ".concat(input, "\ntype: ").concat(typeof input);
|
|
107
|
+
}];
|
|
108
|
+
};
|
|
109
|
+
exports.tsValidateNumber = tsValidateNumber;
|
|
110
|
+
var tsValidateEnum = function (enumType, mandatory) {
|
|
111
|
+
if (mandatory === void 0) { mandatory = true; }
|
|
112
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
113
|
+
function (input) {
|
|
114
|
+
// @ts-ignore
|
|
115
|
+
if ((0, tools_1.exists)(enumType[input]))
|
|
116
|
+
return;
|
|
117
|
+
return "Input is not a valid enum value in ".concat((0, tools_1.__stringify)(enumType));
|
|
118
|
+
}];
|
|
119
|
+
};
|
|
120
|
+
exports.tsValidateEnum = tsValidateEnum;
|
|
121
|
+
(0, exports.tsValidateEnum)(types_1.LogLevel);
|
|
122
|
+
var tsValidateBoolean = function (mandatory) {
|
|
123
|
+
if (mandatory === void 0) { mandatory = true; }
|
|
124
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
125
|
+
function (input) {
|
|
126
|
+
// noinspection SuspiciousTypeOfGuard
|
|
127
|
+
if (typeof input === 'boolean')
|
|
128
|
+
return;
|
|
129
|
+
return "Input is not a boolean! \nvalue: ".concat(input, "\ntype: ").concat(typeof input);
|
|
130
|
+
}];
|
|
131
|
+
};
|
|
132
|
+
exports.tsValidateBoolean = tsValidateBoolean;
|
|
133
|
+
var tsValidateValue = function (values, mandatory) {
|
|
134
|
+
if (mandatory === void 0) { mandatory = true; }
|
|
135
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
136
|
+
function (input) {
|
|
137
|
+
if (values.includes(input))
|
|
138
|
+
return;
|
|
139
|
+
return "Input is not valid:\n input: ".concat(input, "\n options: ").concat((0, tools_1.__stringify)(values), "\n");
|
|
140
|
+
}];
|
|
141
|
+
};
|
|
142
|
+
exports.tsValidateValue = tsValidateValue;
|
|
143
|
+
var tsValidateIsInRange = function (ranges, mandatory) {
|
|
144
|
+
if (mandatory === void 0) { mandatory = true; }
|
|
145
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
146
|
+
function (input) {
|
|
147
|
+
if (ranges.some(function (range) { return range[0] <= input && input <= range[1]; }))
|
|
148
|
+
return;
|
|
149
|
+
return "Input is not valid: ".concat(input, ". It should fit one of the expected range: ").concat((0, tools_1.__stringify)(ranges));
|
|
150
|
+
}];
|
|
151
|
+
};
|
|
152
|
+
exports.tsValidateIsInRange = tsValidateIsInRange;
|
|
153
|
+
var tsValidateRange = function (mandatory) {
|
|
154
|
+
if (mandatory === void 0) { mandatory = true; }
|
|
155
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
156
|
+
function (input) {
|
|
157
|
+
if (!input)
|
|
158
|
+
return 'Missing range';
|
|
159
|
+
if (typeof input[0] !== 'number' || typeof input[1] !== 'number')
|
|
160
|
+
return "Got range value that's not a number";
|
|
161
|
+
if (input[0] > input[1]) {
|
|
162
|
+
return 'Range min is larger than range max';
|
|
163
|
+
}
|
|
164
|
+
return;
|
|
165
|
+
}];
|
|
166
|
+
};
|
|
167
|
+
exports.tsValidateRange = tsValidateRange;
|
|
168
|
+
var tsValidateRegexp = function (regexp, mandatory) {
|
|
169
|
+
if (mandatory === void 0) { mandatory = true; }
|
|
170
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
171
|
+
function (input) {
|
|
172
|
+
// console.log({input, regexp});
|
|
173
|
+
if (regexp.test(input))
|
|
174
|
+
return;
|
|
175
|
+
return "Input does not match regexp:\n input: ".concat(input, "\n regexp: ").concat(regexp, "\n");
|
|
176
|
+
}];
|
|
177
|
+
};
|
|
178
|
+
exports.tsValidateRegexp = tsValidateRegexp;
|
|
179
|
+
var tsValidateMD5 = function (mandatory) {
|
|
180
|
+
if (mandatory === void 0) { mandatory = true; }
|
|
181
|
+
return (0, exports.tsValidateRegexp)(/[a-zA-Z\d]{32}/, mandatory);
|
|
182
|
+
};
|
|
183
|
+
exports.tsValidateMD5 = tsValidateMD5;
|
|
184
|
+
var tsValidateTimestamp = function (interval, mandatory) {
|
|
185
|
+
if (mandatory === void 0) { mandatory = true; }
|
|
186
|
+
return [(0, validator_core_1.tsValidateExists)(mandatory),
|
|
187
|
+
function (input) {
|
|
188
|
+
var now = (0, date_time_tools_1.currentTimeMillis)();
|
|
189
|
+
var minTimestamp = now - (interval || now);
|
|
190
|
+
if (minTimestamp <= input && input <= now)
|
|
191
|
+
return;
|
|
192
|
+
return "Input is not valid:\n input: ".concat(input, "\n Expected Interval: ").concat(minTimestamp, " - ").concat(now, "\n");
|
|
193
|
+
}];
|
|
194
|
+
};
|
|
195
|
+
exports.tsValidateTimestamp = tsValidateTimestamp;
|
|
196
|
+
var tsValidateAudit = function (range) {
|
|
197
|
+
return function (audit) {
|
|
198
|
+
var _a;
|
|
199
|
+
return (0, validator_core_1.tsValidateResult)((_a = audit === null || audit === void 0 ? void 0 : audit.auditAt) === null || _a === void 0 ? void 0 : _a.timestamp, (0, exports.tsValidateIsInRange)([[0,
|
|
200
|
+
Number.MAX_VALUE]]));
|
|
201
|
+
};
|
|
202
|
+
};
|
|
203
|
+
exports.tsValidateAudit = tsValidateAudit;
|
|
204
|
+
var tsValidateNonMandatoryObject = function (validator) {
|
|
205
|
+
return [(0, validator_core_1.tsValidateExists)(false),
|
|
206
|
+
function (input) { return (0, validator_core_1.tsValidateResult)(input, validator); }];
|
|
207
|
+
};
|
|
208
|
+
exports.tsValidateNonMandatoryObject = tsValidateNonMandatoryObject;
|
|
209
|
+
var validateColorValue = (0, exports.tsValidateRegexp)(/^#(?:[0-9a-fA-F]{3}){1,2}$/);
|
|
210
|
+
exports.tsValidator_color = { value: validateColorValue };
|
|
211
|
+
//# sourceMappingURL=type-validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-validators.js","sourceRoot":"","sources":["../../src/main/validator/type-validators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { CustomException } from '../core/exceptions';
|
|
2
|
+
import { TS_Object } from '../utils/types';
|
|
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>;
|
|
12
|
+
export type ValidatorImpl<P> = (p?: P) => (InvalidResult<P> | undefined);
|
|
13
|
+
export type Validator<P> = ValidatorImpl<P> | ValidatorImpl<P>[];
|
|
14
|
+
export type TypeValidator<T extends TS_Object> = {
|
|
15
|
+
[P in keyof T]-?: ValidatorTypeResolver<T[P]>;
|
|
16
|
+
};
|
|
17
|
+
export type InvalidResultObject<T extends any> = {
|
|
18
|
+
[K in keyof T]?: InvalidResult<T[K]>;
|
|
19
|
+
};
|
|
20
|
+
export type InvalidResultArray<T extends any> = InvalidResult<T> | undefined;
|
|
21
|
+
export type InvalidResult<T extends any> = T extends object ? InvalidResultObject<T> | string : T extends (infer I)[] ? (InvalidResultArray<I>[]) | string : string;
|
|
22
|
+
export declare class ValidationException extends CustomException {
|
|
23
|
+
input?: string;
|
|
24
|
+
result?: InvalidResult<any>;
|
|
25
|
+
constructor(debugMessage: string, input?: any, result?: InvalidResult<any>, e?: Error);
|
|
26
|
+
}
|
|
27
|
+
export declare const assertValidateMandatoryProperty: (mandatory: boolean, input?: any) => void;
|
|
28
|
+
export declare const tsValidateExists: (mandatory?: boolean) => ValidatorImpl<any>;
|
|
29
|
+
export declare const tsValidateMustExist: ValidatorImpl<any>;
|
|
30
|
+
export declare const tsValidateOptional: ValidatorImpl<any>;
|
|
31
|
+
export declare const tsValidate: <T extends unknown>(instance: T | undefined, _validator: ValidatorTypeResolver<T>, strict?: boolean) => any;
|
|
32
|
+
export declare const tsValidateResult: <T extends unknown>(instance: T | undefined, _validator: ValidatorTypeResolver<T>, key?: keyof T | undefined, parentInstance?: any) => any;
|
|
33
|
+
export declare const tsValidateObject: <T>(__validator: TypeValidator<object>, instance: T, path?: string) => InvalidResultObject<T> | undefined;
|
|
34
|
+
export declare const tsValidator_valueByKey: <T extends unknown>(validatorObject: {
|
|
35
|
+
[k: string]: Validator<any> | TypeValidator<any>;
|
|
36
|
+
}) => ValidatorTypeResolver<T>;
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* ts-common is the basic building blocks of our typescript projects
|
|
4
|
+
*
|
|
5
|
+
* Copyright (C) 2020 Adam van der Kruk aka TacB0sS
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
var __extends = (this && this.__extends) || (function () {
|
|
20
|
+
var extendStatics = function (d, b) {
|
|
21
|
+
extendStatics = Object.setPrototypeOf ||
|
|
22
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
23
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
24
|
+
return extendStatics(d, b);
|
|
25
|
+
};
|
|
26
|
+
return function (d, b) {
|
|
27
|
+
if (typeof b !== "function" && b !== null)
|
|
28
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
29
|
+
extendStatics(d, b);
|
|
30
|
+
function __() { this.constructor = d; }
|
|
31
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
32
|
+
};
|
|
33
|
+
})();
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.tsValidator_valueByKey = exports.tsValidateObject = exports.tsValidateResult = exports.tsValidate = exports.tsValidateOptional = exports.tsValidateMustExist = exports.tsValidateExists = exports.assertValidateMandatoryProperty = exports.ValidationException = void 0;
|
|
36
|
+
var __1 = require("..");
|
|
37
|
+
var exceptions_1 = require("../core/exceptions");
|
|
38
|
+
var object_tools_1 = require("../utils/object-tools");
|
|
39
|
+
var ValidationException = /** @class */ (function (_super) {
|
|
40
|
+
__extends(ValidationException, _super);
|
|
41
|
+
function ValidationException(debugMessage, input, result, e) {
|
|
42
|
+
var _this = _super.call(this, ValidationException, debugMessage, e) || this;
|
|
43
|
+
_this.result = result;
|
|
44
|
+
_this.input = input;
|
|
45
|
+
return _this;
|
|
46
|
+
}
|
|
47
|
+
return ValidationException;
|
|
48
|
+
}(exceptions_1.CustomException));
|
|
49
|
+
exports.ValidationException = ValidationException;
|
|
50
|
+
var CONST_NO_ERROR = '###';
|
|
51
|
+
var assertValidateMandatoryProperty = function (mandatory, input) {
|
|
52
|
+
};
|
|
53
|
+
exports.assertValidateMandatoryProperty = assertValidateMandatoryProperty;
|
|
54
|
+
var tsValidateExists = function (mandatory) {
|
|
55
|
+
if (mandatory === void 0) { mandatory = true; }
|
|
56
|
+
return function (input) {
|
|
57
|
+
if (input !== undefined && input !== null)
|
|
58
|
+
return;
|
|
59
|
+
if (mandatory)
|
|
60
|
+
return 'Missing mandatory field';
|
|
61
|
+
return CONST_NO_ERROR;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
exports.tsValidateExists = tsValidateExists;
|
|
65
|
+
exports.tsValidateMustExist = (0, exports.tsValidateExists)();
|
|
66
|
+
exports.tsValidateOptional = (0, exports.tsValidateExists)(false);
|
|
67
|
+
//
|
|
68
|
+
// export const tsValidateObjectValues = <V, T extends { [k: string]: V } = { [k: string]: V }>(validator: ValidatorTypeResolver<V>, mandatory = true): Validator<T> =>
|
|
69
|
+
// [tsValidateExists(mandatory), (input?: T) => {
|
|
70
|
+
// for (const key of _keys(input!)) {
|
|
71
|
+
// // Validate keys too
|
|
72
|
+
// const inputValue = input![key];
|
|
73
|
+
// if (typeof inputValue === 'object') {
|
|
74
|
+
// // not 100% sure what is going on here why not tsValidateObject(validator[key])
|
|
75
|
+
// const objectValidator = tsValidateObjectValues(validator, mandatory);
|
|
76
|
+
// if (!objectValidator)
|
|
77
|
+
// continue;
|
|
78
|
+
//
|
|
79
|
+
// return tsValidateResult(inputValue as { [k: string]: V }, objectValidator);
|
|
80
|
+
// }
|
|
81
|
+
//
|
|
82
|
+
// return tsValidateResult(inputValue as unknown as V, validator);
|
|
83
|
+
// }
|
|
84
|
+
// }];
|
|
85
|
+
var tsValidate = function (instance, _validator, strict) {
|
|
86
|
+
if (strict === void 0) { strict = true; }
|
|
87
|
+
var results = (0, exports.tsValidateResult)(instance, _validator);
|
|
88
|
+
if (results && strict) {
|
|
89
|
+
console.error(results);
|
|
90
|
+
throw new ValidationException("Error validating object: ", instance, results);
|
|
91
|
+
}
|
|
92
|
+
return results;
|
|
93
|
+
};
|
|
94
|
+
exports.tsValidate = tsValidate;
|
|
95
|
+
var tsValidateResult = function (instance, _validator, key, parentInstance) {
|
|
96
|
+
if (!_validator)
|
|
97
|
+
return;
|
|
98
|
+
var validator = typeof _validator === 'function' ? [_validator] : _validator;
|
|
99
|
+
if (Array.isArray(validator)) {
|
|
100
|
+
var result = validator.reduce(function (result, __validator) { return result === CONST_NO_ERROR ? result : result || __validator(instance, parentInstance); }, undefined);
|
|
101
|
+
return result !== CONST_NO_ERROR ? result : undefined;
|
|
102
|
+
}
|
|
103
|
+
if (typeof validator === 'object') {
|
|
104
|
+
if (!instance && validator)
|
|
105
|
+
return "Unexpected object:\n The key '".concat(String(key), "' wasn't defined in the instance.");
|
|
106
|
+
if (typeof instance !== 'object')
|
|
107
|
+
return "Unexpected instance '".concat(instance, "'.\nExpected to receive an object, but received something else.");
|
|
108
|
+
var __validator = validator;
|
|
109
|
+
return (0, exports.tsValidateObject)(__validator, instance);
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
exports.tsValidateResult = tsValidateResult;
|
|
113
|
+
var tsValidateObject = function (__validator, instance, path) {
|
|
114
|
+
if (path === void 0) { path = ''; }
|
|
115
|
+
var validatorKeys = (0, object_tools_1._keys)(__validator);
|
|
116
|
+
var instanceKeys = Object.keys(instance);
|
|
117
|
+
var result = {};
|
|
118
|
+
for (var _i = 0, instanceKeys_1 = instanceKeys; _i < instanceKeys_1.length; _i++) {
|
|
119
|
+
var key = instanceKeys_1[_i];
|
|
120
|
+
// @ts-ignore
|
|
121
|
+
if (!validatorKeys.includes(key))
|
|
122
|
+
// @ts-ignore
|
|
123
|
+
result[key] = "Unexpected key '".concat(path).concat(key, "'.\nIf you want to ignore the validation of this property,\n add the following to your validator:\n {\n ...\n ").concat(key, ": undefined\n ...\n}\n");
|
|
124
|
+
}
|
|
125
|
+
for (var _a = 0, validatorKeys_1 = validatorKeys; _a < validatorKeys_1.length; _a++) {
|
|
126
|
+
var key = validatorKeys_1[_a];
|
|
127
|
+
var value = instance[key];
|
|
128
|
+
var validator = __validator[key];
|
|
129
|
+
var propsResult = (0, exports.tsValidateResult)(value, validator, key, instance);
|
|
130
|
+
if (propsResult && propsResult !== CONST_NO_ERROR)
|
|
131
|
+
result[key] = propsResult;
|
|
132
|
+
}
|
|
133
|
+
if ((0, object_tools_1._keys)(result).length === 0)
|
|
134
|
+
return;
|
|
135
|
+
return result;
|
|
136
|
+
};
|
|
137
|
+
exports.tsValidateObject = tsValidateObject;
|
|
138
|
+
var tsValidator_valueByKey = function (validatorObject) {
|
|
139
|
+
return (0, __1.tsValidateCustom)(function (value, parentObject) {
|
|
140
|
+
return (0, exports.tsValidateResult)(value, validatorObject[parentObject.type]);
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
exports.tsValidator_valueByKey = tsValidator_valueByKey;
|
|
144
|
+
//# sourceMappingURL=validator-core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator-core.js","sourceRoot":"","sources":["../../src/main/validator/validator-core.ts"],"names":[],"mappings":"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"}
|