@worktile/planet 16.0.0-next.0 → 17.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 (75) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/application/ng-planet-application-ref.d.ts +48 -0
  3. package/application/ng-planet-application-ref.d.ts.map +1 -0
  4. package/application/planet-application-ref.d.ts +3 -27
  5. package/application/planet-application-ref.d.ts.map +1 -1
  6. package/component/planet-component-loader.d.ts.map +1 -1
  7. package/component/planet-component-outlet.d.ts +1 -1
  8. package/esm2022/application/ng-planet-application-ref.mjs +106 -0
  9. package/esm2022/application/planet-application-loader.mjs +454 -0
  10. package/esm2022/application/planet-application-ref.mjs +2 -0
  11. package/esm2022/application/planet-application.service.mjs +85 -0
  12. package/esm2022/assets-loader.mjs +216 -0
  13. package/esm2022/component/planet-component-loader.mjs +171 -0
  14. package/esm2022/component/planet-component-outlet.mjs +69 -0
  15. package/esm2022/debug.mjs +33 -0
  16. package/{esm2020 → esm2022}/empty/empty.component.mjs +4 -4
  17. package/esm2022/global-event-dispatcher.mjs +70 -0
  18. package/esm2022/global-planet.mjs +63 -0
  19. package/esm2022/helpers.mjs +119 -0
  20. package/esm2022/module.mjs +33 -0
  21. package/esm2022/planet.mjs +91 -0
  22. package/esm2022/public-api.mjs +19 -0
  23. package/esm2022/router/route-redirect.mjs +63 -0
  24. package/{esm2020 → esm2022}/sandbox/index.mjs +1 -1
  25. package/esm2022/sandbox/proxy/patches/eventListener.mjs +41 -0
  26. package/esm2022/sandbox/proxy/proxies/common.mjs +132 -0
  27. package/esm2022/sandbox/proxy/proxies/document.mjs +126 -0
  28. package/esm2022/sandbox/proxy/proxies/window.mjs +158 -0
  29. package/esm2022/sandbox/proxy/proxy-sandbox.mjs +49 -0
  30. package/esm2022/sandbox/snapshot/snapshot-sandbox.mjs +12 -0
  31. package/{fesm2020 → fesm2022}/worktile-planet.mjs +96 -73
  32. package/fesm2022/worktile-planet.mjs.map +1 -0
  33. package/global-planet.d.ts +4 -2
  34. package/global-planet.d.ts.map +1 -1
  35. package/package.json +7 -13
  36. package/sandbox/proxy/patches/eventListener.d.ts.map +1 -1
  37. package/sandbox/proxy/proxy-sandbox.d.ts.map +1 -1
  38. package/sandbox/snapshot/snapshot-sandbox.d.ts.map +1 -1
  39. package/esm2020/application/planet-application-loader.mjs +0 -454
  40. package/esm2020/application/planet-application-ref.mjs +0 -94
  41. package/esm2020/application/planet-application.service.mjs +0 -85
  42. package/esm2020/assets-loader.mjs +0 -216
  43. package/esm2020/component/planet-component-loader.mjs +0 -170
  44. package/esm2020/component/planet-component-outlet.mjs +0 -69
  45. package/esm2020/debug.mjs +0 -33
  46. package/esm2020/global-event-dispatcher.mjs +0 -70
  47. package/esm2020/global-planet.mjs +0 -53
  48. package/esm2020/helpers.mjs +0 -119
  49. package/esm2020/module.mjs +0 -33
  50. package/esm2020/planet.mjs +0 -91
  51. package/esm2020/public-api.mjs +0 -20
  52. package/esm2020/router/route-redirect.mjs +0 -63
  53. package/esm2020/sandbox/proxy/patches/eventListener.mjs +0 -41
  54. package/esm2020/sandbox/proxy/proxies/common.mjs +0 -132
  55. package/esm2020/sandbox/proxy/proxies/document.mjs +0 -126
  56. package/esm2020/sandbox/proxy/proxies/window.mjs +0 -158
  57. package/esm2020/sandbox/proxy/proxy-sandbox.mjs +0 -49
  58. package/esm2020/sandbox/snapshot/snapshot-sandbox.mjs +0 -12
  59. package/fesm2015/worktile-planet.mjs +0 -2193
  60. package/fesm2015/worktile-planet.mjs.map +0 -1
  61. package/fesm2020/worktile-planet.mjs.map +0 -1
  62. /package/{esm2020 → esm2022}/application/portal-application.mjs +0 -0
  63. /package/{esm2020 → esm2022}/component/planet-component-ref.mjs +0 -0
  64. /package/{esm2020 → esm2022}/component/plant-component.config.mjs +0 -0
  65. /package/{esm2020 → esm2022}/planet.class.mjs +0 -0
  66. /package/{esm2020 → esm2022}/sandbox/constants.mjs +0 -0
  67. /package/{esm2020 → esm2022}/sandbox/exec.mjs +0 -0
  68. /package/{esm2020 → esm2022}/sandbox/proxy/patches/document.mjs +0 -0
  69. /package/{esm2020 → esm2022}/sandbox/proxy/patches/index.mjs +0 -0
  70. /package/{esm2020 → esm2022}/sandbox/proxy/patches/storage.mjs +0 -0
  71. /package/{esm2020 → esm2022}/sandbox/proxy/patches/timer.mjs +0 -0
  72. /package/{esm2020 → esm2022}/sandbox/proxy/types.mjs +0 -0
  73. /package/{esm2020 → esm2022}/sandbox/sandbox.mjs +0 -0
  74. /package/{esm2020 → esm2022}/sandbox/types.mjs +0 -0
  75. /package/{esm2020 → esm2022}/worktile-planet.mjs +0 -0
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2RlYnVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUErQnZDOztHQUVHO0FBQ0gsSUFBSSxhQUFnQyxDQUFDO0FBQ3JDLElBQUksWUFBWSxHQUE2QixFQUFFLENBQUM7QUFFaEQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxTQUFpQjtJQUN6QyxNQUFNLEdBQUcsR0FBRyxVQUFVLFNBQVMsRUFBRSxDQUFDO0lBQ2xDLE9BQU8sVUFBUyxTQUFjLEVBQUUsR0FBRyxJQUFXO1FBQzFDLElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEIsSUFBSSxhQUFhLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDakIsYUFBYSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbkMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGFBQWEsQ0FBQztZQUN0QyxDQUFDO1lBQ0QsYUFBYSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBWTtJQUN4QyxJQUFJLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBQ0QsYUFBYSxHQUFHLEtBQUssQ0FBQztBQUMxQixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQjtJQUM3QixhQUFhLEdBQUcsU0FBUyxDQUFDO0lBQzFCLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlO0lBQzNCLE9BQU8sYUFBYSxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi9oZWxwZXJzJztcblxuZXhwb3J0IGludGVyZmFjZSBEZWJ1Z2dlciB7XG4gICAgKGZvcm1hdHRlcjogYW55LCAuLi5hcmdzOiBhbnlbXSk6IHZvaWQ7XG5cbiAgICAvLyBjb2xvcjogc3RyaW5nO1xuICAgIC8vIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgLy8gbG9nOiAoLi4uYXJnczogYW55W10pID0+IGFueTtcbiAgICAvLyBuYW1lc3BhY2U6IHN0cmluZztcbiAgICAvLyBkZXN0cm95OiAoKSA9PiBib29sZWFuO1xuICAgIC8vIGV4dGVuZDogKG5hbWVzcGFjZTogc3RyaW5nLCBkZWxpbWl0ZXI/OiBzdHJpbmcpID0+IERlYnVnZ2VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdHRlcnMge1xuICAgIFtmb3JtYXR0ZXI6IHN0cmluZ106ICh2OiBhbnkpID0+IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWJ1ZyB7XG4gICAgKG5hbWVzcGFjZTogc3RyaW5nKTogRGVidWdnZXI7XG4gICAgY29lcmNlOiAodmFsOiBhbnkpID0+IGFueTtcbiAgICBkaXNhYmxlOiAoKSA9PiBzdHJpbmc7XG4gICAgZW5hYmxlOiAobmFtZXNwYWNlczogc3RyaW5nKSA9PiB2b2lkO1xuICAgIGVuYWJsZWQ6IChuYW1lc3BhY2VzOiBzdHJpbmcpID0+IGJvb2xlYW47XG4gICAgbG9nOiAoLi4uYXJnczogYW55W10pID0+IGFueTtcblxuICAgIG5hbWVzOiBSZWdFeHBbXTtcbiAgICBza2lwczogUmVnRXhwW107XG5cbiAgICBmb3JtYXR0ZXJzOiBGb3JtYXR0ZXJzO1xufVxuXG4vKipcbiAqIERlYnVnIGZhY3RvcnkgZm9yIGRlYnVnIG1vZHVsZVxuICovXG5sZXQgX2RlYnVnRmFjdG9yeTogRGVidWcgfCB1bmRlZmluZWQ7XG5sZXQgX2RlYnVnZ2VyTWFwOiBSZWNvcmQ8c3RyaW5nLCBEZWJ1Z2dlcj4gPSB7fTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURlYnVnKG5hbWVzcGFjZTogc3RyaW5nKTogRGVidWdnZXIge1xuICAgIGNvbnN0IGtleSA9IGBwbGFuZXQ6JHtuYW1lc3BhY2V9YDtcbiAgICByZXR1cm4gZnVuY3Rpb24oZm9ybWF0dGVyOiBhbnksIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICAgIGlmIChfZGVidWdGYWN0b3J5KSB7XG4gICAgICAgICAgICBsZXQgZGVidWdEZWJ1Z2dlciA9IF9kZWJ1Z2dlck1hcFtrZXldO1xuICAgICAgICAgICAgaWYgKCFkZWJ1Z0RlYnVnZ2VyKSB7XG4gICAgICAgICAgICAgICAgZGVidWdEZWJ1Z2dlciA9IF9kZWJ1Z0ZhY3Rvcnkoa2V5KTtcbiAgICAgICAgICAgICAgICBfZGVidWdnZXJNYXBba2V5XSA9IGRlYnVnRGVidWdnZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWJ1Z0RlYnVnZ2VyKGZvcm1hdHRlciwgYXJncyk7XG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RGVidWdGYWN0b3J5KGRlYnVnOiBEZWJ1Zykge1xuICAgIGlmIChkZWJ1ZyAmJiAhaXNGdW5jdGlvbihkZWJ1ZykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdkZWJ1ZyBmYWN0b3J5IHR5cGUgaXMgaW52YWxpZCwgbXVzdCBiZSBmdW5jdGlvbicpO1xuICAgIH1cbiAgICBfZGVidWdGYWN0b3J5ID0gZGVidWc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhckRlYnVnRmFjdG9yeSgpIHtcbiAgICBfZGVidWdGYWN0b3J5ID0gdW5kZWZpbmVkO1xuICAgIF9kZWJ1Z2dlck1hcCA9IHt9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVidWdGYWN0b3J5KCkge1xuICAgIHJldHVybiBfZGVidWdGYWN0b3J5O1xufVxuIl19
@@ -1,10 +1,10 @@
1
1
  import { Component, ChangeDetectionStrategy } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class EmptyComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: EmptyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: EmptyComponent, isStandalone: true, selector: "empty-component", ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4
6
  }
5
- EmptyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EmptyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- EmptyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: EmptyComponent, isStandalone: true, selector: "empty-component", ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EmptyComponent, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: EmptyComponent, decorators: [{
8
8
  type: Component,
9
9
  args: [{
10
10
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -14,4 +14,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
14
14
  standalone: true
15
15
  }]
16
16
  }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9lbXB0eS9lbXB0eS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTbkUsTUFBTSxPQUFPLGNBQWM7OzJHQUFkLGNBQWM7K0ZBQWQsY0FBYywyRUFKYixFQUFFOzJGQUlILGNBQWM7a0JBUDFCLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZW1wdHktY29tcG9uZW50JyxcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFbXB0eUNvbXBvbmVudCB7fVxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9lbXB0eS9lbXB0eS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTbkUsTUFBTSxPQUFPLGNBQWM7OEdBQWQsY0FBYztrR0FBZCxjQUFjLDJFQUpiLEVBQUU7OzJGQUlILGNBQWM7a0JBUDFCLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZW1wdHktY29tcG9uZW50JyxcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFbXB0eUNvbXBvbmVudCB7fVxuIl19
@@ -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
+ addGlobalEventListener() {
8
+ this.hasAddGlobalEventListener = true;
9
+ window.addEventListener(CUSTOM_EVENT_NAME, this.globalEventListener);
10
+ }
11
+ removeGlobalEventListener() {
12
+ this.hasAddGlobalEventListener = false;
13
+ window.removeEventListener(CUSTOM_EVENT_NAME, this.globalEventListener);
14
+ }
15
+ constructor(ngZone) {
16
+ this.ngZone = ngZone;
17
+ this.subject$ = new Subject();
18
+ this.hasAddGlobalEventListener = false;
19
+ this.subscriptionCount = 0;
20
+ this.globalEventListener = (event) => {
21
+ this.subject$.next(event.detail);
22
+ };
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
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GlobalEventDispatcher, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
62
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GlobalEventDispatcher, providedIn: 'root' }); }
63
+ }
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GlobalEventDispatcher, decorators: [{
65
+ type: Injectable,
66
+ args: [{
67
+ providedIn: 'root'
68
+ }]
69
+ }], ctorParameters: () => [{ type: i0.NgZone }] });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWV2ZW50LWRpc3BhdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2dsb2JhbC1ldmVudC1kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT25ELE1BQU0saUJBQWlCLEdBQUcsZ0NBQWdDLENBQUM7QUFLM0QsTUFBTSxPQUFPLHFCQUFxQjtJQVd0QixzQkFBc0I7UUFDMUIsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQztRQUN0QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVPLHlCQUF5QjtRQUM3QixJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFwQjFCLGFBQVEsR0FBbUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV6RCw4QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFFbEMsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBRXRCLHdCQUFtQixHQUFHLENBQUMsS0FBa0IsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUM7SUFZbUMsQ0FBQztJQUV0QyxRQUFRLENBQVcsSUFBWSxFQUFFLE9BQWtCO1FBQy9DLE1BQU0sQ0FBQyxhQUFhLENBQ2hCLElBQUksV0FBVyxDQUFDLGlCQUFpQixFQUFFO1lBQy9CLE1BQU0sRUFBRTtnQkFDSixJQUFJLEVBQUUsSUFBSTtnQkFDVixPQUFPLEVBQUUsT0FBTzthQUNuQjtTQUNKLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVELFFBQVEsQ0FBSSxTQUFpQjtRQUN6QixPQUFPLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDbEMsQ0FBQztZQUNELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRO2lCQUM3QixJQUFJLENBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNYLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7WUFDcEMsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNSLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FDTDtpQkFDQSxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDakIsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDM0IsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztZQUNQLE9BQU8sR0FBRyxFQUFFO2dCQUNSLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUN6QixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztvQkFDMUIsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7Z0JBQ3JDLENBQUM7WUFDTCxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQzs4R0FsRVEscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FGbEIsTUFBTTs7MkZBRVQscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsRGlzcGF0Y2hlckV2ZW50IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgcGF5bG9hZDogYW55O1xufVxuXG5jb25zdCBDVVNUT01fRVZFTlRfTkFNRSA9ICdQTEFORVRfR0xPQkFMX0VWRU5UX0RJU1BBVENIRVInO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEdsb2JhbEV2ZW50RGlzcGF0Y2hlciB7XG4gICAgcHJpdmF0ZSBzdWJqZWN0JDogU3ViamVjdDxHbG9iYWxEaXNwYXRjaGVyRXZlbnQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICAgIHByaXZhdGUgaGFzQWRkR2xvYmFsRXZlbnRMaXN0ZW5lciA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25Db3VudCA9IDA7XG5cbiAgICBwcml2YXRlIGdsb2JhbEV2ZW50TGlzdGVuZXIgPSAoZXZlbnQ6IEN1c3RvbUV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuc3ViamVjdCQubmV4dChldmVudC5kZXRhaWwpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIGFkZEdsb2JhbEV2ZW50TGlzdGVuZXIoKSB7XG4gICAgICAgIHRoaXMuaGFzQWRkR2xvYmFsRXZlbnRMaXN0ZW5lciA9IHRydWU7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKENVU1RPTV9FVkVOVF9OQU1FLCB0aGlzLmdsb2JhbEV2ZW50TGlzdGVuZXIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlR2xvYmFsRXZlbnRMaXN0ZW5lcigpIHtcbiAgICAgICAgdGhpcy5oYXNBZGRHbG9iYWxFdmVudExpc3RlbmVyID0gZmFsc2U7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKENVU1RPTV9FVkVOVF9OQU1FLCB0aGlzLmdsb2JhbEV2ZW50TGlzdGVuZXIpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHt9XG5cbiAgICBkaXNwYXRjaDxUUGF5bG9hZD4obmFtZTogc3RyaW5nLCBwYXlsb2FkPzogVFBheWxvYWQpIHtcbiAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoQ1VTVE9NX0VWRU5UX05BTUUsIHtcbiAgICAgICAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZDogcGF5bG9hZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXI8VD4oZXZlbnROYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5oYXNBZGRHbG9iYWxFdmVudExpc3RlbmVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRHbG9iYWxFdmVudExpc3RlbmVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbkNvdW50Kys7XG4gICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLnN1YmplY3QkXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXZlbnQubmFtZSA9PT0gZXZlbnROYW1lO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5wYXlsb2FkO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHBheWxvYWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChwYXlsb2FkKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uQ291bnQtLTtcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuc3Vic2NyaXB0aW9uQ291bnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVHbG9iYWxFdmVudExpc3RlbmVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0U3Vic2NyaXB0aW9uQ291bnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvbkNvdW50O1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,63 @@
1
+ import { isFunction } from './helpers';
2
+ import { NgPlanetApplicationRef } from './application/ng-planet-application-ref';
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 NgPlanetApplicationRef(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 getBootstrappedPlanetApplicationRef(appName) {
28
+ const plantAppRef = getPlanetApplicationRef(appName);
29
+ if (plantAppRef) {
30
+ // 兼容之前的版本,之前是通过 appModuleRef 来判断是否启用的
31
+ if (plantAppRef.bootstrapped || plantAppRef['appModuleRef']) {
32
+ return plantAppRef;
33
+ }
34
+ }
35
+ return null;
36
+ }
37
+ export function setPortalApplicationData(data) {
38
+ if (globalPlanet.portalApplication) {
39
+ globalPlanet.portalApplication.data = data;
40
+ }
41
+ }
42
+ export function getPortalApplicationData() {
43
+ return globalPlanet.portalApplication?.data;
44
+ }
45
+ export function setApplicationLoader(loader) {
46
+ globalPlanet.applicationLoader = loader;
47
+ }
48
+ export function getApplicationLoader() {
49
+ return globalPlanet.applicationLoader;
50
+ }
51
+ export function setApplicationService(service) {
52
+ globalPlanet.applicationService = service;
53
+ }
54
+ export function getApplicationService() {
55
+ return globalPlanet.applicationService;
56
+ }
57
+ export function clearGlobalPlanet() {
58
+ window.planet.apps = {};
59
+ window.planet.portalApplication = null;
60
+ window.planet.applicationLoader = null;
61
+ window.planet.applicationService = null;
62
+ }
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXBsYW5ldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvZ2xvYmFsLXBsYW5ldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBNEMsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQVczSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWlCLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJO0lBQ3hFLElBQUksRUFBRSxFQUFFO0NBQ1gsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLGlCQUFpQixDQUE2RCxJQUFZLEVBQUUsT0FBaUI7SUFDekgsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUkseUJBQXlCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUN0QixPQUFPLEdBQUc7WUFDTixRQUFRLEVBQUUsRUFBRTtZQUNaLFNBQVMsRUFBRSxPQUErQjtTQUNqQyxDQUFDO0lBQ2xCLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLHNCQUFzQixDQUFDLElBQUksRUFBRSxPQUE2QixDQUFDLENBQUM7SUFDL0UsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7QUFDckMsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxPQUFlO0lBQ25ELElBQUksWUFBWSxJQUFJLFlBQVksQ0FBQyxJQUFJLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ2xFLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLG1DQUFtQyxDQUFDLE9BQWU7SUFDL0QsTUFBTSxXQUFXLEdBQUcsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckQsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNkLHNDQUFzQztRQUN0QyxJQUFJLFdBQVcsQ0FBQyxZQUFZLElBQUksV0FBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDMUQsT0FBTyxXQUFXLENBQUM7UUFDdkIsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUFJLElBQU87SUFDL0MsSUFBSSxZQUFZLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNqQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUMvQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0I7SUFDcEMsT0FBTyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsSUFBYSxDQUFDO0FBQ3pELENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsTUFBK0I7SUFDaEUsWUFBWSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztBQUM1QyxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQjtJQUNoQyxPQUFPLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQztBQUMxQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFDLE9BQWlDO0lBQ25FLFlBQVksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUM7QUFDOUMsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUI7SUFDakMsT0FBTyxZQUFZLENBQUMsa0JBQWtCLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUI7SUFDN0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLE1BQU0sQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFuZXRBcHBsaWNhdGlvblJlZiB9IGZyb20gJy4vYXBwbGljYXRpb24vcGxhbmV0LWFwcGxpY2F0aW9uLXJlZic7XG5pbXBvcnQgeyBQbGFuZXRQb3J0YWxBcHBsaWNhdGlvbiB9IGZyb20gJy4vYXBwbGljYXRpb24vcG9ydGFsLWFwcGxpY2F0aW9uJztcbmltcG9ydCB7IFBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi9wbGFuZXQtYXBwbGljYXRpb24tbG9hZGVyJztcbmltcG9ydCB7IFBsYW5ldEFwcGxpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vYXBwbGljYXRpb24vcGxhbmV0LWFwcGxpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBOZ0Jvb3RzdHJhcEFwcE1vZHVsZSwgTmdCb290c3RyYXBPcHRpb25zLCBOZ1BsYW5ldEFwcGxpY2F0aW9uUmVmIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi9uZy1wbGFuZXQtYXBwbGljYXRpb24tcmVmJztcblxuZGVjbGFyZSBjb25zdCB3aW5kb3c6IGFueTtcblxuZXhwb3J0IGludGVyZmFjZSBHbG9iYWxQbGFuZXQge1xuICAgIGFwcHM6IHsgW2tleTogc3RyaW5nXTogUGxhbmV0QXBwbGljYXRpb25SZWYgfTtcbiAgICBwb3J0YWxBcHBsaWNhdGlvbj86IFBsYW5ldFBvcnRhbEFwcGxpY2F0aW9uO1xuICAgIGFwcGxpY2F0aW9uTG9hZGVyOiBQbGFuZXRBcHBsaWNhdGlvbkxvYWRlcjtcbiAgICBhcHBsaWNhdGlvblNlcnZpY2U6IFBsYW5ldEFwcGxpY2F0aW9uU2VydmljZTtcbn1cblxuZXhwb3J0IGNvbnN0IGdsb2JhbFBsYW5ldDogR2xvYmFsUGxhbmV0ID0gKHdpbmRvdy5wbGFuZXQgPSB3aW5kb3cucGxhbmV0IHx8IHtcbiAgICBhcHBzOiB7fVxufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVBcHBsaWNhdGlvbjxUT3B0aW9ucyBleHRlbmRzIE5nQm9vdHN0cmFwQXBwTW9kdWxlIHwgTmdCb290c3RyYXBPcHRpb25zPihuYW1lOiBzdHJpbmcsIG9wdGlvbnM6IFRPcHRpb25zKSB7XG4gICAgaWYgKGdsb2JhbFBsYW5ldC5hcHBzW25hbWVdKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtuYW1lfSBhcHBsaWNhdGlvbiBoYXMgZXhpc3QuYCk7XG4gICAgfVxuICAgIGlmIChpc0Z1bmN0aW9uKG9wdGlvbnMpKSB7XG4gICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgICB0ZW1wbGF0ZTogJycsXG4gICAgICAgICAgICBib290c3RyYXA6IG9wdGlvbnMgYXMgTmdCb290c3RyYXBBcHBNb2R1bGVcbiAgICAgICAgfSBhcyBUT3B0aW9ucztcbiAgICB9XG4gICAgY29uc3QgYXBwUmVmID0gbmV3IE5nUGxhbmV0QXBwbGljYXRpb25SZWYobmFtZSwgb3B0aW9ucyBhcyBOZ0Jvb3RzdHJhcE9wdGlvbnMpO1xuICAgIGdsb2JhbFBsYW5ldC5hcHBzW25hbWVdID0gYXBwUmVmO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGxhbmV0QXBwbGljYXRpb25SZWYoYXBwTmFtZTogc3RyaW5nKTogUGxhbmV0QXBwbGljYXRpb25SZWYgfCBudWxsIHtcbiAgICBpZiAoZ2xvYmFsUGxhbmV0ICYmIGdsb2JhbFBsYW5ldC5hcHBzICYmIGdsb2JhbFBsYW5ldC5hcHBzW2FwcE5hbWVdKSB7XG4gICAgICAgIHJldHVybiBnbG9iYWxQbGFuZXQuYXBwc1thcHBOYW1lXTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCb290c3RyYXBwZWRQbGFuZXRBcHBsaWNhdGlvblJlZihhcHBOYW1lOiBzdHJpbmcpOiBQbGFuZXRBcHBsaWNhdGlvblJlZiB8IG51bGwge1xuICAgIGNvbnN0IHBsYW50QXBwUmVmID0gZ2V0UGxhbmV0QXBwbGljYXRpb25SZWYoYXBwTmFtZSk7XG4gICAgaWYgKHBsYW50QXBwUmVmKSB7XG4gICAgICAgIC8vIOWFvOWuueS5i+WJjeeahOeJiOacrO+8jOS5i+WJjeaYr+mAmui/hyBhcHBNb2R1bGVSZWYg5p2l5Yik5pat5piv5ZCm5ZCv55So55qEXG4gICAgICAgIGlmIChwbGFudEFwcFJlZi5ib290c3RyYXBwZWQgfHwgcGxhbnRBcHBSZWZbJ2FwcE1vZHVsZVJlZiddKSB7XG4gICAgICAgICAgICByZXR1cm4gcGxhbnRBcHBSZWY7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRQb3J0YWxBcHBsaWNhdGlvbkRhdGE8VD4oZGF0YTogVCkge1xuICAgIGlmIChnbG9iYWxQbGFuZXQucG9ydGFsQXBwbGljYXRpb24pIHtcbiAgICAgICAgZ2xvYmFsUGxhbmV0LnBvcnRhbEFwcGxpY2F0aW9uLmRhdGEgPSBkYXRhO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBvcnRhbEFwcGxpY2F0aW9uRGF0YTxURGF0YT4oKTogVERhdGEge1xuICAgIHJldHVybiBnbG9iYWxQbGFuZXQucG9ydGFsQXBwbGljYXRpb24/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQztBQUU1QixNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVc7SUFDaEMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsSUFBSSxHQUFXLENBQUM7SUFDaEIsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ25CLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLEdBQUcsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ2hDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQywyQkFBMkI7SUFDMUMsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLFFBQThCO0lBQ3pELElBQUksUUFBUSxZQUFZLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7U0FBTSxDQUFDO1FBQ0osT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFFBQWdCO0lBQ2pELE1BQU0sT0FBTyxHQUFHLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxRQUFnQjtJQUNwRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDWixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUNyRixJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLGlCQUFpQixFQUFFLENBQUM7UUFDcEQsT0FBTyxPQUFzQixDQUFDO0lBQ2xDLENBQUM7U0FBTSxDQUFDO1FBQ0osTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUksS0FBYztJQUN6QyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxLQUFVO0lBQzlCLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFVO0lBQ2pDLE1BQU0sSUFBSSxHQUFHLE9BQU8sS0FBSyxDQUFDO0lBQzFCLE9BQU8sQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLEtBQUssVUFBVSxDQUFDO0FBQzFDLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVE7SUFDN0IsT0FBTyxHQUFHLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDO0FBQzFDLENBQUM7QUFDRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxJQUFZO0lBQzVDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0MsSUFBSSxjQUFjLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxnQkFBd0IsRUFBRSxjQUF5QztJQUNyRyxNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3ZELElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDM0IsT0FBTyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7U0FBTSxDQUFDO1FBQ0osT0FBTyxnQkFBZ0IsQ0FBQztJQUM1QixDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsNEJBQTRCLENBQUMsR0FBc0IsRUFBRSxjQUEwQztJQUMzRyxJQUFJLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUNoQyxJQUFJLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUM5QixvQ0FBb0M7SUFDcEMsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNqQixPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMzQixPQUFPLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE9BQU8scUJBQXFCLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDekIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDM0IsT0FBTyxHQUFHLEdBQUcsQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sR0FBRyxHQUFHLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxFQUFFLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsT0FBTztRQUNILE9BQU8sRUFBRSxPQUFPO1FBQ2hCLE1BQU0sRUFBRSxNQUFNO0tBQ2pCLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhbmV0QXBwbGljYXRpb24gfSBmcm9tICcuL3BsYW5ldC5jbGFzcyc7XG5cbmNvbnN0IEVMRU1FTlRfTk9ERV9UWVBFID0gMTtcblxuZXhwb3J0IGZ1bmN0aW9uIGhhc2hDb2RlKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBsZXQgaGFzaCA9IDA7XG4gICAgbGV0IGNocjogbnVtYmVyO1xuICAgIGlmIChzdHIubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBoYXNoO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgICAgICBjaHIgPSBzdHIuY2hhckNvZGVBdChpKTtcbiAgICAgICAgaGFzaCA9IChoYXNoIDw8IDUpIC0gaGFzaCArIGNocjtcbiAgICAgICAgaGFzaCB8PSAwOyAvLyBDb252ZXJ0IHRvIDMyYml0IGludGVnZXJcbiAgICB9XG4gICAgcmV0dXJuIGhhc2g7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIVE1MRWxlbWVudChzZWxlY3Rvcjogc3RyaW5nIHwgSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIGlmIChzZWxlY3RvciBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgIHJldHVybiBzZWxlY3RvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGFnTmFtZUJ5VGVtcGxhdGUodGVtcGxhdGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZWxlbWVudCA9IGNyZWF0ZUVsZW1lbnRCeVRlbXBsYXRlKHRlbXBsYXRlKTtcbiAgICByZXR1cm4gZWxlbWVudCA/IGVsZW1lbnQubm9kZU5hbWUgOiAnJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnRCeVRlbXBsYXRlKHRlbXBsYXRlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRlbXBsYXRlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKS5jcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQodGVtcGxhdGUpLmZpcnN0Q2hpbGQ7XG4gICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFX1RZUEUpIHtcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIHRlbXBsYXRlICcke3RlbXBsYXRlfSdgKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb2VyY2VBcnJheTxUPih2YWx1ZTogVCB8IFRbXSk6IFRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFbXB0eSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsdWU6IGFueSk6IHZhbHVlIGlzIEZ1bmN0aW9uIHtcbiAgICBjb25zdCB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICAgIHJldHVybiAhIXZhbHVlICYmIHR5cGUgPT09ICdmdW5jdGlvbic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09iamVjdCh2YWw6IGFueSkge1xuICAgIHJldHVybiB2YWwgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCc7XG59XG4vKipcbiAqIEdldCBmaWxlIG5hbWUgZnJvbSBwYXRoXG4gKiAxLiBcIm1haW4uanNcIiA9PiBcIm1haW4uanNcIlxuICogMi4gXCJhc3NldHMvc2NyaXB0cy9tYWluLmpzXCIgPT4gXCJtYWluLmpzXCJcbiAqIEBwYXJhbSBwYXRoIHBhdGhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlRmlsZU5hbWUocGF0aDogc3RyaW5nKSB7XG4gICAgY29uc3QgbGFzdFNsYXNoSW5kZXggPSBwYXRoLmxhc3RJbmRleE9mKCcvJyk7XG4gICAgaWYgKGxhc3RTbGFzaEluZGV4ID49IDApIHtcbiAgICAgICAgcmV0dXJuIHBhdGguc2xpY2UobGFzdFNsYXNoSW5kZXggKyAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcGF0aDtcbiAgICB9XG59XG5cbi8qKlxuICogQnVpbGQgcmVzb3VyY2UgcGF0aCBieSBtYW5pZmVzdFxuICogaWYgbWFuaWZlc3QgaXMgeyBcIm1haW4uanNcIjogXCJtYWluLmgyc2gyM2FiZWUuanNcIn1cbiAqIDEuIFwibWFpbi5qc1wiID0+IFwibWFpbi5oMnNoMjNhYmVlLmpzXCJcbiAqIDIuIFwiYXNzZXRzL3NjcmlwdHMvbWFpbi5qc1wiID0+XCJhc3NldHMvc2NyaXB0cy9tYWluLmgyc2gyM2FiZWUuanNcIlxuICogQHBhcmFtIHJlc291cmNlRmlsZVBhdGggUmVzb3VyY2UgRmlsZSBQYXRoXG4gKiBAcGFyYW0gbWFuaWZlc3RSZXN1bHQgbWFuaWZlc3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUmVzb3VyY2VGaWxlUGF0aChyZXNvdXJjZUZpbGVQYXRoOiBzdHJpbmcsIG1hbmlmZXN0UmVzdWx0OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSB7XG4gICAgY29uc3QgZmlsZU5hbWUgPSBnZXRSZXNvdXJjZUZpbGVOYW1lKHJlc291cmNlRmlsZVBhdGgpO1xuICAgIGlmIChtYW5pZmVzdFJlc3VsdFtmaWxlTmFtZV0pIHtcbiAgICAgICAgcmV0dXJuIHJlc291cmNlRmlsZVBhdGgucmVwbGFjZShmaWxlTmFtZSwgbWFuaWZlc3RSZXN1bHRbZmlsZU5hbWVdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcmVzb3VyY2VGaWxlUGF0aDtcbiAgICB9XG59XG5cbi8qKlxuICogR2V0IHN0YXRpYyByZXNvdXJjZSBmdWxsIHBhdGhcbiAqIEBwYXJhbSBhcHAgUGxhbmV0QXBwbGljYXRpb25cbiAqIEBwYXJhbSBtYW5pZmVzdFJlc3VsdCBtYW5pZmVzdFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NyaXB0c0FuZFN0eWxlc0Z1bGxQYXRocyhhcHA6IFBsYW5ldEFwcGxpY2F0aW9uLCBtYW5pZmVzdFJlc3VsdD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgICBsZXQgc2NyaXB0cyA9IGFwcC5zY3JpcHRzIHx8IFtdO1xuICAgIGxldCBzdHlsZXMgPSBhcHAuc3R5bGVzIHx8IFtdO1xuICAgIC8vIGNvbWJpbmUgcmVzb3VyY2UgcGF0aCBieSBtYW5pZmVzdFxuICAgIGlmIChtYW5pZmVzdFJlc3VsdCkge1xuICAgICAgICBzY3JpcHRzID0gc2NyaXB0cy5tYXAoc2NyaXB0ID0+IHtcbiAgICAgICAgICAgIHJldHVybiBidWlsZFJlc291cmNlRmlsZVBhdGgoc2NyaXB0LCBtYW5pZmVzdFJlc3VsdCk7XG4gICAgICAgIH0pO1xuICAgICAgICBzdHlsZXMgPSBzdHlsZXMubWFwKHN0eWxlID0+IHtcbiAgICAgICAgICAgIHJldHVybiBidWlsZFJlc291cmNlRmlsZVBhdGgoc3R5bGUsIG1hbmlmZXN0UmVzdWx0KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChhcHAucmVzb3VyY2VQYXRoUHJlZml4KSB7XG4gICAgICAgIHNjcmlwdHMgPSBzY3JpcHRzLm1hcChzY3JpcHQgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGAke2FwcC5yZXNvdXJjZVBhdGhQcmVmaXh9JHtzY3JpcHR9YDtcbiAgICAgICAgfSk7XG4gICAgICAgIHN0eWxlcyA9IHN0eWxlcy5tYXAoc3R5bGUgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGAke2FwcC5yZXNvdXJjZVBhdGhQcmVmaXh9JHtzdHlsZX1gO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2NyaXB0czogc2NyaXB0cyxcbiAgICAgICAgc3R5bGVzOiBzdHlsZXNcbiAgICB9O1xufVxuIl19
@@ -0,0 +1,33 @@
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 { PlanetComponentOutlet } from './component/planet-component-outlet';
6
+ import { RedirectToRouteComponent } from './router/route-redirect';
7
+ import * as i0 from "@angular/core";
8
+ export class NgxPlanetModule {
9
+ static forRoot(apps) {
10
+ return {
11
+ ngModule: NgxPlanetModule,
12
+ providers: [
13
+ {
14
+ provide: PLANET_APPLICATIONS,
15
+ useValue: apps
16
+ }
17
+ ]
18
+ };
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: NgxPlanetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: NgxPlanetModule, imports: [HttpClientModule, PlanetComponentOutlet, EmptyComponent, RedirectToRouteComponent], exports: [HttpClientModule, EmptyComponent, PlanetComponentOutlet] }); }
22
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: NgxPlanetModule, imports: [HttpClientModule, HttpClientModule] }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: NgxPlanetModule, decorators: [{
25
+ type: NgModule,
26
+ args: [{
27
+ declarations: [],
28
+ imports: [HttpClientModule, PlanetComponentOutlet, EmptyComponent, RedirectToRouteComponent],
29
+ providers: [],
30
+ exports: [HttpClientModule, EmptyComponent, PlanetComponentOutlet]
31
+ }]
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFxQixtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFRbkUsTUFBTSxPQUFPLGVBQWU7SUFDeEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUF5QjtRQUNwQyxPQUFPO1lBQ0gsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxtQkFBbUI7b0JBQzVCLFFBQVEsRUFBRSxJQUFJO2lCQUNqQjthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7OEdBWFEsZUFBZTsrR0FBZixlQUFlLFlBSmQsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLHdCQUF3QixhQUVqRixnQkFBZ0IsRUFBRSxjQUFjLEVBQUUscUJBQXFCOytHQUV4RCxlQUFlLFlBSmQsZ0JBQWdCLEVBRWhCLGdCQUFnQjs7MkZBRWpCLGVBQWU7a0JBTjNCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSx3QkFBd0IsQ0FBQztvQkFDNUYsU0FBUyxFQUFFLEVBQUU7b0JBQ2IsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixDQUFDO2lCQUNyRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQbGFuZXRBcHBsaWNhdGlvbiwgUExBTkVUX0FQUExJQ0FUSU9OUyB9IGZyb20gJy4vcGxhbmV0LmNsYXNzJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFbXB0eUNvbXBvbmVudCB9IGZyb20gJy4vZW1wdHkvZW1wdHkuY29tcG9uZW50JztcbmltcG9ydCB7IFBsYW5ldENvbXBvbmVudE91dGxldCB9IGZyb20gJy4vY29tcG9uZW50L3BsYW5ldC1jb21wb25lbnQtb3V0bGV0JztcbmltcG9ydCB7IFJlZGlyZWN0VG9Sb3V0ZUNvbXBvbmVudCB9IGZyb20gJy4vcm91dGVyL3JvdXRlLXJlZGlyZWN0JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtdLFxuICAgIGltcG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlLCBQbGFuZXRDb21wb25lbnRPdXRsZXQsIEVtcHR5Q29tcG9uZW50LCBSZWRpcmVjdFRvUm91dGVDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW10sXG4gICAgZXhwb3J0czogW0h0dHBDbGllbnRNb2R1bGUsIEVtcHR5Q29tcG9uZW50LCBQbGFuZXRDb21wb25lbnRPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIE5neFBsYW5ldE1vZHVsZSB7XG4gICAgc3RhdGljIGZvclJvb3QoYXBwczogUGxhbmV0QXBwbGljYXRpb25bXSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4UGxhbmV0TW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogTmd4UGxhbmV0TW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBQTEFORVRfQVBQTElDQVRJT05TLFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogYXBwc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,91 @@
1
+ import { Injectable, Inject, Optional, Injector } from '@angular/core';
2
+ import { NavigationEnd, Router } from '@angular/router';
3
+ import { PLANET_APPLICATIONS } from './planet.class';
4
+ import { PlanetApplicationService } from './application/planet-application.service';
5
+ import { PlanetApplicationLoader } from './application/planet-application-loader';
6
+ import { filter, startWith, distinctUntilChanged, map } from 'rxjs/operators';
7
+ import { setPortalApplicationData, setApplicationLoader, setApplicationService, getApplicationLoader, getApplicationService } from './global-planet';
8
+ import { setDebugFactory } from './debug';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/router";
11
+ export class Planet {
12
+ get planetApplicationLoader() {
13
+ return getApplicationLoader();
14
+ }
15
+ get planetApplicationService() {
16
+ return getApplicationService();
17
+ }
18
+ get loadingDone() {
19
+ return this.planetApplicationLoader.loadingDone;
20
+ }
21
+ get appStatusChange() {
22
+ return this.planetApplicationLoader.appStatusChange;
23
+ }
24
+ get appsLoadingStart() {
25
+ return this.planetApplicationLoader.appsLoadingStart;
26
+ }
27
+ constructor(injector, router, planetApplications) {
28
+ this.injector = injector;
29
+ this.router = router;
30
+ if (!this.planetApplicationLoader) {
31
+ setApplicationLoader(this.injector.get(PlanetApplicationLoader));
32
+ }
33
+ if (!this.planetApplicationService) {
34
+ setApplicationService(this.injector.get(PlanetApplicationService));
35
+ }
36
+ if (planetApplications) {
37
+ this.registerApps(planetApplications);
38
+ }
39
+ }
40
+ setOptions(options) {
41
+ this.planetApplicationLoader.setOptions(options);
42
+ if (options.debugFactory) {
43
+ setDebugFactory(options.debugFactory);
44
+ }
45
+ }
46
+ setPortalAppData(data) {
47
+ setPortalApplicationData(data);
48
+ }
49
+ registerApp(app) {
50
+ this.planetApplicationService.register(app);
51
+ }
52
+ registerApps(apps) {
53
+ this.planetApplicationService.register(apps);
54
+ }
55
+ unregisterApp(name) {
56
+ this.planetApplicationService.unregister(name);
57
+ }
58
+ getApps() {
59
+ return this.planetApplicationService.getApps();
60
+ }
61
+ start() {
62
+ this.subscription = this.router.events
63
+ .pipe(filter(event => {
64
+ return event instanceof NavigationEnd;
65
+ }), map(event => {
66
+ return event.urlAfterRedirects || event.url;
67
+ }), startWith(location.pathname), distinctUntilChanged())
68
+ .subscribe((url) => {
69
+ this.planetApplicationLoader.reroute({
70
+ url: url
71
+ });
72
+ });
73
+ }
74
+ stop() {
75
+ this.subscription?.unsubscribe();
76
+ }
77
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: Planet, deps: [{ token: i0.Injector }, { token: i1.Router }, { token: PLANET_APPLICATIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
78
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: Planet, providedIn: 'root' }); }
79
+ }
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: Planet, decorators: [{
81
+ type: Injectable,
82
+ args: [{
83
+ providedIn: 'root'
84
+ }]
85
+ }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.Router }, { type: undefined, decorators: [{
86
+ type: Inject,
87
+ args: [PLANET_APPLICATIONS]
88
+ }, {
89
+ type: Optional
90
+ }] }] });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9wbGFuZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFlLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBb0MsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQ0gsdUJBQXVCLEVBRzFCLE1BQU0seUNBQXlDLENBQUM7QUFFakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUUsT0FBTyxFQUNILHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDeEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFLMUMsTUFBTSxPQUFPLE1BQU07SUFDZixJQUFZLHVCQUF1QjtRQUMvQixPQUFPLG9CQUFvQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVksd0JBQXdCO1FBQ2hDLE9BQU8scUJBQXFCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLENBQUM7SUFDekQsQ0FBQztJQUlELFlBQ1ksUUFBa0IsRUFDbEIsTUFBYyxFQUNtQixrQkFBdUM7UUFGeEUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBR3RCLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUNoQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUNqQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUVELElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBK0I7UUFDdEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QixlQUFlLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUksSUFBTztRQUN2Qix3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVyxDQUFTLEdBQThCO1FBQzlDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFlBQVksQ0FBUyxJQUFpQztRQUNsRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWTtRQUN0QixJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBa0M7YUFDOUQsSUFBSSxDQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNYLE9BQU8sS0FBSyxZQUFZLGFBQWEsQ0FBQztRQUMxQyxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDUixPQUFRLEtBQXVCLENBQUMsaUJBQWlCLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUNuRSxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUM1QixvQkFBb0IsRUFBRSxDQUN6QjthQUNBLFNBQVMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUM7Z0JBQ2pDLEdBQUcsRUFBRSxHQUFHO2FBQ1gsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDckMsQ0FBQzs4R0F4RlEsTUFBTSxnRUEwQkgsbUJBQW1CO2tIQTFCdEIsTUFBTSxjQUZILE1BQU07OzJGQUVULE1BQU07a0JBSGxCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkEyQlEsTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUFHLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIE9wdGlvbmFsLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyRXZlbnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQbGFuZXRPcHRpb25zLCBQbGFuZXRBcHBsaWNhdGlvbiwgUExBTkVUX0FQUExJQ0FUSU9OUyB9IGZyb20gJy4vcGxhbmV0LmNsYXNzJztcbmltcG9ydCB7IFBsYW5ldEFwcGxpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vYXBwbGljYXRpb24vcGxhbmV0LWFwcGxpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgICBQbGFuZXRBcHBsaWNhdGlvbkxvYWRlcixcbiAgICBBcHBzTG9hZGluZ1N0YXJ0RXZlbnQsXG4gICAgQXBwU3RhdHVzQ2hhbmdlRXZlbnRcbn0gZnJvbSAnLi9hcHBsaWNhdGlvbi9wbGFuZXQtYXBwbGljYXRpb24tbG9hZGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBzdGFydFdpdGgsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICAgIHNldFBvcnRhbEFwcGxpY2F0aW9uRGF0YSxcbiAgICBzZXRBcHBsaWNhdGlvbkxvYWRlcixcbiAgICBzZXRBcHBsaWNhdGlvblNlcnZpY2UsXG4gICAgZ2V0QXBwbGljYXRpb25Mb2FkZXIsXG4gICAgZ2V0QXBwbGljYXRpb25TZXJ2aWNlXG59IGZyb20gJy4vZ2xvYmFsLXBsYW5ldCc7XG5pbXBvcnQgeyBzZXREZWJ1Z0ZhY3RvcnkgfSBmcm9tICcuL2RlYnVnJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQbGFuZXQge1xuICAgIHByaXZhdGUgZ2V0IHBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyKCk6IFBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyIHtcbiAgICAgICAgcmV0dXJuIGdldEFwcGxpY2F0aW9uTG9hZGVyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgcGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlKCkge1xuICAgICAgICByZXR1cm4gZ2V0QXBwbGljYXRpb25TZXJ2aWNlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb2FkaW5nRG9uZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxhbmV0QXBwbGljYXRpb25Mb2FkZXIubG9hZGluZ0RvbmU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhcHBTdGF0dXNDaGFuZ2UoKTogT2JzZXJ2YWJsZTxBcHBTdGF0dXNDaGFuZ2VFdmVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGFuZXRBcHBsaWNhdGlvbkxvYWRlci5hcHBTdGF0dXNDaGFuZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhcHBzTG9hZGluZ1N0YXJ0KCk6IE9ic2VydmFibGU8QXBwc0xvYWRpbmdTdGFydEV2ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyLmFwcHNMb2FkaW5nU3RhcnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIEBJbmplY3QoUExBTkVUX0FQUExJQ0FUSU9OUykgQE9wdGlvbmFsKCkgcGxhbmV0QXBwbGljYXRpb25zOiBQbGFuZXRBcHBsaWNhdGlvbltdXG4gICAgKSB7XG4gICAgICAgIGlmICghdGhpcy5wbGFuZXRBcHBsaWNhdGlvbkxvYWRlcikge1xuICAgICAgICAgICAgc2V0QXBwbGljYXRpb25Mb2FkZXIodGhpcy5pbmplY3Rvci5nZXQoUGxhbmV0QXBwbGljYXRpb25Mb2FkZXIpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMucGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlKSB7XG4gICAgICAgICAgICBzZXRBcHBsaWNhdGlvblNlcnZpY2UodGhpcy5pbmplY3Rvci5nZXQoUGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGxhbmV0QXBwbGljYXRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyQXBwcyhwbGFuZXRBcHBsaWNhdGlvbnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0T3B0aW9ucyhvcHRpb25zOiBQYXJ0aWFsPFBsYW5ldE9wdGlvbnM+KSB7XG4gICAgICAgIHRoaXMucGxhbmV0QXBwbGljYXRpb25Mb2FkZXIuc2V0T3B0aW9ucyhvcHRpb25zKTtcbiAgICAgICAgaWYgKG9wdGlvbnMuZGVidWdGYWN0b3J5KSB7XG4gICAgICAgICAgICBzZXREZWJ1Z0ZhY3Rvcnkob3B0aW9ucy5kZWJ1Z0ZhY3RvcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0UG9ydGFsQXBwRGF0YTxUPihkYXRhOiBUKSB7XG4gICAgICAgIHNldFBvcnRhbEFwcGxpY2F0aW9uRGF0YShkYXRhKTtcbiAgICB9XG5cbiAgICByZWdpc3RlckFwcDxURXh0cmE+KGFwcDogUGxhbmV0QXBwbGljYXRpb248VEV4dHJhPikge1xuICAgICAgICB0aGlzLnBsYW5ldEFwcGxpY2F0aW9uU2VydmljZS5yZWdpc3RlcihhcHApO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyQXBwczxURXh0cmE+KGFwcHM6IFBsYW5ldEFwcGxpY2F0aW9uPFRFeHRyYT5bXSkge1xuICAgICAgICB0aGlzLnBsYW5ldEFwcGxpY2F0aW9uU2VydmljZS5yZWdpc3RlcihhcHBzKTtcbiAgICB9XG5cbiAgICB1bnJlZ2lzdGVyQXBwKG5hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnBsYW5ldEFwcGxpY2F0aW9uU2VydmljZS51bnJlZ2lzdGVyKG5hbWUpO1xuICAgIH1cblxuICAgIGdldEFwcHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYW5ldEFwcGxpY2F0aW9uU2VydmljZS5nZXRBcHBzKCk7XG4gICAgfVxuXG4gICAgc3RhcnQoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gKHRoaXMucm91dGVyLmV2ZW50cyBhcyBPYnNlcnZhYmxlPFJvdXRlckV2ZW50PilcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQ7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChldmVudCBhcyBOYXZpZ2F0aW9uRW5kKS51cmxBZnRlclJlZGlyZWN0cyB8fCBldmVudC51cmw7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKGxvY2F0aW9uLnBhdGhuYW1lKSxcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh1cmw6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucGxhbmV0QXBwbGljYXRpb25Mb2FkZXIucmVyb3V0ZSh7XG4gICAgICAgICAgICAgICAgICAgIHVybDogdXJsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdG9wKCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Public API Surface of core
3
+ */
4
+ export * from './planet';
5
+ export * from './global-event-dispatcher';
6
+ export * from './application/portal-application';
7
+ export * from './planet.class';
8
+ export * from './module';
9
+ export { defineApplication, getPortalApplicationData, getPlanetApplicationRef } from './global-planet';
10
+ export { PlanetApplicationService } from './application/planet-application.service';
11
+ export * from './application/planet-application-loader';
12
+ export * from './assets-loader';
13
+ export { PlanetComponentLoader } from './component/planet-component-loader';
14
+ export { PlanetComponentRef } from './component/planet-component-ref';
15
+ export { PlanetComponentOutlet } from './component/planet-component-outlet';
16
+ export { PlantComponentConfig } from './component/plant-component.config';
17
+ export * from './empty/empty.component';
18
+ export * from './router/route-redirect';
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsVUFBVSxDQUFDO0FBRXpCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxPQUFPLEVBQW1CLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb3JlXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wbGFuZXQnO1xuZXhwb3J0ICogZnJvbSAnLi9nbG9iYWwtZXZlbnQtZGlzcGF0Y2hlcic7XG5leHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uL3BvcnRhbC1hcHBsaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3BsYW5ldC5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL21vZHVsZSc7XG5leHBvcnQgeyBQbGFuZXRBcHBsaWNhdGlvblJlZiB9IGZyb20gJy4vYXBwbGljYXRpb24vcGxhbmV0LWFwcGxpY2F0aW9uLXJlZic7XG5leHBvcnQgeyBkZWZpbmVBcHBsaWNhdGlvbiwgZ2V0UG9ydGFsQXBwbGljYXRpb25EYXRhLCBnZXRQbGFuZXRBcHBsaWNhdGlvblJlZiB9IGZyb20gJy4vZ2xvYmFsLXBsYW5ldCc7XG5leHBvcnQgeyBQbGFuZXRBcHBsaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL2FwcGxpY2F0aW9uL3BsYW5ldC1hcHBsaWNhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb24vcGxhbmV0LWFwcGxpY2F0aW9uLWxvYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2Fzc2V0cy1sb2FkZXInO1xuZXhwb3J0IHsgUGxhbmV0Q29tcG9uZW50LCBQbGFuZXRDb21wb25lbnRMb2FkZXIgfSBmcm9tICcuL2NvbXBvbmVudC9wbGFuZXQtY29tcG9uZW50LWxvYWRlcic7XG5leHBvcnQgeyBQbGFuZXRDb21wb25lbnRSZWYgfSBmcm9tICcuL2NvbXBvbmVudC9wbGFuZXQtY29tcG9uZW50LXJlZic7XG5leHBvcnQgeyBQbGFuZXRDb21wb25lbnRPdXRsZXQgfSBmcm9tICcuL2NvbXBvbmVudC9wbGFuZXQtY29tcG9uZW50LW91dGxldCc7XG5leHBvcnQgeyBQbGFudENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4vY29tcG9uZW50L3BsYW50LWNvbXBvbmVudC5jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9lbXB0eS9lbXB0eS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yb3V0ZXIvcm91dGUtcmVkaXJlY3QnO1xuIl19
@@ -0,0 +1,63 @@
1
+ import { Component, inject } from '@angular/core';
2
+ import { ActivatedRoute, Router } from '@angular/router';
3
+ import * as i0 from "@angular/core";
4
+ class RouteRedirect {
5
+ constructor(redirectTo) {
6
+ this.activatedRoute = inject(ActivatedRoute);
7
+ this.router = inject(Router);
8
+ const finalRedirectTo = redirectTo || this.activatedRoute.snapshot.data['redirectTo'];
9
+ if (finalRedirectTo) {
10
+ const activatedRouteUrl = this.activatedRoute.pathFromRoot
11
+ .filter(route => {
12
+ return route.snapshot.url?.length > 0;
13
+ })
14
+ .map(route => {
15
+ return route.snapshot.url.join('/');
16
+ })
17
+ .join('/');
18
+ if (this.router.isActive(activatedRouteUrl, {
19
+ matrixParams: 'exact',
20
+ paths: 'exact',
21
+ queryParams: 'exact',
22
+ fragment: 'exact'
23
+ })) {
24
+ this.router.navigate([`${finalRedirectTo}`],
25
+ // By replacing the current URL in the history, we keep the Browser's Back
26
+ // Button behavior in tact. This will allow the user to easily navigate back
27
+ // to the previous URL without getting caught in a redirect.
28
+ {
29
+ replaceUrl: true,
30
+ relativeTo: this.activatedRoute
31
+ });
32
+ }
33
+ }
34
+ }
35
+ }
36
+ export function routeRedirect(redirectTo) {
37
+ return new RouteRedirect(redirectTo);
38
+ }
39
+ export class RedirectToRouteComponent {
40
+ constructor() {
41
+ this.routeRedirect = routeRedirect();
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: RedirectToRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: RedirectToRouteComponent, isStandalone: true, selector: "planet-redirect-to-route", ngImport: i0, template: '', isInline: true }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: RedirectToRouteComponent, decorators: [{
47
+ type: Component,
48
+ args: [{
49
+ selector: 'planet-redirect-to-route',
50
+ template: '',
51
+ standalone: true
52
+ }]
53
+ }] });
54
+ export function redirectToRoute(redirectTo) {
55
+ return {
56
+ path: '',
57
+ component: RedirectToRouteComponent,
58
+ data: {
59
+ redirectTo: redirectTo
60
+ }
61
+ };
62
+ }
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtcmVkaXJlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL3JvdXRlci9yb3V0ZS1yZWRpcmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFTLE1BQU0sRUFBVyxNQUFNLGlCQUFpQixDQUFDOztBQUV6RSxNQUFNLGFBQWE7SUFJZixZQUFZLFVBQWtCO1FBSDlCLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hDLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFHcEIsTUFBTSxlQUFlLEdBQUcsVUFBVSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0RixJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZO2lCQUNyRCxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ1osT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FBQztpQkFDRCxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ1QsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEMsQ0FBQyxDQUFDO2lCQUNELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNmLElBQ0ksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3BDLFlBQVksRUFBRSxPQUFPO2dCQUNyQixLQUFLLEVBQUUsT0FBTztnQkFDZCxXQUFXLEVBQUUsT0FBTztnQkFDcEIsUUFBUSxFQUFFLE9BQU87YUFDcEIsQ0FBQyxFQUNKLENBQUM7Z0JBQ0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQ2hCLENBQUMsR0FBRyxlQUFlLEVBQUUsQ0FBQztnQkFDdEIsMEVBQTBFO2dCQUMxRSw0RUFBNEU7Z0JBQzVFLDREQUE0RDtnQkFDNUQ7b0JBQ0ksVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFVBQVUsRUFBRSxJQUFJLENBQUMsY0FBYztpQkFDbEMsQ0FDSixDQUFDO1lBQ04sQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0NBQ0o7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLFVBQW1CO0lBQzdDLE9BQU8sSUFBSSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQU9ELE1BQU0sT0FBTyx3QkFBd0I7SUFMckM7UUFNSSxrQkFBYSxHQUFHLGFBQWEsRUFBRSxDQUFDO0tBQ25DOzhHQUZZLHdCQUF3QjtrR0FBeEIsd0JBQXdCLG9GQUh2QixFQUFFOzsyRkFHSCx3QkFBd0I7a0JBTHBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osVUFBVSxFQUFFLElBQUk7aUJBQ25COztBQUtELE1BQU0sVUFBVSxlQUFlLENBQUMsVUFBa0I7SUFDOUMsT0FBTztRQUNILElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLHdCQUF3QjtRQUNuQyxJQUFJLEVBQUU7WUFDRixVQUFVLEVBQUUsVUFBVTtTQUN6QjtLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZSwgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuY2xhc3MgUm91dGVSZWRpcmVjdCB7XG4gICAgYWN0aXZhdGVkUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG4gICAgY29uc3RydWN0b3IocmVkaXJlY3RUbzogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGZpbmFsUmVkaXJlY3RUbyA9IHJlZGlyZWN0VG8gfHwgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5kYXRhWydyZWRpcmVjdFRvJ107XG4gICAgICAgIGlmIChmaW5hbFJlZGlyZWN0VG8pIHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2YXRlZFJvdXRlVXJsID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5wYXRoRnJvbVJvb3RcbiAgICAgICAgICAgICAgICAuZmlsdGVyKHJvdXRlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJvdXRlLnNuYXBzaG90LnVybD8ubGVuZ3RoID4gMDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5tYXAocm91dGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcm91dGUuc25hcHNob3QudXJsLmpvaW4oJy8nKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5qb2luKCcvJyk7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIuaXNBY3RpdmUoYWN0aXZhdGVkUm91dGVVcmwsIHtcbiAgICAgICAgICAgICAgICAgICAgbWF0cml4UGFyYW1zOiAnZXhhY3QnLFxuICAgICAgICAgICAgICAgICAgICBwYXRoczogJ2V4YWN0JyxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6ICdleGFjdCcsXG4gICAgICAgICAgICAgICAgICAgIGZyYWdtZW50OiAnZXhhY3QnXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxuICAgICAgICAgICAgICAgICAgICBbYCR7ZmluYWxSZWRpcmVjdFRvfWBdLFxuICAgICAgICAgICAgICAgICAgICAvLyBCeSByZXBsYWNpbmcgdGhlIGN1cnJlbnQgVVJMIGluIHRoZSBoaXN0b3J5LCB3ZSBrZWVwIHRoZSBCcm93c2VyJ3MgQmFja1xuICAgICAgICAgICAgICAgICAgICAvLyBCdXR0b24gYmVoYXZpb3IgaW4gdGFjdC4gVGhpcyB3aWxsIGFsbG93IHRoZSB1c2VyIHRvIGVhc2lseSBuYXZpZ2F0ZSBiYWNrXG4gICAgICAgICAgICAgICAgICAgIC8vIHRvIHRoZSBwcmV2aW91cyBVUkwgd2l0aG91dCBnZXR0aW5nIGNhdWdodCBpbiBhIHJlZGlyZWN0LlxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlVXJsOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJvdXRlUmVkaXJlY3QocmVkaXJlY3RUbz86IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgUm91dGVSZWRpcmVjdChyZWRpcmVjdFRvKTtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwbGFuZXQtcmVkaXJlY3QtdG8tcm91dGUnLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFJlZGlyZWN0VG9Sb3V0ZUNvbXBvbmVudCB7XG4gICAgcm91dGVSZWRpcmVjdCA9IHJvdXRlUmVkaXJlY3QoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZGlyZWN0VG9Sb3V0ZShyZWRpcmVjdFRvOiBzdHJpbmcpOiBSb3V0ZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcGF0aDogJycsXG4gICAgICAgIGNvbXBvbmVudDogUmVkaXJlY3RUb1JvdXRlQ29tcG9uZW50LFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICByZWRpcmVjdFRvOiByZWRpcmVjdFRvXG4gICAgICAgIH1cbiAgICB9O1xufVxuIl19
@@ -17,4 +17,4 @@ export function createSandbox(app, options) {
17
17
  export function getSandboxInstance() {
18
18
  return window[SANDBOX_INSTANCE];
19
19
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL3NhbmRib3gvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxNQUFNLGNBQWMsR0FBNEI7SUFDNUMsWUFBWSxFQUFFLEtBQUs7Q0FDdEIsQ0FBQztBQUVGLE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBVyxFQUFFLE9BQXdCO0lBQy9ELE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxjQUFjLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTNELElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNkLE9BQU8sSUFBSSxZQUFZLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ3pDO1NBQU07UUFDSCxPQUFPLElBQUksZUFBZSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUM1QztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCO0lBQzlCLE9BQU8sTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhbmRib3hPcHRpb25zIH0gZnJvbSAnLi9zYW5kYm94JztcbmltcG9ydCB7IFByb3h5U2FuZGJveCB9IGZyb20gJy4vcHJveHkvcHJveHktc2FuZGJveCc7XG5pbXBvcnQgeyBTbmFwc2hvdFNhbmRib3ggfSBmcm9tICcuL3NuYXBzaG90L3NuYXBzaG90LXNhbmRib3gnO1xuaW1wb3J0IHsgU0FOREJPWF9JTlNUQU5DRSB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IHsgU2FuZGJveCB9IGZyb20gJy4vc2FuZGJveCc7XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBQYXJ0aWFsPFNhbmRib3hPcHRpb25zPiA9IHtcbiAgICBzdHJpY3RHbG9iYWw6IGZhbHNlXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2FuZGJveChhcHA6IHN0cmluZywgb3B0aW9ucz86IFNhbmRib3hPcHRpb25zKSB7XG4gICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRPcHRpb25zLCBvcHRpb25zIHx8IHt9KTtcblxuICAgIGlmICh3aW5kb3cuUHJveHkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm94eVNhbmRib3goYXBwLCBvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IFNuYXBzaG90U2FuZGJveChhcHAsIG9wdGlvbnMpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNhbmRib3hJbnN0YW5jZSgpIHtcbiAgICByZXR1cm4gd2luZG93W1NBTkRCT1hfSU5TVEFOQ0VdO1xufVxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL3NhbmRib3gvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxNQUFNLGNBQWMsR0FBNEI7SUFDNUMsWUFBWSxFQUFFLEtBQUs7Q0FDdEIsQ0FBQztBQUVGLE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBVyxFQUFFLE9BQXdCO0lBQy9ELE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxjQUFjLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTNELElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxJQUFJLFlBQVksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQztTQUFNLENBQUM7UUFDSixPQUFPLElBQUksZUFBZSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0I7SUFDOUIsT0FBTyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FuZGJveE9wdGlvbnMgfSBmcm9tICcuL3NhbmRib3gnO1xuaW1wb3J0IHsgUHJveHlTYW5kYm94IH0gZnJvbSAnLi9wcm94eS9wcm94eS1zYW5kYm94JztcbmltcG9ydCB7IFNuYXBzaG90U2FuZGJveCB9IGZyb20gJy4vc25hcHNob3Qvc25hcHNob3Qtc2FuZGJveCc7XG5pbXBvcnQgeyBTQU5EQk9YX0lOU1RBTkNFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5leHBvcnQgeyBTYW5kYm94IH0gZnJvbSAnLi9zYW5kYm94JztcblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IFBhcnRpYWw8U2FuZGJveE9wdGlvbnM+ID0ge1xuICAgIHN0cmljdEdsb2JhbDogZmFsc2Vcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTYW5kYm94KGFwcDogc3RyaW5nLCBvcHRpb25zPzogU2FuZGJveE9wdGlvbnMpIHtcbiAgICBvcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdE9wdGlvbnMsIG9wdGlvbnMgfHwge30pO1xuXG4gICAgaWYgKHdpbmRvdy5Qcm94eSkge1xuICAgICAgICByZXR1cm4gbmV3IFByb3h5U2FuZGJveChhcHAsIG9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgU25hcHNob3RTYW5kYm94KGFwcCwgb3B0aW9ucyk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2FuZGJveEluc3RhbmNlKCkge1xuICAgIHJldHVybiB3aW5kb3dbU0FOREJPWF9JTlNUQU5DRV07XG59XG4iXX0=