@leyyo/common 1.3.3 → 1.3.5

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.
Files changed (101) hide show
  1. package/README.md +57 -391
  2. package/dist/class/list.d.ts +1 -1
  3. package/dist/class/logger.instance.d.ts +1 -1
  4. package/dist/class/logger.instance.js +7 -8
  5. package/dist/class/logger.instance.js.map +1 -1
  6. package/dist/common/array.fn.js +20 -12
  7. package/dist/common/array.fn.js.map +1 -1
  8. package/dist/common/deploy.fn.d.ts +1 -1
  9. package/dist/common/deploy.fn.js +6 -5
  10. package/dist/common/deploy.fn.js.map +1 -1
  11. package/dist/common/enum.fn.d.ts +10 -25
  12. package/dist/common/enum.fn.js +50 -108
  13. package/dist/common/enum.fn.js.map +1 -1
  14. package/dist/common/error.fn.d.ts +27 -18
  15. package/dist/common/error.fn.js +97 -96
  16. package/dist/common/error.fn.js.map +1 -1
  17. package/dist/common/event.fn.d.ts +1 -1
  18. package/dist/common/event.fn.js +7 -6
  19. package/dist/common/event.fn.js.map +1 -1
  20. package/dist/common/exporter.fn.d.ts +1 -1
  21. package/dist/common/fqn.fn.d.ts +6 -2
  22. package/dist/common/fqn.fn.js +104 -11
  23. package/dist/common/fqn.fn.js.map +1 -1
  24. package/dist/common/index.d.ts +2 -0
  25. package/dist/common/index.js +2 -0
  26. package/dist/common/index.js.map +1 -1
  27. package/dist/common/inert.fn.d.ts +69 -0
  28. package/dist/common/inert.fn.js +368 -0
  29. package/dist/common/inert.fn.js.map +1 -0
  30. package/dist/common/lifecycle.fn.d.ts +3 -3
  31. package/dist/common/lifecycle.fn.js +24 -23
  32. package/dist/common/lifecycle.fn.js.map +1 -1
  33. package/dist/common/list.fn.js +22 -12
  34. package/dist/common/list.fn.js.map +1 -1
  35. package/dist/common/loader.fn.d.ts +1 -1
  36. package/dist/common/loader.fn.js.map +1 -1
  37. package/dist/common/log.fn.d.ts +3 -3
  38. package/dist/common/log.fn.js +9 -9
  39. package/dist/common/log.fn.js.map +1 -1
  40. package/dist/common/map.fn.js +20 -12
  41. package/dist/common/map.fn.js.map +1 -1
  42. package/dist/common/name.fn.d.ts +5 -0
  43. package/dist/common/name.fn.js +69 -0
  44. package/dist/common/name.fn.js.map +1 -0
  45. package/dist/common/opt.fn.d.ts +1 -1
  46. package/dist/common/opt.fn.js +1 -1
  47. package/dist/common/opt.fn.js.map +1 -1
  48. package/dist/common/set.fn.js +20 -12
  49. package/dist/common/set.fn.js.map +1 -1
  50. package/dist/common/test.fn.js.map +1 -1
  51. package/dist/const/index.d.ts +4 -0
  52. package/dist/const/index.js +13 -9
  53. package/dist/const/index.js.map +1 -1
  54. package/dist/enum/log-level.js +0 -2
  55. package/dist/enum/log-level.js.map +1 -1
  56. package/dist/error/caused.error.d.ts +1 -1
  57. package/dist/error/developer.error.d.ts +1 -1
  58. package/dist/error/developer.error.js.map +1 -1
  59. package/dist/error/http.error.d.ts +1 -1
  60. package/dist/error/http.error.js.map +1 -1
  61. package/dist/error/leyyo.error.d.ts +6 -28
  62. package/dist/error/leyyo.error.js +11 -76
  63. package/dist/error/leyyo.error.js.map +1 -1
  64. package/dist/error/multiple.error.d.ts +1 -1
  65. package/dist/error/multiple.error.js.map +1 -1
  66. package/dist/function/delay.js.map +1 -1
  67. package/dist/function/empty.fn.d.ts +1 -1
  68. package/dist/function/empty.fn.js +2 -1
  69. package/dist/function/empty.fn.js.map +1 -1
  70. package/dist/function/error-obj.d.ts +1 -1
  71. package/dist/function/error-text.d.ts +4 -1
  72. package/dist/function/error-text.js +28 -3
  73. package/dist/function/error-text.js.map +1 -1
  74. package/dist/function/extended-type.d.ts +1 -1
  75. package/dist/function/extended-type.js +1 -1
  76. package/dist/function/extended-type.js.map +1 -1
  77. package/dist/function/is.d.ts +2 -1
  78. package/dist/function/is.js +7 -3
  79. package/dist/function/is.js.map +1 -1
  80. package/dist/function/one-or-more.d.ts +1 -1
  81. package/dist/function/secure-clone.d.ts +1 -1
  82. package/dist/function/secure-json.js.map +1 -1
  83. package/dist/index.d.ts +3 -2
  84. package/dist/index.foretell.d.ts +1 -0
  85. package/dist/index.foretell.js +92 -0
  86. package/dist/index.foretell.js.map +1 -0
  87. package/dist/index.js +6 -12
  88. package/dist/index.js.map +1 -1
  89. package/dist/index.loader.d.ts +1 -0
  90. package/dist/{loader.js → index.loader.js} +2 -53
  91. package/dist/index.loader.js.map +1 -0
  92. package/dist/init/index.d.ts +1 -0
  93. package/dist/init/index.js +23 -0
  94. package/dist/init/index.js.map +1 -0
  95. package/dist/{index.types.d.ts → type/index.d.ts} +80 -39
  96. package/dist/{index.types.js → type/index.js} +1 -1
  97. package/dist/type/index.js.map +1 -0
  98. package/package.json +1 -1
  99. package/dist/index.types.js.map +0 -1
  100. package/dist/loader.d.ts +0 -2
  101. package/dist/loader.js.map +0 -1
@@ -0,0 +1,69 @@
1
+ import { InertBuildOpt, InertItem, InertOpt } from "../type";
2
+ export declare function buildInert<L extends InertItem<T>, T>(options: InertBuildOpt<L, T>): void;
3
+ /**
4
+ * Define an inert as eager
5
+ *
6
+ * @param {string} cluster - cluster name
7
+ * @param {any} target - target of cluster
8
+ * @param {InertOpt} options - options
9
+ * */
10
+ export declare function registerInert<L extends InertItem<T>, T>(cluster: string, options: InertOpt<T>): void;
11
+ /**
12
+ * Define an inert as lazy (with path)
13
+ *
14
+ * @param {string} cluster - cluster name
15
+ * @param {InertOpt} opt - inert lazy options
16
+ * */
17
+ export declare function defineInertLazy<L extends InertItem<T>, T = unknown>(cluster: string, opt: InertOpt<T>): void;
18
+ /**
19
+ * Check inert defined as lazy, by name
20
+ * Note:
21
+ * - Inert's mode will be shifted lazy to eager after loaded
22
+ *
23
+ * @param {string} cluster - cluster name
24
+ * @param {string} name - target name
25
+ * @return {boolean}
26
+ * */
27
+ export declare function isInertLazy(cluster: string, name: string): boolean;
28
+ /**
29
+ * Check inert failed or conflicted, by name
30
+ *
31
+ * @param {string} cluster - cluster name
32
+ * @param {string} name - target name
33
+ * @return {boolean}
34
+ * */
35
+ export declare function isInertInvalid(cluster: string, name: string): boolean;
36
+ /**
37
+ * Check inert defined as eager, by name
38
+ *
39
+ * @param {string} cluster - cluster name
40
+ * @param {string} name - target name
41
+ * @return {boolean}
42
+ * */
43
+ export declare function isInertEager(cluster: string, name: string): boolean;
44
+ /**
45
+ * Check inert defined or not, by name
46
+ *
47
+ * @param {string} cluster - cluster name
48
+ * @param {string} name - target name
49
+ * @return {boolean}
50
+ * */
51
+ export declare function hasInert(cluster: string, name: string): boolean;
52
+ /**
53
+ * Get inert by name
54
+ *
55
+ * @param {string} cluster - cluster name
56
+ * @param {string} name - target name
57
+ * @return {InertItem}
58
+ * */
59
+ export declare function getInert<L extends InertItem<T>, T>(cluster: string, name: string): L;
60
+ /**
61
+ * Load lazy inert by name
62
+ * Note:
63
+ * - Target must be exported as `foretell`
64
+ *
65
+ * @param {string} cluster - cluster name
66
+ * @param {string} name - target name
67
+ * @return {Promise<InertItem>}
68
+ * */
69
+ export declare function loadInert<L extends InertItem<T>, T>(cluster: string, name: string): Promise<L>;
@@ -0,0 +1,368 @@
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.buildInert = buildInert;
14
+ exports.registerInert = registerInert;
15
+ exports.defineInertLazy = defineInertLazy;
16
+ exports.isInertLazy = isInertLazy;
17
+ exports.isInertInvalid = isInertInvalid;
18
+ exports.isInertEager = isInertEager;
19
+ exports.hasInert = hasInert;
20
+ exports.getInert = getInert;
21
+ exports.loadInert = loadInert;
22
+ const function_1 = require("../function");
23
+ const internal_1 = require("../internal");
24
+ const error_1 = require("../error");
25
+ const set_fn_1 = require("./set.fn");
26
+ const map_fn_1 = require("./map.fn");
27
+ const test_fn_1 = require("./test.fn");
28
+ const fqn_fn_1 = require("./fqn.fn");
29
+ const name_fn_1 = require("./name.fn");
30
+ // region properties
31
+ const where = `${internal_1.FQN}.LazyFn`;
32
+ const _repo = (0, map_fn_1.newRepoMap)(`${where}.repo`);
33
+ // endregion properties
34
+ // region private
35
+ function _getRepo(cluster) {
36
+ return _repo.get(cluster);
37
+ }
38
+ function _inFqnStage(cluster, item) {
39
+ item.full = (0, fqn_fn_1.getFqn)(item.target);
40
+ if (!item.full.includes('.')) {
41
+ if ((0, function_1.isText)(item.fqn)) {
42
+ item.full = (0, fqn_fn_1.setFqn)(item.target, item.fqn);
43
+ }
44
+ else {
45
+ const { pendingFqn } = _getRepo(cluster);
46
+ pendingFqn.set(item.name, item);
47
+ item.stage = 'fqn-waiting';
48
+ (0, fqn_fn_1.onFqnSet)(item.target, f => _afterFqnSet(cluster, f));
49
+ return true;
50
+ }
51
+ }
52
+ return false;
53
+ }
54
+ function _afterFqnSet(cluster, full) {
55
+ if (!(0, function_1.isText)(full)) {
56
+ return;
57
+ }
58
+ const { pendingFqn, stampLambda } = _getRepo(cluster);
59
+ const item = pendingFqn.get(full.split('.').pop());
60
+ if (item) {
61
+ pendingFqn.delete(item.name);
62
+ item.full = full;
63
+ item.stage = 'persistent';
64
+ _relateIt(cluster, item);
65
+ if (stampLambda) {
66
+ stampLambda(item);
67
+ }
68
+ }
69
+ else {
70
+ new error_1.DeveloperError(`Inert could not be found after come back, [${full}]`, (0, test_fn_1.testCase)(internal_1.FQN, 'ZZZ'), where).log();
71
+ }
72
+ }
73
+ function _relateIt(cluster, item) {
74
+ let ignore;
75
+ const { fullNames, basicNames, aliases } = _getRepo(cluster);
76
+ if (item.full) {
77
+ ignore = false;
78
+ if (fullNames.has(item.full)) {
79
+ const anotherItem = fullNames.get(item.full);
80
+ if (anotherItem.target !== item.target) {
81
+ ignore = true;
82
+ new error_1.DeveloperError(`Duplicated full name [${item.full}]`, (0, test_fn_1.testCase)(internal_1.FQN, 'ZZZ'), where).log();
83
+ }
84
+ }
85
+ if (!ignore) {
86
+ fullNames.set(item.full, item);
87
+ }
88
+ }
89
+ ignore = false;
90
+ if (basicNames.has(item.name)) {
91
+ const anotherItem = basicNames.get(item.name);
92
+ if (anotherItem.target !== item.target) {
93
+ ignore = true;
94
+ new error_1.DeveloperError(`Duplicated basic name [${item.name}]`, (0, test_fn_1.testCase)(internal_1.FQN, 'ZZZ'), where).log();
95
+ }
96
+ }
97
+ if (!ignore) {
98
+ basicNames.set(item.name, item);
99
+ }
100
+ if ((0, function_1.isFilledArr)(item.aliases)) {
101
+ item.aliases.forEach(alias => {
102
+ var _a;
103
+ ignore = false;
104
+ if (aliases.has(alias)) {
105
+ const anotherName = aliases.get(alias);
106
+ if (![item.name, item.full].includes(anotherName)) {
107
+ ignore = true;
108
+ new error_1.DeveloperError(`Duplicated alias [${item.name}]`, (0, test_fn_1.testCase)(internal_1.FQN, 'ZZZ'), where).log();
109
+ }
110
+ }
111
+ if (!ignore) {
112
+ aliases.set(alias, (_a = item.full) !== null && _a !== void 0 ? _a : item.name);
113
+ }
114
+ });
115
+ }
116
+ }
117
+ // endregion private
118
+ // noinspection JSUnusedGlobalSymbols
119
+ function buildInert(options) {
120
+ if (!(0, function_1.isObj)(options)) {
121
+ throw new error_1.DeveloperError('Invalid build options', (0, test_fn_1.testCase)(internal_1.FQN, 'XXX'), where);
122
+ }
123
+ if (!(0, function_1.isText)(options.cluster)) {
124
+ throw new error_1.DeveloperError('Invalid cluster name', (0, test_fn_1.testCase)(internal_1.FQN, 'XXX'), where);
125
+ }
126
+ if (typeof options.validateLambda !== 'function') {
127
+ throw new error_1.DeveloperError('Invalid validate lambda', (0, test_fn_1.testCase)(internal_1.FQN, 'XXX'), where);
128
+ }
129
+ if (typeof options.getNameLambda !== 'function') {
130
+ throw new error_1.DeveloperError('Invalid get name lambda', (0, test_fn_1.testCase)(internal_1.FQN, 'XXX'), where);
131
+ }
132
+ if (options.setNameLambda && typeof options.setNameLambda !== 'function') {
133
+ throw new error_1.DeveloperError('Invalid set name lambda', (0, test_fn_1.testCase)(internal_1.FQN, 'XXX'), where);
134
+ }
135
+ if (options.stampLambda && typeof options.stampLambda !== 'function') {
136
+ throw new error_1.DeveloperError('Invalid stamp lambda', (0, test_fn_1.testCase)(internal_1.FQN, 'XXX'), where);
137
+ }
138
+ if (options.nextLoadLambda && typeof options.nextLoadLambda !== 'function') {
139
+ throw new error_1.DeveloperError('Invalid next load lambda', (0, test_fn_1.testCase)(internal_1.FQN, 'XXX'), where);
140
+ }
141
+ if (options.anonymousName && !(0, function_1.isText)(options.anonymousName)) {
142
+ throw new error_1.DeveloperError('Invalid anonymous name', (0, test_fn_1.testCase)(internal_1.FQN, 'XXX'), where);
143
+ }
144
+ if (_repo.has(options.cluster)) {
145
+ throw new error_1.DeveloperError(`Duplicated cluster [${options.cluster}]`, (0, test_fn_1.testCase)(internal_1.FQN, 'XXX'), where);
146
+ }
147
+ const repoItem = Object.assign(Object.assign({}, options), { uniqueLoaded: (0, set_fn_1.newRepoSet)(`${where}.${options.cluster}.uniqueLoaded`), fullNames: (0, map_fn_1.newRepoMap)(`${where}.${options.cluster}.fullNames`), basicNames: (0, map_fn_1.newRepoMap)(`${where}.${options.cluster}.basicNames`), aliases: (0, map_fn_1.newRepoMap)(`${where}.${options.cluster}.aliases`), pendingFqn: (0, map_fn_1.newRepoMap)(`${where}.${options.cluster}.pendingFqn`), pendingLazy: (0, map_fn_1.newRepoMap)(`${where}.${options.cluster}.pendingLazy`) });
148
+ _repo.set(options.cluster, repoItem);
149
+ }
150
+ /**
151
+ * Define an inert as eager
152
+ *
153
+ * @param {string} cluster - cluster name
154
+ * @param {any} target - target of cluster
155
+ * @param {InertOpt} options - options
156
+ * */
157
+ function registerInert(cluster, options) {
158
+ const { uniqueLoaded, validateLambda, getNameLambda, setNameLambda, anonymousName, stampLambda } = _getRepo(cluster);
159
+ if (!(0, function_1.isFilledObj)(options)) {
160
+ throw new error_1.DeveloperError('Invalid inert options', (0, test_fn_1.testCase)(internal_1.FQN, 'XXX'), where);
161
+ }
162
+ // target
163
+ if (validateLambda(options.target)) {
164
+ if (options.lazyTarget) {
165
+ delete options.lazyTarget;
166
+ }
167
+ // already defined
168
+ if (uniqueLoaded.has(options.target)) {
169
+ return;
170
+ }
171
+ let basicName = getNameLambda(options.target);
172
+ if (!basicName) {
173
+ if ((0, function_1.isText)(options.name)) {
174
+ basicName = options.name;
175
+ if (setNameLambda) {
176
+ setNameLambda(options.target, options.name);
177
+ }
178
+ }
179
+ else if (anonymousName) {
180
+ basicName = (0, name_fn_1.setAnonymousName)(options.target, anonymousName);
181
+ }
182
+ }
183
+ if (!basicName) {
184
+ throw new error_1.DeveloperError('Empty name', (0, test_fn_1.testCase)(internal_1.FQN, 220), where);
185
+ }
186
+ const item = Object.assign(Object.assign({}, options), { name: basicName, stage: undefined, mode: 'eager' });
187
+ if (_inFqnStage(cluster, item)) {
188
+ return;
189
+ }
190
+ item.stage = 'persistent';
191
+ _relateIt(cluster, item);
192
+ if (stampLambda) {
193
+ stampLambda(item);
194
+ }
195
+ }
196
+ // lazy target
197
+ else if (options.lazyTarget instanceof Promise) {
198
+ if (!(0, function_1.isText)(options.name)) {
199
+ throw new error_1.DeveloperError('Invalid inert name', (0, test_fn_1.testCase)(internal_1.FQN, 'XXX'), where);
200
+ }
201
+ // it's already pending to be loaded
202
+ const { pendingLazy } = _getRepo(cluster);
203
+ if (pendingLazy.has(options.name)) {
204
+ return;
205
+ }
206
+ const item = Object.assign(Object.assign({}, options), { stage: 'loading-waiting', mode: 'lazy' });
207
+ pendingLazy.set(options.name, item);
208
+ }
209
+ else {
210
+ throw new error_1.DeveloperError(`Invalid target or lazy target [${options.name}]`, (0, test_fn_1.testCase)(internal_1.FQN, 224), where);
211
+ }
212
+ }
213
+ /**
214
+ * Define an inert as lazy (with path)
215
+ *
216
+ * @param {string} cluster - cluster name
217
+ * @param {InertOpt} opt - inert lazy options
218
+ * */
219
+ function defineInertLazy(cluster, opt) {
220
+ }
221
+ /**
222
+ * Check inert defined as lazy, by name
223
+ * Note:
224
+ * - Inert's mode will be shifted lazy to eager after loaded
225
+ *
226
+ * @param {string} cluster - cluster name
227
+ * @param {string} name - target name
228
+ * @return {boolean}
229
+ * */
230
+ function isInertLazy(cluster, name) {
231
+ var _a;
232
+ return ((_a = getInert(cluster, name)) === null || _a === void 0 ? void 0 : _a.mode) === 'lazy';
233
+ }
234
+ /**
235
+ * Check inert failed or conflicted, by name
236
+ *
237
+ * @param {string} cluster - cluster name
238
+ * @param {string} name - target name
239
+ * @return {boolean}
240
+ * */
241
+ function isInertInvalid(cluster, name) {
242
+ var _a;
243
+ return ['failed', 'conflicted'].includes((_a = getInert(cluster, name)) === null || _a === void 0 ? void 0 : _a.mode);
244
+ }
245
+ /**
246
+ * Check inert defined as eager, by name
247
+ *
248
+ * @param {string} cluster - cluster name
249
+ * @param {string} name - target name
250
+ * @return {boolean}
251
+ * */
252
+ function isInertEager(cluster, name) {
253
+ var _a;
254
+ return ((_a = getInert(cluster, name)) === null || _a === void 0 ? void 0 : _a.mode) === 'eager';
255
+ }
256
+ /**
257
+ * Check inert defined or not, by name
258
+ *
259
+ * @param {string} cluster - cluster name
260
+ * @param {string} name - target name
261
+ * @return {boolean}
262
+ * */
263
+ function hasInert(cluster, name) {
264
+ return !!getInert(cluster, name);
265
+ }
266
+ /**
267
+ * Get inert by name
268
+ *
269
+ * @param {string} cluster - cluster name
270
+ * @param {string} name - target name
271
+ * @return {InertItem}
272
+ * */
273
+ function getInert(cluster, name) {
274
+ if (!(0, function_1.isText)(name)) {
275
+ return undefined;
276
+ }
277
+ const { fullNames, basicNames, pendingFqn, pendingLazy, aliases } = _getRepo(cluster);
278
+ if (name.includes('.')) {
279
+ if (fullNames.has(name)) {
280
+ return fullNames.get(name);
281
+ }
282
+ return getInert(cluster, name.split('.').pop());
283
+ }
284
+ // no dot
285
+ if (pendingFqn.has(name)) {
286
+ return pendingFqn.get(name);
287
+ }
288
+ if (pendingLazy.has(name)) {
289
+ return pendingLazy.get(name);
290
+ }
291
+ if (aliases.has(name)) {
292
+ return getInert(cluster, aliases.get(name));
293
+ }
294
+ return basicNames.get(name);
295
+ }
296
+ /**
297
+ * Load lazy inert by name
298
+ * Note:
299
+ * - Target must be exported as `foretell`
300
+ *
301
+ * @param {string} cluster - cluster name
302
+ * @param {string} name - target name
303
+ * @return {Promise<InertItem>}
304
+ * */
305
+ function loadInert(cluster, name) {
306
+ return __awaiter(this, void 0, void 0, function* () {
307
+ if (!(0, function_1.isText)(name)) {
308
+ throw new error_1.DeveloperError(`Invalid lazy name`, (0, test_fn_1.testCase)(internal_1.FQN, 'ZZZ'), where);
309
+ }
310
+ const { validateLambda, pendingLazy, stampLambda, uniqueLoaded, getNameLambda, setNameLambda, nextLoadLambda } = _getRepo(cluster);
311
+ const item = getInert(cluster, name);
312
+ if (!item) {
313
+ throw new error_1.DeveloperError(`Lazy was not defined [${name}]`, (0, test_fn_1.testCase)(internal_1.FQN, 'ZZZ'), where);
314
+ }
315
+ // It was already loaded
316
+ if (item.mode === 'eager') {
317
+ return item;
318
+ }
319
+ try {
320
+ item.target = yield item.lazyTarget;
321
+ if (validateLambda(item.target)) {
322
+ item.mode = 'eager';
323
+ delete item.lazyTarget;
324
+ // remove from pending
325
+ if (pendingLazy.has(name)) {
326
+ pendingLazy.delete(name);
327
+ }
328
+ if (nextLoadLambda) {
329
+ yield nextLoadLambda(item);
330
+ }
331
+ // already loaded
332
+ if (uniqueLoaded.has(item.target)) {
333
+ return item;
334
+ }
335
+ }
336
+ else {
337
+ item.mode = 'conflicted';
338
+ }
339
+ }
340
+ catch (e) {
341
+ item.mode = 'failed';
342
+ new error_1.DeveloperError(`Callback inert during loading lazy class [${name}]`, (0, test_fn_1.testCase)(internal_1.FQN, 227), where).log(e);
343
+ }
344
+ // file could not be loaded
345
+ if (!item.target) {
346
+ return undefined;
347
+ }
348
+ const realName = getNameLambda(item.target);
349
+ if (item.name !== realName) {
350
+ if (!realName && setNameLambda) {
351
+ setNameLambda(item.target, item.name);
352
+ }
353
+ else {
354
+ new error_1.DeveloperError(`Conflict in names [${item.name} vs ${realName}]`, (0, test_fn_1.testCase)(internal_1.FQN, 'ZZZ'), where).log();
355
+ }
356
+ }
357
+ if (_inFqnStage(cluster, item)) {
358
+ return;
359
+ }
360
+ item.stage = 'persistent';
361
+ _relateIt(cluster, item);
362
+ if (stampLambda) {
363
+ stampLambda(item);
364
+ }
365
+ return item;
366
+ });
367
+ }
368
+ //# sourceMappingURL=inert.fn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inert.fn.js","sourceRoot":"","sources":["../../src/common/inert.fn.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Fnc, LifecycleSortLambda, LifecycleStage } from "../index.types";
1
+ import { Fnc, LifecycleSortLambda, LifecycleStage } from "../type";
2
2
  /**
3
3
  * Add lifecycle by stage
4
4
  *
@@ -6,7 +6,7 @@ import { Fnc, LifecycleSortLambda, LifecycleStage } from "../index.types";
6
6
  * @param {string} name - your callback name
7
7
  * @param {function} callback - it will be called on {@link runLifecycleStage}
8
8
  * */
9
- export declare function addLifecycle(stage: LifecycleStage, name: string, callback: Fnc): void;
9
+ export declare function addLifecycleStage(stage: LifecycleStage, name: string, callback: Fnc): void;
10
10
  /**
11
11
  * Run lifecycle by stage
12
12
  *
@@ -21,4 +21,4 @@ export declare function runLifecycleStage(stage: LifecycleStage, ...params: Arra
21
21
  * @param {LifecycleStage} stage
22
22
  * @param {LifecycleSortLambda} lambda - function that sorts map items
23
23
  * */
24
- export declare function setLifecycleSort(stage: LifecycleStage, lambda: LifecycleSortLambda): void;
24
+ export declare function setLifecycleOrderLambda(stage: LifecycleStage, lambda: LifecycleSortLambda): void;
@@ -10,16 +10,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  });
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.addLifecycle = addLifecycle;
13
+ exports.addLifecycleStage = addLifecycleStage;
14
14
  exports.runLifecycleStage = runLifecycleStage;
15
- exports.setLifecycleSort = setLifecycleSort;
15
+ exports.setLifecycleOrderLambda = setLifecycleOrderLambda;
16
16
  const internal_1 = require("../internal");
17
17
  const function_1 = require("../function");
18
18
  const error_1 = require("../error");
19
19
  const map_fn_1 = require("./map.fn");
20
+ const test_fn_1 = require("./test.fn");
20
21
  // region properties
21
22
  const where = `${internal_1.FQN}.LifecycleFn`;
22
- const stages = (0, map_fn_1.newRepoMap)(`${where}.stages`);
23
+ const _stages = (0, map_fn_1.newRepoMap)(`${where}.stages`);
23
24
  let lifecycleSortLambda;
24
25
  // endregion properties
25
26
  /**
@@ -28,7 +29,7 @@ let lifecycleSortLambda;
28
29
  * @param {LifecycleStage} stage - stage
29
30
  * */
30
31
  const init = (stage) => {
31
- stages.set(stage, new Map());
32
+ _stages.set(stage, new Map());
32
33
  };
33
34
  /**
34
35
  * Add lifecycle by stage
@@ -37,20 +38,20 @@ const init = (stage) => {
37
38
  * @param {string} name - your callback name
38
39
  * @param {function} callback - it will be called on {@link runLifecycleStage}
39
40
  * */
40
- function addLifecycle(stage, name, callback) {
41
+ function addLifecycleStage(stage, name, callback) {
41
42
  if (!(0, function_1.isText)(stage)) {
42
- throw new error_1.DeveloperError('Invalid lifecycle stage', 'addLifecycle#01', where);
43
+ throw new error_1.DeveloperError('Invalid lifecycle stage', (0, test_fn_1.testCase)(internal_1.FQN, 100), where);
43
44
  }
44
- if (!stages.has(stage)) {
45
- throw new error_1.DeveloperError('Absent lifecycle stage', 'addLifecycle#02', where);
45
+ if (!_stages.has(stage)) {
46
+ throw new error_1.DeveloperError(`Lifecycle stage could not be found [${stage}]`, (0, test_fn_1.testCase)(internal_1.FQN, 101), where);
46
47
  }
47
48
  if (!(0, function_1.isText)(name)) {
48
- throw new error_1.DeveloperError('Invalid lifecycle name', 'addLifecycle#03', where);
49
+ throw new error_1.DeveloperError(`Invalid lifecycle name [${stage}]`, (0, test_fn_1.testCase)(internal_1.FQN, 102), where);
49
50
  }
50
51
  if (typeof callback !== 'function') {
51
- throw new error_1.DeveloperError('Invalid lifecycle callback', 'addLifecycle#04', where);
52
+ throw new error_1.DeveloperError(`Invalid lifecycle callback [${stage}/${name}]`, (0, test_fn_1.testCase)(internal_1.FQN, 103), where);
52
53
  }
53
- const item = stages.get(stage);
54
+ const item = _stages.get(stage);
54
55
  if (!item.has(name)) {
55
56
  item.set(name, []);
56
57
  }
@@ -66,23 +67,23 @@ function addLifecycle(stage, name, callback) {
66
67
  function runLifecycleStage(stage, ...params) {
67
68
  return __awaiter(this, void 0, void 0, function* () {
68
69
  if (!(0, function_1.isText)(stage)) {
69
- throw new error_1.DeveloperError('Invalid lifecycle stage', 'runLifecycleStage#01', where);
70
+ throw new error_1.DeveloperError('Invalid lifecycle stage', (0, test_fn_1.testCase)(internal_1.FQN, 104), where);
70
71
  }
71
- if (!stages.has(stage)) {
72
- throw new error_1.DeveloperError('Absent lifecycle stage', 'runLifecycleStage#02', where);
72
+ if (!_stages.has(stage)) {
73
+ throw new error_1.DeveloperError(`Lifecycle stage could not be found [${stage}]`, (0, test_fn_1.testCase)(internal_1.FQN, 105), where);
73
74
  }
74
75
  let count = 0;
75
- const item = stages.get(stage);
76
+ const item = _stages.get(stage);
76
77
  if (item.size < 1) {
77
78
  return count;
78
79
  }
79
80
  let sorted;
80
81
  if (lifecycleSortLambda) {
81
82
  try {
82
- sorted = lifecycleSortLambda(stages.get(stage));
83
+ sorted = lifecycleSortLambda(_stages.get(stage));
83
84
  }
84
85
  catch (e) {
85
- new error_1.DeveloperError(`Raised sort-lambda run [${stage}]`, 'runLifecycleStage#03', where).log(e);
86
+ new error_1.DeveloperError(`Callback error during lifecycle order lambda [${stage}]`, (0, test_fn_1.testCase)(internal_1.FQN, 106), where).log(e);
86
87
  }
87
88
  }
88
89
  if (!sorted) {
@@ -98,7 +99,7 @@ function runLifecycleStage(stage, ...params) {
98
99
  count++;
99
100
  }
100
101
  catch (e) {
101
- new error_1.DeveloperError(`Raised callback run [${stage}/${name}]`, 'runLifecycleStage#04', where).log(e);
102
+ new error_1.DeveloperError(`Callback error during lifecycle callback [${stage}/${name}]`, (0, test_fn_1.testCase)(internal_1.FQN, 107), where).log(e);
102
103
  }
103
104
  }
104
105
  }
@@ -111,15 +112,15 @@ function runLifecycleStage(stage, ...params) {
111
112
  * @param {LifecycleStage} stage
112
113
  * @param {LifecycleSortLambda} lambda - function that sorts map items
113
114
  * */
114
- function setLifecycleSort(stage, lambda) {
115
+ function setLifecycleOrderLambda(stage, lambda) {
115
116
  if (!(0, function_1.isText)(stage)) {
116
- throw new error_1.DeveloperError('Invalid lifecycle stage', 'setLifecycleSort#01', where);
117
+ throw new error_1.DeveloperError('Invalid lifecycle stage', (0, test_fn_1.testCase)(internal_1.FQN, 108), where);
117
118
  }
118
- if (!stages.has(stage)) {
119
- throw new error_1.DeveloperError('Absent lifecycle stage', 'setLifecycleSort#02', where);
119
+ if (!_stages.has(stage)) {
120
+ throw new error_1.DeveloperError(`Lifecycle stage could not be found [${stage}]`, (0, test_fn_1.testCase)(internal_1.FQN, 109), where);
120
121
  }
121
122
  if (typeof lambda !== 'function') {
122
- throw new error_1.DeveloperError('Invalid lifecycle callback', 'setLifecycleSort#03', where);
123
+ throw new error_1.DeveloperError(`Invalid lifecycle callback [${stage}]`, (0, test_fn_1.testCase)(internal_1.FQN, 110), where);
123
124
  }
124
125
  lifecycleSortLambda = lambda;
125
126
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.fn.js","sourceRoot":"","sources":["../../src/common/lifecycle.fn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.fn.js","sourceRoot":"","sources":["../../src/common/lifecycle.fn.ts"],"names":[],"mappings":"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"}