@microzord/core 1.0.0-alpha.1 → 1.0.0

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 (93) hide show
  1. package/README.md +3 -4
  2. package/bundles/microzord-core-testing.umd.js +494 -0
  3. package/bundles/microzord-core-testing.umd.js.map +1 -0
  4. package/bundles/microzord-core.umd.js +310 -105
  5. package/bundles/microzord-core.umd.js.map +1 -1
  6. package/esm2015/index.js +8 -2
  7. package/esm2015/index.js.map +1 -1
  8. package/esm2015/index.metadata.json +1 -1
  9. package/esm2015/lib/helpers/bootstrap-app.js +4 -6
  10. package/esm2015/lib/helpers/bootstrap-app.js.map +1 -1
  11. package/esm2015/lib/helpers/bootstrap-app.metadata.json +1 -1
  12. package/esm2015/lib/helpers/construct-and-bootstrap-app.js +7 -0
  13. package/esm2015/lib/helpers/construct-and-bootstrap-app.js.map +1 -0
  14. package/esm2015/lib/helpers/construct-and-bootstrap-app.metadata.json +1 -0
  15. package/esm2015/lib/helpers/construct-app.js +10 -0
  16. package/esm2015/lib/helpers/construct-app.js.map +1 -0
  17. package/esm2015/lib/helpers/construct-app.metadata.json +1 -0
  18. package/esm2015/lib/helpers/get-app.js +5 -0
  19. package/esm2015/lib/helpers/get-app.js.map +1 -0
  20. package/esm2015/lib/helpers/get-app.metadata.json +1 -0
  21. package/esm2015/lib/helpers/get-entity.js +6 -0
  22. package/esm2015/lib/helpers/get-entity.js.map +1 -0
  23. package/esm2015/lib/helpers/get-entity.metadata.json +1 -0
  24. package/esm2015/lib/helpers/load-app.js +11 -0
  25. package/esm2015/lib/helpers/load-app.js.map +1 -0
  26. package/esm2015/lib/helpers/load-app.metadata.json +1 -0
  27. package/esm2015/lib/helpers/load-entity.js +24 -0
  28. package/esm2015/lib/helpers/load-entity.js.map +1 -0
  29. package/esm2015/lib/helpers/load-entity.metadata.json +1 -0
  30. package/esm2015/lib/helpers/register-app.js +2 -2
  31. package/esm2015/lib/helpers/register-app.js.map +1 -1
  32. package/esm2015/lib/helpers/register-entity.js +5 -0
  33. package/esm2015/lib/helpers/register-entity.js.map +1 -0
  34. package/esm2015/lib/helpers/register-entity.metadata.json +1 -0
  35. package/esm2015/lib/helpers/replace-apps.js +2 -2
  36. package/esm2015/lib/helpers/replace-apps.js.map +1 -1
  37. package/esm2015/lib/models/application.js +2 -0
  38. package/esm2015/lib/models/application.js.map +1 -1
  39. package/esm2015/lib/models/application.metadata.json +1 -1
  40. package/esm2015/lib/models/entity.js +2 -0
  41. package/esm2015/lib/models/entity.js.map +1 -0
  42. package/esm2015/lib/models/entity.metadata.json +1 -0
  43. package/esm2015/lib/models/registration-options.js.map +1 -1
  44. package/esm2015/lib/models/registration-options.metadata.json +1 -1
  45. package/esm2015/lib/registry.js +19 -2
  46. package/esm2015/lib/registry.js.map +1 -1
  47. package/esm2015/lib/registry.metadata.json +1 -1
  48. package/esm2015/microzord-core.js +1 -1
  49. package/esm2015/microzord-core.js.map +1 -1
  50. package/esm2015/microzord-core.metadata.json +1 -1
  51. package/esm2015/testing/application.mock.js +10 -0
  52. package/esm2015/testing/application.mock.js.map +1 -0
  53. package/esm2015/testing/application.mock.metadata.json +1 -0
  54. package/esm2015/testing/microzord-core-testing.js +5 -0
  55. package/esm2015/testing/microzord-core-testing.js.map +1 -0
  56. package/esm2015/testing/microzord-core-testing.metadata.json +1 -0
  57. package/esm2015/testing/public_api.js +2 -0
  58. package/esm2015/testing/public_api.js.map +1 -0
  59. package/esm2015/testing/public_api.metadata.json +1 -0
  60. package/fesm2015/microzord-core-testing.js +17 -0
  61. package/fesm2015/microzord-core-testing.js.map +1 -0
  62. package/fesm2015/microzord-core.js +109 -66
  63. package/fesm2015/microzord-core.js.map +1 -1
  64. package/index.d.ts +8 -2
  65. package/lib/helpers/bootstrap-app.d.ts +1 -1
  66. package/lib/helpers/construct-and-bootstrap-app.d.ts +3 -0
  67. package/lib/helpers/construct-app.d.ts +3 -0
  68. package/lib/helpers/get-app.d.ts +3 -0
  69. package/lib/helpers/get-entity.d.ts +3 -0
  70. package/lib/helpers/load-app.d.ts +3 -0
  71. package/lib/helpers/load-entity.d.ts +3 -0
  72. package/lib/helpers/register-app.d.ts +2 -2
  73. package/lib/helpers/register-entity.d.ts +2 -0
  74. package/lib/models/application.d.ts +3 -4
  75. package/lib/models/entity.d.ts +3 -0
  76. package/lib/models/registration-options.d.ts +4 -2
  77. package/lib/registry.d.ts +11 -4
  78. package/microzord-core.d.ts +1 -1
  79. package/microzord-core.metadata.json +1 -1
  80. package/package.json +4 -4
  81. package/testing/application.mock.d.ts +5 -0
  82. package/testing/microzord-core-testing.d.ts +4 -0
  83. package/testing/microzord-core-testing.metadata.json +1 -0
  84. package/testing/package.json +11 -0
  85. package/testing/public_api.d.ts +1 -0
  86. package/esm2015/lib/helpers/get-app-constructor.js +0 -6
  87. package/esm2015/lib/helpers/get-app-constructor.js.map +0 -1
  88. package/esm2015/lib/helpers/get-app-constructor.metadata.json +0 -1
  89. package/esm2015/lib/helpers/load-app-constructor.js +0 -24
  90. package/esm2015/lib/helpers/load-app-constructor.js.map +0 -1
  91. package/esm2015/lib/helpers/load-app-constructor.metadata.json +0 -1
  92. package/lib/helpers/get-app-constructor.d.ts +0 -3
  93. package/lib/helpers/load-app-constructor.d.ts +0 -3
@@ -1,54 +1,97 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('rxjs'), require('rxjs/operators')) :
3
- typeof define === 'function' && define.amd ? define('@microzord/core', ['exports', 'rxjs', 'rxjs/operators'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.microzord = global.microzord || {}, global.microzord.core = {}), global.rxjs, global.rxjs.operators));
5
- })(this, (function (exports, rxjs, operators) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('rxjs/operators'), require('rxjs')) :
3
+ typeof define === 'function' && define.amd ? define('@microzord/core', ['exports', 'rxjs/operators', 'rxjs'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.microzord = global.microzord || {}, global.microzord.core = {}), global.rxjs.operators, global.rxjs));
5
+ })(this, (function (exports, operators, rxjs) { 'use strict';
6
6
 
7
+ var MicrozordRegistry = /** @class */ (function () {
8
+ function MicrozordRegistry() {
9
+ this._map = new Map();
10
+ }
11
+ MicrozordRegistry.prototype.getMap = function () {
12
+ return this._map;
13
+ };
14
+ MicrozordRegistry.prototype.clear = function () {
15
+ this._map.clear();
16
+ };
17
+ MicrozordRegistry.prototype.get = function (key) {
18
+ return this._map.get(key);
19
+ };
20
+ MicrozordRegistry.prototype.set = function (key, value) {
21
+ this._map.set(key, value);
22
+ };
23
+ return MicrozordRegistry;
24
+ }());
7
25
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
- var appOptionsRegistry = new Map();
26
+ var entityOptionsRegistry = new MicrozordRegistry();
9
27
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
- var loadedAppRegistry = new Map();
28
+ var loadedEntityRegistry = new MicrozordRegistry();
11
29
 
12
- function getAppConstructor(appName) {
13
- return rxjs.of(loadedAppRegistry.get(appName) || null);
30
+ function getEntity(entityName) {
31
+ return rxjs.of(loadedEntityRegistry.get(entityName) || null);
14
32
  }
15
33
 
16
- function loadAppConstructor(appName) {
17
- return getAppConstructor(appName).pipe(operators.switchMap(function (appConstructor) { return appConstructor
18
- ? rxjs.of(appConstructor)
34
+ function getApp(appName) {
35
+ return getEntity(appName);
36
+ }
37
+
38
+ function loadEntity(entityName) {
39
+ return getEntity(entityName).pipe(operators.switchMap(function (entity) { return entity
40
+ ? rxjs.of(entity)
19
41
  : rxjs.defer(function () {
20
- var appOptions = appOptionsRegistry.get(appName);
21
- if (!appOptions) {
22
- throw "Microzord appliction \"" + appName + "\" has not been registered. Check the spelling or register an app.";
42
+ var options = entityOptionsRegistry.get(entityName);
43
+ if (!options) {
44
+ throw "Microzord entity \"" + entityName + "\" has not been registered. Check the spelling or register an app.";
23
45
  }
24
- if (!appOptions.loadApp) {
25
- throw "Microzord appliction \"" + appName + "\" is registered but it has no \"loadApp\" function. Please, provide it";
46
+ if (!options.load) {
47
+ throw "Microzord entity \"" + entityName + "\" is registered but it has no \"load\" function. Please, provide it";
26
48
  }
27
- var result = appOptions.loadApp(appOptions.props);
49
+ var result = options.load();
28
50
  return result &&
29
51
  (rxjs.isObservable(result) ||
30
52
  ('then' in result && typeof result['then'] === 'function'))
31
53
  ? rxjs.defer(function () { return result; })
32
54
  : rxjs.of(result);
33
- }); }), operators.tap(function (applicationConstructor) { return loadedAppRegistry.set(appName, applicationConstructor); }));
55
+ }); }), operators.tap(function (entity) { return loadedEntityRegistry.set(entityName, entity); }));
56
+ }
57
+
58
+ function loadApp(appName) {
59
+ return getApp(appName).pipe(operators.switchMap(function (appConstructor) { return appConstructor
60
+ ? rxjs.of(appConstructor).pipe(operators.tap(function (applicationConstructor) { return loadedEntityRegistry.set(appName, applicationConstructor); }))
61
+ : loadEntity(appName); }));
62
+ }
63
+
64
+ function constructApp(appName) {
65
+ return loadApp(appName).pipe(operators.map(function (AppConstructor) {
66
+ var _a;
67
+ return new AppConstructor(appName, (_a = entityOptionsRegistry.get(appName)) === null || _a === void 0 ? void 0 : _a.props);
68
+ }));
69
+ }
70
+
71
+ function bootstrapApp(app, selector, props) {
72
+ return rxjs.of(app).pipe(operators.switchMap(function (app) { return rxjs.defer(function () { return app.bootstrap(selector, props); }).pipe(operators.mapTo(app)); }));
34
73
  }
35
74
 
36
- function bootstrapApp(appName, selector, props) {
37
- return loadAppConstructor(appName).pipe(operators.map(function (AppConstructor) { var _a; return new AppConstructor(appName, (_a = appOptionsRegistry.get(appName)) === null || _a === void 0 ? void 0 : _a.props); }), operators.switchMap(function (app) { return rxjs.defer(function () { return (console.log(props), app.bootstrap(selector, props)); }).pipe(operators.mapTo(app)); }));
75
+ function constructAndBootstrapApp(appName, selector, props) {
76
+ return constructApp(appName).pipe(operators.switchMap(function (app) { return bootstrapApp(app, selector, props); }));
77
+ }
78
+
79
+ function registerEntity(options) {
80
+ entityOptionsRegistry.set(options.name, options);
38
81
  }
39
82
 
40
83
  function registerApp(options) {
41
- appOptionsRegistry.set(options.name, options);
84
+ registerEntity(options);
42
85
  }
43
86
 
44
87
  function replaceApps(from, to, props) {
45
88
  return rxjs.defer(function () {
46
89
  from.destroy();
47
- return bootstrapApp(to, from.container, props);
90
+ return constructAndBootstrapApp(to, from.container, props);
48
91
  });
49
92
  }
50
93
 
51
- /*! *****************************************************************************
94
+ /******************************************************************************
52
95
  Copyright (c) Microsoft Corporation.
53
96
 
54
97
  Permission to use, copy, modify, and/or distribute this software for any
@@ -62,7 +105,7 @@
62
105
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
63
106
  PERFORMANCE OF THIS SOFTWARE.
64
107
  ***************************************************************************** */
65
- /* global Reflect, Promise */
108
+ /* global Reflect, Promise, SuppressedError, Symbol */
66
109
  var extendStatics = function (d, b) {
67
110
  extendStatics = Object.setPrototypeOf ||
68
111
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -115,6 +158,64 @@
115
158
  function __param(paramIndex, decorator) {
116
159
  return function (target, key) { decorator(target, key, paramIndex); };
117
160
  }
161
+ function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
162
+ function accept(f) { if (f !== void 0 && typeof f !== "function")
163
+ throw new TypeError("Function expected"); return f; }
164
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
165
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
166
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
167
+ var _, done = false;
168
+ for (var i = decorators.length - 1; i >= 0; i--) {
169
+ var context = {};
170
+ for (var p in contextIn)
171
+ context[p] = p === "access" ? {} : contextIn[p];
172
+ for (var p in contextIn.access)
173
+ context.access[p] = contextIn.access[p];
174
+ context.addInitializer = function (f) { if (done)
175
+ throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
176
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
177
+ if (kind === "accessor") {
178
+ if (result === void 0)
179
+ continue;
180
+ if (result === null || typeof result !== "object")
181
+ throw new TypeError("Object expected");
182
+ if (_ = accept(result.get))
183
+ descriptor.get = _;
184
+ if (_ = accept(result.set))
185
+ descriptor.set = _;
186
+ if (_ = accept(result.init))
187
+ initializers.unshift(_);
188
+ }
189
+ else if (_ = accept(result)) {
190
+ if (kind === "field")
191
+ initializers.unshift(_);
192
+ else
193
+ descriptor[key] = _;
194
+ }
195
+ }
196
+ if (target)
197
+ Object.defineProperty(target, contextIn.name, descriptor);
198
+ done = true;
199
+ }
200
+ ;
201
+ function __runInitializers(thisArg, initializers, value) {
202
+ var useValue = arguments.length > 2;
203
+ for (var i = 0; i < initializers.length; i++) {
204
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
205
+ }
206
+ return useValue ? value : void 0;
207
+ }
208
+ ;
209
+ function __propKey(x) {
210
+ return typeof x === "symbol" ? x : "".concat(x);
211
+ }
212
+ ;
213
+ function __setFunctionName(f, name, prefix) {
214
+ if (typeof name === "symbol")
215
+ name = name.description ? "[".concat(name.description, "]") : "";
216
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
217
+ }
218
+ ;
118
219
  function __metadata(metadataKey, metadataValue) {
119
220
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
120
221
  return Reflect.metadata(metadataKey, metadataValue);
@@ -146,7 +247,7 @@
146
247
  function step(op) {
147
248
  if (f)
148
249
  throw new TypeError("Generator is already executing.");
149
- while (_)
250
+ while (g && (g = 0, op[0] && (_ = 0)), _)
150
251
  try {
151
252
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
152
253
  return t;
@@ -210,7 +311,11 @@
210
311
  var __createBinding = Object.create ? (function (o, m, k, k2) {
211
312
  if (k2 === undefined)
212
313
  k2 = k;
213
- Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
314
+ var desc = Object.getOwnPropertyDescriptor(m, k);
315
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
316
+ desc = { enumerable: true, get: function () { return m[k]; } };
317
+ }
318
+ Object.defineProperty(o, k2, desc);
214
319
  }) : (function (o, m, k, k2) {
215
320
  if (k2 === undefined)
216
321
  k2 = k;
@@ -274,10 +379,16 @@
274
379
  r[k] = a[j];
275
380
  return r;
276
381
  }
277
- function __spreadArray(to, from) {
278
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
279
- to[j] = from[i];
280
- return to;
382
+ function __spreadArray(to, from, pack) {
383
+ if (pack || arguments.length === 2)
384
+ for (var i = 0, l = from.length, ar; i < l; i++) {
385
+ if (ar || !(i in from)) {
386
+ if (!ar)
387
+ ar = Array.prototype.slice.call(from, 0, i);
388
+ ar[i] = from[i];
389
+ }
390
+ }
391
+ return to.concat(ar || Array.prototype.slice.call(from));
281
392
  }
282
393
  function __await(v) {
283
394
  return this instanceof __await ? (this.v = v, this) : new __await(v);
@@ -304,7 +415,7 @@
304
415
  function __asyncDelegator(o) {
305
416
  var i, p;
306
417
  return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
307
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
418
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
308
419
  }
309
420
  function __asyncValues(o) {
310
421
  if (!Symbol.asyncIterator)
@@ -343,19 +454,168 @@
343
454
  function __importDefault(mod) {
344
455
  return (mod && mod.__esModule) ? mod : { default: mod };
345
456
  }
346
- function __classPrivateFieldGet(receiver, privateMap) {
347
- if (!privateMap.has(receiver)) {
348
- throw new TypeError("attempted to get private field on non-instance");
349
- }
350
- return privateMap.get(receiver);
457
+ function __classPrivateFieldGet(receiver, state, kind, f) {
458
+ if (kind === "a" && !f)
459
+ throw new TypeError("Private accessor was defined without a getter");
460
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
461
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
462
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
463
+ }
464
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
465
+ if (kind === "m")
466
+ throw new TypeError("Private method is not writable");
467
+ if (kind === "a" && !f)
468
+ throw new TypeError("Private accessor was defined without a setter");
469
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
470
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
471
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
351
472
  }
352
- function __classPrivateFieldSet(receiver, privateMap, value) {
353
- if (!privateMap.has(receiver)) {
354
- throw new TypeError("attempted to set private field on non-instance");
473
+ function __classPrivateFieldIn(state, receiver) {
474
+ if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function"))
475
+ throw new TypeError("Cannot use 'in' operator on non-object");
476
+ return typeof state === "function" ? receiver === state : state.has(receiver);
477
+ }
478
+ function __addDisposableResource(env, value, async) {
479
+ if (value !== null && value !== void 0) {
480
+ if (typeof value !== "object" && typeof value !== "function")
481
+ throw new TypeError("Object expected.");
482
+ var dispose;
483
+ if (async) {
484
+ if (!Symbol.asyncDispose)
485
+ throw new TypeError("Symbol.asyncDispose is not defined.");
486
+ dispose = value[Symbol.asyncDispose];
487
+ }
488
+ if (dispose === void 0) {
489
+ if (!Symbol.dispose)
490
+ throw new TypeError("Symbol.dispose is not defined.");
491
+ dispose = value[Symbol.dispose];
492
+ }
493
+ if (typeof dispose !== "function")
494
+ throw new TypeError("Object not disposable.");
495
+ env.stack.push({ value: value, dispose: dispose, async: async });
496
+ }
497
+ else if (async) {
498
+ env.stack.push({ async: true });
355
499
  }
356
- privateMap.set(receiver, value);
357
500
  return value;
358
501
  }
502
+ var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
503
+ var e = new Error(message);
504
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
505
+ };
506
+ function __disposeResources(env) {
507
+ function fail(e) {
508
+ env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
509
+ env.hasError = true;
510
+ }
511
+ function next() {
512
+ while (env.stack.length) {
513
+ var rec = env.stack.pop();
514
+ try {
515
+ var result = rec.dispose && rec.dispose.call(rec.value);
516
+ if (rec.async)
517
+ return Promise.resolve(result).then(next, function (e) { fail(e); return next(); });
518
+ }
519
+ catch (e) {
520
+ fail(e);
521
+ }
522
+ }
523
+ if (env.hasError)
524
+ throw env.error;
525
+ }
526
+ return next();
527
+ }
528
+ var tslib_es6 = {
529
+ __extends: __extends,
530
+ __assign: __assign,
531
+ __rest: __rest,
532
+ __decorate: __decorate,
533
+ __param: __param,
534
+ __metadata: __metadata,
535
+ __awaiter: __awaiter,
536
+ __generator: __generator,
537
+ __createBinding: __createBinding,
538
+ __exportStar: __exportStar,
539
+ __values: __values,
540
+ __read: __read,
541
+ __spread: __spread,
542
+ __spreadArrays: __spreadArrays,
543
+ __spreadArray: __spreadArray,
544
+ __await: __await,
545
+ __asyncGenerator: __asyncGenerator,
546
+ __asyncDelegator: __asyncDelegator,
547
+ __asyncValues: __asyncValues,
548
+ __makeTemplateObject: __makeTemplateObject,
549
+ __importStar: __importStar,
550
+ __importDefault: __importDefault,
551
+ __classPrivateFieldGet: __classPrivateFieldGet,
552
+ __classPrivateFieldSet: __classPrivateFieldSet,
553
+ __classPrivateFieldIn: __classPrivateFieldIn,
554
+ __addDisposableResource: __addDisposableResource,
555
+ __disposeResources: __disposeResources,
556
+ };
557
+
558
+ var MicrozordEvent = /** @class */ (function () {
559
+ function MicrozordEvent(type) {
560
+ this.type = type;
561
+ this.target = null;
562
+ }
563
+ return MicrozordEvent;
564
+ }());
565
+ // todo: подумать над сообщениями
566
+ var MicrozordMessageEvent = /** @class */ (function (_super) {
567
+ __extends(MicrozordMessageEvent, _super);
568
+ function MicrozordMessageEvent() {
569
+ return _super !== null && _super.apply(this, arguments) || this;
570
+ }
571
+ MicrozordMessageEvent.isMessageEvent = function (event) {
572
+ return (event && event.constructor && event.constructor.name === MicrozordMessageEvent.name);
573
+ };
574
+ return MicrozordMessageEvent;
575
+ }(MicrozordEvent));
576
+ // todo: подумать над ивентами роутинга
577
+ var MicrozordNavigationEvent = /** @class */ (function (_super) {
578
+ __extends(MicrozordNavigationEvent, _super);
579
+ function MicrozordNavigationEvent() {
580
+ return _super !== null && _super.apply(this, arguments) || this;
581
+ }
582
+ MicrozordNavigationEvent.isNavigationEvent = function (event) {
583
+ return (event &&
584
+ event.constructor &&
585
+ event.constructor.name === MicrozordNavigationEvent.name);
586
+ };
587
+ return MicrozordNavigationEvent;
588
+ }(MicrozordEvent));
589
+
590
+ exports.LifecycleEventTypes = void 0;
591
+ (function (LifecycleEventTypes) {
592
+ LifecycleEventTypes["bootstrapped"] = "bootstrapped";
593
+ LifecycleEventTypes["destroyed"] = "destroyed";
594
+ })(exports.LifecycleEventTypes || (exports.LifecycleEventTypes = {}));
595
+ var MicrozordLifecycleEvent = /** @class */ (function (_super) {
596
+ __extends(MicrozordLifecycleEvent, _super);
597
+ function MicrozordLifecycleEvent() {
598
+ return _super !== null && _super.apply(this, arguments) || this;
599
+ }
600
+ MicrozordLifecycleEvent.isLifecycleEvent = function (event) {
601
+ return (event &&
602
+ event.constructor &&
603
+ event.constructor.name === MicrozordLifecycleEvent.name);
604
+ };
605
+ MicrozordLifecycleEvent.bootstrapped = function () {
606
+ return new MicrozordLifecycleEvent(exports.LifecycleEventTypes.bootstrapped);
607
+ };
608
+ MicrozordLifecycleEvent.isBootstrappedEvent = function (event) {
609
+ return event.type === exports.LifecycleEventTypes.bootstrapped;
610
+ };
611
+ MicrozordLifecycleEvent.destroyed = function () {
612
+ return new MicrozordLifecycleEvent(exports.LifecycleEventTypes.destroyed);
613
+ };
614
+ MicrozordLifecycleEvent.isDestroyedEvent = function (event) {
615
+ return event.type === exports.LifecycleEventTypes.destroyed;
616
+ };
617
+ return MicrozordLifecycleEvent;
618
+ }(MicrozordEvent));
359
619
 
360
620
  var Application = /** @class */ (function () {
361
621
  // todo: заспекать типы props
@@ -400,6 +660,7 @@
400
660
  this.callListeners(this.hook, event);
401
661
  };
402
662
  Application.prototype.destroy = function () {
663
+ this.emitHook(MicrozordLifecycleEvent.destroyed());
403
664
  this.hook.clear(); // todo: в этот поток перед комплитом нужен евент дестроя
404
665
  this.message.clear();
405
666
  this.navigationEvent.clear();
@@ -424,68 +685,6 @@
424
685
  return Application;
425
686
  }());
426
687
 
427
- var MicrozordEvent = /** @class */ (function () {
428
- function MicrozordEvent(type) {
429
- this.type = type;
430
- this.target = null;
431
- }
432
- return MicrozordEvent;
433
- }());
434
- // todo: подумать над сообщениями
435
- var MicrozordMessageEvent = /** @class */ (function (_super) {
436
- __extends(MicrozordMessageEvent, _super);
437
- function MicrozordMessageEvent() {
438
- return _super !== null && _super.apply(this, arguments) || this;
439
- }
440
- MicrozordMessageEvent.isMessageEvent = function (event) {
441
- return (event && event.constructor && event.constructor.name === MicrozordMessageEvent.name);
442
- };
443
- return MicrozordMessageEvent;
444
- }(MicrozordEvent));
445
- // todo: подумать над ивентами роутинга
446
- var MicrozordNavigationEvent = /** @class */ (function (_super) {
447
- __extends(MicrozordNavigationEvent, _super);
448
- function MicrozordNavigationEvent() {
449
- return _super !== null && _super.apply(this, arguments) || this;
450
- }
451
- MicrozordNavigationEvent.isNavigationEvent = function (event) {
452
- return (event &&
453
- event.constructor &&
454
- event.constructor.name === MicrozordNavigationEvent.name);
455
- };
456
- return MicrozordNavigationEvent;
457
- }(MicrozordEvent));
458
-
459
- exports.LifecycleEventTypes = void 0;
460
- (function (LifecycleEventTypes) {
461
- LifecycleEventTypes["bootstrapped"] = "bootstrapped";
462
- LifecycleEventTypes["destroyed"] = "destroyed";
463
- })(exports.LifecycleEventTypes || (exports.LifecycleEventTypes = {}));
464
- var MicrozordLifecycleEvent = /** @class */ (function (_super) {
465
- __extends(MicrozordLifecycleEvent, _super);
466
- function MicrozordLifecycleEvent() {
467
- return _super !== null && _super.apply(this, arguments) || this;
468
- }
469
- MicrozordLifecycleEvent.isLifecycleEvent = function (event) {
470
- return (event &&
471
- event.constructor &&
472
- event.constructor.name === MicrozordLifecycleEvent.name);
473
- };
474
- MicrozordLifecycleEvent.bootstrapped = function () {
475
- return new MicrozordLifecycleEvent(exports.LifecycleEventTypes.bootstrapped);
476
- };
477
- MicrozordLifecycleEvent.isBootstrappedEvent = function (event) {
478
- return event.type === exports.LifecycleEventTypes.bootstrapped;
479
- };
480
- MicrozordLifecycleEvent.destroyed = function () {
481
- return new MicrozordLifecycleEvent(exports.LifecycleEventTypes.destroyed);
482
- };
483
- MicrozordLifecycleEvent.isDestroyedEvent = function (event) {
484
- return event.type === exports.LifecycleEventTypes.destroyed;
485
- };
486
- return MicrozordLifecycleEvent;
487
- }(MicrozordEvent));
488
-
489
688
  /**
490
689
  * Generated bundle index. Do not edit.
491
690
  */
@@ -496,11 +695,17 @@
496
695
  exports.MicrozordMessageEvent = MicrozordMessageEvent;
497
696
  exports.MicrozordNavigationEvent = MicrozordNavigationEvent;
498
697
  exports.bootstrapApp = bootstrapApp;
499
- exports.getAppConstructor = getAppConstructor;
500
- exports.loadAppConstructor = loadAppConstructor;
698
+ exports.constructAndBootstrapApp = constructAndBootstrapApp;
699
+ exports.constructApp = constructApp;
700
+ exports.getApp = getApp;
701
+ exports.getEntity = getEntity;
702
+ exports.loadApp = loadApp;
703
+ exports.loadEntity = loadEntity;
501
704
  exports.registerApp = registerApp;
705
+ exports.registerEntity = registerEntity;
502
706
  exports.replaceApps = replaceApps;
503
- exports["ɵa"] = loadedAppRegistry;
707
+ exports["ɵa"] = MicrozordRegistry;
708
+ exports["ɵb"] = loadedEntityRegistry;
504
709
 
505
710
  Object.defineProperty(exports, '__esModule', { value: true });
506
711