@microzord/core 1.0.0-alpha.2 → 2.0.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.
Files changed (98) hide show
  1. package/README.md +10 -4
  2. package/esm2022/index.mjs +16 -0
  3. package/esm2022/lib/helpers/bootstrap-app.mjs +6 -0
  4. package/esm2022/lib/helpers/construct-and-bootstrap-app.mjs +7 -0
  5. package/esm2022/lib/helpers/construct-app.mjs +7 -0
  6. package/esm2022/lib/helpers/get-app.mjs +5 -0
  7. package/esm2022/lib/helpers/get-entity.mjs +6 -0
  8. package/esm2022/lib/helpers/load-app.mjs +11 -0
  9. package/esm2022/lib/helpers/load-entity.mjs +24 -0
  10. package/esm2022/lib/helpers/register-app.mjs +5 -0
  11. package/esm2022/lib/helpers/register-entity.mjs +5 -0
  12. package/esm2022/lib/helpers/replace-apps.mjs +9 -0
  13. package/esm2022/lib/models/application.mjs +60 -0
  14. package/esm2022/lib/models/entity.mjs +2 -0
  15. package/esm2022/lib/models/events.mjs +21 -0
  16. package/esm2022/lib/models/lifecycle.mjs +26 -0
  17. package/esm2022/lib/models/registration-options.mjs +2 -0
  18. package/esm2022/lib/registry.mjs +22 -0
  19. package/esm2022/microzord-core.mjs +5 -0
  20. package/{fesm2015/microzord-core.js → fesm2022/microzord-core.mjs} +17 -15
  21. package/fesm2022/microzord-core.mjs.map +1 -0
  22. package/index.d.ts +2 -0
  23. package/lib/helpers/bootstrap-app.d.ts +1 -1
  24. package/lib/helpers/construct-and-bootstrap-app.d.ts +3 -0
  25. package/lib/helpers/construct-app.d.ts +3 -0
  26. package/lib/models/application.d.ts +3 -3
  27. package/package.json +19 -12
  28. package/bundles/microzord-core-testing.umd.js +0 -339
  29. package/bundles/microzord-core-testing.umd.js.map +0 -1
  30. package/bundles/microzord-core.umd.js +0 -548
  31. package/bundles/microzord-core.umd.js.map +0 -1
  32. package/esm2015/index.js +0 -14
  33. package/esm2015/index.js.map +0 -1
  34. package/esm2015/index.metadata.json +0 -1
  35. package/esm2015/lib/helpers/bootstrap-app.js +0 -11
  36. package/esm2015/lib/helpers/bootstrap-app.js.map +0 -1
  37. package/esm2015/lib/helpers/bootstrap-app.metadata.json +0 -1
  38. package/esm2015/lib/helpers/get-app.js +0 -5
  39. package/esm2015/lib/helpers/get-app.js.map +0 -1
  40. package/esm2015/lib/helpers/get-app.metadata.json +0 -1
  41. package/esm2015/lib/helpers/get-entity.js +0 -6
  42. package/esm2015/lib/helpers/get-entity.js.map +0 -1
  43. package/esm2015/lib/helpers/get-entity.metadata.json +0 -1
  44. package/esm2015/lib/helpers/load-app.js +0 -11
  45. package/esm2015/lib/helpers/load-app.js.map +0 -1
  46. package/esm2015/lib/helpers/load-app.metadata.json +0 -1
  47. package/esm2015/lib/helpers/load-entity.js +0 -24
  48. package/esm2015/lib/helpers/load-entity.js.map +0 -1
  49. package/esm2015/lib/helpers/load-entity.metadata.json +0 -1
  50. package/esm2015/lib/helpers/register-app.js +0 -5
  51. package/esm2015/lib/helpers/register-app.js.map +0 -1
  52. package/esm2015/lib/helpers/register-app.metadata.json +0 -1
  53. package/esm2015/lib/helpers/register-entity.js +0 -5
  54. package/esm2015/lib/helpers/register-entity.js.map +0 -1
  55. package/esm2015/lib/helpers/register-entity.metadata.json +0 -1
  56. package/esm2015/lib/helpers/replace-apps.js +0 -9
  57. package/esm2015/lib/helpers/replace-apps.js.map +0 -1
  58. package/esm2015/lib/helpers/replace-apps.metadata.json +0 -1
  59. package/esm2015/lib/models/application.js +0 -63
  60. package/esm2015/lib/models/application.js.map +0 -1
  61. package/esm2015/lib/models/application.metadata.json +0 -1
  62. package/esm2015/lib/models/entity.js +0 -2
  63. package/esm2015/lib/models/entity.js.map +0 -1
  64. package/esm2015/lib/models/entity.metadata.json +0 -1
  65. package/esm2015/lib/models/events.js +0 -21
  66. package/esm2015/lib/models/events.js.map +0 -1
  67. package/esm2015/lib/models/events.metadata.json +0 -1
  68. package/esm2015/lib/models/lifecycle.js +0 -26
  69. package/esm2015/lib/models/lifecycle.js.map +0 -1
  70. package/esm2015/lib/models/lifecycle.metadata.json +0 -1
  71. package/esm2015/lib/models/registration-options.js +0 -2
  72. package/esm2015/lib/models/registration-options.js.map +0 -1
  73. package/esm2015/lib/models/registration-options.metadata.json +0 -1
  74. package/esm2015/lib/registry.js +0 -22
  75. package/esm2015/lib/registry.js.map +0 -1
  76. package/esm2015/lib/registry.metadata.json +0 -1
  77. package/esm2015/microzord-core.js +0 -6
  78. package/esm2015/microzord-core.js.map +0 -1
  79. package/esm2015/microzord-core.metadata.json +0 -1
  80. package/esm2015/testing/application.mock.js +0 -10
  81. package/esm2015/testing/application.mock.js.map +0 -1
  82. package/esm2015/testing/application.mock.metadata.json +0 -1
  83. package/esm2015/testing/microzord-core-testing.js +0 -5
  84. package/esm2015/testing/microzord-core-testing.js.map +0 -1
  85. package/esm2015/testing/microzord-core-testing.metadata.json +0 -1
  86. package/esm2015/testing/public_api.js +0 -2
  87. package/esm2015/testing/public_api.js.map +0 -1
  88. package/esm2015/testing/public_api.metadata.json +0 -1
  89. package/fesm2015/microzord-core-testing.js +0 -17
  90. package/fesm2015/microzord-core-testing.js.map +0 -1
  91. package/fesm2015/microzord-core.js.map +0 -1
  92. package/microzord-core.d.ts +0 -5
  93. package/microzord-core.metadata.json +0 -1
  94. package/testing/application.mock.d.ts +0 -5
  95. package/testing/microzord-core-testing.d.ts +0 -4
  96. package/testing/microzord-core-testing.metadata.json +0 -1
  97. package/testing/package.json +0 -11
  98. package/testing/public_api.d.ts +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/core/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAE3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC","sourcesContent":["export * from './lib/helpers/bootstrap-app';\nexport * from './lib/helpers/get-app';\nexport * from './lib/helpers/get-entity';\nexport * from './lib/helpers/load-app';\nexport * from './lib/helpers/load-entity';\nexport * from './lib/helpers/register-app';\nexport * from './lib/helpers/register-entity';\nexport * from './lib/helpers/replace-apps';\n\nexport * from './lib/models/application';\nexport * from './lib/models/entity';\nexport * from './lib/models/events';\nexport * from './lib/models/lifecycle';\nexport * from './lib/models/registration-options';\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{},"exports":[{"from":"./lib/helpers/bootstrap-app"},{"from":"./lib/helpers/get-app"},{"from":"./lib/helpers/get-entity"},{"from":"./lib/helpers/load-app"},{"from":"./lib/helpers/load-entity"},{"from":"./lib/helpers/register-app"},{"from":"./lib/helpers/register-entity"},{"from":"./lib/helpers/replace-apps"},{"from":"./lib/models/application"},{"from":"./lib/models/entity"},{"from":"./lib/models/events"},{"from":"./lib/models/lifecycle"},{"from":"./lib/models/registration-options"}]}]
@@ -1,11 +0,0 @@
1
- import { defer } from 'rxjs';
2
- import { map, mapTo, switchMap } from 'rxjs/operators';
3
- import { entityOptionsRegistry } from '../registry';
4
- import { loadApp } from './load-app';
5
- export function bootstrapApp(appName, selector, props) {
6
- return loadApp(appName).pipe(map(AppConstructor => {
7
- var _a;
8
- return new AppConstructor(appName, (_a = entityOptionsRegistry.get(appName)) === null || _a === void 0 ? void 0 : _a.props);
9
- }), switchMap(app => defer(() => app.bootstrap(selector, props)).pipe(mapTo(app))));
10
- }
11
- //# sourceMappingURL=bootstrap-app.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bootstrap-app.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/helpers/bootstrap-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAa,MAAM,MAAM,CAAC;AACvC,OAAO,EAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAC,qBAAqB,EAAC,MAAM,aAAa,CAAC;AAClD,OAAO,EAAC,OAAO,EAAC,MAAM,YAAY,CAAC;AAGnC,MAAM,UAAU,YAAY,CAC1B,OAAe,EACf,QAA0B,EAC1B,KAAS;IAET,OAAO,OAAO,CAAI,OAAO,CAAC,CAAC,IAAI,CAC7B,GAAG,CACD,cAAc,CAAC,EAAE;;QACf,OAAA,IAAI,cAAc,CAChB,OAAO,EACP,MAAA,qBAAqB,CAAC,GAAG,CAA4B,OAAO,CAAC,0CAAE,KAAK,CACrE,CAAA;KAAA,CACJ,EACD,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAC/E,CAAC;AACJ,CAAC","sourcesContent":["import {defer, Observable} from 'rxjs';\nimport {map, mapTo, switchMap} from 'rxjs/operators';\nimport {Application} from '../models/application';\nimport {entityOptionsRegistry} from '../registry';\nimport {loadApp} from './load-app';\nimport {AppRegistrationOptions} from '../models/registration-options';\n\nexport function bootstrapApp<T extends Record<string, any> = Record<string, any>>(\n appName: string,\n selector: string | Element,\n props?: T,\n): Observable<Application<T>> {\n return loadApp<T>(appName).pipe(\n map(\n AppConstructor =>\n new AppConstructor(\n appName,\n entityOptionsRegistry.get<AppRegistrationOptions<T>>(appName)?.props,\n ),\n ),\n switchMap(app => defer(() => app.bootstrap(selector, props)).pipe(mapTo(app))),\n );\n}\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"bootstrapApp":{"__symbolic":"function","parameters":["appName","selector","props"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"./load-app","name":"loadApp","line":12,"character":9},"arguments":[{"__symbolic":"reference","name":"appName"}]},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"map","line":13,"character":4},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":14,"character":6}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"switchMap","line":20,"character":4},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":20,"character":14}]}]}}}}]
@@ -1,5 +0,0 @@
1
- import { getEntity } from './get-entity';
2
- export function getApp(appName) {
3
- return getEntity(appName);
4
- }
5
- //# sourceMappingURL=get-app.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-app.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/helpers/get-app.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAEvC,MAAM,UAAU,MAAM,CACpB,OAAe;IAEf,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC","sourcesContent":["import {Observable} from 'rxjs';\nimport {ApplicationConstructor} from '../models/application';\nimport {getEntity} from './get-entity';\n\nexport function getApp<T extends Record<string, any> = Record<string, any>>(\n appName: string,\n): Observable<ApplicationConstructor<T> | null> {\n return getEntity(appName);\n}\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"getApp":{"__symbolic":"function","parameters":["appName"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"./get-entity","name":"getEntity","line":7,"character":9},"arguments":[{"__symbolic":"reference","name":"appName"}]}}}}]
@@ -1,6 +0,0 @@
1
- import { of } from 'rxjs';
2
- import { loadedEntityRegistry } from '../registry';
3
- export function getEntity(entityName) {
4
- return of(loadedEntityRegistry.get(entityName) || null);
5
- }
6
- //# sourceMappingURL=get-entity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-entity.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/helpers/get-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,EAAE,EAAC,MAAM,MAAM,CAAC;AACpC,OAAO,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AAGjD,MAAM,UAAU,SAAS,CACvB,UAAkB;IAElB,OAAO,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;AAC1D,CAAC","sourcesContent":["import {Observable, of} from 'rxjs';\nimport {loadedEntityRegistry} from '../registry';\nimport {EntityConstructor} from '../models/entity';\n\nexport function getEntity<T, K>(\n entityName: string,\n): Observable<EntityConstructor<T, K> | null> {\n return of(loadedEntityRegistry.get(entityName) || null);\n}\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"getEntity":{"__symbolic":"function","parameters":["entityName"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs","name":"of","line":7,"character":9},"arguments":[{"__symbolic":"binop","operator":"||","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"../registry","name":"loadedEntityRegistry","line":7,"character":12},"member":"get"},"arguments":[{"__symbolic":"reference","name":"entityName"}]},"right":null}]}}}}]
@@ -1,11 +0,0 @@
1
- import { of } from 'rxjs';
2
- import { switchMap, tap } from 'rxjs/operators';
3
- import { loadedEntityRegistry } from '../registry';
4
- import { getApp } from './get-app';
5
- import { loadEntity } from './load-entity';
6
- export function loadApp(appName) {
7
- return getApp(appName).pipe(switchMap(appConstructor => appConstructor
8
- ? of(appConstructor).pipe(tap(applicationConstructor => loadedEntityRegistry.set(appName, applicationConstructor)))
9
- : loadEntity(appName)));
10
- }
11
- //# sourceMappingURL=load-app.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"load-app.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/helpers/load-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,EAAE,EAAC,MAAM,MAAM,CAAC;AACpC,OAAO,EAAC,SAAS,EAAE,GAAG,EAAC,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAC;AACjC,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,MAAM,UAAU,OAAO,CACrB,OAAe;IAEf,OAAO,MAAM,CAAI,OAAO,CAAC,CAAC,IAAI,CAC5B,SAAS,CAAC,cAAc,CAAC,EAAE,CACzB,cAAc;QACZ,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,IAAI,CACrB,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAC3B,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAC1D,CACF;QACH,CAAC,CAAC,UAAU,CAAoB,OAAO,CAAC,CAC3C,CACF,CAAC;AACJ,CAAC","sourcesContent":["import {Observable, of} from 'rxjs';\nimport {switchMap, tap} from 'rxjs/operators';\nimport {Application, ApplicationConstructor} from '../models/application';\nimport {loadedEntityRegistry} from '../registry';\nimport {getApp} from './get-app';\nimport {loadEntity} from './load-entity';\n\nexport function loadApp<T extends Record<string, any> = Record<string, any>>(\n appName: string,\n): Observable<ApplicationConstructor<T>> {\n return getApp<T>(appName).pipe(\n switchMap(appConstructor =>\n appConstructor\n ? of(appConstructor).pipe(\n tap(applicationConstructor =>\n loadedEntityRegistry.set(appName, applicationConstructor),\n ),\n )\n : loadEntity<T, Application<T>>(appName),\n ),\n );\n}\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"loadApp":{"__symbolic":"function","parameters":["appName"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"./get-app","name":"getApp","line":10,"character":9},"arguments":[{"__symbolic":"reference","name":"appName"}]},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"switchMap","line":11,"character":4},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":11,"character":14}]}]}}}}]
@@ -1,24 +0,0 @@
1
- import { defer, isObservable, of } from 'rxjs';
2
- import { switchMap, tap } from 'rxjs/operators';
3
- import { entityOptionsRegistry, loadedEntityRegistry } from '../registry';
4
- import { getEntity } from './get-entity';
5
- export function loadEntity(entityName) {
6
- return getEntity(entityName).pipe(switchMap(entity => entity
7
- ? of(entity)
8
- : defer(() => {
9
- const options = entityOptionsRegistry.get(entityName);
10
- if (!options) {
11
- throw `Microzord entity "${entityName}" has not been registered. Check the spelling or register an app.`;
12
- }
13
- if (!options.load) {
14
- throw `Microzord entity "${entityName}" is registered but it has no "load" function. Please, provide it`;
15
- }
16
- const result = options.load();
17
- return result &&
18
- (isObservable(result) ||
19
- ('then' in result && typeof result['then'] === 'function'))
20
- ? defer(() => result)
21
- : of(result);
22
- })), tap(entity => loadedEntityRegistry.set(entityName, entity)));
23
- }
24
- //# sourceMappingURL=load-entity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"load-entity.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/helpers/load-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,YAAY,EAAc,EAAE,EAAC,MAAM,MAAM,CAAC;AACzD,OAAO,EAAC,SAAS,EAAE,GAAG,EAAC,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAC,qBAAqB,EAAE,oBAAoB,EAAC,MAAM,aAAa,CAAC;AAGxE,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAEvC,MAAM,UAAU,UAAU,CACxB,UAAkB;IAElB,OAAO,SAAS,CAAO,UAAU,CAAC,CAAC,IAAI,CACrC,SAAS,CAAC,MAAM,CAAC,EAAE,CACjB,MAAM;QACJ,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;QACZ,CAAC,CAAC,KAAK,CAAsC,GAAG,EAAE;YAC9C,MAAM,OAAO,GACX,qBAAqB,CAAC,GAAG,CAEvB,UAAU,CAAC,CAAC;YAEhB,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,qBAAqB,UAAU,mEAAmE,CAAC;aAC1G;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;gBACjB,MAAM,qBAAqB,UAAU,mEAAmE,CAAC;aAC1G;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAE9B,OAAO,MAAM;gBACX,CAAC,YAAY,CAAC,MAAM,CAAC;oBACnB,CAAC,MAAM,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,CAAC;gBAC7D,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;gBACrB,CAAC,CAAC,EAAE,CAAC,MAAiC,CAAC,CAAC;QAC5C,CAAC,CAAC,CACP,EACD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAC5D,CAAC;AACJ,CAAC","sourcesContent":["import {defer, isObservable, Observable, of} from 'rxjs';\nimport {switchMap, tap} from 'rxjs/operators';\nimport {entityOptionsRegistry, loadedEntityRegistry} from '../registry';\nimport {EntityConstructor} from '../models/entity';\nimport {EntityRegistrationOptions} from '../models/registration-options';\nimport {getEntity} from './get-entity';\n\nexport function loadEntity<T, K>(\n entityName: string,\n): Observable<EntityConstructor<T, K>> {\n return getEntity<T, K>(entityName).pipe(\n switchMap(entity =>\n entity\n ? of(entity)\n : defer<Observable<EntityConstructor<T, K>>>(() => {\n const options =\n entityOptionsRegistry.get<\n EntityRegistrationOptions<EntityConstructor<T, K>>\n >(entityName);\n\n if (!options) {\n throw `Microzord entity \"${entityName}\" has not been registered. Check the spelling or register an app.`;\n }\n\n if (!options.load) {\n throw `Microzord entity \"${entityName}\" is registered but it has no \"load\" function. Please, provide it`;\n }\n\n const result = options.load();\n\n return result &&\n (isObservable(result) ||\n ('then' in result && typeof result['then'] === 'function'))\n ? defer(() => result)\n : of(result as EntityConstructor<T, K>);\n }),\n ),\n tap(entity => loadedEntityRegistry.set(entityName, entity)),\n );\n}\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"loadEntity":{"__symbolic":"function","parameters":["entityName"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"./get-entity","name":"getEntity","line":10,"character":9},"arguments":[{"__symbolic":"reference","name":"entityName"}]},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"switchMap","line":11,"character":4},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":11,"character":14}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"tap","line":37,"character":4},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":37,"character":8}]}]}}}}]
@@ -1,5 +0,0 @@
1
- import { registerEntity } from './register-entity';
2
- export function registerApp(options) {
3
- registerEntity(options);
4
- }
5
- //# sourceMappingURL=register-app.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register-app.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/helpers/register-app.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAEjD,MAAM,UAAU,WAAW,CACzB,OAAkC;IAElC,cAAc,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC","sourcesContent":["import {AppRegistrationOptions} from '../models/registration-options';\nimport {registerEntity} from './register-entity';\n\nexport function registerApp<T extends Record<string, any> = Record<string, any>>(\n options: AppRegistrationOptions<T>,\n) {\n registerEntity(options);\n}\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"registerApp":{"__symbolic":"function"}}}]
@@ -1,5 +0,0 @@
1
- import { entityOptionsRegistry } from '../registry';
2
- export function registerEntity(options) {
3
- entityOptionsRegistry.set(options.name, options);
4
- }
5
- //# sourceMappingURL=register-entity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register-entity.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/helpers/register-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,aAAa,CAAC;AAGlD,MAAM,UAAU,cAAc,CAG5B,OAAU;IACV,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC","sourcesContent":["import {entityOptionsRegistry} from '../registry';\nimport {EntityRegistrationOptions} from '../models/registration-options';\n\nexport function registerEntity<\n T,\n K extends EntityRegistrationOptions<T> = EntityRegistrationOptions<T>,\n>(options: K): void {\n entityOptionsRegistry.set(options.name, options);\n}\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"registerEntity":{"__symbolic":"function"}}}]
@@ -1,9 +0,0 @@
1
- import { defer } from 'rxjs';
2
- import { bootstrapApp } from './bootstrap-app';
3
- export function replaceApps(from, to, props) {
4
- return defer(() => {
5
- from.destroy();
6
- return bootstrapApp(to, from.container, props);
7
- });
8
- }
9
- //# sourceMappingURL=replace-apps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"replace-apps.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/helpers/replace-apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAa,MAAM,MAAM,CAAC;AAEvC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,MAAM,UAAU,WAAW,CACzB,IAAiB,EACjB,EAAU,EACV,KAAS;IAET,OAAO,KAAK,CAAC,GAAG,EAAE;QAChB,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,OAAO,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {defer, Observable} from 'rxjs';\nimport {Application} from '../models/application';\nimport {bootstrapApp} from './bootstrap-app';\n\nexport function replaceApps<T extends Record<string, any> = Record<string, any>>(\n from: Application,\n to: string,\n props?: T,\n): Observable<Application<T>> {\n return defer(() => {\n from.destroy();\n\n return bootstrapApp(to, from.container, props);\n });\n}\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"replaceApps":{"__symbolic":"function","parameters":["from","to","props"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs","name":"defer","line":9,"character":9},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":9,"character":15}]}}}}]
@@ -1,63 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { MicrozordLifecycleEvent } from './lifecycle';
3
- export class Application {
4
- // todo: заспекать типы props
5
- constructor(name, props) {
6
- this.name = name;
7
- this.props = props;
8
- this.isBootstrapped = false;
9
- this.isDestroyed = true;
10
- this.container = '';
11
- this.hook = new Set();
12
- this.message = new Set();
13
- this.navigationEvent = new Set();
14
- }
15
- onMessage(fn) {
16
- this.message.add(fn);
17
- return () => {
18
- this.message.delete(fn);
19
- };
20
- }
21
- emitMessage(event) {
22
- this.callListeners(this.message, event);
23
- }
24
- onRouteChange(fn) {
25
- this.navigationEvent.add(fn);
26
- return () => {
27
- this.navigationEvent.delete(fn);
28
- };
29
- }
30
- emitRouteChange(event) {
31
- this.callListeners(this.navigationEvent, event);
32
- }
33
- onHook(fn) {
34
- this.hook.add(fn);
35
- return () => {
36
- this.hook.delete(fn);
37
- };
38
- }
39
- emitHook(event) {
40
- this.callListeners(this.hook, event);
41
- }
42
- destroy() {
43
- this.emitHook(MicrozordLifecycleEvent.destroyed());
44
- this.hook.clear(); // todo: в этот поток перед комплитом нужен евент дестроя
45
- this.message.clear();
46
- this.navigationEvent.clear();
47
- this.isBootstrapped = false;
48
- this.isDestroyed = true;
49
- }
50
- bootstrap(container, _props) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- this.isBootstrapped = true;
53
- this.container = container;
54
- });
55
- }
56
- callListeners(listeners, event) {
57
- event.target = this;
58
- [...listeners].forEach(fn => {
59
- fn(event);
60
- });
61
- }
62
- }
63
- //# sourceMappingURL=application.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/models/application.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,uBAAuB,EAAC,MAAM,aAAa,CAAC;AAKpD,MAAM,OAAgB,WAAW;IAS/B,6BAA6B;IAC7B,YAA4B,IAAY,EAAS,KAAS;QAA9B,SAAI,GAAJ,IAAI,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAI;QAT1D,mBAAc,GAAG,KAAK,CAAC;QACvB,gBAAW,GAAG,IAAI,CAAC;QACnB,cAAS,GAAqB,EAAE,CAAC;QAEd,SAAI,GAAG,IAAI,GAAG,EAAqC,CAAC;QACpD,YAAO,GAAG,IAAI,GAAG,EAAmC,CAAC;QACrD,oBAAe,GAAG,IAAI,GAAG,EAAsC,CAAC;IAGtB,CAAC;IAE9D,SAAS,CAAC,EAAmC;QAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAErB,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,KAA4B;QACtC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,aAAa,CAAC,EAAsC;QAClD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE7B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,KAA+B;QAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,EAAqC;QAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAElB,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,KAA8B;QACrC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,SAAS,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,yDAAyD;QAC5E,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAE7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAEK,SAAS,CAAC,SAA2B,EAAE,MAAU;;YACrD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;KAAA;IAOS,aAAa,CACrB,SAA2B,EAC3B,KAAQ;QAER,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QAEpB,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YAC1B,EAAE,CAAC,KAAK,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import {MicrozordEvent, MicrozordMessageEvent, MicrozordNavigationEvent} from './events';\nimport {MicrozordLifecycleEvent} from './lifecycle';\nimport {EntityConstructor} from './entity';\n\nexport type Listener<T extends MicrozordEvent> = (event: T) => void;\n\nexport abstract class Application<T extends Record<string, any> = Record<string, any>> {\n isBootstrapped = false;\n isDestroyed = true;\n container: Element | string = '';\n\n protected readonly hook = new Set<Listener<MicrozordLifecycleEvent>>();\n protected readonly message = new Set<Listener<MicrozordMessageEvent>>();\n protected readonly navigationEvent = new Set<Listener<MicrozordNavigationEvent>>();\n\n // todo: заспекать типы props\n constructor(public readonly name: string, public props?: T) {}\n\n onMessage(fn: Listener<MicrozordMessageEvent>): () => void {\n this.message.add(fn);\n\n return () => {\n this.message.delete(fn);\n };\n }\n\n emitMessage(event: MicrozordMessageEvent) {\n this.callListeners(this.message, event);\n }\n\n onRouteChange(fn: Listener<MicrozordNavigationEvent>): () => void {\n this.navigationEvent.add(fn);\n\n return () => {\n this.navigationEvent.delete(fn);\n };\n }\n\n emitRouteChange(event: MicrozordNavigationEvent) {\n this.callListeners(this.navigationEvent, event);\n }\n\n onHook(fn: Listener<MicrozordLifecycleEvent>): () => void {\n this.hook.add(fn);\n\n return () => {\n this.hook.delete(fn);\n };\n }\n\n emitHook(event: MicrozordLifecycleEvent) {\n this.callListeners(this.hook, event);\n }\n\n destroy() {\n this.emitHook(MicrozordLifecycleEvent.destroyed());\n\n this.hook.clear(); // todo: в этот поток перед комплитом нужен евент дестроя\n this.message.clear();\n this.navigationEvent.clear();\n\n this.isBootstrapped = false;\n this.isDestroyed = true;\n }\n\n async bootstrap(container: string | Element, _props?: T): Promise<void> {\n this.isBootstrapped = true;\n this.container = container;\n }\n\n abstract send(msg: string | MicrozordMessageEvent): Promise<void>;\n\n // todo: шо за пропс? Надо придумать\n abstract navigate(url: string, props?: unknown): Promise<void>;\n\n protected callListeners<K extends MicrozordEvent>(\n listeners: Set<Listener<K>>,\n event: K,\n ) {\n event.target = this;\n\n [...listeners].forEach(fn => {\n fn(event);\n });\n }\n}\n\nexport type ApplicationConstructor<T extends Record<string, any> = Record<string, any>> =\n EntityConstructor<T, Application<T>>;\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"Listener":{"__symbolic":"interface"},"Application":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Could not resolve type","line":16,"character":59,"context":{"typeName":"T"}}]}],"onMessage":[{"__symbolic":"method"}],"emitMessage":[{"__symbolic":"method"}],"onRouteChange":[{"__symbolic":"method"}],"emitRouteChange":[{"__symbolic":"method"}],"onHook":[{"__symbolic":"method"}],"emitHook":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"bootstrap":[{"__symbolic":"method"}],"send":[{"__symbolic":"method"}],"navigate":[{"__symbolic":"method"}],"callListeners":[{"__symbolic":"method"}]}},"ApplicationConstructor":{"__symbolic":"interface"}}}]
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=entity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/models/entity.ts"],"names":[],"mappings":"","sourcesContent":["export interface EntityConstructor<T, K> {\n new (name: string, props?: T): K;\n}\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"EntityConstructor":{"__symbolic":"interface"}}}]
@@ -1,21 +0,0 @@
1
- export class MicrozordEvent {
2
- constructor(type) {
3
- this.type = type;
4
- this.target = null;
5
- }
6
- }
7
- // todo: подумать над сообщениями
8
- export class MicrozordMessageEvent extends MicrozordEvent {
9
- static isMessageEvent(event) {
10
- return (event && event.constructor && event.constructor.name === MicrozordMessageEvent.name);
11
- }
12
- }
13
- // todo: подумать над ивентами роутинга
14
- export class MicrozordNavigationEvent extends MicrozordEvent {
15
- static isNavigationEvent(event) {
16
- return (event &&
17
- event.constructor &&
18
- event.constructor.name === MicrozordNavigationEvent.name);
19
- }
20
- }
21
- //# sourceMappingURL=events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/models/events.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAc;IAEzB,YAA4B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QADxC,WAAM,GAA4B,IAAI,CAAC;IACI,CAAC;CAC7C;AAED,iCAAiC;AACjC,MAAM,OAAO,qBAAsB,SAAQ,cAAc;IACvD,MAAM,CAAC,cAAc,CAAC,KAAqB;QACzC,OAAO,CACL,KAAK,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,qBAAqB,CAAC,IAAI,CACpF,CAAC;IACJ,CAAC;CACF;AAED,uCAAuC;AACvC,MAAM,OAAO,wBAAyB,SAAQ,cAAc;IAC1D,MAAM,CAAC,iBAAiB,CAAC,KAAqB;QAC5C,OAAO,CACL,KAAK;YACL,KAAK,CAAC,WAAW;YACjB,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,wBAAwB,CAAC,IAAI,CACzD,CAAC;IACJ,CAAC;CACF","sourcesContent":["import {Application} from './application';\n\nexport class MicrozordEvent {\n target: Application<any> | null = null;\n constructor(public readonly type: string) {}\n}\n\n// todo: подумать над сообщениями\nexport class MicrozordMessageEvent extends MicrozordEvent {\n static isMessageEvent(event: MicrozordEvent): event is MicrozordMessageEvent {\n return (\n event && event.constructor && event.constructor.name === MicrozordMessageEvent.name\n );\n }\n}\n\n// todo: подумать над ивентами роутинга\nexport class MicrozordNavigationEvent extends MicrozordEvent {\n static isNavigationEvent(event: MicrozordEvent): event is MicrozordNavigationEvent {\n return (\n event &&\n event.constructor &&\n event.constructor.name === MicrozordNavigationEvent.name\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"MicrozordEvent":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]}},"MicrozordMessageEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"MicrozordEvent"},"statics":{"isMessageEvent":{"__symbolic":"function","parameters":["event"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"event"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"constructor"}},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"constructor"},"member":"name"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"MicrozordMessageEvent"},"member":"name"}}}}}},"MicrozordNavigationEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"MicrozordEvent"},"statics":{"isNavigationEvent":{"__symbolic":"function","parameters":["event"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"event"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"constructor"}},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"constructor"},"member":"name"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"MicrozordNavigationEvent"},"member":"name"}}}}}}}}]
@@ -1,26 +0,0 @@
1
- import { MicrozordEvent } from './events';
2
- export var LifecycleEventTypes;
3
- (function (LifecycleEventTypes) {
4
- LifecycleEventTypes["bootstrapped"] = "bootstrapped";
5
- LifecycleEventTypes["destroyed"] = "destroyed";
6
- })(LifecycleEventTypes || (LifecycleEventTypes = {}));
7
- export class MicrozordLifecycleEvent extends MicrozordEvent {
8
- static isLifecycleEvent(event) {
9
- return (event &&
10
- event.constructor &&
11
- event.constructor.name === MicrozordLifecycleEvent.name);
12
- }
13
- static bootstrapped() {
14
- return new MicrozordLifecycleEvent(LifecycleEventTypes.bootstrapped);
15
- }
16
- static isBootstrappedEvent(event) {
17
- return event.type === LifecycleEventTypes.bootstrapped;
18
- }
19
- static destroyed() {
20
- return new MicrozordLifecycleEvent(LifecycleEventTypes.destroyed);
21
- }
22
- static isDestroyedEvent(event) {
23
- return event.type === LifecycleEventTypes.destroyed;
24
- }
25
- }
26
- //# sourceMappingURL=lifecycle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/models/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,UAAU,CAAC;AAExC,MAAM,CAAN,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,oDAA6B,CAAA;IAC7B,8CAAuB,CAAA;AACzB,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,QAG9B;AAED,MAAM,OAAO,uBAAwB,SAAQ,cAAc;IACzD,MAAM,CAAC,gBAAgB,CAAC,KAAqB;QAC3C,OAAO,CACL,KAAK;YACL,KAAK,CAAC,WAAW;YACjB,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,uBAAuB,CAAC,IAAI,CACxD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,OAAO,IAAI,uBAAuB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,KAA8B;QACvD,OAAO,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC,YAAY,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,SAAS;QACd,OAAO,IAAI,uBAAuB,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,KAA8B;QACpD,OAAO,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC,SAAS,CAAC;IACtD,CAAC;CACF","sourcesContent":["import {MicrozordEvent} from './events';\n\nexport enum LifecycleEventTypes {\n bootstrapped = 'bootstrapped',\n destroyed = 'destroyed',\n}\n\nexport class MicrozordLifecycleEvent extends MicrozordEvent {\n static isLifecycleEvent(event: MicrozordEvent): event is MicrozordLifecycleEvent {\n return (\n event &&\n event.constructor &&\n event.constructor.name === MicrozordLifecycleEvent.name\n );\n }\n\n static bootstrapped(): MicrozordLifecycleEvent {\n return new MicrozordLifecycleEvent(LifecycleEventTypes.bootstrapped);\n }\n\n static isBootstrappedEvent(event: MicrozordLifecycleEvent): boolean {\n return event.type === LifecycleEventTypes.bootstrapped;\n }\n\n static destroyed(): MicrozordLifecycleEvent {\n return new MicrozordLifecycleEvent(LifecycleEventTypes.destroyed);\n }\n\n static isDestroyedEvent(event: MicrozordLifecycleEvent): boolean {\n return event.type === LifecycleEventTypes.destroyed;\n }\n}\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"LifecycleEventTypes":{"bootstrapped":"bootstrapped","destroyed":"destroyed"},"MicrozordLifecycleEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./events","name":"MicrozordEvent","line":7,"character":45},"statics":{"isLifecycleEvent":{"__symbolic":"function","parameters":["event"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"event"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"constructor"}},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"constructor"},"member":"name"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"MicrozordLifecycleEvent"},"member":"name"}}}},"bootstrapped":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"MicrozordLifecycleEvent"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"LifecycleEventTypes"},"member":"bootstrapped"}]}},"isBootstrappedEvent":{"__symbolic":"function","parameters":["event"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"type"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"LifecycleEventTypes"},"member":"bootstrapped"}}},"destroyed":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"MicrozordLifecycleEvent"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"LifecycleEventTypes"},"member":"destroyed"}]}},"isDestroyedEvent":{"__symbolic":"function","parameters":["event"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"type"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"LifecycleEventTypes"},"member":"destroyed"}}}}}}}]
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=registration-options.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registration-options.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/models/registration-options.ts"],"names":[],"mappings":"","sourcesContent":["import {Observable} from 'rxjs';\nimport {ApplicationConstructor} from './application';\n\nexport interface EntityRegistrationOptions<T> {\n name: string;\n load: () => Observable<T> | PromiseLike<T> | T;\n}\n\nexport interface AppRegistrationOptions<\n T extends Record<string, any> = Record<string, any>,\n> extends EntityRegistrationOptions<ApplicationConstructor<T>> {\n props?: T;\n}\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"EntityRegistrationOptions":{"__symbolic":"interface"},"AppRegistrationOptions":{"__symbolic":"interface"}}}]
@@ -1,22 +0,0 @@
1
- export class MicrozordRegistry {
2
- constructor() {
3
- this._map = new Map();
4
- }
5
- getMap() {
6
- return this._map;
7
- }
8
- clear() {
9
- this._map.clear();
10
- }
11
- get(key) {
12
- return this._map.get(key);
13
- }
14
- set(key, value) {
15
- this._map.set(key, value);
16
- }
17
- }
18
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
- export const entityOptionsRegistry = new MicrozordRegistry();
20
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
- export const loadedEntityRegistry = new MicrozordRegistry();
22
- //# sourceMappingURL=registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/registry.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,iBAAiB;IAA9B;QACU,SAAI,GAAG,IAAI,GAAG,EAAQ,CAAC;IAiBjC,CAAC;IAfC,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,GAAG,CAAkB,GAAM;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;IACjC,CAAC;IAED,GAAG,CAAkB,GAAM,EAAE,KAAQ;QACnC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;CACF;AAED,8DAA8D;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,iBAAiB,EAGvD,CAAC;AAEJ,8DAA8D;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,iBAAiB,EAGtD,CAAC","sourcesContent":["import {EntityRegistrationOptions} from './models/registration-options';\nimport {EntityConstructor} from './models/entity';\n\nexport class MicrozordRegistry<K, V> {\n private _map = new Map<K, V>();\n\n getMap(): ReadonlyMap<K, V> {\n return this._map;\n }\n\n clear(): void {\n this._map.clear();\n }\n\n get<E extends V = V>(key: K): E | undefined {\n return this._map.get(key) as E;\n }\n\n set<E extends V = V>(key: K, value: E): void {\n this._map.set(key, value);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const entityOptionsRegistry = new MicrozordRegistry<\n string,\n EntityRegistrationOptions<any>\n>();\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const loadedEntityRegistry = new MicrozordRegistry<\n string,\n EntityConstructor<any, any>\n>();\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"MicrozordRegistry":{"__symbolic":"class","arity":2,"members":{"getMap":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}]}},"entityOptionsRegistry":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"MicrozordRegistry"}},"loadedEntityRegistry":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"MicrozordRegistry"}}}}]
@@ -1,6 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- export { MicrozordRegistry as ɵa, loadedEntityRegistry as ɵb } from './lib/registry';
6
- //# sourceMappingURL=microzord-core.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"microzord-core.js","sourceRoot":"","sources":["../../../../libs/core/src/microzord-core.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AAExB,OAAO,EAAC,iBAAiB,IAAI,EAAE,EAAC,oBAAoB,IAAI,EAAE,EAAC,MAAM,gBAAgB,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {MicrozordRegistry as ɵa,loadedEntityRegistry as ɵb} from './lib/registry';"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{},"exports":[{"from":"./index"},{"from":"./lib/registry","export":[{"name":"MicrozordRegistry","as":"ɵa"},{"name":"loadedEntityRegistry","as":"ɵb"}]}]}]
@@ -1,10 +0,0 @@
1
- import { Application, } from '@microzord/core';
2
- export class ApplicationMock extends Application {
3
- navigate(_url, _props) {
4
- return Promise.resolve(undefined);
5
- }
6
- send(_msg) {
7
- return Promise.resolve(undefined);
8
- }
9
- }
10
- //# sourceMappingURL=application.mock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"application.mock.js","sourceRoot":"","sources":["../../../../../libs/core/testing/src/application.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,GAGZ,MAAM,iBAAiB,CAAC;AAEzB,MAAM,OAAO,eAAgB,SAAQ,WAAgB;IACnD,QAAQ,CAAC,IAAY,EAAE,MAAgB;QACrC,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,IAAoC;QACvC,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;CACF","sourcesContent":["import {\n Application,\n MicrozordLifecycleEvent,\n MicrozordMessageEvent,\n} from '@microzord/core';\n\nexport class ApplicationMock extends Application<any> {\n navigate(_url: string, _props?: unknown): Promise<void> {\n return Promise.resolve(undefined);\n }\n\n send(_msg: string | MicrozordMessageEvent): Promise<void> {\n return Promise.resolve(undefined);\n }\n}\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"ApplicationMock":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@microzord/core","name":"Application","line":6,"character":37},"members":{"navigate":[{"__symbolic":"method"}],"send":[{"__symbolic":"method"}]}}}}]
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=microzord-core-testing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"microzord-core-testing.js","sourceRoot":"","sources":["../../../../../libs/core/testing/src/microzord-core-testing.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,cAAc,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{},"exports":[{"from":"./public_api"}]}]
@@ -1,2 +0,0 @@
1
- export * from './application.mock';
2
- //# sourceMappingURL=public_api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"public_api.js","sourceRoot":"","sources":["../../../../../libs/core/testing/src/public_api.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC","sourcesContent":["export * from './application.mock';\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{},"exports":[{"from":"./application.mock"}]}]
@@ -1,17 +0,0 @@
1
- import { Application } from '@microzord/core';
2
-
3
- class ApplicationMock extends Application {
4
- navigate(_url, _props) {
5
- return Promise.resolve(undefined);
6
- }
7
- send(_msg) {
8
- return Promise.resolve(undefined);
9
- }
10
- }
11
-
12
- /**
13
- * Generated bundle index. Do not edit.
14
- */
15
-
16
- export { ApplicationMock };
17
- //# sourceMappingURL=microzord-core-testing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"microzord-core-testing.js","sources":["../../../../libs/core/testing/src/application.mock.ts","../../../../libs/core/testing/src/microzord-core-testing.ts"],"sourcesContent":["import {\n Application,\n MicrozordLifecycleEvent,\n MicrozordMessageEvent,\n} from '@microzord/core';\n\nexport class ApplicationMock extends Application<any> {\n navigate(_url: string, _props?: unknown): Promise<void> {\n return Promise.resolve(undefined);\n }\n\n send(_msg: string | MicrozordMessageEvent): Promise<void> {\n return Promise.resolve(undefined);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;MAMa,eAAgB,SAAQ,WAAgB;IACnD,QAAQ,CAAC,IAAY,EAAE,MAAgB;QACrC,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACnC;IAED,IAAI,CAAC,IAAoC;QACvC,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACnC;;;ACbH;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"microzord-core.js","sources":["../../../../libs/core/src/lib/registry.ts","../../../../libs/core/src/lib/helpers/get-entity.ts","../../../../libs/core/src/lib/helpers/get-app.ts","../../../../libs/core/src/lib/helpers/load-entity.ts","../../../../libs/core/src/lib/helpers/load-app.ts","../../../../libs/core/src/lib/helpers/bootstrap-app.ts","../../../../libs/core/src/lib/helpers/register-entity.ts","../../../../libs/core/src/lib/helpers/register-app.ts","../../../../libs/core/src/lib/helpers/replace-apps.ts","../../../../libs/core/src/lib/models/events.ts","../../../../libs/core/src/lib/models/lifecycle.ts","../../../../libs/core/src/lib/models/application.ts","../../../../libs/core/src/microzord-core.ts"],"sourcesContent":["import {EntityRegistrationOptions} from './models/registration-options';\nimport {EntityConstructor} from './models/entity';\n\nexport class MicrozordRegistry<K, V> {\n private _map = new Map<K, V>();\n\n getMap(): ReadonlyMap<K, V> {\n return this._map;\n }\n\n clear(): void {\n this._map.clear();\n }\n\n get<E extends V = V>(key: K): E | undefined {\n return this._map.get(key) as E;\n }\n\n set<E extends V = V>(key: K, value: E): void {\n this._map.set(key, value);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const entityOptionsRegistry = new MicrozordRegistry<\n string,\n EntityRegistrationOptions<any>\n>();\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const loadedEntityRegistry = new MicrozordRegistry<\n string,\n EntityConstructor<any, any>\n>();\n","import {Observable, of} from 'rxjs';\nimport {loadedEntityRegistry} from '../registry';\nimport {EntityConstructor} from '../models/entity';\n\nexport function getEntity<T, K>(\n entityName: string,\n): Observable<EntityConstructor<T, K> | null> {\n return of(loadedEntityRegistry.get(entityName) || null);\n}\n","import {Observable} from 'rxjs';\nimport {ApplicationConstructor} from '../models/application';\nimport {getEntity} from './get-entity';\n\nexport function getApp<T extends Record<string, any> = Record<string, any>>(\n appName: string,\n): Observable<ApplicationConstructor<T> | null> {\n return getEntity(appName);\n}\n","import {defer, isObservable, Observable, of} from 'rxjs';\nimport {switchMap, tap} from 'rxjs/operators';\nimport {entityOptionsRegistry, loadedEntityRegistry} from '../registry';\nimport {EntityConstructor} from '../models/entity';\nimport {EntityRegistrationOptions} from '../models/registration-options';\nimport {getEntity} from './get-entity';\n\nexport function loadEntity<T, K>(\n entityName: string,\n): Observable<EntityConstructor<T, K>> {\n return getEntity<T, K>(entityName).pipe(\n switchMap(entity =>\n entity\n ? of(entity)\n : defer<Observable<EntityConstructor<T, K>>>(() => {\n const options =\n entityOptionsRegistry.get<\n EntityRegistrationOptions<EntityConstructor<T, K>>\n >(entityName);\n\n if (!options) {\n throw `Microzord entity \"${entityName}\" has not been registered. Check the spelling or register an app.`;\n }\n\n if (!options.load) {\n throw `Microzord entity \"${entityName}\" is registered but it has no \"load\" function. Please, provide it`;\n }\n\n const result = options.load();\n\n return result &&\n (isObservable(result) ||\n ('then' in result && typeof result['then'] === 'function'))\n ? defer(() => result)\n : of(result as EntityConstructor<T, K>);\n }),\n ),\n tap(entity => loadedEntityRegistry.set(entityName, entity)),\n );\n}\n","import {Observable, of} from 'rxjs';\nimport {switchMap, tap} from 'rxjs/operators';\nimport {Application, ApplicationConstructor} from '../models/application';\nimport {loadedEntityRegistry} from '../registry';\nimport {getApp} from './get-app';\nimport {loadEntity} from './load-entity';\n\nexport function loadApp<T extends Record<string, any> = Record<string, any>>(\n appName: string,\n): Observable<ApplicationConstructor<T>> {\n return getApp<T>(appName).pipe(\n switchMap(appConstructor =>\n appConstructor\n ? of(appConstructor).pipe(\n tap(applicationConstructor =>\n loadedEntityRegistry.set(appName, applicationConstructor),\n ),\n )\n : loadEntity<T, Application<T>>(appName),\n ),\n );\n}\n","import {defer, Observable} from 'rxjs';\nimport {map, mapTo, switchMap} from 'rxjs/operators';\nimport {Application} from '../models/application';\nimport {entityOptionsRegistry} from '../registry';\nimport {loadApp} from './load-app';\nimport {AppRegistrationOptions} from '../models/registration-options';\n\nexport function bootstrapApp<T extends Record<string, any> = Record<string, any>>(\n appName: string,\n selector: string | Element,\n props?: T,\n): Observable<Application<T>> {\n return loadApp<T>(appName).pipe(\n map(\n AppConstructor =>\n new AppConstructor(\n appName,\n entityOptionsRegistry.get<AppRegistrationOptions<T>>(appName)?.props,\n ),\n ),\n switchMap(app => defer(() => app.bootstrap(selector, props)).pipe(mapTo(app))),\n );\n}\n","import {entityOptionsRegistry} from '../registry';\nimport {EntityRegistrationOptions} from '../models/registration-options';\n\nexport function registerEntity<\n T,\n K extends EntityRegistrationOptions<T> = EntityRegistrationOptions<T>,\n>(options: K): void {\n entityOptionsRegistry.set(options.name, options);\n}\n","import {AppRegistrationOptions} from '../models/registration-options';\nimport {registerEntity} from './register-entity';\n\nexport function registerApp<T extends Record<string, any> = Record<string, any>>(\n options: AppRegistrationOptions<T>,\n) {\n registerEntity(options);\n}\n","import {defer, Observable} from 'rxjs';\nimport {Application} from '../models/application';\nimport {bootstrapApp} from './bootstrap-app';\n\nexport function replaceApps<T extends Record<string, any> = Record<string, any>>(\n from: Application,\n to: string,\n props?: T,\n): Observable<Application<T>> {\n return defer(() => {\n from.destroy();\n\n return bootstrapApp(to, from.container, props);\n });\n}\n","import {Application} from './application';\n\nexport class MicrozordEvent {\n target: Application<any> | null = null;\n constructor(public readonly type: string) {}\n}\n\n// todo: подумать над сообщениями\nexport class MicrozordMessageEvent extends MicrozordEvent {\n static isMessageEvent(event: MicrozordEvent): event is MicrozordMessageEvent {\n return (\n event && event.constructor && event.constructor.name === MicrozordMessageEvent.name\n );\n }\n}\n\n// todo: подумать над ивентами роутинга\nexport class MicrozordNavigationEvent extends MicrozordEvent {\n static isNavigationEvent(event: MicrozordEvent): event is MicrozordNavigationEvent {\n return (\n event &&\n event.constructor &&\n event.constructor.name === MicrozordNavigationEvent.name\n );\n }\n}\n","import {MicrozordEvent} from './events';\n\nexport enum LifecycleEventTypes {\n bootstrapped = 'bootstrapped',\n destroyed = 'destroyed',\n}\n\nexport class MicrozordLifecycleEvent extends MicrozordEvent {\n static isLifecycleEvent(event: MicrozordEvent): event is MicrozordLifecycleEvent {\n return (\n event &&\n event.constructor &&\n event.constructor.name === MicrozordLifecycleEvent.name\n );\n }\n\n static bootstrapped(): MicrozordLifecycleEvent {\n return new MicrozordLifecycleEvent(LifecycleEventTypes.bootstrapped);\n }\n\n static isBootstrappedEvent(event: MicrozordLifecycleEvent): boolean {\n return event.type === LifecycleEventTypes.bootstrapped;\n }\n\n static destroyed(): MicrozordLifecycleEvent {\n return new MicrozordLifecycleEvent(LifecycleEventTypes.destroyed);\n }\n\n static isDestroyedEvent(event: MicrozordLifecycleEvent): boolean {\n return event.type === LifecycleEventTypes.destroyed;\n }\n}\n","import {MicrozordEvent, MicrozordMessageEvent, MicrozordNavigationEvent} from './events';\nimport {MicrozordLifecycleEvent} from './lifecycle';\nimport {EntityConstructor} from './entity';\n\nexport type Listener<T extends MicrozordEvent> = (event: T) => void;\n\nexport abstract class Application<T extends Record<string, any> = Record<string, any>> {\n isBootstrapped = false;\n isDestroyed = true;\n container: Element | string = '';\n\n protected readonly hook = new Set<Listener<MicrozordLifecycleEvent>>();\n protected readonly message = new Set<Listener<MicrozordMessageEvent>>();\n protected readonly navigationEvent = new Set<Listener<MicrozordNavigationEvent>>();\n\n // todo: заспекать типы props\n constructor(public readonly name: string, public props?: T) {}\n\n onMessage(fn: Listener<MicrozordMessageEvent>): () => void {\n this.message.add(fn);\n\n return () => {\n this.message.delete(fn);\n };\n }\n\n emitMessage(event: MicrozordMessageEvent) {\n this.callListeners(this.message, event);\n }\n\n onRouteChange(fn: Listener<MicrozordNavigationEvent>): () => void {\n this.navigationEvent.add(fn);\n\n return () => {\n this.navigationEvent.delete(fn);\n };\n }\n\n emitRouteChange(event: MicrozordNavigationEvent) {\n this.callListeners(this.navigationEvent, event);\n }\n\n onHook(fn: Listener<MicrozordLifecycleEvent>): () => void {\n this.hook.add(fn);\n\n return () => {\n this.hook.delete(fn);\n };\n }\n\n emitHook(event: MicrozordLifecycleEvent) {\n this.callListeners(this.hook, event);\n }\n\n destroy() {\n this.emitHook(MicrozordLifecycleEvent.destroyed());\n\n this.hook.clear(); // todo: в этот поток перед комплитом нужен евент дестроя\n this.message.clear();\n this.navigationEvent.clear();\n\n this.isBootstrapped = false;\n this.isDestroyed = true;\n }\n\n async bootstrap(container: string | Element, _props?: T): Promise<void> {\n this.isBootstrapped = true;\n this.container = container;\n }\n\n abstract send(msg: string | MicrozordMessageEvent): Promise<void>;\n\n // todo: шо за пропс? Надо придумать\n abstract navigate(url: string, props?: unknown): Promise<void>;\n\n protected callListeners<K extends MicrozordEvent>(\n listeners: Set<Listener<K>>,\n event: K,\n ) {\n event.target = this;\n\n [...listeners].forEach(fn => {\n fn(event);\n });\n }\n}\n\nexport type ApplicationConstructor<T extends Record<string, any> = Record<string, any>> =\n EntityConstructor<T, Application<T>>;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {MicrozordRegistry as ɵa,loadedEntityRegistry as ɵb} from './lib/registry';"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- export { MicrozordRegistry as ɵa, loadedEntityRegistry as ɵb } from './lib/registry';
@@ -1 +0,0 @@
1
- {"__symbolic":"module","version":4,"metadata":{"bootstrapApp":{"__symbolic":"function","parameters":["appName","selector","props"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"loadApp"},"arguments":[{"__symbolic":"reference","name":"appName"}]},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"map","line":13,"character":4},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":14,"character":6,"module":"./lib/helpers/bootstrap-app"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"switchMap","line":20,"character":4},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":20,"character":14,"module":"./lib/helpers/bootstrap-app"}]}]}},"getApp":{"__symbolic":"function","parameters":["appName"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"getEntity"},"arguments":[{"__symbolic":"reference","name":"appName"}]}},"getEntity":{"__symbolic":"function","parameters":["entityName"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs","name":"of","line":7,"character":9},"arguments":[{"__symbolic":"binop","operator":"||","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"get"},"arguments":[{"__symbolic":"reference","name":"entityName"}]},"right":null}]}},"loadApp":{"__symbolic":"function","parameters":["appName"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"getApp"},"arguments":[{"__symbolic":"reference","name":"appName"}]},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"switchMap","line":11,"character":4},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":11,"character":14,"module":"./lib/helpers/load-app"}]}]}},"loadEntity":{"__symbolic":"function","parameters":["entityName"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"getEntity"},"arguments":[{"__symbolic":"reference","name":"entityName"}]},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"switchMap","line":11,"character":4},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":11,"character":14,"module":"./lib/helpers/load-entity"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"tap","line":37,"character":4},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":37,"character":8,"module":"./lib/helpers/load-entity"}]}]}},"registerApp":{"__symbolic":"function"},"registerEntity":{"__symbolic":"function"},"replaceApps":{"__symbolic":"function","parameters":["from","to","props"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs","name":"defer","line":9,"character":9},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":9,"character":15,"module":"./lib/helpers/replace-apps"}]}},"Listener":{"__symbolic":"interface"},"Application":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Could not resolve type","line":16,"character":59,"context":{"typeName":"T"},"module":"./lib/models/application"}]}],"onMessage":[{"__symbolic":"method"}],"emitMessage":[{"__symbolic":"method"}],"onRouteChange":[{"__symbolic":"method"}],"emitRouteChange":[{"__symbolic":"method"}],"onHook":[{"__symbolic":"method"}],"emitHook":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"bootstrap":[{"__symbolic":"method"}],"send":[{"__symbolic":"method"}],"navigate":[{"__symbolic":"method"}],"callListeners":[{"__symbolic":"method"}]}},"ApplicationConstructor":{"__symbolic":"interface"},"EntityConstructor":{"__symbolic":"interface"},"MicrozordEvent":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}]}},"MicrozordMessageEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"MicrozordEvent"},"members":{},"statics":{"isMessageEvent":{"__symbolic":"function","parameters":["event"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"event"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"constructor"}},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"constructor"},"member":"name"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"MicrozordMessageEvent"},"member":"name"}}}}}},"MicrozordNavigationEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"MicrozordEvent"},"members":{},"statics":{"isNavigationEvent":{"__symbolic":"function","parameters":["event"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"event"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"constructor"}},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"constructor"},"member":"name"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"MicrozordNavigationEvent"},"member":"name"}}}}}},"LifecycleEventTypes":{"bootstrapped":"bootstrapped","destroyed":"destroyed"},"MicrozordLifecycleEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"MicrozordEvent"},"members":{},"statics":{"isLifecycleEvent":{"__symbolic":"function","parameters":["event"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"event"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"constructor"}},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"constructor"},"member":"name"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"MicrozordLifecycleEvent"},"member":"name"}}}},"bootstrapped":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"MicrozordLifecycleEvent"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"LifecycleEventTypes"},"member":"bootstrapped"}]}},"isBootstrappedEvent":{"__symbolic":"function","parameters":["event"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"type"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"LifecycleEventTypes"},"member":"bootstrapped"}}},"destroyed":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"MicrozordLifecycleEvent"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"LifecycleEventTypes"},"member":"destroyed"}]}},"isDestroyedEvent":{"__symbolic":"function","parameters":["event"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"type"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"LifecycleEventTypes"},"member":"destroyed"}}}}},"EntityRegistrationOptions":{"__symbolic":"interface"},"AppRegistrationOptions":{"__symbolic":"interface"},"ɵa":{"__symbolic":"class","arity":2,"members":{"getMap":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ɵa"}}},"origins":{"bootstrapApp":"./lib/helpers/bootstrap-app","getApp":"./lib/helpers/get-app","getEntity":"./lib/helpers/get-entity","loadApp":"./lib/helpers/load-app","loadEntity":"./lib/helpers/load-entity","registerApp":"./lib/helpers/register-app","registerEntity":"./lib/helpers/register-entity","replaceApps":"./lib/helpers/replace-apps","Listener":"./lib/models/application","Application":"./lib/models/application","ApplicationConstructor":"./lib/models/application","EntityConstructor":"./lib/models/entity","MicrozordEvent":"./lib/models/events","MicrozordMessageEvent":"./lib/models/events","MicrozordNavigationEvent":"./lib/models/events","LifecycleEventTypes":"./lib/models/lifecycle","MicrozordLifecycleEvent":"./lib/models/lifecycle","EntityRegistrationOptions":"./lib/models/registration-options","AppRegistrationOptions":"./lib/models/registration-options","ɵa":"./lib/registry","ɵb":"./lib/registry"},"importAs":"@microzord/core"}