@leyyo/common 1.2.7 → 1.3.1
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/README.md +395 -3
- package/dist/class/index.d.ts +2 -0
- package/dist/{list → class}/index.js +1 -1
- package/dist/class/index.js.map +1 -0
- package/dist/{list → class}/list.d.ts +1 -1
- package/dist/class/list.js.map +1 -0
- package/dist/{log → class}/logger.instance.d.ts +10 -12
- package/dist/class/logger.instance.js +150 -0
- package/dist/class/logger.instance.js.map +1 -0
- package/dist/common/array.fn.d.ts +46 -0
- package/dist/common/array.fn.js +123 -0
- package/dist/common/array.fn.js.map +1 -0
- package/dist/common/deploy.fn.d.ts +18 -0
- package/dist/common/deploy.fn.js +73 -0
- package/dist/common/deploy.fn.js.map +1 -0
- package/dist/common/enum.fn.d.ts +63 -0
- package/dist/common/enum.fn.js +191 -0
- package/dist/common/enum.fn.js.map +1 -0
- package/dist/common/error.fn.d.ts +91 -0
- package/dist/common/error.fn.js +400 -0
- package/dist/common/error.fn.js.map +1 -0
- package/dist/common/event.fn.d.ts +45 -0
- package/dist/common/event.fn.js +160 -0
- package/dist/common/event.fn.js.map +1 -0
- package/dist/common/exporter.fn.d.ts +7 -0
- package/dist/common/exporter.fn.js +49 -0
- package/dist/common/exporter.fn.js.map +1 -0
- package/dist/common/fqn.fn.d.ts +27 -0
- package/dist/common/fqn.fn.js +104 -0
- package/dist/common/fqn.fn.js.map +1 -0
- package/dist/common/index.d.ts +14 -0
- package/dist/{hub → common}/index.js +14 -1
- package/dist/common/index.js.map +1 -0
- package/dist/common/lifecycle.fn.d.ts +24 -0
- package/dist/common/lifecycle.fn.js +135 -0
- package/dist/common/lifecycle.fn.js.map +1 -0
- package/dist/common/list.fn.d.ts +47 -0
- package/dist/common/list.fn.js +122 -0
- package/dist/common/list.fn.js.map +1 -0
- package/dist/common/loader.fn.d.ts +15 -0
- package/dist/common/loader.fn.js +38 -0
- package/dist/common/loader.fn.js.map +1 -0
- package/dist/common/log.fn.d.ts +21 -0
- package/dist/common/log.fn.js +321 -0
- package/dist/common/log.fn.js.map +1 -0
- package/dist/common/map.fn.d.ts +46 -0
- package/dist/common/map.fn.js +123 -0
- package/dist/common/map.fn.js.map +1 -0
- package/dist/common/opt.fn.d.ts +48 -0
- package/dist/common/opt.fn.js +137 -0
- package/dist/common/opt.fn.js.map +1 -0
- package/dist/common/set.fn.d.ts +46 -0
- package/dist/common/set.fn.js +123 -0
- package/dist/common/set.fn.js.map +1 -0
- package/dist/common/test.fn.d.ts +26 -0
- package/dist/common/test.fn.js +81 -0
- package/dist/common/test.fn.js.map +1 -0
- package/dist/const/index.d.ts +23 -0
- package/dist/const/index.js +28 -0
- package/dist/const/index.js.map +1 -0
- package/dist/enum/index.d.ts +1 -0
- package/dist/{deploy → enum}/index.js +1 -1
- package/dist/enum/index.js.map +1 -0
- package/dist/{log → enum}/log-level.js +2 -2
- package/dist/enum/log-level.js.map +1 -0
- package/dist/error/caused.error.d.ts +15 -0
- package/dist/error/caused.error.js +24 -0
- package/dist/error/caused.error.js.map +1 -0
- package/dist/error/developer.error.d.ts +24 -0
- package/dist/error/developer.error.js +69 -0
- package/dist/error/developer.error.js.map +1 -0
- package/dist/error/{items/http.error.d.ts → http.error.d.ts} +1 -1
- package/dist/error/http.error.js +31 -0
- package/dist/error/http.error.js.map +1 -0
- package/dist/error/index.d.ts +6 -3
- package/dist/error/index.js +6 -3
- package/dist/error/index.js.map +1 -1
- package/dist/error/{items/invalid-value.error.js → invalid-value.error.js} +6 -2
- package/dist/error/invalid-value.error.js.map +1 -0
- package/dist/error/leyyo.error.d.ts +87 -0
- package/dist/error/leyyo.error.js +259 -0
- package/dist/error/leyyo.error.js.map +1 -0
- package/dist/error/{items/multiple.error.d.ts → multiple.error.d.ts} +1 -1
- package/dist/error/{items/multiple.error.js → multiple.error.js} +5 -4
- package/dist/error/multiple.error.js.map +1 -0
- package/dist/{util → function}/delay.js +1 -0
- package/dist/function/delay.js.map +1 -0
- package/dist/function/empty.fn.d.ts +8 -0
- package/dist/{util → function}/empty.fn.js +3 -2
- package/dist/function/empty.fn.js.map +1 -0
- package/dist/function/error-obj.d.ts +8 -0
- package/dist/function/error-obj.js +25 -0
- package/dist/function/error-obj.js.map +1 -0
- package/dist/function/error-text.d.ts +7 -0
- package/dist/function/error-text.js +18 -0
- package/dist/function/error-text.js.map +1 -0
- package/dist/{util → function}/extended-type.d.ts +1 -1
- package/dist/{util → function}/extended-type.js +6 -5
- package/dist/function/extended-type.js.map +1 -0
- package/dist/{util → function}/index.d.ts +3 -4
- package/dist/{util → function}/index.js +3 -4
- package/dist/function/index.js.map +1 -0
- package/dist/{util → function}/is.d.ts +6 -14
- package/dist/{util → function}/is.js +24 -22
- package/dist/function/is.js.map +1 -0
- package/dist/{util → function}/jitter-interval.js +1 -0
- package/dist/function/jitter-interval.js.map +1 -0
- package/dist/{util → function}/one-or-more.d.ts +1 -1
- package/dist/{util → function}/one-or-more.js +1 -0
- package/dist/function/one-or-more.js.map +1 -0
- package/dist/{util → function}/secure-clone.d.ts +1 -1
- package/dist/function/secure-clone.js.map +1 -0
- package/dist/function/secure-json.js.map +1 -0
- package/dist/index.d.ts +7 -20
- package/dist/index.js +7 -22
- package/dist/index.js.map +1 -1
- package/dist/index.types.d.ts +510 -0
- package/dist/{shared/index.types.js → index.types.js} +1 -1
- package/dist/index.types.js.map +1 -0
- package/dist/loader.d.ts +2 -0
- package/dist/loader.js +98 -0
- package/dist/loader.js.map +1 -0
- package/package.json +5 -3
- package/dist/$$leyyo-loader.d.ts +0 -1
- package/dist/$$leyyo-loader.js +0 -40
- package/dist/$$leyyo-loader.js.map +0 -1
- package/dist/deploy/deploy.common.d.ts +0 -34
- package/dist/deploy/deploy.common.js +0 -125
- package/dist/deploy/deploy.common.js.map +0 -1
- package/dist/deploy/index.d.ts +0 -1
- package/dist/deploy/index.js.map +0 -1
- package/dist/deploy/index.types.d.ts +0 -29
- package/dist/deploy/index.types.js +0 -3
- package/dist/deploy/index.types.js.map +0 -1
- package/dist/error/error.common.d.ts +0 -34
- package/dist/error/error.common.js +0 -220
- package/dist/error/error.common.js.map +0 -1
- package/dist/error/index.const.d.ts +0 -4
- package/dist/error/index.const.js +0 -8
- package/dist/error/index.const.js.map +0 -1
- package/dist/error/index.types.d.ts +0 -109
- package/dist/error/index.types.js +0 -3
- package/dist/error/index.types.js.map +0 -1
- package/dist/error/items/caused.error.d.ts +0 -6
- package/dist/error/items/caused.error.js +0 -11
- package/dist/error/items/caused.error.js.map +0 -1
- package/dist/error/items/developer.error.d.ts +0 -4
- package/dist/error/items/developer.error.js +0 -11
- package/dist/error/items/developer.error.js.map +0 -1
- package/dist/error/items/http.error.js +0 -37
- package/dist/error/items/http.error.js.map +0 -1
- package/dist/error/items/index.d.ts +0 -6
- package/dist/error/items/index.js +0 -23
- package/dist/error/items/index.js.map +0 -1
- package/dist/error/items/invalid-value.error.js.map +0 -1
- package/dist/error/items/leyyo.error.d.ts +0 -60
- package/dist/error/items/leyyo.error.js +0 -144
- package/dist/error/items/leyyo.error.js.map +0 -1
- package/dist/error/items/multiple.error.js.map +0 -1
- package/dist/event/event.common.d.ts +0 -80
- package/dist/event/event.common.js +0 -308
- package/dist/event/event.common.js.map +0 -1
- package/dist/event/event.error.d.ts +0 -3
- package/dist/event/event.error.js +0 -9
- package/dist/event/event.error.js.map +0 -1
- package/dist/event/index.d.ts +0 -2
- package/dist/event/index.js +0 -19
- package/dist/event/index.js.map +0 -1
- package/dist/event/index.types.d.ts +0 -265
- package/dist/event/index.types.js +0 -3
- package/dist/event/index.types.js.map +0 -1
- package/dist/hub/hub.channel.d.ts +0 -27
- package/dist/hub/hub.channel.js +0 -83
- package/dist/hub/hub.channel.js.map +0 -1
- package/dist/hub/hub.common.d.ts +0 -27
- package/dist/hub/hub.common.js +0 -92
- package/dist/hub/hub.common.js.map +0 -1
- package/dist/hub/index.d.ts +0 -1
- package/dist/hub/index.js.map +0 -1
- package/dist/hub/index.types.d.ts +0 -105
- package/dist/hub/index.types.js +0 -3
- package/dist/hub/index.types.js.map +0 -1
- package/dist/leyyo/index.d.ts +0 -1
- package/dist/leyyo/index.js +0 -18
- package/dist/leyyo/index.js.map +0 -1
- package/dist/leyyo/index.types.d.ts +0 -21
- package/dist/leyyo/index.types.js +0 -3
- package/dist/leyyo/index.types.js.map +0 -1
- package/dist/leyyo/leyyo.d.ts +0 -25
- package/dist/leyyo/leyyo.js +0 -62
- package/dist/leyyo/leyyo.js.map +0 -1
- package/dist/list/index.d.ts +0 -2
- package/dist/list/index.js.map +0 -1
- package/dist/list/index.types.d.ts +0 -26
- package/dist/list/index.types.js +0 -3
- package/dist/list/index.types.js.map +0 -1
- package/dist/list/list.js.map +0 -1
- package/dist/log/index.d.ts +0 -4
- package/dist/log/index.js +0 -21
- package/dist/log/index.js.map +0 -1
- package/dist/log/index.types.d.ts +0 -47
- package/dist/log/index.types.js +0 -3
- package/dist/log/index.types.js.map +0 -1
- package/dist/log/log-level.js.map +0 -1
- package/dist/log/log.common.d.ts +0 -15
- package/dist/log/log.common.js +0 -135
- package/dist/log/log.common.js.map +0 -1
- package/dist/log/logger.error.d.ts +0 -3
- package/dist/log/logger.error.js +0 -9
- package/dist/log/logger.error.js.map +0 -1
- package/dist/log/logger.instance.js +0 -139
- package/dist/log/logger.instance.js.map +0 -1
- package/dist/name/index.d.ts +0 -2
- package/dist/name/index.js +0 -19
- package/dist/name/index.js.map +0 -1
- package/dist/name/index.types.d.ts +0 -21
- package/dist/name/index.types.js +0 -3
- package/dist/name/index.types.js.map +0 -1
- package/dist/name/name.common.d.ts +0 -16
- package/dist/name/name.common.js +0 -109
- package/dist/name/name.common.js.map +0 -1
- package/dist/name/name.error.d.ts +0 -3
- package/dist/name/name.error.js +0 -9
- package/dist/name/name.error.js.map +0 -1
- package/dist/opt/index.d.ts +0 -1
- package/dist/opt/index.js +0 -18
- package/dist/opt/index.js.map +0 -1
- package/dist/opt/index.types.d.ts +0 -33
- package/dist/opt/index.types.js +0 -3
- package/dist/opt/index.types.js.map +0 -1
- package/dist/opt/opt.common.d.ts +0 -15
- package/dist/opt/opt.common.js +0 -93
- package/dist/opt/opt.common.js.map +0 -1
- package/dist/repo/index.d.ts +0 -1
- package/dist/repo/index.js +0 -18
- package/dist/repo/index.js.map +0 -1
- package/dist/repo/index.types.d.ts +0 -104
- package/dist/repo/index.types.js +0 -3
- package/dist/repo/index.types.js.map +0 -1
- package/dist/repo/repo.common.d.ts +0 -41
- package/dist/repo/repo.common.js +0 -146
- package/dist/repo/repo.common.js.map +0 -1
- package/dist/server.d.ts +0 -1
- package/dist/server.js +0 -5
- package/dist/server.js.map +0 -1
- package/dist/shared/index.d.ts +0 -5
- package/dist/shared/index.enum.d.ts +0 -12
- package/dist/shared/index.enum.js +0 -3
- package/dist/shared/index.enum.js.map +0 -1
- package/dist/shared/index.fqn.d.ts +0 -3
- package/dist/shared/index.fqn.js +0 -3
- package/dist/shared/index.fqn.js.map +0 -1
- package/dist/shared/index.js +0 -22
- package/dist/shared/index.js.map +0 -1
- package/dist/shared/index.json.d.ts +0 -33
- package/dist/shared/index.json.js +0 -3
- package/dist/shared/index.json.js.map +0 -1
- package/dist/shared/index.loader.d.ts +0 -5
- package/dist/shared/index.loader.js +0 -3
- package/dist/shared/index.loader.js.map +0 -1
- package/dist/shared/index.types.d.ts +0 -168
- package/dist/shared/index.types.js.map +0 -1
- package/dist/util/$define-enum.d.ts +0 -18
- package/dist/util/$define-enum.js +0 -28
- package/dist/util/$define-enum.js.map +0 -1
- package/dist/util/$define-error.d.ts +0 -9
- package/dist/util/$define-error.js +0 -25
- package/dist/util/$define-error.js.map +0 -1
- package/dist/util/$loader.d.ts +0 -18
- package/dist/util/$loader.js +0 -40
- package/dist/util/$loader.js.map +0 -1
- package/dist/util/delay.js.map +0 -1
- package/dist/util/empty.fn.d.ts +0 -8
- package/dist/util/empty.fn.js.map +0 -1
- package/dist/util/extended-type.js.map +0 -1
- package/dist/util/index.js.map +0 -1
- package/dist/util/is.js.map +0 -1
- package/dist/util/jitter-interval.js.map +0 -1
- package/dist/util/one-or-more.js.map +0 -1
- package/dist/util/secure-clone.js.map +0 -1
- package/dist/util/secure-json.js.map +0 -1
- /package/dist/{list → class}/list.js +0 -0
- /package/dist/{log → enum}/log-level.d.ts +0 -0
- /package/dist/error/{items/invalid-value.error.d.ts → invalid-value.error.d.ts} +0 -0
- /package/dist/{util → function}/delay.d.ts +0 -0
- /package/dist/{util → function}/jitter-interval.d.ts +0 -0
- /package/dist/{util → function}/secure-clone.js +0 -0
- /package/dist/{util → function}/secure-json.d.ts +0 -0
- /package/dist/{util → function}/secure-json.js +0 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newRepoArray = newRepoArray;
|
|
4
|
+
exports.removeRepoArray = removeRepoArray;
|
|
5
|
+
exports.clearRepoArray = clearRepoArray;
|
|
6
|
+
exports.listRepoArrays = listRepoArrays;
|
|
7
|
+
exports.printRepoArrays = printRepoArrays;
|
|
8
|
+
const function_1 = require("../function");
|
|
9
|
+
const error_1 = require("../error");
|
|
10
|
+
const internal_1 = require("../internal");
|
|
11
|
+
// region properties
|
|
12
|
+
/**
|
|
13
|
+
* Internal items which stores collections
|
|
14
|
+
* */
|
|
15
|
+
const items = new Map();
|
|
16
|
+
/**
|
|
17
|
+
* Internal volatiles repo which could be cleared after lifecycle run
|
|
18
|
+
* */
|
|
19
|
+
const volatiles = new Set();
|
|
20
|
+
/**
|
|
21
|
+
* Identifier of file
|
|
22
|
+
* */
|
|
23
|
+
const where = `${internal_1.FQN}.ArrayFn`;
|
|
24
|
+
// endregion properties
|
|
25
|
+
// noinspection JSUnusedGlobalSymbols
|
|
26
|
+
/**
|
|
27
|
+
* Create new array
|
|
28
|
+
*
|
|
29
|
+
* @param {string} name - name of collection
|
|
30
|
+
* @param {boolean} volatile - if yes: it will be removed after lifecycle run
|
|
31
|
+
* @return {Array<any>}
|
|
32
|
+
* */
|
|
33
|
+
function newRepoArray(name, volatile) {
|
|
34
|
+
if (!(0, function_1.isText)(name)) {
|
|
35
|
+
throw new error_1.DeveloperError('Invalid new array name', 'newArray#01', where);
|
|
36
|
+
}
|
|
37
|
+
const item = [];
|
|
38
|
+
const code = Symbol.for(name.split('#').join(''));
|
|
39
|
+
items.set(code, item);
|
|
40
|
+
if (volatile) {
|
|
41
|
+
volatiles.add(code);
|
|
42
|
+
}
|
|
43
|
+
return item;
|
|
44
|
+
}
|
|
45
|
+
// noinspection JSUnusedGlobalSymbols
|
|
46
|
+
/**
|
|
47
|
+
* Remove array by given key
|
|
48
|
+
*
|
|
49
|
+
* @param {symbol} key - key of collection
|
|
50
|
+
* @return {number}
|
|
51
|
+
*
|
|
52
|
+
* Return possibilities:
|
|
53
|
+
* - `-2`: key is not valid symbol
|
|
54
|
+
* - `-1`: key does not exist
|
|
55
|
+
* - `>= 0`: length of removed items in collection
|
|
56
|
+
* */
|
|
57
|
+
function removeRepoArray(key) {
|
|
58
|
+
const cleared = clearRepoArray(key);
|
|
59
|
+
if (cleared >= 0) {
|
|
60
|
+
items.delete(key);
|
|
61
|
+
if (volatiles.has(key)) {
|
|
62
|
+
volatiles.delete(key);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return cleared;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Clear array by given key
|
|
69
|
+
*
|
|
70
|
+
* @param {symbol} key - key of collection
|
|
71
|
+
* @return {number}
|
|
72
|
+
*
|
|
73
|
+
* Return possibilities:
|
|
74
|
+
* - `-2`: key is not valid symbol
|
|
75
|
+
* - `-1`: key does not exist
|
|
76
|
+
* - `>= 0`: length of cleared items in collection
|
|
77
|
+
* */
|
|
78
|
+
function clearRepoArray(key) {
|
|
79
|
+
if (typeof key !== 'symbol') {
|
|
80
|
+
return -2;
|
|
81
|
+
}
|
|
82
|
+
if (!items.has(key)) {
|
|
83
|
+
return -1;
|
|
84
|
+
}
|
|
85
|
+
const item = items.get(key);
|
|
86
|
+
const length = item.length;
|
|
87
|
+
item.splice(0, length);
|
|
88
|
+
return length;
|
|
89
|
+
}
|
|
90
|
+
// noinspection JSUnusedGlobalSymbols
|
|
91
|
+
/**
|
|
92
|
+
* List all array keys
|
|
93
|
+
*
|
|
94
|
+
* @return {Array<symbol>}
|
|
95
|
+
* */
|
|
96
|
+
function listRepoArrays() {
|
|
97
|
+
return Array.from(items.keys());
|
|
98
|
+
}
|
|
99
|
+
// noinspection JSUnusedGlobalSymbols
|
|
100
|
+
/**
|
|
101
|
+
* Print all arrays
|
|
102
|
+
*
|
|
103
|
+
* @return {Record} - as {key: length of collection}
|
|
104
|
+
*
|
|
105
|
+
* Note: if stringified symbol is duplicated, add index postfix with `#` symbol
|
|
106
|
+
* */
|
|
107
|
+
function printRepoArrays() {
|
|
108
|
+
const result = {};
|
|
109
|
+
let index = 0;
|
|
110
|
+
for (const [sym, item] of items.entries()) {
|
|
111
|
+
const key = sym.description;
|
|
112
|
+
if (result[key] === undefined) {
|
|
113
|
+
result[key] = item.length;
|
|
114
|
+
index = 0;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
index++;
|
|
118
|
+
result[`${key}#${index}`] = item.length;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return result;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=array.fn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.fn.js","sourceRoot":"","sources":["../../src/common/array.fn.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Fnc } from "../index.types";
|
|
2
|
+
/**
|
|
3
|
+
* Wait deploy of a component
|
|
4
|
+
*
|
|
5
|
+
* @param {string} name - name of component
|
|
6
|
+
* @param {function} callback - callback for creator of component, if it completes it, this callback will be called
|
|
7
|
+
* */
|
|
8
|
+
export declare function waitDeploy(name: string, callback: Fnc): void;
|
|
9
|
+
/**
|
|
10
|
+
* Complete deploy of a component
|
|
11
|
+
* - It should be called by owner of component
|
|
12
|
+
*
|
|
13
|
+
*
|
|
14
|
+
*
|
|
15
|
+
* @param {string} name - name of component
|
|
16
|
+
* @param {...Array} values - They will be sent to callback of waiting component, {@link waitDeploy}
|
|
17
|
+
* */
|
|
18
|
+
export declare function completeDeploy(name: string, ...values: Array<unknown>): void;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.waitDeploy = waitDeploy;
|
|
4
|
+
exports.completeDeploy = completeDeploy;
|
|
5
|
+
const function_1 = require("../function");
|
|
6
|
+
const error_1 = require("../error");
|
|
7
|
+
const internal_1 = require("../internal");
|
|
8
|
+
const map_fn_1 = require("./map.fn");
|
|
9
|
+
// region properties
|
|
10
|
+
const where = `${internal_1.FQN}.DeployFn`;
|
|
11
|
+
const waitingCallbacks = (0, map_fn_1.newRepoMap)(`${where}.waitingCallbacks`);
|
|
12
|
+
const alreadyDeployed = (0, map_fn_1.newRepoMap)(`${where}.alreadyDeployed`);
|
|
13
|
+
// endregion properties
|
|
14
|
+
// noinspection JSUnusedGlobalSymbols
|
|
15
|
+
/**
|
|
16
|
+
* Wait deploy of a component
|
|
17
|
+
*
|
|
18
|
+
* @param {string} name - name of component
|
|
19
|
+
* @param {function} callback - callback for creator of component, if it completes it, this callback will be called
|
|
20
|
+
* */
|
|
21
|
+
function waitDeploy(name, callback) {
|
|
22
|
+
if (!(0, function_1.isText)(name)) {
|
|
23
|
+
throw new error_1.DeveloperError('Invalid event name', 'onDeployed#01', where);
|
|
24
|
+
}
|
|
25
|
+
if (typeof callback !== 'function') {
|
|
26
|
+
throw new error_1.DeveloperError('Invalid event callback', 'onDeployed#02', where);
|
|
27
|
+
}
|
|
28
|
+
if (alreadyDeployed.has(name)) {
|
|
29
|
+
try {
|
|
30
|
+
callback(...alreadyDeployed.get(name));
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
new error_1.DeveloperError('Raised callback run', 'onDeployed#03', where).log(e);
|
|
34
|
+
}
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (!waitingCallbacks.has(name)) {
|
|
38
|
+
waitingCallbacks.set(name, []);
|
|
39
|
+
}
|
|
40
|
+
waitingCallbacks.get(name).push(callback);
|
|
41
|
+
}
|
|
42
|
+
// noinspection JSUnusedGlobalSymbols
|
|
43
|
+
/**
|
|
44
|
+
* Complete deploy of a component
|
|
45
|
+
* - It should be called by owner of component
|
|
46
|
+
*
|
|
47
|
+
*
|
|
48
|
+
*
|
|
49
|
+
* @param {string} name - name of component
|
|
50
|
+
* @param {...Array} values - They will be sent to callback of waiting component, {@link waitDeploy}
|
|
51
|
+
* */
|
|
52
|
+
function completeDeploy(name, ...values) {
|
|
53
|
+
if (!(0, function_1.isText)(name)) {
|
|
54
|
+
throw new error_1.DeveloperError('Invalid event name', 'onDeployed#04', where);
|
|
55
|
+
}
|
|
56
|
+
const isNew = !alreadyDeployed.has(name);
|
|
57
|
+
alreadyDeployed.set(name, values);
|
|
58
|
+
if (isNew) {
|
|
59
|
+
if (waitingCallbacks.has(name)) {
|
|
60
|
+
const callbacks = waitingCallbacks.get(name);
|
|
61
|
+
waitingCallbacks.delete(name);
|
|
62
|
+
callbacks.forEach(callback => {
|
|
63
|
+
try {
|
|
64
|
+
callback(...values);
|
|
65
|
+
}
|
|
66
|
+
catch (e) {
|
|
67
|
+
new error_1.DeveloperError('Raised callback run', 'onDeployed#05', where).log(e);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=deploy.fn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.fn.js","sourceRoot":"","sources":["../../src/common/deploy.fn.ts"],"names":[],"mappings":";;AAmBA,gCAoBC;AAYD,wCAoBC;AAtED,0CAAmC;AACnC,oCAAwC;AACxC,0CAAgC;AAChC,qCAAoC;AAEpC,oBAAoB;AACpB,MAAM,KAAK,GAAG,GAAG,cAAG,WAAW,CAAC;AAChC,MAAM,gBAAgB,GAAG,IAAA,mBAAU,EAAqB,GAAG,KAAK,mBAAmB,CAAC,CAAC;AACrF,MAAM,eAAe,GAAG,IAAA,mBAAU,EAAyB,GAAG,KAAK,kBAAkB,CAAC,CAAC;AACvF,uBAAuB;AAEvB,qCAAqC;AACrC;;;;;KAKK;AACL,SAAgB,UAAU,CAAC,IAAY,EAAE,QAAa;IAClD,IAAI,CAAC,IAAA,iBAAM,EAAC,IAAI,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,sBAAc,CAAC,oBAAoB,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,sBAAc,CAAC,wBAAwB,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACD,QAAQ,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,sBAAc,CAAC,qBAAqB,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO;IACX,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC;AACD,qCAAqC;AAErC;;;;;;;;KAQK;AACL,SAAgB,cAAc,CAAC,IAAY,EAAE,GAAG,MAAsB;IAClE,IAAI,CAAC,IAAA,iBAAM,EAAC,IAAI,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,sBAAc,CAAC,oBAAoB,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAElC,IAAI,KAAK,EAAE,CAAC;QACR,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACzB,IAAI,CAAC;oBACD,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC;gBACxB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,IAAI,sBAAc,CAAC,qBAAqB,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC7E,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { EnumData, EnumDefineEagerOpt, EnumDefineLazyOpt, EnumItem } from "../index.types";
|
|
2
|
+
/**
|
|
3
|
+
* Define an enumeration as eager (with data)
|
|
4
|
+
*
|
|
5
|
+
* Options:
|
|
6
|
+
* - classic enumeration as `enum name {...}`
|
|
7
|
+
* - literal enumeration as `[...]`
|
|
8
|
+
*
|
|
9
|
+
* @param {(EnumData)} data - map or literal readonly array
|
|
10
|
+
* @param {EnumDefineEagerOpt} opt - enum options
|
|
11
|
+
* */
|
|
12
|
+
export declare function defineEnum(data: EnumData, opt: EnumDefineEagerOpt): void;
|
|
13
|
+
/**
|
|
14
|
+
* Define an enumeration as lazy (with path)
|
|
15
|
+
*
|
|
16
|
+
* Options:
|
|
17
|
+
* - classic enumeration as `enum name {...}`
|
|
18
|
+
* - literal enumeration as `[...]`
|
|
19
|
+
*
|
|
20
|
+
* @param {EnumDefineLazyOpt} opt - enum options
|
|
21
|
+
* */
|
|
22
|
+
export declare function defineLazyEnum(opt: EnumDefineLazyOpt): void;
|
|
23
|
+
/**
|
|
24
|
+
* Check enum defined as lazy, by name
|
|
25
|
+
* Note:
|
|
26
|
+
* - Enum's mode will be shifted lazy to eager after loaded
|
|
27
|
+
*
|
|
28
|
+
* @param {string} name - enum name
|
|
29
|
+
* @return {boolean}
|
|
30
|
+
* */
|
|
31
|
+
export declare function isEnumLazy(name: string): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Check enum defined as eager, by name
|
|
34
|
+
*
|
|
35
|
+
* @param {string} name - enum name
|
|
36
|
+
* @return {boolean}
|
|
37
|
+
* */
|
|
38
|
+
export declare function isEnumEager(name: string): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Check enum defined or not, by name
|
|
41
|
+
*
|
|
42
|
+
* @param {string} name - enum name
|
|
43
|
+
* @return {boolean}
|
|
44
|
+
* */
|
|
45
|
+
export declare function isEnumDefined(name: string): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Get enum by name
|
|
48
|
+
* Note:
|
|
49
|
+
* - Enum may be lazy mode, so it has lazy paths without data
|
|
50
|
+
*
|
|
51
|
+
* @param {string} name - enum name
|
|
52
|
+
* @return {EnumItem}
|
|
53
|
+
* */
|
|
54
|
+
export declare function getEnum(name: string): EnumItem;
|
|
55
|
+
/**
|
|
56
|
+
* Load lazy enum by name
|
|
57
|
+
* Note:
|
|
58
|
+
* - Enum must be exported as `foretell`
|
|
59
|
+
*
|
|
60
|
+
* @param {string} name - name of enum
|
|
61
|
+
* @return {Promise<EnumItem>}
|
|
62
|
+
* */
|
|
63
|
+
export declare function getLazyEnum(name: string): Promise<EnumItem>;
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// noinspection JSUnusedGlobalSymbols
|
|
3
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
4
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
8
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.defineEnum = defineEnum;
|
|
14
|
+
exports.defineLazyEnum = defineLazyEnum;
|
|
15
|
+
exports.isEnumLazy = isEnumLazy;
|
|
16
|
+
exports.isEnumEager = isEnumEager;
|
|
17
|
+
exports.isEnumDefined = isEnumDefined;
|
|
18
|
+
exports.getEnum = getEnum;
|
|
19
|
+
exports.getLazyEnum = getLazyEnum;
|
|
20
|
+
const function_1 = require("../function");
|
|
21
|
+
const const_1 = require("../const");
|
|
22
|
+
const internal_1 = require("../internal");
|
|
23
|
+
const map_fn_1 = require("./map.fn");
|
|
24
|
+
const set_fn_1 = require("./set.fn");
|
|
25
|
+
const error_1 = require("../error");
|
|
26
|
+
// region properties
|
|
27
|
+
const where = `${internal_1.FQN}.EnumFn`;
|
|
28
|
+
const items = (0, set_fn_1.newRepoSet)(`${where}.items`);
|
|
29
|
+
const names = (0, map_fn_1.newRepoMap)(`${where}.names`);
|
|
30
|
+
// endregion properties
|
|
31
|
+
/**
|
|
32
|
+
* Define an enumeration as eager (with data)
|
|
33
|
+
*
|
|
34
|
+
* Options:
|
|
35
|
+
* - classic enumeration as `enum name {...}`
|
|
36
|
+
* - literal enumeration as `[...]`
|
|
37
|
+
*
|
|
38
|
+
* @param {(EnumData)} data - map or literal readonly array
|
|
39
|
+
* @param {EnumDefineEagerOpt} opt - enum options
|
|
40
|
+
* */
|
|
41
|
+
function defineEnum(data, opt) {
|
|
42
|
+
if (!((0, function_1.isFilledObj)(data) || (0, function_1.isFilledArr)(data))) {
|
|
43
|
+
throw new error_1.DeveloperError('Invalid enum data', 'onDeployed#01', where);
|
|
44
|
+
}
|
|
45
|
+
if (!(0, function_1.isFilledObj)(opt)) {
|
|
46
|
+
throw new error_1.DeveloperError('Invalid enum options', 'onDeployed#01', where);
|
|
47
|
+
}
|
|
48
|
+
if (!(0, function_1.isText)(opt.name)) {
|
|
49
|
+
throw new error_1.DeveloperError('Invalid enum name', 'onDeployed#01', where);
|
|
50
|
+
}
|
|
51
|
+
if (isAlreadyDefined(opt.name, data)) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const type = Array.isArray(data) ? 'literal' : 'map';
|
|
55
|
+
items.add(data);
|
|
56
|
+
names.set(opt.name, Object.assign(Object.assign({}, opt), { mode: 'eager', type, data }));
|
|
57
|
+
data[const_1.LY_ENUM_NAME] = opt.name;
|
|
58
|
+
if ((0, function_1.isFilledObj)(opt.alt)) {
|
|
59
|
+
data[const_1.LY_ENUM_ALT] = opt.alt;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Check conflict case
|
|
64
|
+
*
|
|
65
|
+
* @param {string} name - enum name
|
|
66
|
+
* @param {EnumData} data - enum object or literals
|
|
67
|
+
* @return {boolean} - if yes: it was already defined
|
|
68
|
+
* */
|
|
69
|
+
function isAlreadyDefined(name, data) {
|
|
70
|
+
return data[const_1.LY_ENUM_NAME] && items.has(data) && names.has(name);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Define an enumeration as lazy (with path)
|
|
74
|
+
*
|
|
75
|
+
* Options:
|
|
76
|
+
* - classic enumeration as `enum name {...}`
|
|
77
|
+
* - literal enumeration as `[...]`
|
|
78
|
+
*
|
|
79
|
+
* @param {EnumDefineLazyOpt} opt - enum options
|
|
80
|
+
* */
|
|
81
|
+
function defineLazyEnum(opt) {
|
|
82
|
+
if (!(0, function_1.isFilledObj)(opt)) {
|
|
83
|
+
throw new error_1.DeveloperError('Invalid enum options', 'onDeployed#01', where);
|
|
84
|
+
}
|
|
85
|
+
if (!(opt.lazyData instanceof Promise)) {
|
|
86
|
+
throw new error_1.DeveloperError('Invalid enum load path', 'onDeployed#01', where);
|
|
87
|
+
}
|
|
88
|
+
names.set(opt.name, Object.assign(Object.assign({}, opt), { mode: 'lazy' }));
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Check enum defined as lazy, by name
|
|
92
|
+
* Note:
|
|
93
|
+
* - Enum's mode will be shifted lazy to eager after loaded
|
|
94
|
+
*
|
|
95
|
+
* @param {string} name - enum name
|
|
96
|
+
* @return {boolean}
|
|
97
|
+
* */
|
|
98
|
+
function isEnumLazy(name) {
|
|
99
|
+
var _a;
|
|
100
|
+
return ((_a = getEnum(name)) === null || _a === void 0 ? void 0 : _a.mode) === 'lazy';
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Check enum defined as eager, by name
|
|
104
|
+
*
|
|
105
|
+
* @param {string} name - enum name
|
|
106
|
+
* @return {boolean}
|
|
107
|
+
* */
|
|
108
|
+
function isEnumEager(name) {
|
|
109
|
+
var _a;
|
|
110
|
+
return ((_a = getEnum(name)) === null || _a === void 0 ? void 0 : _a.mode) === 'eager';
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Check enum defined or not, by name
|
|
114
|
+
*
|
|
115
|
+
* @param {string} name - enum name
|
|
116
|
+
* @return {boolean}
|
|
117
|
+
* */
|
|
118
|
+
function isEnumDefined(name) {
|
|
119
|
+
return !!getEnum(name);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Get enum by name
|
|
123
|
+
* Note:
|
|
124
|
+
* - Enum may be lazy mode, so it has lazy paths without data
|
|
125
|
+
*
|
|
126
|
+
* @param {string} name - enum name
|
|
127
|
+
* @return {EnumItem}
|
|
128
|
+
* */
|
|
129
|
+
function getEnum(name) {
|
|
130
|
+
if (!(0, function_1.isText)(name)) {
|
|
131
|
+
return undefined;
|
|
132
|
+
}
|
|
133
|
+
if (!names.has(name)) {
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
return names.get(name);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Load lazy enum by name
|
|
140
|
+
* Note:
|
|
141
|
+
* - Enum must be exported as `foretell`
|
|
142
|
+
*
|
|
143
|
+
* @param {string} name - name of enum
|
|
144
|
+
* @return {Promise<EnumItem>}
|
|
145
|
+
* */
|
|
146
|
+
function getLazyEnum(name) {
|
|
147
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
148
|
+
if (!(0, function_1.isText)(name)) {
|
|
149
|
+
return undefined;
|
|
150
|
+
}
|
|
151
|
+
if (!names.has(name)) {
|
|
152
|
+
return undefined;
|
|
153
|
+
}
|
|
154
|
+
const item = names.get(name);
|
|
155
|
+
if (item.mode === 'eager') {
|
|
156
|
+
return item;
|
|
157
|
+
}
|
|
158
|
+
try {
|
|
159
|
+
item.data = yield item.lazyData;
|
|
160
|
+
if (item.data) {
|
|
161
|
+
if (isAlreadyDefined(name, item.data)) {
|
|
162
|
+
delete item.lazyData;
|
|
163
|
+
delete item.lazyAlt;
|
|
164
|
+
return item;
|
|
165
|
+
}
|
|
166
|
+
item.data[const_1.LY_ENUM_NAME] = name;
|
|
167
|
+
item.mode = 'eager';
|
|
168
|
+
item.type = Array.isArray(item.data) ? 'literal' : 'map';
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
catch (e) {
|
|
172
|
+
new error_1.DeveloperError('Raised callback run', 'optCheck#01', where).log(e);
|
|
173
|
+
}
|
|
174
|
+
if (item.data && item.lazyAlt) {
|
|
175
|
+
try {
|
|
176
|
+
item.alt = yield item.lazyAlt;
|
|
177
|
+
delete item.lazyAlt;
|
|
178
|
+
if (item.alt) {
|
|
179
|
+
item.data[const_1.LY_ENUM_ALT] = item.alt;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
catch (e) {
|
|
183
|
+
new error_1.DeveloperError('Raised callback run', 'optCheck#01', where).log(e);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
delete item.lazyData;
|
|
187
|
+
delete item.lazyAlt;
|
|
188
|
+
return item;
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=enum.fn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum.fn.js","sourceRoot":"","sources":["../../src/common/enum.fn.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { ClassLike, ErrorDefineEagerOpt, ErrorDefineLazyOpt, ErrorItem, LeyyoErrorLike, LeyyoStackLike, Opt } from "../index.types";
|
|
2
|
+
/**
|
|
3
|
+
* Define an error
|
|
4
|
+
*
|
|
5
|
+
* @param {ClassLike} clazz - error class
|
|
6
|
+
* @param {ErrorDefineEagerOpt} options - options
|
|
7
|
+
* */
|
|
8
|
+
export declare function defineError(clazz: ClassLike, options: ErrorDefineEagerOpt): void;
|
|
9
|
+
/**
|
|
10
|
+
* Define an error as lazy (with path)
|
|
11
|
+
*
|
|
12
|
+
* @param {ErrorDefineLazyOpt} opt - error options
|
|
13
|
+
* */
|
|
14
|
+
export declare function defineLazyError(opt: ErrorDefineLazyOpt): void;
|
|
15
|
+
/**
|
|
16
|
+
* Check error defined as lazy, by name
|
|
17
|
+
* Note:
|
|
18
|
+
* - Error's mode will be shifted lazy to eager after loaded
|
|
19
|
+
*
|
|
20
|
+
* @param {string} name - error name
|
|
21
|
+
* @return {boolean}
|
|
22
|
+
* */
|
|
23
|
+
export declare function isErrorLazy(name: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Check error defined as eager, by name
|
|
26
|
+
*
|
|
27
|
+
* @param {string} name - error name
|
|
28
|
+
* @return {boolean}
|
|
29
|
+
* */
|
|
30
|
+
export declare function isErrorEager(name: string): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Check error defined or not, by name
|
|
33
|
+
*
|
|
34
|
+
* @param {string} name - error name
|
|
35
|
+
* @return {boolean}
|
|
36
|
+
* */
|
|
37
|
+
export declare function isErrorDefined(name: string): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Get error by name
|
|
40
|
+
* Note:
|
|
41
|
+
* - Enum may be lazy mode, so it has lazy paths without class
|
|
42
|
+
*
|
|
43
|
+
* @param {string} name - error name
|
|
44
|
+
* @return {EnumItem}
|
|
45
|
+
* */
|
|
46
|
+
export declare function getError(name: string): ErrorItem;
|
|
47
|
+
/**
|
|
48
|
+
* Load lazy error by name
|
|
49
|
+
* Note:
|
|
50
|
+
* - Error must be exported as `foretell`
|
|
51
|
+
*
|
|
52
|
+
* @param {string} name - name of error
|
|
53
|
+
* @return {Promise<EnumItem>}
|
|
54
|
+
* */
|
|
55
|
+
export declare function getLazyError(name: string): Promise<ErrorItem>;
|
|
56
|
+
/**
|
|
57
|
+
* It will be called when an error raised
|
|
58
|
+
* */
|
|
59
|
+
export declare function emitError(err: Error): void;
|
|
60
|
+
/**
|
|
61
|
+
* Build error stack
|
|
62
|
+
*
|
|
63
|
+
* @param {Error} source
|
|
64
|
+
* @param {boolean?} force
|
|
65
|
+
* */
|
|
66
|
+
export declare function errorStack(source: LeyyoStackLike, force?: boolean): void;
|
|
67
|
+
/**
|
|
68
|
+
* Transform error as a bare object without name and message
|
|
69
|
+
*
|
|
70
|
+
* @param {Error} err - error instance
|
|
71
|
+
* @param {Opt} existing - existing parameters
|
|
72
|
+
* @return {Opt?} - bare error object
|
|
73
|
+
* */
|
|
74
|
+
export declare function toErrorJsonBasic(err: Error, existing?: Opt): Opt;
|
|
75
|
+
/**
|
|
76
|
+
* Transform error as a bare object with name and message
|
|
77
|
+
*
|
|
78
|
+
* @param {Error} err - error instance
|
|
79
|
+
* @param {Opt} existing - existing parameters
|
|
80
|
+
* @return {Opt?} - bare error object
|
|
81
|
+
* */
|
|
82
|
+
export declare function toErrorJsonFull(err: Error, existing: Opt): Opt;
|
|
83
|
+
/**
|
|
84
|
+
* Cast a native error to given error class
|
|
85
|
+
*
|
|
86
|
+
* @param {function} clazz - new error class
|
|
87
|
+
* @param {Error} e - native error instance
|
|
88
|
+
* @param {Opt?} params - params for error
|
|
89
|
+
* @return {LeyyoErrorLike} - new error instance
|
|
90
|
+
* */
|
|
91
|
+
export declare function errorCast<E extends LeyyoErrorLike>(clazz: ClassLike, e: Error, params?: Opt): E;
|