@intuitionrobotics/ts-common 0.41.68 → 0.41.71
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/core/application.js +12 -28
- package/core/application.js.map +1 -1
- package/core/debug-flags.js +27 -30
- package/core/debug-flags.js.map +1 -1
- package/core/dispatcher.js +17 -54
- package/core/dispatcher.js.map +1 -1
- package/core/error-handling.js +1 -1
- package/core/error-handling.js.map +1 -1
- package/core/exceptions.js +47 -81
- package/core/exceptions.js.map +1 -1
- package/core/logger/BeLogged.js +19 -25
- package/core/logger/BeLogged.js.map +1 -1
- package/core/logger/LogClient.js +14 -15
- package/core/logger/LogClient.js.map +1 -1
- package/core/logger/LogClient_BaseRotate.js +20 -39
- package/core/logger/LogClient_BaseRotate.js.map +1 -1
- package/core/logger/LogClient_Browser.js +12 -31
- package/core/logger/LogClient_Browser.js.map +1 -1
- package/core/logger/LogClient_Function.js +14 -31
- package/core/logger/LogClient_Function.js.map +1 -1
- package/core/logger/LogClient_MemBuffer.js +14 -32
- package/core/logger/LogClient_MemBuffer.js.map +1 -1
- package/core/logger/LogClient_Terminal.js +12 -31
- package/core/logger/LogClient_Terminal.js.map +1 -1
- package/core/logger/Logger.js +36 -77
- package/core/logger/Logger.js.map +1 -1
- package/core/logger/utils.js +16 -17
- package/core/logger/utils.js.map +1 -1
- package/core/module-manager.js +33 -58
- package/core/module-manager.js.map +1 -1
- package/core/module.js +43 -62
- package/core/module.js.map +1 -1
- package/modules/CSVModule.js +37 -87
- package/modules/CSVModule.js.map +1 -1
- package/modules/CliParamsModule.js +32 -51
- package/modules/CliParamsModule.js.map +1 -1
- package/package.json +1 -1
- package/permissions/permission-group.js +9 -11
- package/permissions/permission-group.js.map +1 -1
- package/testing/test-model.js +28 -87
- package/testing/test-model.js.map +1 -1
- package/ts-generics/array-params.js +14 -22
- package/ts-generics/array-params.js.map +1 -1
- package/ts-generics/omit-and-join.js +4 -15
- package/ts-generics/omit-and-join.js.map +1 -1
- package/utils/array-tools.js +40 -99
- package/utils/array-tools.js.map +1 -1
- package/utils/crypto-tools.js +1 -1
- package/utils/crypto-tools.js.map +1 -1
- package/utils/date-time-tools.js +17 -69
- package/utils/date-time-tools.js.map +1 -1
- package/utils/filter-tools.js +16 -18
- package/utils/filter-tools.js.map +1 -1
- package/utils/hash-tools.js +4 -7
- package/utils/hash-tools.js.map +1 -1
- package/utils/merge-tools.js +6 -6
- package/utils/merge-tools.js.map +1 -1
- package/utils/object-tools.js +13 -15
- package/utils/object-tools.js.map +1 -1
- package/utils/queue.js +47 -112
- package/utils/queue.js.map +1 -1
- package/utils/random-tools.js +2 -2
- package/utils/random-tools.js.map +1 -1
- package/utils/string-tools.js +1 -1
- package/utils/string-tools.js.map +1 -1
- package/utils/tools.js +6 -6
- package/utils/tools.js.map +1 -1
- package/utils/types.js +1 -1
- package/utils/types.js.map +1 -1
- package/utils/version-tools.js +6 -6
- package/utils/version-tools.js.map +1 -1
- package/validator/validator.js +64 -97
- package/validator/validator.js.map +1 -1
package/utils/random-tools.js
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
20
|
exports.generateUUID = exports.generateHex = void 0;
|
|
21
|
-
|
|
21
|
+
const crypto_1 = require("crypto");
|
|
22
22
|
function generateHex(length) {
|
|
23
23
|
return crypto_1.randomBytes(Math.ceil(length / 2))
|
|
24
24
|
.toString('hex')
|
|
@@ -27,7 +27,7 @@ function generateHex(length) {
|
|
|
27
27
|
exports.generateHex = generateHex;
|
|
28
28
|
function generateUUID() {
|
|
29
29
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
30
|
-
|
|
30
|
+
const r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8);
|
|
31
31
|
return v.toString(16);
|
|
32
32
|
});
|
|
33
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"random-tools.js","sourceRoot":"","sources":["../../src/main/utils/random-tools.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"random-tools.js","sourceRoot":"","sources":["../../src/main/utils/random-tools.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,mCAAmC;AAEnC,SAAgB,WAAW,CAAC,MAAc;IACzC,OAAO,oBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACvC,QAAQ,CAAC,KAAK,CAAC;SACf,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAJD,kCAIC;AAED,SAAgB,YAAY;IAC3B,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;QACzE,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACtE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACJ,CAAC;AALD,oCAKC"}
|
package/utils/string-tools.js
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
20
|
exports.padNumber = void 0;
|
|
21
21
|
function padNumber(num, length) {
|
|
22
|
-
|
|
22
|
+
const _num = num.toString();
|
|
23
23
|
return _num.length < length ? padNumber("0" + _num, length) : _num;
|
|
24
24
|
}
|
|
25
25
|
exports.padNumber = padNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-tools.js","sourceRoot":"","sources":["../../src/main/utils/string-tools.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,SAAgB,SAAS,CAAC,GAAoB,EAAE,MAAc;IAC7D,
|
|
1
|
+
{"version":3,"file":"string-tools.js","sourceRoot":"","sources":["../../src/main/utils/string-tools.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,SAAgB,SAAS,CAAC,GAAoB,EAAE,MAAc;IAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC5B,OAAO,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC;AAHD,8BAGC"}
|
package/utils/tools.js
CHANGED
|
@@ -18,13 +18,13 @@
|
|
|
18
18
|
*/
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
20
|
exports.__stringify = exports.calculateJsonSizeMb = exports.createFilterPattern = exports.regexpCase = void 0;
|
|
21
|
-
|
|
21
|
+
const object_tools_1 = require("./object-tools");
|
|
22
22
|
function regexpCase(value, reg) {
|
|
23
23
|
return value.match(new RegExp(reg)) || { input: undefined };
|
|
24
24
|
}
|
|
25
25
|
exports.regexpCase = regexpCase;
|
|
26
26
|
function createFilterPattern(rawFilter) {
|
|
27
|
-
|
|
27
|
+
let filter = rawFilter || "";
|
|
28
28
|
filter = filter.trim();
|
|
29
29
|
filter = filter.replace(/\s+/, " ");
|
|
30
30
|
filter = filter.replace(new RegExp("(.)", "g"), ".*?$1");
|
|
@@ -33,15 +33,15 @@ function createFilterPattern(rawFilter) {
|
|
|
33
33
|
}
|
|
34
34
|
exports.createFilterPattern = createFilterPattern;
|
|
35
35
|
function calculateJsonSizeMb(data) {
|
|
36
|
-
|
|
36
|
+
const number = JSON.stringify(data).length / 1024 / 1024;
|
|
37
37
|
return Math.round(number * 100) / 100;
|
|
38
38
|
}
|
|
39
39
|
exports.calculateJsonSizeMb = calculateJsonSizeMb;
|
|
40
40
|
function __stringify(obj, pretty) {
|
|
41
41
|
if (Array.isArray(pretty))
|
|
42
|
-
return object_tools_1._keys(obj).reduce(
|
|
43
|
-
return carry +
|
|
44
|
-
},
|
|
42
|
+
return `${object_tools_1._keys(obj).reduce((carry, key, idx) => {
|
|
43
|
+
return carry + ` ${key}: ${__stringify(obj[key], pretty.includes(key))}${idx !== object_tools_1._keys(obj).length - 1 && ',\n'}`;
|
|
44
|
+
}, `{\n`)}\n}`;
|
|
45
45
|
if (pretty)
|
|
46
46
|
return JSON.stringify(obj, null, 2);
|
|
47
47
|
return JSON.stringify(obj);
|
package/utils/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/main/utils/tools.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/main/utils/tools.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,iDAAqC;AAGrC,SAAgB,UAAU,CAAC,KAAa,EAAE,GAAW;IACpD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC;AAC3D,CAAC;AAFD,gCAEC;AAED,SAAgB,mBAAmB,CAAC,SAAkB;IACrD,IAAI,MAAM,GAAG,SAAS,IAAI,EAAE,CAAC;IAC7B,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;IACtD,OAAO,MAAM,CAAC;AACf,CAAC;AAPD,kDAOC;AAED,SAAgB,mBAAmB,CAAC,IAAc;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACzD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AACvC,CAAC;AAHD,kDAGC;AAED,SAAgB,WAAW,CAAI,GAAM,EAAE,MAA8B;IACpE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACxB,OAAO,GAAG,oBAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAa,EAAE,GAAY,EAAE,GAAW,EAAE,EAAE;YACxE,OAAO,KAAK,GAAG,KAAK,GAAG,KAAK,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,oBAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;QACpH,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;IAEhB,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAErC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAVD,kCAUC"}
|
package/utils/types.js
CHANGED
package/utils/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/main/utils/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAoDU,QAAA,IAAI,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/main/utils/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAoDU,QAAA,IAAI,GAAG,CAAC,GAAG,EAAE;AAC1B,CAAC,CAAC,EAAE,CAAC"}
|
package/utils/version-tools.js
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
20
|
exports.compareVersions = void 0;
|
|
21
|
-
|
|
21
|
+
const index_1 = require("../index");
|
|
22
22
|
/**
|
|
23
23
|
*
|
|
24
24
|
* @param firstVersion a version
|
|
@@ -33,11 +33,11 @@ function compareVersions(firstVersion, secondVersion) {
|
|
|
33
33
|
throw new index_1.BadImplementationException("First version is undefined");
|
|
34
34
|
if (!secondVersion)
|
|
35
35
|
throw new index_1.BadImplementationException("Second version is undefined");
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
for (
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
const firstVersionAsArray = firstVersion.split("\.");
|
|
37
|
+
const secondVersionAsArray = secondVersion.split("\.");
|
|
38
|
+
for (let i = 0; i < firstVersionAsArray.length; i++) {
|
|
39
|
+
const secondVal = +secondVersionAsArray[i];
|
|
40
|
+
const firstVal = +firstVersionAsArray[i];
|
|
41
41
|
if (secondVal > firstVal)
|
|
42
42
|
return 1;
|
|
43
43
|
if (secondVal === firstVal)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-tools.js","sourceRoot":"","sources":["../../src/main/utils/version-tools.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAGH,
|
|
1
|
+
{"version":3,"file":"version-tools.js","sourceRoot":"","sources":["../../src/main/utils/version-tools.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAGH,oCAAoD;AAEpD;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAAC,YAAoB,EAAE,aAAqB;IAC1E,IAAI,CAAC,YAAY;QAChB,MAAM,IAAI,kCAA0B,CAAC,4BAA4B,CAAC,CAAC;IAEpE,IAAI,CAAC,aAAa;QACjB,MAAM,IAAI,kCAA0B,CAAC,6BAA6B,CAAC,CAAC;IAErE,MAAM,mBAAmB,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,oBAAoB,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpD,MAAM,SAAS,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,SAAS,GAAG,QAAQ;YACvB,OAAO,CAAC,CAAC;QAEV,IAAI,SAAS,KAAK,QAAQ;YACzB,SAAS;QAEV,IAAI,SAAS,GAAG,QAAQ;YACvB,OAAO,CAAC,CAAC,CAAC;KACX;IAED,OAAO,CAAC,CAAC;AACV,CAAC;AAvBD,0CAuBC"}
|
package/validator/validator.js
CHANGED
|
@@ -16,170 +16,137 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
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
|
-
extendStatics(d, b);
|
|
28
|
-
function __() { this.constructor = d; }
|
|
29
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
30
|
-
};
|
|
31
|
-
})();
|
|
32
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
20
|
exports.timestampValidator = exports.auditValidator = exports.isTimestampValid = exports.validateObject = exports.validate = exports.validateRange = exports.validateValue = exports.validateRegexp = exports.validateArray = exports.validateObjectValues = exports.validateExists = exports.ValidationException = void 0;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
_this.input = input;
|
|
44
|
-
return _this;
|
|
21
|
+
const exceptions_1 = require("../core/exceptions");
|
|
22
|
+
const tools_1 = require("../utils/tools");
|
|
23
|
+
const object_tools_1 = require("../utils/object-tools");
|
|
24
|
+
const __1 = require("..");
|
|
25
|
+
class ValidationException extends exceptions_1.CustomException {
|
|
26
|
+
constructor(debugMessage, path, input) {
|
|
27
|
+
super(ValidationException, debugMessage);
|
|
28
|
+
this.path = path;
|
|
29
|
+
this.input = input;
|
|
45
30
|
}
|
|
46
|
-
|
|
47
|
-
}(exceptions_1.CustomException));
|
|
31
|
+
}
|
|
48
32
|
exports.ValidationException = ValidationException;
|
|
49
|
-
|
|
33
|
+
const assertMandatory = (mandatory, path, input) => {
|
|
50
34
|
if (input !== undefined && input !== null)
|
|
51
35
|
return;
|
|
52
36
|
if (mandatory)
|
|
53
|
-
throw new ValidationException(
|
|
37
|
+
throw new ValidationException(`Missing mandatory field: ${path}\n`, path, input);
|
|
54
38
|
};
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
return function (path, input) {
|
|
39
|
+
const validateExists = (mandatory = true) => {
|
|
40
|
+
return (path, input) => {
|
|
58
41
|
assertMandatory(mandatory, path, input);
|
|
59
42
|
};
|
|
60
43
|
};
|
|
61
44
|
exports.validateExists = validateExists;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
if (!objectValidator)
|
|
74
|
-
return;
|
|
75
|
-
return objectValidator(path + "/" + key, inputValue);
|
|
76
|
-
}
|
|
77
|
-
exports.validate(inputValue, validator, path + "/" + key);
|
|
45
|
+
const validateObjectValues = (validator, mandatory = true) => (path, input) => {
|
|
46
|
+
assertMandatory(mandatory, path, input);
|
|
47
|
+
if (!input)
|
|
48
|
+
return;
|
|
49
|
+
for (const key of object_tools_1._keys(input)) {
|
|
50
|
+
const inputValue = input[key];
|
|
51
|
+
if (typeof inputValue === "object") {
|
|
52
|
+
const objectValidator = exports.validateObjectValues(validator, mandatory);
|
|
53
|
+
if (!objectValidator)
|
|
54
|
+
return;
|
|
55
|
+
return objectValidator(`${path}/${key}`, inputValue);
|
|
78
56
|
}
|
|
79
|
-
|
|
57
|
+
exports.validate(inputValue, validator, `${path}/${key}`);
|
|
58
|
+
}
|
|
80
59
|
};
|
|
81
60
|
exports.validateObjectValues = validateObjectValues;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
exports.validate(_input[i], validator, path + "/" + i);
|
|
91
|
-
}
|
|
92
|
-
};
|
|
61
|
+
const validateArray = (validator, mandatory = true) => (path, input) => {
|
|
62
|
+
assertMandatory(mandatory, path, input);
|
|
63
|
+
if (!input)
|
|
64
|
+
return;
|
|
65
|
+
const _input = input;
|
|
66
|
+
for (let i = 0; i < _input.length; i++) {
|
|
67
|
+
exports.validate(_input[i], validator, `${path}/${i}`);
|
|
68
|
+
}
|
|
93
69
|
};
|
|
94
70
|
exports.validateArray = validateArray;
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
return function (path, input) {
|
|
71
|
+
const validateRegexp = (regexp, mandatory = true) => {
|
|
72
|
+
return (path, input) => {
|
|
98
73
|
assertMandatory(mandatory, path, input);
|
|
99
74
|
if (!input)
|
|
100
75
|
return;
|
|
101
76
|
if (regexp.test(input))
|
|
102
77
|
return;
|
|
103
|
-
throw new ValidationException(
|
|
78
|
+
throw new ValidationException(`Input is not valid:\n input: ${input}\n regexp: ${regexp}\n`, path, input);
|
|
104
79
|
};
|
|
105
80
|
};
|
|
106
81
|
exports.validateRegexp = validateRegexp;
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
return function (path, input) {
|
|
82
|
+
const validateValue = (values, mandatory = true) => {
|
|
83
|
+
return (path, input) => {
|
|
110
84
|
assertMandatory(mandatory, path, input);
|
|
111
85
|
if (!input)
|
|
112
86
|
return;
|
|
113
87
|
if (values.includes(input))
|
|
114
88
|
return;
|
|
115
|
-
throw new ValidationException(
|
|
89
|
+
throw new ValidationException(`Input is not valid:\n input: ${input}\n options: ${tools_1.__stringify(values)}\n`, path, input);
|
|
116
90
|
};
|
|
117
91
|
};
|
|
118
92
|
exports.validateValue = validateValue;
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
return function (path, input) {
|
|
93
|
+
const validateRange = (ranges, mandatory = true) => {
|
|
94
|
+
return (path, input) => {
|
|
122
95
|
assertMandatory(mandatory, path, input);
|
|
123
96
|
if (!input)
|
|
124
97
|
return;
|
|
125
|
-
for (
|
|
126
|
-
var range = ranges_1[_i];
|
|
98
|
+
for (const range of ranges) {
|
|
127
99
|
if (range[0] <= input && input <= range[1])
|
|
128
100
|
return;
|
|
129
101
|
}
|
|
130
|
-
throw new ValidationException(
|
|
102
|
+
throw new ValidationException(`Input is not valid:\n input: ${input}\n regexp: ${tools_1.__stringify(ranges)}\n`, path, input);
|
|
131
103
|
};
|
|
132
104
|
};
|
|
133
105
|
exports.validateRange = validateRange;
|
|
134
|
-
|
|
135
|
-
if (path === void 0) { path = ""; }
|
|
106
|
+
const validate = (instance, _validator, path = "") => {
|
|
136
107
|
if (!_validator)
|
|
137
108
|
return;
|
|
138
109
|
if (typeof _validator === "function") {
|
|
139
|
-
|
|
110
|
+
const validator = _validator;
|
|
140
111
|
if (!validator)
|
|
141
112
|
return;
|
|
142
|
-
return validator(
|
|
113
|
+
return validator(`${path}`, instance);
|
|
143
114
|
}
|
|
144
115
|
if (typeof _validator === "object") {
|
|
145
116
|
if (!instance && _validator)
|
|
146
|
-
throw new exceptions_1.BadImplementationException(
|
|
147
|
-
|
|
117
|
+
throw new exceptions_1.BadImplementationException(`Unexpect object at '${path}'\nif you want to ignore the validation of this object,\n add the following to your validator:\n {\n ...\n ${path}: undefined\n ...\n}\n`);
|
|
118
|
+
const __validator = _validator;
|
|
148
119
|
exports.validateObject(__validator, instance, path);
|
|
149
120
|
}
|
|
150
121
|
};
|
|
151
122
|
exports.validate = validate;
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
for (var _i = 0, instanceKeys_1 = instanceKeys; _i < instanceKeys_1.length; _i++) {
|
|
157
|
-
var key = instanceKeys_1[_i];
|
|
123
|
+
const validateObject = (__validator, instance, path = "") => {
|
|
124
|
+
const validatorKeys = object_tools_1._keys(__validator);
|
|
125
|
+
const instanceKeys = Object.keys(instance);
|
|
126
|
+
for (const key of instanceKeys) {
|
|
158
127
|
// @ts-ignore
|
|
159
128
|
if (!validatorKeys.includes(key))
|
|
160
|
-
throw new exceptions_1.BadImplementationException(
|
|
129
|
+
throw new exceptions_1.BadImplementationException(`Unexpect key '${path}${key}'\nif you want to ignore the validation of this property,\n add the following to your validator:\n {\n ...\n ${key}: undefined\n ...\n}\n`);
|
|
161
130
|
}
|
|
162
|
-
for (
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
exports.validate(value, validator, path + "/" + key);
|
|
131
|
+
for (const key of validatorKeys) {
|
|
132
|
+
const value = instance[key];
|
|
133
|
+
const validator = __validator[key];
|
|
134
|
+
exports.validate(value, validator, `${path}/${key}`);
|
|
167
135
|
}
|
|
168
136
|
};
|
|
169
137
|
exports.validateObject = validateObject;
|
|
170
|
-
|
|
171
|
-
if (range === void 0) { range = { min: __1.currentTimeMillies() - 1000 * __1.Day, max: __1.currentTimeMillies() + 1000 * __1.Day }; }
|
|
138
|
+
const isTimestampValid = (time, range = { min: __1.currentTimeMillies() - 1000 * __1.Day, max: __1.currentTimeMillies() + 1000 * __1.Day }) => {
|
|
172
139
|
return time >= range.min && time <= range.max;
|
|
173
140
|
};
|
|
174
141
|
exports.isTimestampValid = isTimestampValid;
|
|
175
|
-
|
|
142
|
+
const auditValidator = (range) => (_path, audit) => {
|
|
176
143
|
var _a;
|
|
177
144
|
exports.timestampValidator(range)(_path, (_a = audit === null || audit === void 0 ? void 0 : audit.auditAt) === null || _a === void 0 ? void 0 : _a.timestamp);
|
|
178
|
-
};
|
|
145
|
+
};
|
|
179
146
|
exports.auditValidator = auditValidator;
|
|
180
|
-
|
|
147
|
+
const timestampValidator = (range) => (_path, timestamp) => {
|
|
181
148
|
if (!timestamp || !exports.isTimestampValid(timestamp, range))
|
|
182
149
|
throw new ValidationException('Time is not proper', _path, timestamp);
|
|
183
|
-
};
|
|
150
|
+
};
|
|
184
151
|
exports.timestampValidator = timestampValidator;
|
|
185
152
|
//# sourceMappingURL=validator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/main/validator/validator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/main/validator/validator.ts"],"names":[],"mappings":"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"}
|