@worktile/planet 12.1.1 → 14.0.0-next.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 (317) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/application/planet-application-loader.d.ts +73 -0
  3. package/application/planet-application-loader.d.ts.map +1 -0
  4. package/application/planet-application-ref.d.ts +36 -0
  5. package/application/planet-application-ref.d.ts.map +1 -0
  6. package/application/planet-application.service.d.ts +22 -0
  7. package/application/planet-application.service.d.ts.map +1 -0
  8. package/{packages/planet/src/application/portal-application.ts → application/portal-application.d.ts} +5 -18
  9. package/application/portal-application.d.ts.map +1 -0
  10. package/assets-loader.d.ts +36 -0
  11. package/assets-loader.d.ts.map +1 -0
  12. package/component/planet-component-loader.d.ts +31 -0
  13. package/component/planet-component-loader.d.ts.map +1 -0
  14. package/component/planet-component-ref.d.ts +8 -0
  15. package/component/planet-component-ref.d.ts.map +1 -0
  16. package/{packages/planet/src/component/plant-component.config.ts → component/plant-component.config.d.ts} +4 -4
  17. package/component/plant-component.config.d.ts.map +1 -0
  18. package/debug.d.ts +22 -0
  19. package/debug.d.ts.map +1 -0
  20. package/empty/empty.component.d.ts +6 -0
  21. package/empty/empty.component.d.ts.map +1 -0
  22. package/esm2020/application/planet-application-loader.mjs +454 -0
  23. package/esm2020/application/planet-application-ref.mjs +94 -0
  24. package/esm2020/application/planet-application.service.mjs +85 -0
  25. package/esm2020/application/portal-application.mjs +16 -0
  26. package/esm2020/assets-loader.mjs +216 -0
  27. package/esm2020/component/planet-component-loader.mjs +153 -0
  28. package/esm2020/component/planet-component-ref.mjs +3 -0
  29. package/esm2020/component/plant-component.config.mjs +7 -0
  30. package/esm2020/debug.mjs +33 -0
  31. package/esm2020/empty/empty.component.mjs +15 -0
  32. package/esm2020/global-event-dispatcher.mjs +70 -0
  33. package/esm2020/global-planet.mjs +53 -0
  34. package/esm2020/helpers.mjs +119 -0
  35. package/esm2020/module.mjs +31 -0
  36. package/esm2020/planet.class.mjs +9 -0
  37. package/esm2020/planet.mjs +91 -0
  38. package/esm2020/public-api.mjs +18 -0
  39. package/esm2020/sandbox/constants.mjs +7 -0
  40. package/esm2020/sandbox/exec.mjs +15 -0
  41. package/esm2020/sandbox/index.mjs +20 -0
  42. package/esm2020/sandbox/proxy/patches/document.mjs +12 -0
  43. package/esm2020/sandbox/proxy/patches/eventListener.mjs +41 -0
  44. package/esm2020/sandbox/proxy/patches/index.mjs +11 -0
  45. package/esm2020/sandbox/proxy/patches/storage.mjs +40 -0
  46. package/esm2020/sandbox/proxy/patches/timer.mjs +43 -0
  47. package/esm2020/sandbox/proxy/proxies/common.mjs +132 -0
  48. package/esm2020/sandbox/proxy/proxies/document.mjs +126 -0
  49. package/esm2020/sandbox/proxy/proxies/window.mjs +158 -0
  50. package/esm2020/sandbox/proxy/proxy-sandbox.mjs +49 -0
  51. package/esm2020/sandbox/proxy/types.mjs +2 -0
  52. package/esm2020/sandbox/sandbox.mjs +7 -0
  53. package/esm2020/sandbox/snapshot/snapshot-sandbox.mjs +12 -0
  54. package/esm2020/sandbox/types.mjs +2 -0
  55. package/esm2020/worktile-planet.mjs +5 -0
  56. package/fesm2015/worktile-planet.mjs +2049 -0
  57. package/fesm2015/worktile-planet.mjs.map +1 -0
  58. package/fesm2020/worktile-planet.mjs +2046 -0
  59. package/fesm2020/worktile-planet.mjs.map +1 -0
  60. package/global-event-dispatcher.d.ts +23 -0
  61. package/global-event-dispatcher.d.ts.map +1 -0
  62. package/global-planet.d.ts +23 -0
  63. package/global-planet.d.ts.map +1 -0
  64. package/helpers.d.ts +39 -0
  65. package/helpers.d.ts.map +1 -0
  66. package/index.d.ts +6 -0
  67. package/module.d.ts +12 -0
  68. package/module.d.ts.map +1 -0
  69. package/package.json +27 -120
  70. package/{packages/planet/src/planet.class.ts → planet.class.d.ts} +5 -26
  71. package/planet.class.d.ts.map +1 -0
  72. package/planet.d.ts +28 -0
  73. package/planet.d.ts.map +1 -0
  74. package/{packages/planet/src/public-api.ts → public-api.d.ts} +1 -4
  75. package/public-api.d.ts.map +1 -0
  76. package/sandbox/constants.d.ts +7 -0
  77. package/sandbox/constants.d.ts.map +1 -0
  78. package/sandbox/exec.d.ts +3 -0
  79. package/sandbox/exec.d.ts.map +1 -0
  80. package/sandbox/index.d.ts +7 -0
  81. package/sandbox/index.d.ts.map +1 -0
  82. package/sandbox/proxy/patches/document.d.ts +3 -0
  83. package/sandbox/proxy/patches/document.d.ts.map +1 -0
  84. package/sandbox/proxy/patches/eventListener.d.ts +3 -0
  85. package/sandbox/proxy/patches/eventListener.d.ts.map +1 -0
  86. package/sandbox/proxy/patches/index.d.ts +3 -0
  87. package/sandbox/proxy/patches/index.d.ts.map +1 -0
  88. package/sandbox/proxy/patches/storage.d.ts +15 -0
  89. package/sandbox/proxy/patches/storage.d.ts.map +1 -0
  90. package/sandbox/proxy/patches/timer.d.ts +3 -0
  91. package/sandbox/proxy/patches/timer.d.ts.map +1 -0
  92. package/sandbox/proxy/proxies/common.d.ts +13 -0
  93. package/sandbox/proxy/proxies/common.d.ts.map +1 -0
  94. package/sandbox/proxy/proxies/document.d.ts +14 -0
  95. package/sandbox/proxy/proxies/document.d.ts.map +1 -0
  96. package/sandbox/proxy/proxies/window.d.ts +13 -0
  97. package/sandbox/proxy/proxies/window.d.ts.map +1 -0
  98. package/sandbox/proxy/proxy-sandbox.d.ts +16 -0
  99. package/sandbox/proxy/proxy-sandbox.d.ts.map +1 -0
  100. package/{packages/planet/src/sandbox/proxy/types.ts → sandbox/proxy/types.d.ts} +2 -8
  101. package/sandbox/proxy/types.d.ts.map +1 -0
  102. package/sandbox/sandbox.d.ts +12 -0
  103. package/sandbox/sandbox.d.ts.map +1 -0
  104. package/sandbox/snapshot/snapshot-sandbox.d.ts +9 -0
  105. package/sandbox/snapshot/snapshot-sandbox.d.ts.map +1 -0
  106. package/sandbox/types.d.ts +2 -0
  107. package/sandbox/types.d.ts.map +1 -0
  108. package/worktile-planet.d.ts.map +1 -0
  109. package/.all-contributorsrc +0 -84
  110. package/.circleci/config.yml +0 -17
  111. package/.coveralls.yml +0 -1
  112. package/.docgeni/public/assets/favicon.ico +0 -0
  113. package/.docgeni/public/index.html +0 -13
  114. package/.docgenirc.js +0 -35
  115. package/.dockerignore +0 -1
  116. package/.editorconfig +0 -22
  117. package/.github/FUNDING.yml +0 -12
  118. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  119. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  120. package/.prettierignore +0 -7
  121. package/.prettierrc +0 -28
  122. package/.travis.yml +0 -26
  123. package/.wpmrc.js +0 -11
  124. package/CODE_OF_CONDUCT.md +0 -76
  125. package/Dockerfile +0 -11
  126. package/README.zh-CN.md +0 -307
  127. package/SECURITY.md +0 -21
  128. package/angular.json +0 -373
  129. package/commitlint.config.js +0 -6
  130. package/docs/api/defineApplication.md +0 -46
  131. package/docs/api/globalEventDispatcher.md +0 -51
  132. package/docs/api/index.md +0 -5
  133. package/docs/api/planet.md +0 -117
  134. package/docs/guides/getting-started.md +0 -174
  135. package/docs/guides/index.md +0 -5
  136. package/docs/guides/intro.md +0 -216
  137. package/examples/app1/browserslist +0 -11
  138. package/examples/app1/extra-webpack.config.js +0 -33
  139. package/examples/app1/karma.conf.js +0 -31
  140. package/examples/app1/postcss.config.js +0 -1
  141. package/examples/app1/src/app/app.module.ts +0 -44
  142. package/examples/app1/src/app/app.routing.ts +0 -49
  143. package/examples/app1/src/app/counter.service.ts +0 -16
  144. package/examples/app1/src/app/dashboard/dashboard.component.html +0 -51
  145. package/examples/app1/src/app/dashboard/dashboard.component.ts +0 -70
  146. package/examples/app1/src/app/detail/detail.component.html +0 -8
  147. package/examples/app1/src/app/detail/detail.component.ts +0 -18
  148. package/examples/app1/src/app/overlay.ts +0 -26
  149. package/examples/app1/src/app/projects/dialog/projects-dialog.component.html +0 -10
  150. package/examples/app1/src/app/projects/dialog/projects-dialog.component.ts +0 -41
  151. package/examples/app1/src/app/projects/projects.component.ts +0 -33
  152. package/examples/app1/src/app/root/root.component.css +0 -3
  153. package/examples/app1/src/app/root/root.component.html +0 -16
  154. package/examples/app1/src/app/root/root.component.ts +0 -35
  155. package/examples/app1/src/app/services/initialized-data.resolver.ts +0 -15
  156. package/examples/app1/src/app/shared.module.ts +0 -57
  157. package/examples/app1/src/app/user/detail/user-detail.component.html +0 -5
  158. package/examples/app1/src/app/user/detail/user-detail.component.ts +0 -20
  159. package/examples/app1/src/app/user/user-list.component.html +0 -7
  160. package/examples/app1/src/app/user/user-list.component.ts +0 -20
  161. package/examples/app1/src/app/user/user.module.ts +0 -31
  162. package/examples/app1/src/assets/.gitkeep +0 -0
  163. package/examples/app1/src/assets/github.png +0 -0
  164. package/examples/app1/src/assets/main.css +0 -3
  165. package/examples/app1/src/environments/environment.prod.ts +0 -3
  166. package/examples/app1/src/environments/environment.ts +0 -16
  167. package/examples/app1/src/favicon.ico +0 -0
  168. package/examples/app1/src/index.html +0 -14
  169. package/examples/app1/src/main.ts +0 -35
  170. package/examples/app1/src/polyfills.ts +0 -84
  171. package/examples/app1/src/styles.scss +0 -35
  172. package/examples/app1/src/test.ts +0 -14
  173. package/examples/app1/temp.js +0 -221
  174. package/examples/app1/tsconfig.app.json +0 -10
  175. package/examples/app1/tsconfig.spec.json +0 -18
  176. package/examples/app1/tslint.json +0 -17
  177. package/examples/app1/webpack.config.js +0 -127
  178. package/examples/app2/browserslist +0 -11
  179. package/examples/app2/extra-webpack.config.js +0 -32
  180. package/examples/app2/karma.conf.js +0 -31
  181. package/examples/app2/src/app/app.module.ts +0 -90
  182. package/examples/app2/src/app/dashboard/dashboard.component.html +0 -21
  183. package/examples/app2/src/app/dashboard/dashboard.component.ts +0 -27
  184. package/examples/app2/src/app/overlay.ts +0 -26
  185. package/examples/app2/src/app/projects/detail/detail.component.html +0 -16
  186. package/examples/app2/src/app/projects/detail/detail.component.ts +0 -21
  187. package/examples/app2/src/app/projects/project-list.component.html +0 -29
  188. package/examples/app2/src/app/projects/project-list.component.ts +0 -58
  189. package/examples/app2/src/app/projects/project.resolver.ts +0 -15
  190. package/examples/app2/src/app/projects/projects.service.ts +0 -28
  191. package/examples/app2/src/app/projects/tasks/tasks.component.html +0 -10
  192. package/examples/app2/src/app/projects/tasks/tasks.component.ts +0 -16
  193. package/examples/app2/src/app/projects/view/view.component.html +0 -1
  194. package/examples/app2/src/app/projects/view/view.component.ts +0 -20
  195. package/examples/app2/src/app/root/root.component.html +0 -14
  196. package/examples/app2/src/app/root/root.component.scss +0 -12
  197. package/examples/app2/src/app/root/root.component.ts +0 -28
  198. package/examples/app2/src/app/shared.module.ts +0 -59
  199. package/examples/app2/src/assets/.gitkeep +0 -0
  200. package/examples/app2/src/environments/environment.prod.ts +0 -3
  201. package/examples/app2/src/environments/environment.ts +0 -16
  202. package/examples/app2/src/favicon.ico +0 -0
  203. package/examples/app2/src/index.html +0 -14
  204. package/examples/app2/src/main.ts +0 -36
  205. package/examples/app2/src/polyfills.ts +0 -84
  206. package/examples/app2/src/styles.scss +0 -28
  207. package/examples/app2/src/test.ts +0 -14
  208. package/examples/app2/tsconfig.app.json +0 -10
  209. package/examples/app2/tsconfig.spec.json +0 -18
  210. package/examples/app2/tslint.json +0 -7
  211. package/examples/app2/webpack.config.js +0 -92
  212. package/examples/common/app-root-context.ts +0 -10
  213. package/examples/common/cache.ts +0 -82
  214. package/examples/common/index.ts +0 -13
  215. package/examples/common/module.ts +0 -10
  216. package/examples/common/overlay-container.service.ts +0 -28
  217. package/examples/common/section-card/section-card.component.html +0 -5
  218. package/examples/common/section-card/section-card.component.scss +0 -15
  219. package/examples/common/section-card/section-card.component.ts +0 -11
  220. package/examples/common/utils.ts +0 -0
  221. package/examples/portal/src/app/a-detail/a-detail.component.html +0 -8
  222. package/examples/portal/src/app/a-detail/a-detail.component.ts +0 -18
  223. package/examples/portal/src/app/about/about.component.html +0 -27
  224. package/examples/portal/src/app/about/about.component.scss +0 -0
  225. package/examples/portal/src/app/about/about.component.spec.ts +0 -26
  226. package/examples/portal/src/app/about/about.component.ts +0 -26
  227. package/examples/portal/src/app/app-routing.module.ts +0 -57
  228. package/examples/portal/src/app/app.component.html +0 -73
  229. package/examples/portal/src/app/app.component.scss +0 -58
  230. package/examples/portal/src/app/app.component.spec.ts +0 -33
  231. package/examples/portal/src/app/app.component.ts +0 -111
  232. package/examples/portal/src/app/app.module.ts +0 -64
  233. package/examples/portal/src/app/custom-settings.service.ts +0 -44
  234. package/examples/portal/src/app/overlay.ts +0 -26
  235. package/examples/portal/src/app/settings/settings.component.html +0 -31
  236. package/examples/portal/src/app/settings/settings.component.scss +0 -3
  237. package/examples/portal/src/app/settings/settings.component.ts +0 -43
  238. package/examples/portal/src/assets/.gitkeep +0 -0
  239. package/examples/portal/src/assets/apps.json +0 -29
  240. package/examples/portal/src/assets/icons/sprite.defs.svg +0 -1
  241. package/examples/portal/src/assets/images/logo.svg +0 -16
  242. package/examples/portal/src/assets/ngx-planet-micro-front-end.gif +0 -0
  243. package/examples/portal/src/browserslist +0 -11
  244. package/examples/portal/src/environments/environment.prod.ts +0 -3
  245. package/examples/portal/src/environments/environment.ts +0 -16
  246. package/examples/portal/src/extra-webpack.config.js +0 -32
  247. package/examples/portal/src/favicon.ico +0 -0
  248. package/examples/portal/src/index.html +0 -14
  249. package/examples/portal/src/karma.conf.js +0 -31
  250. package/examples/portal/src/main.ts +0 -18
  251. package/examples/portal/src/polyfills.ts +0 -84
  252. package/examples/portal/src/reboot.scss +0 -14
  253. package/examples/portal/src/styles.scss +0 -14
  254. package/examples/portal/src/test.ts +0 -14
  255. package/examples/portal/src/tsconfig.app.json +0 -10
  256. package/examples/portal/src/tsconfig.spec.json +0 -9
  257. package/examples/portal/src/tslint.json +0 -7
  258. package/extra-webpack.config.js +0 -5
  259. package/nginx.conf +0 -17
  260. package/packages/planet/karma.conf.js +0 -37
  261. package/packages/planet/ng-package.json +0 -7
  262. package/packages/planet/package.json +0 -10
  263. package/packages/planet/src/application/planet-application-loader.spec.ts +0 -1102
  264. package/packages/planet/src/application/planet-application-loader.ts +0 -549
  265. package/packages/planet/src/application/planet-application-ref.spec.ts +0 -233
  266. package/packages/planet/src/application/planet-application-ref.ts +0 -131
  267. package/packages/planet/src/application/planet-application.service.spec.ts +0 -145
  268. package/packages/planet/src/application/planet-application.service.ts +0 -88
  269. package/packages/planet/src/application/portal-application.spec.ts +0 -53
  270. package/packages/planet/src/assets-loader.spec.ts +0 -689
  271. package/packages/planet/src/assets-loader.ts +0 -247
  272. package/packages/planet/src/component/planet-component-loader.spec.ts +0 -187
  273. package/packages/planet/src/component/planet-component-loader.ts +0 -173
  274. package/packages/planet/src/component/planet-component-ref.ts +0 -8
  275. package/packages/planet/src/debug.spec.ts +0 -58
  276. package/packages/planet/src/debug.ts +0 -66
  277. package/packages/planet/src/empty/empty.component.spec.ts +0 -34
  278. package/packages/planet/src/empty/empty.component.ts +0 -7
  279. package/packages/planet/src/global-event-dispatcher.spec.ts +0 -81
  280. package/packages/planet/src/global-event-dispatcher.ts +0 -82
  281. package/packages/planet/src/global-planet.spec.ts +0 -39
  282. package/packages/planet/src/global-planet.ts +0 -73
  283. package/packages/planet/src/helpers.spec.ts +0 -242
  284. package/packages/planet/src/helpers.ts +0 -125
  285. package/packages/planet/src/module.spec.ts +0 -79
  286. package/packages/planet/src/module.ts +0 -25
  287. package/packages/planet/src/planet.spec.ts +0 -226
  288. package/packages/planet/src/planet.ts +0 -113
  289. package/packages/planet/src/sandbox/constants.ts +0 -6
  290. package/packages/planet/src/sandbox/exec.ts +0 -22
  291. package/packages/planet/src/sandbox/index.ts +0 -24
  292. package/packages/planet/src/sandbox/proxy/patches/document.ts +0 -13
  293. package/packages/planet/src/sandbox/proxy/patches/eventListener.ts +0 -49
  294. package/packages/planet/src/sandbox/proxy/patches/index.ts +0 -13
  295. package/packages/planet/src/sandbox/proxy/patches/storage.ts +0 -53
  296. package/packages/planet/src/sandbox/proxy/patches/timer.ts +0 -50
  297. package/packages/planet/src/sandbox/proxy/proxies/common.ts +0 -137
  298. package/packages/planet/src/sandbox/proxy/proxies/document.ts +0 -140
  299. package/packages/planet/src/sandbox/proxy/proxies/window.ts +0 -176
  300. package/packages/planet/src/sandbox/proxy/proxy-sandbox.ts +0 -59
  301. package/packages/planet/src/sandbox/sandbox.ts +0 -20
  302. package/packages/planet/src/sandbox/snapshot/snapshot-sandbox.ts +0 -12
  303. package/packages/planet/src/sandbox/types.ts +0 -1
  304. package/packages/planet/src/test.ts +0 -16
  305. package/packages/planet/src/testing/app1.module.ts +0 -34
  306. package/packages/planet/src/testing/app2.module.ts +0 -24
  307. package/packages/planet/src/testing/applications.ts +0 -58
  308. package/packages/planet/src/testing/index.ts +0 -2
  309. package/packages/planet/src/testing/utils.ts +0 -31
  310. package/packages/planet/tsconfig.lib.json +0 -27
  311. package/packages/planet/tsconfig.lib.prod.json +0 -9
  312. package/packages/planet/tsconfig.spec.json +0 -17
  313. package/packages/planet/tslint.json +0 -7
  314. package/postcss.config.js +0 -3
  315. package/proxy.conf.js +0 -15
  316. package/tsconfig.json +0 -23
  317. package/tslint.json +0 -80
@@ -0,0 +1,153 @@
1
+ import { Injectable, ApplicationRef, NgModuleRef, NgZone, Inject } from '@angular/core';
2
+ import { DomPortalOutlet, ComponentPortal, PortalInjector } from '@angular/cdk/portal';
3
+ import { PlanetComponentRef } from './planet-component-ref';
4
+ import { coerceArray } from '../helpers';
5
+ import { map, shareReplay, delayWhen } from 'rxjs/operators';
6
+ import { of, timer } from 'rxjs';
7
+ import { DOCUMENT } from '@angular/common';
8
+ import { globalPlanet, getApplicationLoader, getApplicationService } from '../global-planet';
9
+ import * as i0 from "@angular/core";
10
+ const componentWrapperClass = 'planet-component-wrapper';
11
+ export class PlanetComponentLoader {
12
+ constructor(applicationRef, ngModuleRef, ngZone, document) {
13
+ this.applicationRef = applicationRef;
14
+ this.ngModuleRef = ngModuleRef;
15
+ this.ngZone = ngZone;
16
+ this.document = document;
17
+ this.domPortalOutletCache = new WeakMap();
18
+ }
19
+ get applicationLoader() {
20
+ return getApplicationLoader();
21
+ }
22
+ get applicationService() {
23
+ return getApplicationService();
24
+ }
25
+ getPlantAppRef(name) {
26
+ if (globalPlanet.apps[name] && globalPlanet.apps[name].appModuleRef) {
27
+ return of(globalPlanet.apps[name]);
28
+ }
29
+ else {
30
+ const app = this.applicationService.getAppByName(name);
31
+ return this.applicationLoader.preload(app, true).pipe(map(() => {
32
+ return globalPlanet.apps[name];
33
+ }));
34
+ }
35
+ }
36
+ createInjector(appModuleRef, componentRef) {
37
+ const injectionTokens = new WeakMap([[PlanetComponentRef, componentRef]]);
38
+ const defaultInjector = appModuleRef.injector;
39
+ return new PortalInjector(defaultInjector, injectionTokens);
40
+ }
41
+ getContainerElement(config) {
42
+ if (!config.container) {
43
+ throw new Error(`config 'container' cannot be null`);
44
+ }
45
+ else {
46
+ if (config.container.nativeElement) {
47
+ return config.container.nativeElement;
48
+ }
49
+ else {
50
+ return config.container;
51
+ }
52
+ }
53
+ }
54
+ createWrapperElement(config) {
55
+ const container = this.getContainerElement(config);
56
+ const element = this.document.createElement('div');
57
+ const subApp = this.applicationService.getAppByName(this.ngModuleRef.instance.appName);
58
+ element.classList.add(componentWrapperClass);
59
+ element.setAttribute('planet-inline', '');
60
+ if (config.wrapperClass) {
61
+ element.classList.add(config.wrapperClass);
62
+ }
63
+ if (subApp && subApp.stylePrefix) {
64
+ element.classList.add(subApp.stylePrefix);
65
+ }
66
+ container.appendChild(element);
67
+ return element;
68
+ }
69
+ attachComponent(plantComponent, appModuleRef, config) {
70
+ const plantComponentRef = new PlanetComponentRef();
71
+ const componentFactoryResolver = appModuleRef.componentFactoryResolver;
72
+ const appRef = this.applicationRef;
73
+ const injector = this.createInjector(appModuleRef, plantComponentRef);
74
+ const wrapper = this.createWrapperElement(config);
75
+ let portalOutlet = this.domPortalOutletCache.get(wrapper);
76
+ if (portalOutlet) {
77
+ portalOutlet.detach();
78
+ }
79
+ else {
80
+ portalOutlet = new DomPortalOutlet(wrapper, componentFactoryResolver, appRef, injector);
81
+ this.domPortalOutletCache.set(wrapper, portalOutlet);
82
+ }
83
+ const componentPortal = new ComponentPortal(plantComponent.component, null);
84
+ const componentRef = portalOutlet.attachComponentPortal(componentPortal);
85
+ if (config.initialState) {
86
+ Object.assign(componentRef.instance, config.initialState);
87
+ }
88
+ plantComponentRef.componentInstance = componentRef.instance;
89
+ plantComponentRef.componentRef = componentRef;
90
+ plantComponentRef.wrapperElement = wrapper;
91
+ plantComponentRef.dispose = () => {
92
+ this.domPortalOutletCache.delete(wrapper);
93
+ portalOutlet.dispose();
94
+ };
95
+ return plantComponentRef;
96
+ }
97
+ registerComponentFactory(componentOrComponents) {
98
+ const app = this.ngModuleRef.instance.appName;
99
+ this.getPlantAppRef(app).subscribe(appRef => {
100
+ appRef.registerComponentFactory((componentName, config) => {
101
+ const components = coerceArray(componentOrComponents);
102
+ const component = components.find(item => item.name === componentName);
103
+ if (component) {
104
+ return this.ngZone.run(() => {
105
+ const componentRef = this.attachComponent(component, appRef.appModuleRef, config);
106
+ return componentRef;
107
+ });
108
+ }
109
+ else {
110
+ throw Error(`unregistered component ${componentName} in app ${app}`);
111
+ }
112
+ });
113
+ });
114
+ }
115
+ register(components) {
116
+ setTimeout(() => {
117
+ this.registerComponentFactory(components);
118
+ });
119
+ }
120
+ load(app, componentName, config) {
121
+ const result = this.getPlantAppRef(app).pipe(delayWhen(appRef => {
122
+ if (appRef.getComponentFactory()) {
123
+ return of('');
124
+ }
125
+ else {
126
+ // Because register use 'setTimeout',so timer 20
127
+ return timer(20);
128
+ }
129
+ }), map(appRef => {
130
+ const componentFactory = appRef.getComponentFactory();
131
+ if (componentFactory) {
132
+ return componentFactory(componentName, config);
133
+ }
134
+ else {
135
+ throw new Error(`${app}'s component(${componentName}) is not registered`);
136
+ }
137
+ }), shareReplay());
138
+ result.subscribe();
139
+ return result;
140
+ }
141
+ }
142
+ PlanetComponentLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: PlanetComponentLoader, deps: [{ token: i0.ApplicationRef }, { token: i0.NgModuleRef }, { token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
143
+ PlanetComponentLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: PlanetComponentLoader, providedIn: 'root' });
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: PlanetComponentLoader, decorators: [{
145
+ type: Injectable,
146
+ args: [{
147
+ providedIn: 'root'
148
+ }]
149
+ }], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i0.NgModuleRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
150
+ type: Inject,
151
+ args: [DOCUMENT]
152
+ }] }]; } });
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LWNvbXBvbmVudC1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2NvbXBvbmVudC9wbGFuZXQtY29tcG9uZW50LWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFjLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQWlCLGVBQWUsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBMkMsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLEVBQUUsRUFBd0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRTdGLE1BQU0scUJBQXFCLEdBQUcsMEJBQTBCLENBQUM7QUFVekQsTUFBTSxPQUFPLHFCQUFxQjtJQVc5QixZQUNZLGNBQThCLEVBQzlCLFdBQTZCLEVBQzdCLE1BQWMsRUFDSSxRQUFhO1FBSC9CLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNJLGFBQVEsR0FBUixRQUFRLENBQUs7UUFkbkMseUJBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQXdCLENBQUM7SUFlaEUsQ0FBQztJQWJKLElBQVksaUJBQWlCO1FBQ3pCLE9BQU8sb0JBQW9CLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBWSxrQkFBa0I7UUFDMUIsT0FBTyxxQkFBcUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFTTyxjQUFjLENBQUMsSUFBWTtRQUMvQixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUU7WUFDakUsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO2FBQU07WUFDSCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUNqRCxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNMLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FDTCxDQUFDO1NBQ0w7SUFDTCxDQUFDO0lBRU8sY0FBYyxDQUNsQixZQUE4QixFQUM5QixZQUF1QztRQUV2QyxNQUFNLGVBQWUsR0FBRyxJQUFJLE9BQU8sQ0FBVyxDQUFDLENBQUMsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDOUMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVPLG1CQUFtQixDQUFDLE1BQTRCO1FBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztTQUN4RDthQUFNO1lBQ0gsSUFBSyxNQUFNLENBQUMsU0FBd0IsQ0FBQyxhQUFhLEVBQUU7Z0JBQ2hELE9BQVEsTUFBTSxDQUFDLFNBQXdCLENBQUMsYUFBYSxDQUFDO2FBQ3pEO2lCQUFNO2dCQUNILE9BQU8sTUFBTSxDQUFDLFNBQXdCLENBQUM7YUFDMUM7U0FDSjtJQUNMLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxNQUE0QjtRQUNyRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzdDLE9BQU8sQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTtZQUNyQixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDOUM7UUFDRCxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFO1lBQzlCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUM3QztRQUNELFNBQVMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0IsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVPLGVBQWUsQ0FDbkIsY0FBK0IsRUFDL0IsWUFBOEIsRUFDOUIsTUFBNEI7UUFFNUIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDbkQsTUFBTSx3QkFBd0IsR0FBRyxZQUFZLENBQUMsd0JBQXdCLENBQUM7UUFDdkUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFRLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzdFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRCxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFELElBQUksWUFBWSxFQUFFO1lBQ2QsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3pCO2FBQU07WUFDSCxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN4RixJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztTQUN4RDtRQUNELE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUUsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixDQUFRLGVBQWUsQ0FBQyxDQUFDO1FBQ2hGLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTtZQUNyQixNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzdEO1FBQ0QsaUJBQWlCLENBQUMsaUJBQWlCLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUM1RCxpQkFBaUIsQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQzlDLGlCQUFpQixDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUM7UUFDM0MsaUJBQWlCLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTtZQUM3QixJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUM7UUFDRixPQUFPLGlCQUFpQixDQUFDO0lBQzdCLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxxQkFBMEQ7UUFDdkYsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1FBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3hDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLGFBQXFCLEVBQUUsTUFBaUMsRUFBRSxFQUFFO2dCQUN6RixNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMscUJBQXFCLENBQUMsQ0FBQztnQkFDdEQsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLENBQUM7Z0JBQ3ZFLElBQUksU0FBUyxFQUFFO29CQUNYLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO3dCQUN4QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFNLFNBQVMsRUFBRSxNQUFNLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO3dCQUN2RixPQUFPLFlBQVksQ0FBQztvQkFDeEIsQ0FBQyxDQUFDLENBQUM7aUJBQ047cUJBQU07b0JBQ0gsTUFBTSxLQUFLLENBQUMsMEJBQTBCLGFBQWEsV0FBVyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2lCQUN4RTtZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUSxDQUFDLFVBQStDO1FBQ3BELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBSSxDQUNBLEdBQVcsRUFDWCxhQUFxQixFQUNyQixNQUFtQztRQUVuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDeEMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2YsSUFBSSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsRUFBRTtnQkFDOUIsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDakI7aUJBQU07Z0JBQ0gsZ0RBQWdEO2dCQUNoRCxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNwQjtRQUNMLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNULE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDdEQsSUFBSSxnQkFBZ0IsRUFBRTtnQkFDbEIsT0FBTyxnQkFBZ0IsQ0FBZSxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDaEU7aUJBQU07Z0JBQ0gsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsZ0JBQWdCLGFBQWEscUJBQXFCLENBQUMsQ0FBQzthQUM3RTtRQUNMLENBQUMsQ0FBQyxFQUNGLFdBQVcsRUFBRSxDQUNoQixDQUFDO1FBQ0YsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7O2tIQXRKUSxxQkFBcUIsaUdBZWxCLFFBQVE7c0hBZlgscUJBQXFCLGNBRmxCLE1BQU07MkZBRVQscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBZ0JRLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEFwcGxpY2F0aW9uUmVmLCBOZ01vZHVsZVJlZiwgTmdab25lLCBFbGVtZW50UmVmLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUsIERvbVBvcnRhbE91dGxldCwgQ29tcG9uZW50UG9ydGFsLCBQb3J0YWxJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgUGxhbmV0QXBwbGljYXRpb25SZWYgfSBmcm9tICcuLi9hcHBsaWNhdGlvbi9wbGFuZXQtYXBwbGljYXRpb24tcmVmJztcbmltcG9ydCB7IFBsYW5ldENvbXBvbmVudFJlZiB9IGZyb20gJy4vcGxhbmV0LWNvbXBvbmVudC1yZWYnO1xuaW1wb3J0IHsgUGxhbnRDb21wb25lbnRDb25maWcgfSBmcm9tICcuL3BsYW50LWNvbXBvbmVudC5jb25maWcnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXkgfSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXksIGZpbmFsaXplLCBkZWJvdW5jZSwgZmlsdGVyLCB0YWtlLCBkZWxheSwgZGVsYXlXaGVuIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgb2YsIE9ic2VydmFibGUsIGludGVydmFsLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgZ2xvYmFsUGxhbmV0LCBnZXRBcHBsaWNhdGlvbkxvYWRlciwgZ2V0QXBwbGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZ2xvYmFsLXBsYW5ldCc7XG5cbmNvbnN0IGNvbXBvbmVudFdyYXBwZXJDbGFzcyA9ICdwbGFuZXQtY29tcG9uZW50LXdyYXBwZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBsYW5ldENvbXBvbmVudDxUID0gYW55PiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPjtcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQbGFuZXRDb21wb25lbnRMb2FkZXIge1xuICAgIHByaXZhdGUgZG9tUG9ydGFsT3V0bGV0Q2FjaGUgPSBuZXcgV2Vha01hcDxhbnksIERvbVBvcnRhbE91dGxldD4oKTtcblxuICAgIHByaXZhdGUgZ2V0IGFwcGxpY2F0aW9uTG9hZGVyKCkge1xuICAgICAgICByZXR1cm4gZ2V0QXBwbGljYXRpb25Mb2FkZXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBhcHBsaWNhdGlvblNlcnZpY2UoKSB7XG4gICAgICAgIHJldHVybiBnZXRBcHBsaWNhdGlvblNlcnZpY2UoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgICAgIHByaXZhdGUgbmdNb2R1bGVSZWY6IE5nTW9kdWxlUmVmPGFueT4sXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueVxuICAgICkge31cblxuICAgIHByaXZhdGUgZ2V0UGxhbnRBcHBSZWYobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxQbGFuZXRBcHBsaWNhdGlvblJlZj4ge1xuICAgICAgICBpZiAoZ2xvYmFsUGxhbmV0LmFwcHNbbmFtZV0gJiYgZ2xvYmFsUGxhbmV0LmFwcHNbbmFtZV0uYXBwTW9kdWxlUmVmKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoZ2xvYmFsUGxhbmV0LmFwcHNbbmFtZV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgYXBwID0gdGhpcy5hcHBsaWNhdGlvblNlcnZpY2UuZ2V0QXBwQnlOYW1lKG5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXBwbGljYXRpb25Mb2FkZXIucHJlbG9hZChhcHAsIHRydWUpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdsb2JhbFBsYW5ldC5hcHBzW25hbWVdO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVJbmplY3RvcjxURGF0YT4oXG4gICAgICAgIGFwcE1vZHVsZVJlZjogTmdNb2R1bGVSZWY8YW55PixcbiAgICAgICAgY29tcG9uZW50UmVmOiBQbGFuZXRDb21wb25lbnRSZWY8VERhdGE+XG4gICAgKTogUG9ydGFsSW5qZWN0b3Ige1xuICAgICAgICBjb25zdCBpbmplY3Rpb25Ub2tlbnMgPSBuZXcgV2Vha01hcDxhbnksIGFueT4oW1tQbGFuZXRDb21wb25lbnRSZWYsIGNvbXBvbmVudFJlZl1dKTtcbiAgICAgICAgY29uc3QgZGVmYXVsdEluamVjdG9yID0gYXBwTW9kdWxlUmVmLmluamVjdG9yO1xuICAgICAgICByZXR1cm4gbmV3IFBvcnRhbEluamVjdG9yKGRlZmF1bHRJbmplY3RvciwgaW5qZWN0aW9uVG9rZW5zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbnRhaW5lckVsZW1lbnQoY29uZmlnOiBQbGFudENvbXBvbmVudENvbmZpZyk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgaWYgKCFjb25maWcuY29udGFpbmVyKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGNvbmZpZyAnY29udGFpbmVyJyBjYW5ub3QgYmUgbnVsbGApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKChjb25maWcuY29udGFpbmVyIGFzIEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKGNvbmZpZy5jb250YWluZXIgYXMgRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbmZpZy5jb250YWluZXIgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVdyYXBwZXJFbGVtZW50KGNvbmZpZzogUGxhbnRDb21wb25lbnRDb25maWcpIHtcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5nZXRDb250YWluZXJFbGVtZW50KGNvbmZpZyk7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBjb25zdCBzdWJBcHAgPSB0aGlzLmFwcGxpY2F0aW9uU2VydmljZS5nZXRBcHBCeU5hbWUodGhpcy5uZ01vZHVsZVJlZi5pbnN0YW5jZS5hcHBOYW1lKTtcbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNvbXBvbmVudFdyYXBwZXJDbGFzcyk7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdwbGFuZXQtaW5saW5lJywgJycpO1xuICAgICAgICBpZiAoY29uZmlnLndyYXBwZXJDbGFzcykge1xuICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNvbmZpZy53cmFwcGVyQ2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdWJBcHAgJiYgc3ViQXBwLnN0eWxlUHJlZml4KSB7XG4gICAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoc3ViQXBwLnN0eWxlUHJlZml4KTtcbiAgICAgICAgfVxuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG4gICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgYXR0YWNoQ29tcG9uZW50PFREYXRhPihcbiAgICAgICAgcGxhbnRDb21wb25lbnQ6IFBsYW5ldENvbXBvbmVudCxcbiAgICAgICAgYXBwTW9kdWxlUmVmOiBOZ01vZHVsZVJlZjxhbnk+LFxuICAgICAgICBjb25maWc6IFBsYW50Q29tcG9uZW50Q29uZmlnXG4gICAgKTogUGxhbmV0Q29tcG9uZW50UmVmPFREYXRhPiB7XG4gICAgICAgIGNvbnN0IHBsYW50Q29tcG9uZW50UmVmID0gbmV3IFBsYW5ldENvbXBvbmVudFJlZigpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgPSBhcHBNb2R1bGVSZWYuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuICAgICAgICBjb25zdCBhcHBSZWYgPSB0aGlzLmFwcGxpY2F0aW9uUmVmO1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IHRoaXMuY3JlYXRlSW5qZWN0b3I8VERhdGE+KGFwcE1vZHVsZVJlZiwgcGxhbnRDb21wb25lbnRSZWYpO1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gdGhpcy5jcmVhdGVXcmFwcGVyRWxlbWVudChjb25maWcpO1xuICAgICAgICBsZXQgcG9ydGFsT3V0bGV0ID0gdGhpcy5kb21Qb3J0YWxPdXRsZXRDYWNoZS5nZXQod3JhcHBlcik7XG4gICAgICAgIGlmIChwb3J0YWxPdXRsZXQpIHtcbiAgICAgICAgICAgIHBvcnRhbE91dGxldC5kZXRhY2goKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBvcnRhbE91dGxldCA9IG5ldyBEb21Qb3J0YWxPdXRsZXQod3JhcHBlciwgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBhcHBSZWYsIGluamVjdG9yKTtcbiAgICAgICAgICAgIHRoaXMuZG9tUG9ydGFsT3V0bGV0Q2FjaGUuc2V0KHdyYXBwZXIsIHBvcnRhbE91dGxldCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29tcG9uZW50UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChwbGFudENvbXBvbmVudC5jb21wb25lbnQsIG51bGwpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBwb3J0YWxPdXRsZXQuYXR0YWNoQ29tcG9uZW50UG9ydGFsPFREYXRhPihjb21wb25lbnRQb3J0YWwpO1xuICAgICAgICBpZiAoY29uZmlnLmluaXRpYWxTdGF0ZSkge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIGNvbmZpZy5pbml0aWFsU3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIHBsYW50Q29tcG9uZW50UmVmLmNvbXBvbmVudEluc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgICAgICBwbGFudENvbXBvbmVudFJlZi5jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XG4gICAgICAgIHBsYW50Q29tcG9uZW50UmVmLndyYXBwZXJFbGVtZW50ID0gd3JhcHBlcjtcbiAgICAgICAgcGxhbnRDb21wb25lbnRSZWYuZGlzcG9zZSA9ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZG9tUG9ydGFsT3V0bGV0Q2FjaGUuZGVsZXRlKHdyYXBwZXIpO1xuICAgICAgICAgICAgcG9ydGFsT3V0bGV0LmRpc3Bvc2UoKTtcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHBsYW50Q29tcG9uZW50UmVmO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudE9yQ29tcG9uZW50czogUGxhbmV0Q29tcG9uZW50IHwgUGxhbmV0Q29tcG9uZW50W10pIHtcbiAgICAgICAgY29uc3QgYXBwID0gdGhpcy5uZ01vZHVsZVJlZi5pbnN0YW5jZS5hcHBOYW1lO1xuICAgICAgICB0aGlzLmdldFBsYW50QXBwUmVmKGFwcCkuc3Vic2NyaWJlKGFwcFJlZiA9PiB7XG4gICAgICAgICAgICBhcHBSZWYucmVnaXN0ZXJDb21wb25lbnRGYWN0b3J5KChjb21wb25lbnROYW1lOiBzdHJpbmcsIGNvbmZpZzogUGxhbnRDb21wb25lbnRDb25maWc8YW55PikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSBjb2VyY2VBcnJheShjb21wb25lbnRPckNvbXBvbmVudHMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IGNvbXBvbmVudHMuZmluZChpdGVtID0+IGl0ZW0ubmFtZSA9PT0gY29tcG9uZW50TmFtZSk7XG4gICAgICAgICAgICAgICAgaWYgKGNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuYXR0YWNoQ29tcG9uZW50PGFueT4oY29tcG9uZW50LCBhcHBSZWYuYXBwTW9kdWxlUmVmLCBjb25maWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoYHVucmVnaXN0ZXJlZCBjb21wb25lbnQgJHtjb21wb25lbnROYW1lfSBpbiBhcHAgJHthcHB9YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyKGNvbXBvbmVudHM6IFBsYW5ldENvbXBvbmVudCB8IFBsYW5ldENvbXBvbmVudFtdKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlckNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50cyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGxvYWQ8VENvbXAgPSB1bmtub3duLCBURGF0YSA9IHVua25vd24+KFxuICAgICAgICBhcHA6IHN0cmluZyxcbiAgICAgICAgY29tcG9uZW50TmFtZTogc3RyaW5nLFxuICAgICAgICBjb25maWc6IFBsYW50Q29tcG9uZW50Q29uZmlnPFREYXRhPlxuICAgICk6IE9ic2VydmFibGU8UGxhbmV0Q29tcG9uZW50UmVmPFRDb21wPj4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmdldFBsYW50QXBwUmVmKGFwcCkucGlwZShcbiAgICAgICAgICAgIGRlbGF5V2hlbihhcHBSZWYgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChhcHBSZWYuZ2V0Q29tcG9uZW50RmFjdG9yeSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZignJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQmVjYXVzZSByZWdpc3RlciB1c2UgJ3NldFRpbWVvdXQnLHNvIHRpbWVyIDIwXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aW1lcigyMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoYXBwUmVmID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gYXBwUmVmLmdldENvbXBvbmVudEZhY3RvcnkoKTtcbiAgICAgICAgICAgICAgICBpZiAoY29tcG9uZW50RmFjdG9yeSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29tcG9uZW50RmFjdG9yeTxURGF0YSwgVENvbXA+KGNvbXBvbmVudE5hbWUsIGNvbmZpZyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2FwcH0ncyBjb21wb25lbnQoJHtjb21wb25lbnROYW1lfSkgaXMgbm90IHJlZ2lzdGVyZWRgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KClcbiAgICAgICAgKTtcbiAgICAgICAgcmVzdWx0LnN1YnNjcmliZSgpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export class PlanetComponentRef {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LWNvbXBvbmVudC1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2NvbXBvbmVudC9wbGFuZXQtY29tcG9uZW50LXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sa0JBQWtCO0NBSzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBQbGFuZXRDb21wb25lbnRSZWY8VENvbXAgPSBhbnk+IHtcbiAgICB3cmFwcGVyRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gICAgY29tcG9uZW50SW5zdGFuY2U6IFRDb21wO1xuICAgIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFRDb21wPjtcbiAgICBkaXNwb3NlOiAoKSA9PiB2b2lkO1xufVxuIl19
@@ -0,0 +1,7 @@
1
+ export class PlantComponentConfig {
2
+ constructor() {
3
+ /** Data being injected into the child component. */
4
+ this.initialState = null;
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbnQtY29tcG9uZW50LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvY29tcG9uZW50L3BsYW50LWNvbXBvbmVudC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLG9CQUFvQjtJQUFqQztRQUtJLG9EQUFvRDtRQUNwRCxpQkFBWSxHQUFrQixJQUFJLENBQUM7SUFDdkMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlld0NvbnRhaW5lclJlZiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgUGxhbnRDb21wb25lbnRDb25maWc8VERhdGEgPSBhbnk+IHtcbiAgICAvKiogTG9hZCB0YXJnZXQgY29udGFpbmVyICovXG4gICAgY29udGFpbmVyOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQgfCBhbnk+O1xuICAgIC8qKiBDb21wb25lbnQgd3JhcHBlciBjbGFzcy4gKi9cbiAgICB3cmFwcGVyQ2xhc3M/OiBzdHJpbmc7XG4gICAgLyoqIERhdGEgYmVpbmcgaW5qZWN0ZWQgaW50byB0aGUgY2hpbGQgY29tcG9uZW50LiAqL1xuICAgIGluaXRpYWxTdGF0ZT86IFREYXRhIHwgbnVsbCA9IG51bGw7XG59XG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { isFunction } from './helpers';
2
+ /**
3
+ * Debug factory for debug module
4
+ */
5
+ let _debugFactory;
6
+ let _debuggerMap = {};
7
+ export function createDebug(namespace) {
8
+ const key = `planet:${namespace}`;
9
+ return function (formatter, ...args) {
10
+ if (_debugFactory) {
11
+ let debugDebugger = _debuggerMap[key];
12
+ if (!debugDebugger) {
13
+ debugDebugger = _debugFactory(key);
14
+ _debuggerMap[key] = debugDebugger;
15
+ }
16
+ debugDebugger(formatter, args);
17
+ }
18
+ };
19
+ }
20
+ export function setDebugFactory(debug) {
21
+ if (debug && !isFunction(debug)) {
22
+ throw new Error('debug factory type is invalid, must be function');
23
+ }
24
+ _debugFactory = debug;
25
+ }
26
+ export function clearDebugFactory() {
27
+ _debugFactory = undefined;
28
+ _debuggerMap = {};
29
+ }
30
+ export function getDebugFactory() {
31
+ return _debugFactory;
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2RlYnVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUErQnZDOztHQUVHO0FBQ0gsSUFBSSxhQUFnQyxDQUFDO0FBQ3JDLElBQUksWUFBWSxHQUE2QixFQUFFLENBQUM7QUFFaEQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxTQUFpQjtJQUN6QyxNQUFNLEdBQUcsR0FBRyxVQUFVLFNBQVMsRUFBRSxDQUFDO0lBQ2xDLE9BQU8sVUFBUyxTQUFjLEVBQUUsR0FBRyxJQUFXO1FBQzFDLElBQUksYUFBYSxFQUFFO1lBQ2YsSUFBSSxhQUFhLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ2hCLGFBQWEsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25DLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxhQUFhLENBQUM7YUFDckM7WUFDRCxhQUFhLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBWTtJQUN4QyxJQUFJLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7S0FDdEU7SUFDRCxhQUFhLEdBQUcsS0FBSyxDQUFDO0FBQzFCLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCO0lBQzdCLGFBQWEsR0FBRyxTQUFTLENBQUM7SUFDMUIsWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUN0QixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWU7SUFDM0IsT0FBTyxhQUFhLENBQUM7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERlYnVnZ2VyIHtcbiAgICAoZm9ybWF0dGVyOiBhbnksIC4uLmFyZ3M6IGFueVtdKTogdm9pZDtcblxuICAgIC8vIGNvbG9yOiBzdHJpbmc7XG4gICAgLy8gZW5hYmxlZDogYm9vbGVhbjtcbiAgICAvLyBsb2c6ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55O1xuICAgIC8vIG5hbWVzcGFjZTogc3RyaW5nO1xuICAgIC8vIGRlc3Ryb3k6ICgpID0+IGJvb2xlYW47XG4gICAgLy8gZXh0ZW5kOiAobmFtZXNwYWNlOiBzdHJpbmcsIGRlbGltaXRlcj86IHN0cmluZykgPT4gRGVidWdnZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWF0dGVycyB7XG4gICAgW2Zvcm1hdHRlcjogc3RyaW5nXTogKHY6IGFueSkgPT4gc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlYnVnIHtcbiAgICAobmFtZXNwYWNlOiBzdHJpbmcpOiBEZWJ1Z2dlcjtcbiAgICBjb2VyY2U6ICh2YWw6IGFueSkgPT4gYW55O1xuICAgIGRpc2FibGU6ICgpID0+IHN0cmluZztcbiAgICBlbmFibGU6IChuYW1lc3BhY2VzOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgZW5hYmxlZDogKG5hbWVzcGFjZXM6IHN0cmluZykgPT4gYm9vbGVhbjtcbiAgICBsb2c6ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55O1xuXG4gICAgbmFtZXM6IFJlZ0V4cFtdO1xuICAgIHNraXBzOiBSZWdFeHBbXTtcblxuICAgIGZvcm1hdHRlcnM6IEZvcm1hdHRlcnM7XG59XG5cbi8qKlxuICogRGVidWcgZmFjdG9yeSBmb3IgZGVidWcgbW9kdWxlXG4gKi9cbmxldCBfZGVidWdGYWN0b3J5OiBEZWJ1ZyB8IHVuZGVmaW5lZDtcbmxldCBfZGVidWdnZXJNYXA6IFJlY29yZDxzdHJpbmcsIERlYnVnZ2VyPiA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGVidWcobmFtZXNwYWNlOiBzdHJpbmcpOiBEZWJ1Z2dlciB7XG4gICAgY29uc3Qga2V5ID0gYHBsYW5ldDoke25hbWVzcGFjZX1gO1xuICAgIHJldHVybiBmdW5jdGlvbihmb3JtYXR0ZXI6IGFueSwgLi4uYXJnczogYW55W10pIHtcbiAgICAgICAgaWYgKF9kZWJ1Z0ZhY3RvcnkpIHtcbiAgICAgICAgICAgIGxldCBkZWJ1Z0RlYnVnZ2VyID0gX2RlYnVnZ2VyTWFwW2tleV07XG4gICAgICAgICAgICBpZiAoIWRlYnVnRGVidWdnZXIpIHtcbiAgICAgICAgICAgICAgICBkZWJ1Z0RlYnVnZ2VyID0gX2RlYnVnRmFjdG9yeShrZXkpO1xuICAgICAgICAgICAgICAgIF9kZWJ1Z2dlck1hcFtrZXldID0gZGVidWdEZWJ1Z2dlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlYnVnRGVidWdnZXIoZm9ybWF0dGVyLCBhcmdzKTtcbiAgICAgICAgfVxuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXREZWJ1Z0ZhY3RvcnkoZGVidWc6IERlYnVnKSB7XG4gICAgaWYgKGRlYnVnICYmICFpc0Z1bmN0aW9uKGRlYnVnKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2RlYnVnIGZhY3RvcnkgdHlwZSBpcyBpbnZhbGlkLCBtdXN0IGJlIGZ1bmN0aW9uJyk7XG4gICAgfVxuICAgIF9kZWJ1Z0ZhY3RvcnkgPSBkZWJ1Zztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyRGVidWdGYWN0b3J5KCkge1xuICAgIF9kZWJ1Z0ZhY3RvcnkgPSB1bmRlZmluZWQ7XG4gICAgX2RlYnVnZ2VyTWFwID0ge307XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWJ1Z0ZhY3RvcnkoKSB7XG4gICAgcmV0dXJuIF9kZWJ1Z0ZhY3Rvcnk7XG59XG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class EmptyComponent {
4
+ }
5
+ EmptyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: EmptyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ EmptyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: EmptyComponent, selector: "empty-component", ngImport: i0, template: ``, isInline: true });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: EmptyComponent, decorators: [{
8
+ type: Component,
9
+ args: [{
10
+ // eslint-disable-next-line @angular-eslint/component-selector
11
+ selector: 'empty-component',
12
+ template: ``
13
+ }]
14
+ }] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9lbXB0eS9lbXB0eS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLGNBQWM7OzJHQUFkLGNBQWM7K0ZBQWQsY0FBYyx1REFGYixFQUFFOzJGQUVILGNBQWM7a0JBTDFCLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsRUFBRTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZW1wdHktY29tcG9uZW50JyxcbiAgICB0ZW1wbGF0ZTogYGBcbn0pXG5leHBvcnQgY2xhc3MgRW1wdHlDb21wb25lbnQge31cbiJdfQ==
@@ -0,0 +1,70 @@
1
+ import { Subject, Observable } from 'rxjs';
2
+ import { filter, map } from 'rxjs/operators';
3
+ import { Injectable, NgZone } from '@angular/core';
4
+ import * as i0 from "@angular/core";
5
+ const CUSTOM_EVENT_NAME = 'PLANET_GLOBAL_EVENT_DISPATCHER';
6
+ export class GlobalEventDispatcher {
7
+ constructor(ngZone) {
8
+ this.ngZone = ngZone;
9
+ this.subject$ = new Subject();
10
+ this.hasAddGlobalEventListener = false;
11
+ this.subscriptionCount = 0;
12
+ this.globalEventListener = (event) => {
13
+ this.subject$.next(event.detail);
14
+ };
15
+ }
16
+ addGlobalEventListener() {
17
+ this.hasAddGlobalEventListener = true;
18
+ window.addEventListener(CUSTOM_EVENT_NAME, this.globalEventListener);
19
+ }
20
+ removeGlobalEventListener() {
21
+ this.hasAddGlobalEventListener = false;
22
+ window.removeEventListener(CUSTOM_EVENT_NAME, this.globalEventListener);
23
+ }
24
+ dispatch(name, payload) {
25
+ window.dispatchEvent(new CustomEvent(CUSTOM_EVENT_NAME, {
26
+ detail: {
27
+ name: name,
28
+ payload: payload
29
+ }
30
+ }));
31
+ }
32
+ register(eventName) {
33
+ return new Observable(observer => {
34
+ if (!this.hasAddGlobalEventListener) {
35
+ this.addGlobalEventListener();
36
+ }
37
+ this.subscriptionCount++;
38
+ const subscription = this.subject$
39
+ .pipe(filter(event => {
40
+ return event.name === eventName;
41
+ }), map(event => {
42
+ return event.payload;
43
+ }))
44
+ .subscribe(payload => {
45
+ this.ngZone.run(() => {
46
+ observer.next(payload);
47
+ });
48
+ });
49
+ return () => {
50
+ this.subscriptionCount--;
51
+ subscription.unsubscribe();
52
+ if (!this.subscriptionCount) {
53
+ this.removeGlobalEventListener();
54
+ }
55
+ };
56
+ });
57
+ }
58
+ getSubscriptionCount() {
59
+ return this.subscriptionCount;
60
+ }
61
+ }
62
+ GlobalEventDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: GlobalEventDispatcher, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
63
+ GlobalEventDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: GlobalEventDispatcher, providedIn: 'root' });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: GlobalEventDispatcher, decorators: [{
65
+ type: Injectable,
66
+ args: [{
67
+ providedIn: 'root'
68
+ }]
69
+ }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWV2ZW50LWRpc3BhdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2dsb2JhbC1ldmVudC1kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT25ELE1BQU0saUJBQWlCLEdBQUcsZ0NBQWdDLENBQUM7QUFLM0QsTUFBTSxPQUFPLHFCQUFxQjtJQXFCOUIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFwQjFCLGFBQVEsR0FBbUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV6RCw4QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFFbEMsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBRXRCLHdCQUFtQixHQUFHLENBQUMsS0FBa0IsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUM7SUFZbUMsQ0FBQztJQVY5QixzQkFBc0I7UUFDMUIsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQztRQUN0QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVPLHlCQUF5QjtRQUM3QixJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBSUQsUUFBUSxDQUFXLElBQVksRUFBRSxPQUFrQjtRQUMvQyxNQUFNLENBQUMsYUFBYSxDQUNoQixJQUFJLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRTtZQUMvQixNQUFNLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFLE9BQU87YUFDbkI7U0FDSixDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCxRQUFRLENBQUksU0FBaUI7UUFDekIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO2dCQUNqQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQzthQUNqQztZQUNELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRO2lCQUM3QixJQUFJLENBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNYLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7WUFDcEMsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNSLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FDTDtpQkFDQSxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDakIsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDM0IsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztZQUNQLE9BQU8sR0FBRyxFQUFFO2dCQUNSLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUN6QixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO2lCQUNwQztZQUNMLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNsQyxDQUFDOztrSEFsRVEscUJBQXFCO3NIQUFyQixxQkFBcUIsY0FGbEIsTUFBTTsyRkFFVCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBHbG9iYWxEaXNwYXRjaGVyRXZlbnQge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBwYXlsb2FkOiBhbnk7XG59XG5cbmNvbnN0IENVU1RPTV9FVkVOVF9OQU1FID0gJ1BMQU5FVF9HTE9CQUxfRVZFTlRfRElTUEFUQ0hFUic7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgR2xvYmFsRXZlbnREaXNwYXRjaGVyIHtcbiAgICBwcml2YXRlIHN1YmplY3QkOiBTdWJqZWN0PEdsb2JhbERpc3BhdGNoZXJFdmVudD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgcHJpdmF0ZSBoYXNBZGRHbG9iYWxFdmVudExpc3RlbmVyID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbkNvdW50ID0gMDtcblxuICAgIHByaXZhdGUgZ2xvYmFsRXZlbnRMaXN0ZW5lciA9IChldmVudDogQ3VzdG9tRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5zdWJqZWN0JC5uZXh0KGV2ZW50LmRldGFpbCk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgYWRkR2xvYmFsRXZlbnRMaXN0ZW5lcigpIHtcbiAgICAgICAgdGhpcy5oYXNBZGRHbG9iYWxFdmVudExpc3RlbmVyID0gdHJ1ZTtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoQ1VTVE9NX0VWRU5UX05BTUUsIHRoaXMuZ2xvYmFsRXZlbnRMaXN0ZW5lcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVHbG9iYWxFdmVudExpc3RlbmVyKCkge1xuICAgICAgICB0aGlzLmhhc0FkZEdsb2JhbEV2ZW50TGlzdGVuZXIgPSBmYWxzZTtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoQ1VTVE9NX0VWRU5UX05BTUUsIHRoaXMuZ2xvYmFsRXZlbnRMaXN0ZW5lcik7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge31cblxuICAgIGRpc3BhdGNoPFRQYXlsb2FkPihuYW1lOiBzdHJpbmcsIHBheWxvYWQ/OiBUUGF5bG9hZCkge1xuICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudChDVVNUT01fRVZFTlRfTkFNRSwge1xuICAgICAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiBwYXlsb2FkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZWdpc3RlcjxUPihldmVudE5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmhhc0FkZEdsb2JhbEV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZEdsb2JhbEV2ZW50TGlzdGVuZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uQ291bnQrKztcbiAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuc3ViamVjdCRcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5uYW1lID09PSBldmVudE5hbWU7XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBtYXAoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGV2ZW50LnBheWxvYWQ7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUocGF5bG9hZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHBheWxvYWQpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25Db3VudC0tO1xuICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5zdWJzY3JpcHRpb25Db3VudCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUdsb2JhbEV2ZW50TGlzdGVuZXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRTdWJzY3JpcHRpb25Db3VudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uQ291bnQ7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,53 @@
1
+ import { PlanetApplicationRef } from './application/planet-application-ref';
2
+ import { isFunction } from './helpers';
3
+ export const globalPlanet = (window.planet = window.planet || {
4
+ apps: {}
5
+ });
6
+ export function defineApplication(name, options) {
7
+ if (globalPlanet.apps[name]) {
8
+ throw new Error(`${name} application has exist.`);
9
+ }
10
+ if (isFunction(options)) {
11
+ options = {
12
+ template: '',
13
+ bootstrap: options
14
+ };
15
+ }
16
+ const appRef = new PlanetApplicationRef(name, options);
17
+ globalPlanet.apps[name] = appRef;
18
+ }
19
+ export function getPlanetApplicationRef(appName) {
20
+ if (globalPlanet && globalPlanet.apps && globalPlanet.apps[appName]) {
21
+ return globalPlanet.apps[appName];
22
+ }
23
+ else {
24
+ return null;
25
+ }
26
+ }
27
+ export function setPortalApplicationData(data) {
28
+ if (globalPlanet.portalApplication) {
29
+ globalPlanet.portalApplication.data = data;
30
+ }
31
+ }
32
+ export function getPortalApplicationData() {
33
+ return globalPlanet.portalApplication?.data;
34
+ }
35
+ export function setApplicationLoader(loader) {
36
+ globalPlanet.applicationLoader = loader;
37
+ }
38
+ export function getApplicationLoader() {
39
+ return globalPlanet.applicationLoader;
40
+ }
41
+ export function setApplicationService(service) {
42
+ globalPlanet.applicationService = service;
43
+ }
44
+ export function getApplicationService() {
45
+ return globalPlanet.applicationService;
46
+ }
47
+ export function clearGlobalPlanet() {
48
+ window.planet.apps = {};
49
+ window.planet.portalApplication = null;
50
+ window.planet.applicationLoader = null;
51
+ window.planet.applicationService = null;
52
+ }
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXBsYW5ldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvZ2xvYmFsLXBsYW5ldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQXdDLE1BQU0sc0NBQXNDLENBQUM7QUFJbEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVd2QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWlCLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJO0lBQ3hFLElBQUksRUFBRSxFQUFFO0NBQ1gsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLGlCQUFpQixDQUFDLElBQVksRUFBRSxPQUE4QztJQUMxRixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUkseUJBQXlCLENBQUMsQ0FBQztLQUNyRDtJQUNELElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ3JCLE9BQU8sR0FBRztZQUNOLFFBQVEsRUFBRSxFQUFFO1lBQ1osU0FBUyxFQUFFLE9BQTZCO1NBQzNDLENBQUM7S0FDTDtJQUNELE1BQU0sTUFBTSxHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxFQUFFLE9BQTJCLENBQUMsQ0FBQztJQUMzRSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLE9BQWU7SUFDbkQsSUFBSSxZQUFZLElBQUksWUFBWSxDQUFDLElBQUksSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ2pFLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUNyQztTQUFNO1FBQ0gsT0FBTyxJQUFJLENBQUM7S0FDZjtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUksSUFBTztJQUMvQyxJQUFJLFlBQVksQ0FBQyxpQkFBaUIsRUFBRTtRQUNoQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztLQUM5QztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCO0lBQ3BDLE9BQU8sWUFBWSxDQUFDLGlCQUFpQixFQUFFLElBQWEsQ0FBQztBQUN6RCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE1BQStCO0lBQ2hFLFlBQVksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUM7QUFDNUMsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0I7SUFDaEMsT0FBTyxZQUFZLENBQUMsaUJBQWlCLENBQUM7QUFDMUMsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxPQUFpQztJQUNuRSxZQUFZLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDO0FBQzlDLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCO0lBQ2pDLE9BQU8sWUFBWSxDQUFDLGtCQUFrQixDQUFDO0FBQzNDLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCO0lBQzdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN4QixNQUFNLENBQUMsTUFBTSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUN2QyxNQUFNLENBQUMsTUFBTSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUN2QyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztBQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhbmV0QXBwbGljYXRpb25SZWYsIEJvb3RzdHJhcEFwcE1vZHVsZSwgQm9vdHN0cmFwT3B0aW9ucyB9IGZyb20gJy4vYXBwbGljYXRpb24vcGxhbmV0LWFwcGxpY2F0aW9uLXJlZic7XG5pbXBvcnQgeyBQbGFuZXRQb3J0YWxBcHBsaWNhdGlvbiB9IGZyb20gJy4vYXBwbGljYXRpb24vcG9ydGFsLWFwcGxpY2F0aW9uJztcbmltcG9ydCB7IFBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi9wbGFuZXQtYXBwbGljYXRpb24tbG9hZGVyJztcbmltcG9ydCB7IFBsYW5ldEFwcGxpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vYXBwbGljYXRpb24vcGxhbmV0LWFwcGxpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4vaGVscGVycyc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBhbnk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsUGxhbmV0IHtcbiAgICBhcHBzOiB7IFtrZXk6IHN0cmluZ106IFBsYW5ldEFwcGxpY2F0aW9uUmVmIH07XG4gICAgcG9ydGFsQXBwbGljYXRpb24/OiBQbGFuZXRQb3J0YWxBcHBsaWNhdGlvbjtcbiAgICBhcHBsaWNhdGlvbkxvYWRlcjogUGxhbmV0QXBwbGljYXRpb25Mb2FkZXI7XG4gICAgYXBwbGljYXRpb25TZXJ2aWNlOiBQbGFuZXRBcHBsaWNhdGlvblNlcnZpY2U7XG59XG5cbmV4cG9ydCBjb25zdCBnbG9iYWxQbGFuZXQ6IEdsb2JhbFBsYW5ldCA9ICh3aW5kb3cucGxhbmV0ID0gd2luZG93LnBsYW5ldCB8fCB7XG4gICAgYXBwczoge31cbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gZGVmaW5lQXBwbGljYXRpb24obmFtZTogc3RyaW5nLCBvcHRpb25zOiBCb290c3RyYXBBcHBNb2R1bGUgfCBCb290c3RyYXBPcHRpb25zKSB7XG4gICAgaWYgKGdsb2JhbFBsYW5ldC5hcHBzW25hbWVdKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtuYW1lfSBhcHBsaWNhdGlvbiBoYXMgZXhpc3QuYCk7XG4gICAgfVxuICAgIGlmIChpc0Z1bmN0aW9uKG9wdGlvbnMpKSB7XG4gICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgICB0ZW1wbGF0ZTogJycsXG4gICAgICAgICAgICBib290c3RyYXA6IG9wdGlvbnMgYXMgQm9vdHN0cmFwQXBwTW9kdWxlXG4gICAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IGFwcFJlZiA9IG5ldyBQbGFuZXRBcHBsaWNhdGlvblJlZihuYW1lLCBvcHRpb25zIGFzIEJvb3RzdHJhcE9wdGlvbnMpO1xuICAgIGdsb2JhbFBsYW5ldC5hcHBzW25hbWVdID0gYXBwUmVmO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGxhbmV0QXBwbGljYXRpb25SZWYoYXBwTmFtZTogc3RyaW5nKTogUGxhbmV0QXBwbGljYXRpb25SZWYgfCBudWxsIHtcbiAgICBpZiAoZ2xvYmFsUGxhbmV0ICYmIGdsb2JhbFBsYW5ldC5hcHBzICYmIGdsb2JhbFBsYW5ldC5hcHBzW2FwcE5hbWVdKSB7XG4gICAgICAgIHJldHVybiBnbG9iYWxQbGFuZXQuYXBwc1thcHBOYW1lXTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRQb3J0YWxBcHBsaWNhdGlvbkRhdGE8VD4oZGF0YTogVCkge1xuICAgIGlmIChnbG9iYWxQbGFuZXQucG9ydGFsQXBwbGljYXRpb24pIHtcbiAgICAgICAgZ2xvYmFsUGxhbmV0LnBvcnRhbEFwcGxpY2F0aW9uLmRhdGEgPSBkYXRhO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBvcnRhbEFwcGxpY2F0aW9uRGF0YTxURGF0YT4oKTogVERhdGEge1xuICAgIHJldHVybiBnbG9iYWxQbGFuZXQucG9ydGFsQXBwbGljYXRpb24/LmRhdGEgYXMgVERhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRBcHBsaWNhdGlvbkxvYWRlcihsb2FkZXI6IFBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyKSB7XG4gICAgZ2xvYmFsUGxhbmV0LmFwcGxpY2F0aW9uTG9hZGVyID0gbG9hZGVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXBwbGljYXRpb25Mb2FkZXIoKSB7XG4gICAgcmV0dXJuIGdsb2JhbFBsYW5ldC5hcHBsaWNhdGlvbkxvYWRlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEFwcGxpY2F0aW9uU2VydmljZShzZXJ2aWNlOiBQbGFuZXRBcHBsaWNhdGlvblNlcnZpY2UpIHtcbiAgICBnbG9iYWxQbGFuZXQuYXBwbGljYXRpb25TZXJ2aWNlID0gc2VydmljZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFwcGxpY2F0aW9uU2VydmljZSgpIHtcbiAgICByZXR1cm4gZ2xvYmFsUGxhbmV0LmFwcGxpY2F0aW9uU2VydmljZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyR2xvYmFsUGxhbmV0KCkge1xuICAgIHdpbmRvdy5wbGFuZXQuYXBwcyA9IHt9O1xuICAgIHdpbmRvdy5wbGFuZXQucG9ydGFsQXBwbGljYXRpb24gPSBudWxsO1xuICAgIHdpbmRvdy5wbGFuZXQuYXBwbGljYXRpb25Mb2FkZXIgPSBudWxsO1xuICAgIHdpbmRvdy5wbGFuZXQuYXBwbGljYXRpb25TZXJ2aWNlID0gbnVsbDtcbn1cbiJdfQ==
@@ -0,0 +1,119 @@
1
+ const ELEMENT_NODE_TYPE = 1;
2
+ export function hashCode(str) {
3
+ let hash = 0;
4
+ let chr;
5
+ if (str.length === 0) {
6
+ return hash;
7
+ }
8
+ for (let i = 0; i < str.length; i++) {
9
+ chr = str.charCodeAt(i);
10
+ hash = (hash << 5) - hash + chr;
11
+ hash |= 0; // Convert to 32bit integer
12
+ }
13
+ return hash;
14
+ }
15
+ export function getHTMLElement(selector) {
16
+ if (selector instanceof HTMLElement) {
17
+ return selector;
18
+ }
19
+ else {
20
+ return document.querySelector(selector);
21
+ }
22
+ }
23
+ export function getTagNameByTemplate(template) {
24
+ const element = createElementByTemplate(template);
25
+ return element ? element.nodeName : '';
26
+ }
27
+ export function createElementByTemplate(template) {
28
+ if (!template) {
29
+ return null;
30
+ }
31
+ const element = document.createRange().createContextualFragment(template).firstChild;
32
+ if (element && element.nodeType === ELEMENT_NODE_TYPE) {
33
+ return element;
34
+ }
35
+ else {
36
+ throw new Error(`invalid template '${template}'`);
37
+ }
38
+ }
39
+ export function coerceArray(value) {
40
+ return Array.isArray(value) ? value : [value];
41
+ }
42
+ export function isEmpty(value) {
43
+ if (!value || value.length === 0) {
44
+ return true;
45
+ }
46
+ else {
47
+ return false;
48
+ }
49
+ }
50
+ export function isFunction(value) {
51
+ const type = typeof value;
52
+ return !!value && type === 'function';
53
+ }
54
+ export function isObject(val) {
55
+ return val && typeof val === 'object';
56
+ }
57
+ /**
58
+ * Get file name from path
59
+ * 1. "main.js" => "main.js"
60
+ * 2. "assets/scripts/main.js" => "main.js"
61
+ * @param path path
62
+ */
63
+ export function getResourceFileName(path) {
64
+ const lastSlashIndex = path.lastIndexOf('/');
65
+ if (lastSlashIndex >= 0) {
66
+ return path.slice(lastSlashIndex + 1);
67
+ }
68
+ else {
69
+ return path;
70
+ }
71
+ }
72
+ /**
73
+ * Build resource path by manifest
74
+ * if manifest is { "main.js": "main.h2sh23abee.js"}
75
+ * 1. "main.js" => "main.h2sh23abee.js"
76
+ * 2. "assets/scripts/main.js" =>"assets/scripts/main.h2sh23abee.js"
77
+ * @param resourceFilePath Resource File Path
78
+ * @param manifestResult manifest
79
+ */
80
+ export function buildResourceFilePath(resourceFilePath, manifestResult) {
81
+ const fileName = getResourceFileName(resourceFilePath);
82
+ if (manifestResult[fileName]) {
83
+ return resourceFilePath.replace(fileName, manifestResult[fileName]);
84
+ }
85
+ else {
86
+ return resourceFilePath;
87
+ }
88
+ }
89
+ /**
90
+ * Get static resource full path
91
+ * @param app PlanetApplication
92
+ * @param manifestResult manifest
93
+ */
94
+ export function getScriptsAndStylesFullPaths(app, manifestResult) {
95
+ let scripts = app.scripts || [];
96
+ let styles = app.styles || [];
97
+ // combine resource path by manifest
98
+ if (manifestResult) {
99
+ scripts = scripts.map(script => {
100
+ return buildResourceFilePath(script, manifestResult);
101
+ });
102
+ styles = styles.map(style => {
103
+ return buildResourceFilePath(style, manifestResult);
104
+ });
105
+ }
106
+ if (app.resourcePathPrefix) {
107
+ scripts = scripts.map(script => {
108
+ return `${app.resourcePathPrefix}${script}`;
109
+ });
110
+ styles = styles.map(style => {
111
+ return `${app.resourcePathPrefix}${style}`;
112
+ });
113
+ }
114
+ return {
115
+ scripts: scripts,
116
+ styles: styles
117
+ };
118
+ }
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQztBQUU1QixNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVc7SUFDaEMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsSUFBSSxHQUFXLENBQUM7SUFDaEIsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNsQixPQUFPLElBQUksQ0FBQztLQUNmO0lBQ0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDakMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEIsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7UUFDaEMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLDJCQUEyQjtLQUN6QztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLFFBQThCO0lBQ3pELElBQUksUUFBUSxZQUFZLFdBQVcsRUFBRTtRQUNqQyxPQUFPLFFBQVEsQ0FBQztLQUNuQjtTQUFNO1FBQ0gsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQzNDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxRQUFnQjtJQUNqRCxNQUFNLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRCxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQzNDLENBQUM7QUFF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LE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzNCLE9BQU8sR0FBRyxHQUFHLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixPQUFPLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixHQUFHLEtBQUssRUFBRSxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO0tBQ047SUFDRCxPQUFPO1FBQ0gsT0FBTyxFQUFFLE9BQU87UUFDaEIsTUFBTSxFQUFFLE1BQU07S0FDakIsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFuZXRBcHBsaWNhdGlvbiB9IGZyb20gJy4vcGxhbmV0LmNsYXNzJztcblxuY29uc3QgRUxFTUVOVF9OT0RFX1RZUEUgPSAxO1xuXG5leHBvcnQgZnVuY3Rpb24gaGFzaENvZGUoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGxldCBoYXNoID0gMDtcbiAgICBsZXQgY2hyOiBudW1iZXI7XG4gICAgaWYgKHN0ci5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGhhc2g7XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNociA9IHN0ci5jaGFyQ29kZUF0KGkpO1xuICAgICAgICBoYXNoID0gKGhhc2ggPDwgNSkgLSBoYXNoICsgY2hyO1xuICAgICAgICBoYXNoIHw9IDA7IC8vIENvbnZlcnQgdG8gMzJiaXQgaW50ZWdlclxuICAgIH1cbiAgICByZXR1cm4gaGFzaDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEhUTUxFbGVtZW50KHNlbGVjdG9yOiBzdHJpbmcgfCBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgaWYgKHNlbGVjdG9yIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYWdOYW1lQnlUZW1wbGF0ZSh0ZW1wbGF0ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBlbGVtZW50ID0gY3JlYXRlRWxlbWVudEJ5VGVtcGxhdGUodGVtcGxhdGUpO1xuICAgIHJldHVybiBlbGVtZW50ID8gZWxlbWVudC5ub2RlTmFtZSA6ICcnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRWxlbWVudEJ5VGVtcGxhdGUodGVtcGxhdGU6IHN0cmluZykge1xuICAgIGlmICghdGVtcGxhdGUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpLmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudCh0ZW1wbGF0ZSkuZmlyc3RDaGlsZDtcbiAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50Lm5vZGVUeXBlID09PSBFTEVNRU5UX05PREVfVFlQRSkge1xuICAgICAgICByZXR1cm4gZWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgdGVtcGxhdGUgJyR7dGVtcGxhdGV9J2ApO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvZXJjZUFycmF5PFQ+KHZhbHVlOiBUIHwgVFtdKTogVFtdIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0VtcHR5KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoIXZhbHVlIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNGdW5jdGlvbih2YWx1ZTogYW55KTogdmFsdWUgaXMgRnVuY3Rpb24ge1xuICAgIGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gICAgcmV0dXJuICEhdmFsdWUgJiYgdHlwZSA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KHZhbDogYW55KSB7XG4gICAgcmV0dXJuIHZhbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0Jztcbn1cbi8qKlxuICogR2V0IGZpbGUgbmFtZSBmcm9tIHBhdGhcbiAqIDEuIFwibWFpbi5qc1wiID0+IFwibWFpbi5qc1wiXG4gKiAyLiBcImFzc2V0cy9zY3JpcHRzL21haW4uanNcIiA9PiBcIm1haW4uanNcIlxuICogQHBhcmFtIHBhdGggcGF0aFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzb3VyY2VGaWxlTmFtZShwYXRoOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsYXN0U2xhc2hJbmRleCA9IHBhdGgubGFzdEluZGV4T2YoJy8nKTtcbiAgICBpZiAobGFzdFNsYXNoSW5kZXggPj0gMCkge1xuICAgICAgICByZXR1cm4gcGF0aC5zbGljZShsYXN0U2xhc2hJbmRleCArIDEpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgIH1cbn1cblxuLyoqXG4gKiBCdWlsZCByZXNvdXJjZSBwYXRoIGJ5IG1hbmlmZXN0XG4gKiBpZiBtYW5pZmVzdCBpcyB7IFwibWFpbi5qc1wiOiBcIm1haW4uaDJzaDIzYWJlZS5qc1wifVxuICogMS4gXCJtYWluLmpzXCIgPT4gXCJtYWluLmgyc2gyM2FiZWUuanNcIlxuICogMi4gXCJhc3NldHMvc2NyaXB0cy9tYWluLmpzXCIgPT5cImFzc2V0cy9zY3JpcHRzL21haW4uaDJzaDIzYWJlZS5qc1wiXG4gKiBAcGFyYW0gcmVzb3VyY2VGaWxlUGF0aCBSZXNvdXJjZSBGaWxlIFBhdGhcbiAqIEBwYXJhbSBtYW5pZmVzdFJlc3VsdCBtYW5pZmVzdFxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRSZXNvdXJjZUZpbGVQYXRoKHJlc291cmNlRmlsZVBhdGg6IHN0cmluZywgbWFuaWZlc3RSZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgICBjb25zdCBmaWxlTmFtZSA9IGdldFJlc291cmNlRmlsZU5hbWUocmVzb3VyY2VGaWxlUGF0aCk7XG4gICAgaWYgKG1hbmlmZXN0UmVzdWx0W2ZpbGVOYW1lXSkge1xuICAgICAgICByZXR1cm4gcmVzb3VyY2VGaWxlUGF0aC5yZXBsYWNlKGZpbGVOYW1lLCBtYW5pZmVzdFJlc3VsdFtmaWxlTmFtZV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiByZXNvdXJjZUZpbGVQYXRoO1xuICAgIH1cbn1cblxuLyoqXG4gKiBHZXQgc3RhdGljIHJlc291cmNlIGZ1bGwgcGF0aFxuICogQHBhcmFtIGFwcCBQbGFuZXRBcHBsaWNhdGlvblxuICogQHBhcmFtIG1hbmlmZXN0UmVzdWx0IG1hbmlmZXN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHRzQW5kU3R5bGVzRnVsbFBhdGhzKGFwcDogUGxhbmV0QXBwbGljYXRpb24sIG1hbmlmZXN0UmVzdWx0PzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIGxldCBzY3JpcHRzID0gYXBwLnNjcmlwdHMgfHwgW107XG4gICAgbGV0IHN0eWxlcyA9IGFwcC5zdHlsZXMgfHwgW107XG4gICAgLy8gY29tYmluZSByZXNvdXJjZSBwYXRoIGJ5IG1hbmlmZXN0XG4gICAgaWYgKG1hbmlmZXN0UmVzdWx0KSB7XG4gICAgICAgIHNjcmlwdHMgPSBzY3JpcHRzLm1hcChzY3JpcHQgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGJ1aWxkUmVzb3VyY2VGaWxlUGF0aChzY3JpcHQsIG1hbmlmZXN0UmVzdWx0KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHN0eWxlcyA9IHN0eWxlcy5tYXAoc3R5bGUgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGJ1aWxkUmVzb3VyY2VGaWxlUGF0aChzdHlsZSwgbWFuaWZlc3RSZXN1bHQpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGFwcC5yZXNvdXJjZVBhdGhQcmVmaXgpIHtcbiAgICAgICAgc2NyaXB0cyA9IHNjcmlwdHMubWFwKHNjcmlwdCA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCR7YXBwLnJlc291cmNlUGF0aFByZWZpeH0ke3NjcmlwdH1gO1xuICAgICAgICB9KTtcbiAgICAgICAgc3R5bGVzID0gc3R5bGVzLm1hcChzdHlsZSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCR7YXBwLnJlc291cmNlUGF0aFByZWZpeH0ke3N0eWxlfWA7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBzY3JpcHRzOiBzY3JpcHRzLFxuICAgICAgICBzdHlsZXM6IHN0eWxlc1xuICAgIH07XG59XG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { PLANET_APPLICATIONS } from './planet.class';
3
+ import { HttpClientModule } from '@angular/common/http';
4
+ import { EmptyComponent } from './empty/empty.component';
5
+ import * as i0 from "@angular/core";
6
+ export class NgxPlanetModule {
7
+ static forRoot(apps) {
8
+ return {
9
+ ngModule: NgxPlanetModule,
10
+ providers: [
11
+ {
12
+ provide: PLANET_APPLICATIONS,
13
+ useValue: apps
14
+ }
15
+ ]
16
+ };
17
+ }
18
+ }
19
+ NgxPlanetModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: NgxPlanetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ NgxPlanetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: NgxPlanetModule, declarations: [EmptyComponent], imports: [HttpClientModule], exports: [HttpClientModule, EmptyComponent] });
21
+ NgxPlanetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: NgxPlanetModule, imports: [HttpClientModule, HttpClientModule] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: NgxPlanetModule, decorators: [{
23
+ type: NgModule,
24
+ args: [{
25
+ declarations: [EmptyComponent],
26
+ imports: [HttpClientModule],
27
+ providers: [],
28
+ exports: [HttpClientModule, EmptyComponent]
29
+ }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFxQixtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFRekQsTUFBTSxPQUFPLGVBQWU7SUFDeEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUF5QjtRQUNwQyxPQUFPO1lBQ0gsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxtQkFBbUI7b0JBQzVCLFFBQVEsRUFBRSxJQUFJO2lCQUNqQjthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7OzRHQVhRLGVBQWU7NkdBQWYsZUFBZSxpQkFMVCxjQUFjLGFBQ25CLGdCQUFnQixhQUVoQixnQkFBZ0IsRUFBRSxjQUFjOzZHQUVqQyxlQUFlLFlBSmQsZ0JBQWdCLEVBRWhCLGdCQUFnQjsyRkFFakIsZUFBZTtrQkFOM0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQzlCLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixTQUFTLEVBQUUsRUFBRTtvQkFDYixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUM7aUJBQzlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBsYW5ldEFwcGxpY2F0aW9uLCBQTEFORVRfQVBQTElDQVRJT05TIH0gZnJvbSAnLi9wbGFuZXQuY2xhc3MnO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEVtcHR5Q29tcG9uZW50IH0gZnJvbSAnLi9lbXB0eS9lbXB0eS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0VtcHR5Q29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbSHR0cENsaWVudE1vZHVsZV0sXG4gICAgcHJvdmlkZXJzOiBbXSxcbiAgICBleHBvcnRzOiBbSHR0cENsaWVudE1vZHVsZSwgRW1wdHlDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIE5neFBsYW5ldE1vZHVsZSB7XG4gICAgc3RhdGljIGZvclJvb3QoYXBwczogUGxhbmV0QXBwbGljYXRpb25bXSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4UGxhbmV0TW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogTmd4UGxhbmV0TW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBQTEFORVRfQVBQTElDQVRJT05TLFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogYXBwc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export var SwitchModes;
3
+ (function (SwitchModes) {
4
+ SwitchModes["default"] = "default";
5
+ SwitchModes["coexist"] = "coexist";
6
+ })(SwitchModes || (SwitchModes = {}));
7
+ const PLANET_APPLICATIONS = new InjectionToken('PLANET_APPLICATIONS');
8
+ export { PLANET_APPLICATIONS };
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9wbGFuZXQuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQStDL0MsTUFBTSxDQUFOLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNuQixrQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsV0FBVyxLQUFYLFdBQVcsUUFHdEI7QUFNRCxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFvQixxQkFBcUIsQ0FBQyxDQUFDO0FBRXpGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlYnVnIH0gZnJvbSAnLi9kZWJ1Zyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhbmV0T3B0aW9ucyB7XG4gICAgc3dpdGNoTW9kZT86IFN3aXRjaE1vZGVzO1xuICAgIGVycm9ySGFuZGxlcjogKGVycm9yOiBFcnJvcikgPT4gdm9pZDtcbiAgICBkZWJ1Z0ZhY3Rvcnk/OiBEZWJ1Zztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFuZXRBcHBsaWNhdGlvbjxURXh0cmEgPSBhbnk+IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLy8g5bqU55So5Yqg6L2955qE5a6/5Li75YWD57Sg5oiW6ICF6YCJ5oup5ZmoXG4gICAgaG9zdFBhcmVudDogc3RyaW5nIHwgSFRNTEVsZW1lbnQ7XG5cbiAgICAvLyDlrZDlupTnlKjnmoTpgInmi6nlmahcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBwbGVhc2UgdXNlIG5ldyBkZWZpbmVBcHBsaWNhdGlvbiB0byBzZXQgc2VsZWN0b3JcbiAgICAgKi9cbiAgICBzZWxlY3Rvcj86IHN0cmluZztcbiAgICAvLyDlrZDlupTnlKjot6/nlLHliY3nvIDot6/lvoRcbiAgICByb3V0ZXJQYXRoUHJlZml4OiBzdHJpbmcgfCBSZWdFeHA7XG4gICAgLy8g5a6/5Li75YWD57Sg6ZmE5Yqg5qC35byPXG4gICAgaG9zdENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgLy8g5piv5ZCm6ZyA6KaB6aKE5Yqg6L29XG4gICAgcHJlbG9hZD86IGJvb2xlYW47XG4gICAgLy8g5piv5ZCm5byA5ZCv5rKZ566xXG4gICAgc2FuZGJveD86IGJvb2xlYW47XG4gICAgLy8g5YiH5o2i5bqU55So55qE5qih5byPXG4gICAgc3dpdGNoTW9kZT86IFN3aXRjaE1vZGVzO1xuICAgIC8vIOi1hOa6kOaWh+S7tui3r+W+hOeahOWJjee8gFxuICAgIHJlc291cmNlUGF0aFByZWZpeD86IHN0cmluZztcbiAgICAvLyDmoLflvI/liY3nvIBcbiAgICBzdHlsZVByZWZpeD86IHN0cmluZztcbiAgICAvLyDmoLflvI/otYTmupDmlofku7ZcbiAgICBzdHlsZXM/OiBzdHJpbmdbXTtcbiAgICAvLyDohJrmnKzotYTmupDmlofku7ZcbiAgICBzY3JpcHRzPzogc3RyaW5nW107XG4gICAgLy8g5Liy6KGM5Yqg6L2977yM6buY6K6k5bm26KGM5Yqg6L296ISa5pys6LWE5rqQXG4gICAgbG9hZFNlcmlhbD86IGJvb2xlYW47XG4gICAgLy8g55qu6IKk5qC35byP55qE6Lev5b6EXG4gICAgdGhlbWVTdHlsZXNQYXRoPzogc3RyaW5nO1xuICAgIC8vIOW6lOeUqOeoi+W6j+aJk+WMheWQjueahOiEmuacrOWSjOagt+W8j+aWh+S7tuabv+aNolxuICAgIG1hbmlmZXN0Pzogc3RyaW5nO1xuICAgIC8vIOmZhOWKoOaVsOaNru+8jOS4u+imgeW6lOeUqOS6juS4muWKoe+8jOavlOWmguWbvuagh++8jOWtkOW6lOeUqOeahOminOiJsu+8jOaYvuekuuWQjeetieS4quaAp+WMlumFjee9rlxuICAgIGV4dHJhPzogVEV4dHJhO1xufVxuXG5leHBvcnQgZW51bSBTd2l0Y2hNb2RlcyB7XG4gICAgZGVmYXVsdCA9ICdkZWZhdWx0JyxcbiAgICBjb2V4aXN0ID0gJ2NvZXhpc3QnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhbmV0Um91dGVyRXZlbnQge1xuICAgIHVybDogc3RyaW5nO1xufVxuXG5jb25zdCBQTEFORVRfQVBQTElDQVRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFBsYW5ldEFwcGxpY2F0aW9uPignUExBTkVUX0FQUExJQ0FUSU9OUycpO1xuXG5leHBvcnQgeyBQTEFORVRfQVBQTElDQVRJT05TIH07XG4iXX0=