@microzord/angular
Advanced tools
| import { ENVIRONMENT_INITIALIZER, inject, makeEnvironmentProviders } from '@angular/core'; | ||
| import { RegistryService } from './services/registry.service'; | ||
| import { MICROZORD_APPS, MICROZORD_NG_MODULES } from './tokens/microzord-apps'; | ||
| export function provideMicrozord({ apps, modules, } = {}) { | ||
| return makeEnvironmentProviders([ | ||
| ...(apps | ||
| ? [ | ||
| { | ||
| provide: MICROZORD_APPS, | ||
| useValue: apps, | ||
| multi: true, | ||
| }, | ||
| ] | ||
| : []), | ||
| ...(modules | ||
| ? [ | ||
| { | ||
| provide: MICROZORD_NG_MODULES, | ||
| useValue: modules, | ||
| multi: true, | ||
| }, | ||
| ] | ||
| : []), | ||
| { | ||
| provide: ENVIRONMENT_INITIALIZER, | ||
| multi: true, | ||
| useValue: () => { | ||
| const allApps = inject(MICROZORD_APPS, { optional: true }) ?? []; | ||
| const allModules = inject(MICROZORD_NG_MODULES, { optional: true }) ?? []; | ||
| const registry = inject(RegistryService); | ||
| allApps.forEach((apps) => registry.registerMany(apps)); | ||
| allModules.forEach((modules) => registry.registerMany(modules)); | ||
| }, | ||
| }, | ||
| ]); | ||
| } | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1taWNyb3pvcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9wcm92aWRlLW1pY3Jvem9yZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLHdCQUF3QixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsY0FBYyxFQUFFLG9CQUFvQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFHN0UsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEVBQzdCLElBQUksRUFDSixPQUFPLE1BQ1csRUFBRTtJQUNwQixPQUFPLHdCQUF3QixDQUFDO1FBQzVCLEdBQUcsQ0FBQyxJQUFJO1lBQ0osQ0FBQyxDQUFDO2dCQUNJO29CQUNJLE9BQU8sRUFBRSxjQUFjO29CQUN2QixRQUFRLEVBQUUsSUFBSTtvQkFDZCxLQUFLLEVBQUUsSUFBSTtpQkFDZDthQUNKO1lBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVULEdBQUcsQ0FBQyxPQUFPO1lBQ1AsQ0FBQyxDQUFDO2dCQUNJO29CQUNJLE9BQU8sRUFBRSxvQkFBb0I7b0JBQzdCLFFBQVEsRUFBRSxPQUFPO29CQUNqQixLQUFLLEVBQUUsSUFBSTtpQkFDZDthQUNKO1lBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVUO1lBQ0ksT0FBTyxFQUFFLHVCQUF1QjtZQUNoQyxLQUFLLEVBQUUsSUFBSTtZQUNYLFFBQVEsRUFBRSxHQUFHLEVBQUU7Z0JBQ1gsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDL0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN4RSxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBRXpDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDdkQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7U0FDSjtLQUNKLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7RW52aXJvbm1lbnRQcm92aWRlcnN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFTlZJUk9OTUVOVF9JTklUSUFMSVpFUiwgaW5qZWN0LCBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1JlZ2lzdHJ5U2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9yZWdpc3RyeS5zZXJ2aWNlJztcbmltcG9ydCB7TUlDUk9aT1JEX0FQUFMsIE1JQ1JPWk9SRF9OR19NT0RVTEVTfSBmcm9tICcuL3Rva2Vucy9taWNyb3pvcmQtYXBwcyc7XG5pbXBvcnQgdHlwZSB7TWljcm96b3JkT3B0aW9uc30gZnJvbSAnLi90eXBlcy9uZy1tb2R1bGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU1pY3Jvem9yZCh7XG4gICAgYXBwcyxcbiAgICBtb2R1bGVzLFxufTogTWljcm96b3JkT3B0aW9ucyA9IHt9KTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICAgIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgICAgICAuLi4oYXBwc1xuICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogTUlDUk9aT1JEX0FQUFMsXG4gICAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IGFwcHMsXG4gICAgICAgICAgICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICA6IFtdKSxcblxuICAgICAgICAuLi4obW9kdWxlc1xuICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogTUlDUk9aT1JEX05HX01PRFVMRVMsXG4gICAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IG1vZHVsZXMsXG4gICAgICAgICAgICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICA6IFtdKSxcblxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgdXNlVmFsdWU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhbGxBcHBzID0gaW5qZWN0KE1JQ1JPWk9SRF9BUFBTLCB7b3B0aW9uYWw6IHRydWV9KSA/PyBbXTtcbiAgICAgICAgICAgICAgICBjb25zdCBhbGxNb2R1bGVzID0gaW5qZWN0KE1JQ1JPWk9SRF9OR19NT0RVTEVTLCB7b3B0aW9uYWw6IHRydWV9KSA/PyBbXTtcbiAgICAgICAgICAgICAgICBjb25zdCByZWdpc3RyeSA9IGluamVjdChSZWdpc3RyeVNlcnZpY2UpO1xuXG4gICAgICAgICAgICAgICAgYWxsQXBwcy5mb3JFYWNoKChhcHBzKSA9PiByZWdpc3RyeS5yZWdpc3Rlck1hbnkoYXBwcykpO1xuICAgICAgICAgICAgICAgIGFsbE1vZHVsZXMuZm9yRWFjaCgobW9kdWxlcykgPT4gcmVnaXN0cnkucmVnaXN0ZXJNYW55KG1vZHVsZXMpKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgXSk7XG59XG4iXX0= |
| import type { EnvironmentProviders } from '@angular/core'; | ||
| import type { MicrozordOptions } from './types/ng-module'; | ||
| export declare function provideMicrozord({ apps, modules, }?: MicrozordOptions): EnvironmentProviders; | ||
| //# sourceMappingURL=provide-microzord.d.ts.map |
| {"version":3,"file":"provide-microzord.d.ts","sourceRoot":"","sources":["../../../../libs/angular/src/lib/provide-microzord.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAKxD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAExD,wBAAgB,gBAAgB,CAAC,EAC7B,IAAI,EACJ,OAAO,GACV,GAAE,gBAAqB,GAAG,oBAAoB,CAmC9C"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"create-app.d.ts","sourceRoot":"","sources":["../../../../../libs/angular/child/src/create-app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAChE,OAAO,EAAc,cAAc,EAAC,MAAM,eAAe,CAAC;AAE1D,OAAO,KAAK,EAAC,sBAAsB,EAAwB,MAAM,iBAAiB,CAAC;AAGnF,eAAO,MAAM,QAAQ,wBAAqD,CAAC;AAC3E,eAAO,MAAM,aAAa,wBAA+D,CAAC;AAG1F,wBAAgB,SAAS,CACrB,OAAO,EACP,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAE/D,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EACvE,YAAY,EAAE,MAAM,GACrB,sBAAsB,CAmDxB"} | ||
| {"version":3,"file":"create-app.d.ts","sourceRoot":"","sources":["../../../../../libs/angular/child/src/create-app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAChE,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAC,sBAAsB,EAAwB,MAAM,iBAAiB,CAAC;AAGnF,eAAO,MAAM,QAAQ,wBAAqD,CAAC;AAC3E,eAAO,MAAM,aAAa,wBAA+D,CAAC;AAG1F,wBAAgB,SAAS,CACrB,OAAO,EACP,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAE/D,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EACvE,YAAY,EAAE,MAAM,GACrB,sBAAsB,CAmDxB"} |
@@ -1,2 +0,2 @@ | ||
| import { InjectFlags, InjectionToken } from '@angular/core'; | ||
| import { InjectionToken } from '@angular/core'; | ||
| import { Router } from '@angular/router'; | ||
@@ -33,3 +33,3 @@ import { Application, MicrozordLifecycleEvent } from '@microzord/core'; | ||
| this.ngModule = await bootstrapFn(props); | ||
| this.router = this.ngModule.injector.get(Router, null, InjectFlags.Optional); | ||
| this.router = this.ngModule.injector.get(Router, null, { optional: true }); | ||
| await super.bootstrap(container, props); | ||
@@ -49,2 +49,2 @@ this.emitHook(MicrozordLifecycleEvent.bootstrapped()); | ||
| } | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFwcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jaGlsZC9zcmMvY3JlYXRlLWFwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsV0FBVyxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFdkMsT0FBTyxFQUFDLFdBQVcsRUFBRSx1QkFBdUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXJFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBUyxzQkFBc0IsQ0FBQyxDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBUyxnQ0FBZ0MsQ0FBQyxDQUFDO0FBRTFGLG1DQUFtQztBQUNuQyxNQUFNLFVBQVUsU0FBUyxDQUlyQixXQUF1RSxFQUN2RSxZQUFvQjtJQUVwQiw4REFBOEQ7SUFDOUQsTUFBTSxVQUFzRCxTQUFRLFdBQWM7UUFBbEY7O1lBQ1ksV0FBTSxHQUFrQixJQUFJLENBQUM7WUFDN0IsYUFBUSxHQUFnQyxJQUFJLENBQUM7UUE0Q3pELENBQUM7UUExQ1UsT0FBTztZQUNWLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUVoQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7YUFDeEI7WUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUVNLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBMkIsRUFBRSxLQUFTO1lBQ3pELE1BQU0sZ0JBQWdCLEdBQ2xCLE9BQU8sU0FBUyxLQUFLLFFBQVE7Z0JBQ3pCLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztnQkFDbkMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUVwQixJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLFNBQVMsRUFBRSxDQUFDLENBQUM7YUFDMUQ7WUFFRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRXpELGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUUxQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRTdFLE1BQU0sS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFFTSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQVcsRUFBRSxNQUEyQjtZQUMxRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2IsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN4QztRQUNMLENBQUM7UUFFTSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQW9DO1lBQ2xELEVBQUU7UUFDTixDQUFDO0tBQ0o7SUFFRCxPQUFPLFVBQVUsQ0FBQztBQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0NvbXBpbGVyT3B0aW9ucywgTmdNb2R1bGVSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJbmplY3RGbGFncywgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgdHlwZSB7QXBwbGljYXRpb25Db25zdHJ1Y3RvciwgTWljcm96b3JkTWVzc2FnZUV2ZW50fSBmcm9tICdAbWljcm96b3JkL2NvcmUnO1xuaW1wb3J0IHtBcHBsaWNhdGlvbiwgTWljcm96b3JkTGlmZWN5Y2xlRXZlbnR9IGZyb20gJ0BtaWNyb3pvcmQvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBBUFBfTkFNRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdbQVBQX05BTUVdOiBBcHAgbmFtZScpO1xuZXhwb3J0IGNvbnN0IFJPT1RfU0VMRUNUT1IgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignW1JPT1RfU0VMRUNUT1JdOiBSb290IHNlbGVjdG9yJyk7XG5cbi8vIHRvZG86INC+0YfQtdC90Ywg0LPRgNGD0LHQsNGPINC40LzQv9C70LXQvNC10L3RgtCw0YbQuNGPXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQXBwPFxuICAgIFRNb2R1bGUsXG4gICAgUHJvcHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPihcbiAgICBib290c3RyYXBGbjogKHByb3BzPzogQ29tcGlsZXJPcHRpb25zKSA9PiBQcm9taXNlPE5nTW9kdWxlUmVmPFRNb2R1bGU+PixcbiAgICByb290U2VsZWN0b3I6IHN0cmluZyxcbik6IEFwcGxpY2F0aW9uQ29uc3RydWN0b3Ige1xuICAgIC8vIHRvZG86INC90LUg0YXQstCw0YLQsNC10YIg0LjQvNC/0LvQtdC80LXQvdGC0LDRhtC40Lgg0YXRg9C60L7Qsiwg0YHQvtC+0LHRidC10L3QuNC5INC4INC90LDQstC40LPQsNGG0LjQuFxuICAgIGNsYXNzIEFuZ3VsYXJBcHA8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUHJvcHM+IGV4dGVuZHMgQXBwbGljYXRpb248VD4ge1xuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyIHwgbnVsbCA9IG51bGw7XG4gICAgICAgIHByaXZhdGUgbmdNb2R1bGU6IE5nTW9kdWxlUmVmPFRNb2R1bGU+IHwgbnVsbCA9IG51bGw7XG5cbiAgICAgICAgcHVibGljIGRlc3Ryb3koKSB7XG4gICAgICAgICAgICBzdXBlci5kZXN0cm95KCk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm5nTW9kdWxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ01vZHVsZS5kZXN0cm95KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ01vZHVsZSA9IG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuZW1pdEhvb2soTWljcm96b3JkTGlmZWN5Y2xlRXZlbnQuZGVzdHJveWVkKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIGFzeW5jIGJvb3RzdHJhcChjb250YWluZXI6IEVsZW1lbnQgfCBzdHJpbmcsIHByb3BzPzogVCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgICAgY29uc3QgY29udGFpbmVyRWxlbWVudCA9XG4gICAgICAgICAgICAgICAgdHlwZW9mIGNvbnRhaW5lciA9PT0gJ3N0cmluZydcbiAgICAgICAgICAgICAgICAgICAgPyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGNvbnRhaW5lcilcbiAgICAgICAgICAgICAgICAgICAgOiBjb250YWluZXI7XG5cbiAgICAgICAgICAgIGlmICghY29udGFpbmVyRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gY29udGFpbmVyIGZvdW5kIGZvciAke2NvbnRhaW5lcn1gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgcm9vdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHJvb3RTZWxlY3Rvcik7XG5cbiAgICAgICAgICAgIGNvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hpbGQocm9vdEVsZW1lbnQpO1xuXG4gICAgICAgICAgICB0aGlzLm5nTW9kdWxlID0gYXdhaXQgYm9vdHN0cmFwRm4ocHJvcHMpO1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIgPSB0aGlzLm5nTW9kdWxlLmluamVjdG9yLmdldChSb3V0ZXIsIG51bGwsIEluamVjdEZsYWdzLk9wdGlvbmFsKTtcblxuICAgICAgICAgICAgYXdhaXQgc3VwZXIuYm9vdHN0cmFwKGNvbnRhaW5lciwgcHJvcHMpO1xuXG4gICAgICAgICAgICB0aGlzLmVtaXRIb29rKE1pY3Jvem9yZExpZmVjeWNsZUV2ZW50LmJvb3RzdHJhcHBlZCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBhc3luYyBuYXZpZ2F0ZSh1cmw6IHN0cmluZywgX3Byb3BzOiB1bmtub3duIHwgdW5kZWZpbmVkKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgICAgICBpZiAodGhpcy5yb3V0ZXIpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHVybCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgYXN5bmMgc2VuZChfbXNnOiBNaWNyb3pvcmRNZXNzYWdlRXZlbnQgfCBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgICAgIC8vXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gQW5ndWxhckFwcDtcbn1cbiJdfQ== | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFwcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jaGlsZC9zcmMvY3JlYXRlLWFwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV2QyxPQUFPLEVBQUMsV0FBVyxFQUFFLHVCQUF1QixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFckUsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLElBQUksY0FBYyxDQUFTLHNCQUFzQixDQUFDLENBQUM7QUFDM0UsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFTLGdDQUFnQyxDQUFDLENBQUM7QUFFMUYsbUNBQW1DO0FBQ25DLE1BQU0sVUFBVSxTQUFTLENBSXJCLFdBQXVFLEVBQ3ZFLFlBQW9CO0lBRXBCLDhEQUE4RDtJQUM5RCxNQUFNLFVBQXNELFNBQVEsV0FBYztRQUFsRjs7WUFDWSxXQUFNLEdBQWtCLElBQUksQ0FBQztZQUM3QixhQUFRLEdBQWdDLElBQUksQ0FBQztRQTRDekQsQ0FBQztRQTFDVSxPQUFPO1lBQ1YsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRWhCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDZixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQzthQUN4QjtZQUVELElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBRU0sS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUEyQixFQUFFLEtBQVM7WUFDekQsTUFBTSxnQkFBZ0IsR0FDbEIsT0FBTyxTQUFTLEtBQUssUUFBUTtnQkFDekIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO2dCQUNuQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRXBCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsU0FBUyxFQUFFLENBQUMsQ0FBQzthQUMxRDtZQUVELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFekQsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRTFDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1lBRXpFLE1BQU0sS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFFTSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQVcsRUFBRSxNQUEyQjtZQUMxRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2IsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN4QztRQUNMLENBQUM7UUFFTSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQW9DO1lBQ2xELEVBQUU7UUFDTixDQUFDO0tBQ0o7SUFFRCxPQUFPLFVBQVUsQ0FBQztBQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0NvbXBpbGVyT3B0aW9ucywgTmdNb2R1bGVSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB0eXBlIHtBcHBsaWNhdGlvbkNvbnN0cnVjdG9yLCBNaWNyb3pvcmRNZXNzYWdlRXZlbnR9IGZyb20gJ0BtaWNyb3pvcmQvY29yZSc7XG5pbXBvcnQge0FwcGxpY2F0aW9uLCBNaWNyb3pvcmRMaWZlY3ljbGVFdmVudH0gZnJvbSAnQG1pY3Jvem9yZC9jb3JlJztcblxuZXhwb3J0IGNvbnN0IEFQUF9OQU1FID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ1tBUFBfTkFNRV06IEFwcCBuYW1lJyk7XG5leHBvcnQgY29uc3QgUk9PVF9TRUxFQ1RPUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdbUk9PVF9TRUxFQ1RPUl06IFJvb3Qgc2VsZWN0b3InKTtcblxuLy8gdG9kbzog0L7Rh9C10L3RjCDQs9GA0YPQsdCw0Y8g0LjQvNC/0LvQtdC80LXQvdGC0LDRhtC40Y9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBcHA8XG4gICAgVE1vZHVsZSxcbiAgICBQcm9wcyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+KFxuICAgIGJvb3RzdHJhcEZuOiAocHJvcHM/OiBDb21waWxlck9wdGlvbnMpID0+IFByb21pc2U8TmdNb2R1bGVSZWY8VE1vZHVsZT4+LFxuICAgIHJvb3RTZWxlY3Rvcjogc3RyaW5nLFxuKTogQXBwbGljYXRpb25Db25zdHJ1Y3RvciB7XG4gICAgLy8gdG9kbzog0L3QtSDRhdCy0LDRgtCw0LXRgiDQuNC80L/Qu9C10LzQtdC90YLQsNGG0LjQuCDRhdGD0LrQvtCyLCDRgdC+0L7QsdGJ0LXQvdC40Lkg0Lgg0L3QsNCy0LjQs9Cw0YbQuNC4XG4gICAgY2xhc3MgQW5ndWxhckFwcDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBQcm9wcz4gZXh0ZW5kcyBBcHBsaWNhdGlvbjxUPiB7XG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIgfCBudWxsID0gbnVsbDtcbiAgICAgICAgcHJpdmF0ZSBuZ01vZHVsZTogTmdNb2R1bGVSZWY8VE1vZHVsZT4gfCBudWxsID0gbnVsbDtcblxuICAgICAgICBwdWJsaWMgZGVzdHJveSgpIHtcbiAgICAgICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMubmdNb2R1bGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5nTW9kdWxlLmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICB0aGlzLm5nTW9kdWxlID0gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5lbWl0SG9vayhNaWNyb3pvcmRMaWZlY3ljbGVFdmVudC5kZXN0cm95ZWQoKSk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgYXN5bmMgYm9vdHN0cmFwKGNvbnRhaW5lcjogRWxlbWVudCB8IHN0cmluZywgcHJvcHM/OiBUKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgICAgICBjb25zdCBjb250YWluZXJFbGVtZW50ID1cbiAgICAgICAgICAgICAgICB0eXBlb2YgY29udGFpbmVyID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgICAgICAgICA/IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoY29udGFpbmVyKVxuICAgICAgICAgICAgICAgICAgICA6IGNvbnRhaW5lcjtcblxuICAgICAgICAgICAgaWYgKCFjb250YWluZXJFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBjb250YWluZXIgZm91bmQgZm9yICR7Y29udGFpbmVyfWApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCByb290RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQocm9vdFNlbGVjdG9yKTtcblxuICAgICAgICAgICAgY29udGFpbmVyRWxlbWVudC5hcHBlbmRDaGlsZChyb290RWxlbWVudCk7XG5cbiAgICAgICAgICAgIHRoaXMubmdNb2R1bGUgPSBhd2FpdCBib290c3RyYXBGbihwcm9wcyk7XG4gICAgICAgICAgICB0aGlzLnJvdXRlciA9IHRoaXMubmdNb2R1bGUuaW5qZWN0b3IuZ2V0KFJvdXRlciwgbnVsbCwge29wdGlvbmFsOiB0cnVlfSk7XG5cbiAgICAgICAgICAgIGF3YWl0IHN1cGVyLmJvb3RzdHJhcChjb250YWluZXIsIHByb3BzKTtcblxuICAgICAgICAgICAgdGhpcy5lbWl0SG9vayhNaWNyb3pvcmRMaWZlY3ljbGVFdmVudC5ib290c3RyYXBwZWQoKSk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgYXN5bmMgbmF2aWdhdGUodXJsOiBzdHJpbmcsIF9wcm9wczogdW5rbm93biB8IHVuZGVmaW5lZCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucm91dGVyKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh1cmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIGFzeW5jIHNlbmQoX21zZzogTWljcm96b3JkTWVzc2FnZUV2ZW50IHwgc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgICAgICAvL1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIEFuZ3VsYXJBcHA7XG59XG4iXX0= |
@@ -6,5 +6,6 @@ export * from './lib/microzord-app/microzord-app.directive'; | ||
| export * from './lib/microzord-module/microzord-ng-module.module'; | ||
| export * from './lib/provide-microzord'; | ||
| export * from './lib/services/registry.service'; | ||
| export * from './lib/tokens/microzord-apps'; | ||
| export * from './lib/types/ng-module'; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL21pY3Jvem9yZC1hcHAvbWljcm96b3JkLWFwcC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWljcm96b3JkLWFwcC9taWNyb3pvcmQtYXBwLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9taWNyb3pvcmQtaG9zdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWljcm96b3JkLW1vZHVsZS9taWNyb3pvcmQtbmctbW9kdWxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9taWNyb3pvcmQtbW9kdWxlL21pY3Jvem9yZC1uZy1tb2R1bGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3JlZ2lzdHJ5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9rZW5zL21pY3Jvem9yZC1hcHBzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzL25nLW1vZHVsZSc7XG5leHBvcnQge0FwcFJlZ2lzdHJhdGlvbk9wdGlvbnN9IGZyb20gJ0BtaWNyb3pvcmQvY29yZSc7XG4iXX0= | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvbWljcm96b3JkLWFwcC9taWNyb3pvcmQtYXBwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9taWNyb3pvcmQtYXBwL21pY3Jvem9yZC1hcHAubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21pY3Jvem9yZC1ob3N0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9taWNyb3pvcmQtbW9kdWxlL21pY3Jvem9yZC1uZy1tb2R1bGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21pY3Jvem9yZC1tb2R1bGUvbWljcm96b3JkLW5nLW1vZHVsZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvdmlkZS1taWNyb3pvcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcmVnaXN0cnkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2tlbnMvbWljcm96b3JkLWFwcHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMvbmctbW9kdWxlJztcbmV4cG9ydCB7QXBwUmVnaXN0cmF0aW9uT3B0aW9uc30gZnJvbSAnQG1pY3Jvem9yZC9jb3JlJztcbiJdfQ== |
@@ -8,2 +8,5 @@ import { Inject, NgModule } from '@angular/core'; | ||
| import * as i1 from "./services/registry.service"; | ||
| /** | ||
| * @deprecated use `provideMicrozord` instead | ||
| */ | ||
| export class MicrozordHostModule { | ||
@@ -51,2 +54,2 @@ constructor(allApps, allModules, registry) { | ||
| }] }, { type: i1.RegistryService }] }); | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm96b3JkLWhvc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvbWljcm96b3JkLWhvc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQXVCLFFBQVEsRUFBTyxNQUFNLGVBQWUsQ0FBQztBQUcxRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGNBQWMsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDOzs7QUFXN0UsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixZQUM0QixPQUFtQyxFQUM3QixVQUEyQyxFQUN6RSxRQUF5QjtRQUV6QixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQ25CLElBQUksRUFDSixPQUFPLEdBQ2tCO1FBQ3pCLE9BQU87WUFDSCxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLFNBQVMsRUFBRTtnQkFDUCxJQUFJO29CQUNBLENBQUMsQ0FBQzt3QkFDSSxPQUFPLEVBQUUsY0FBYzt3QkFDdkIsUUFBUSxFQUFFLElBQUk7d0JBQ2QsS0FBSyxFQUFFLElBQUk7cUJBQ2Q7b0JBQ0gsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1IsT0FBTztvQkFDSCxDQUFDLENBQUM7d0JBQ0ksT0FBTyxFQUFFLG9CQUFvQjt3QkFDN0IsUUFBUSxFQUFFLE9BQU87d0JBQ2pCLEtBQUssRUFBRSxJQUFJO3FCQUNkO29CQUNILENBQUMsQ0FBQyxFQUFFO2FBQ1g7U0FDSixDQUFDO0lBQ04sQ0FBQzsrR0FqQ1EsbUJBQW1CLGtCQUVoQixjQUFjLGFBQ2Qsb0JBQW9CO2dIQUh2QixtQkFBbUIsWUFGbEIsa0JBQWtCLEVBQUUsdUJBQXVCO2dIQUU1QyxtQkFBbUIsWUFGbEIsa0JBQWtCLEVBQUUsdUJBQXVCOzs0RkFFNUMsbUJBQW1CO2tCQUgvQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLHVCQUF1QixDQUFDO2lCQUN6RDs7MEJBR1EsTUFBTTsyQkFBQyxjQUFjOzswQkFDckIsTUFBTTsyQkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBcHBSZWdpc3RyYXRpb25PcHRpb25zLCBFbnRpdHlSZWdpc3RyYXRpb25PcHRpb25zfSBmcm9tICdAbWljcm96b3JkL2NvcmUnO1xuXG5pbXBvcnQge01pY3Jvem9yZEFwcE1vZHVsZX0gZnJvbSAnLi9taWNyb3pvcmQtYXBwL21pY3Jvem9yZC1hcHAubW9kdWxlJztcbmltcG9ydCB7TWljcm96b3JkTmdNb2R1bGVNb2R1bGV9IGZyb20gJy4vbWljcm96b3JkLW1vZHVsZS9taWNyb3pvcmQtbmctbW9kdWxlLm1vZHVsZSc7XG5pbXBvcnQge1JlZ2lzdHJ5U2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9yZWdpc3RyeS5zZXJ2aWNlJztcbmltcG9ydCB7TUlDUk9aT1JEX0FQUFMsIE1JQ1JPWk9SRF9OR19NT0RVTEVTfSBmcm9tICcuL3Rva2Vucy9taWNyb3pvcmQtYXBwcyc7XG5pbXBvcnQge05nTW9kdWxlUmVnaXN0cmF0aW9uT3B0aW9uc30gZnJvbSAnLi90eXBlcy9uZy1tb2R1bGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1pY3Jvem9yZEhvc3RNb2R1bGVPcHRpb25zIHtcbiAgICBhcHBzPzogQXBwUmVnaXN0cmF0aW9uT3B0aW9uc1tdO1xuICAgIG1vZHVsZXM/OiBBcnJheTxFbnRpdHlSZWdpc3RyYXRpb25PcHRpb25zPFR5cGU8dW5rbm93bj4+Pjtcbn1cblxuQE5nTW9kdWxlKHtcbiAgICBleHBvcnRzOiBbTWljcm96b3JkQXBwTW9kdWxlLCBNaWNyb3pvcmROZ01vZHVsZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIE1pY3Jvem9yZEhvc3RNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KE1JQ1JPWk9SRF9BUFBTKSBhbGxBcHBzOiBBcHBSZWdpc3RyYXRpb25PcHRpb25zW11bXSxcbiAgICAgICAgQEluamVjdChNSUNST1pPUkRfTkdfTU9EVUxFUykgYWxsTW9kdWxlczogTmdNb2R1bGVSZWdpc3RyYXRpb25PcHRpb25zW11bXSxcbiAgICAgICAgcmVnaXN0cnk6IFJlZ2lzdHJ5U2VydmljZSxcbiAgICApIHtcbiAgICAgICAgYWxsQXBwcy5mb3JFYWNoKChhcHBzKSA9PiByZWdpc3RyeS5yZWdpc3Rlck1hbnkoYXBwcykpO1xuICAgICAgICBhbGxNb2R1bGVzLmZvckVhY2goKG1vZHVsZXMpID0+IHJlZ2lzdHJ5LnJlZ2lzdGVyTWFueShtb2R1bGVzKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByZWdpc3Rlcih7XG4gICAgICAgIGFwcHMsXG4gICAgICAgIG1vZHVsZXMsXG4gICAgfTogTWljcm96b3JkSG9zdE1vZHVsZU9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE1pY3Jvem9yZEhvc3RNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBNaWNyb3pvcmRIb3N0TW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgYXBwc1xuICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogTUlDUk9aT1JEX0FQUFMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBhcHBzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDogW10sXG4gICAgICAgICAgICAgICAgbW9kdWxlc1xuICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogTUlDUk9aT1JEX05HX01PRFVMRVMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBtb2R1bGVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDogW10sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ== | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm96b3JkLWhvc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvbWljcm96b3JkLWhvc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQXVCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUdwRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGNBQWMsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDOzs7QUFHN0U7O0dBRUc7QUFJSCxNQUFNLE9BQU8sbUJBQW1CO0lBQzVCLFlBQzRCLE9BQW1DLEVBQzdCLFVBQTJDLEVBQ3pFLFFBQXlCO1FBRXpCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2RCxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFDbkIsSUFBSSxFQUNKLE9BQU8sR0FDa0I7UUFDekIsT0FBTztZQUNILFFBQVEsRUFBRSxtQkFBbUI7WUFDN0IsU0FBUyxFQUFFO2dCQUNQLElBQUk7b0JBQ0EsQ0FBQyxDQUFDO3dCQUNJLE9BQU8sRUFBRSxjQUFjO3dCQUN2QixRQUFRLEVBQUUsSUFBSTt3QkFDZCxLQUFLLEVBQUUsSUFBSTtxQkFDZDtvQkFDSCxDQUFDLENBQUMsRUFBRTtnQkFDUixPQUFPO29CQUNILENBQUMsQ0FBQzt3QkFDSSxPQUFPLEVBQUUsb0JBQW9CO3dCQUM3QixRQUFRLEVBQUUsT0FBTzt3QkFDakIsS0FBSyxFQUFFLElBQUk7cUJBQ2Q7b0JBQ0gsQ0FBQyxDQUFDLEVBQUU7YUFDWDtTQUNKLENBQUM7SUFDTixDQUFDOytHQWpDUSxtQkFBbUIsa0JBRWhCLGNBQWMsYUFDZCxvQkFBb0I7Z0hBSHZCLG1CQUFtQixZQUZsQixrQkFBa0IsRUFBRSx1QkFBdUI7Z0hBRTVDLG1CQUFtQixZQUZsQixrQkFBa0IsRUFBRSx1QkFBdUI7OzRGQUU1QyxtQkFBbUI7a0JBSC9CLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsdUJBQXVCLENBQUM7aUJBQ3pEOzswQkFHUSxNQUFNOzJCQUFDLGNBQWM7OzBCQUNyQixNQUFNOzJCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FwcFJlZ2lzdHJhdGlvbk9wdGlvbnN9IGZyb20gJ0BtaWNyb3pvcmQvY29yZSc7XG5cbmltcG9ydCB7TWljcm96b3JkQXBwTW9kdWxlfSBmcm9tICcuL21pY3Jvem9yZC1hcHAvbWljcm96b3JkLWFwcC5tb2R1bGUnO1xuaW1wb3J0IHtNaWNyb3pvcmROZ01vZHVsZU1vZHVsZX0gZnJvbSAnLi9taWNyb3pvcmQtbW9kdWxlL21pY3Jvem9yZC1uZy1tb2R1bGUubW9kdWxlJztcbmltcG9ydCB7UmVnaXN0cnlTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzL3JlZ2lzdHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHtNSUNST1pPUkRfQVBQUywgTUlDUk9aT1JEX05HX01PRFVMRVN9IGZyb20gJy4vdG9rZW5zL21pY3Jvem9yZC1hcHBzJztcbmltcG9ydCB7TWljcm96b3JkSG9zdE1vZHVsZU9wdGlvbnMsIE5nTW9kdWxlUmVnaXN0cmF0aW9uT3B0aW9uc30gZnJvbSAnLi90eXBlcy9uZy1tb2R1bGUnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBgcHJvdmlkZU1pY3Jvem9yZGAgaW5zdGVhZFxuICovXG5ATmdNb2R1bGUoe1xuICAgIGV4cG9ydHM6IFtNaWNyb3pvcmRBcHBNb2R1bGUsIE1pY3Jvem9yZE5nTW9kdWxlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTWljcm96b3JkSG9zdE1vZHVsZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTUlDUk9aT1JEX0FQUFMpIGFsbEFwcHM6IEFwcFJlZ2lzdHJhdGlvbk9wdGlvbnNbXVtdLFxuICAgICAgICBASW5qZWN0KE1JQ1JPWk9SRF9OR19NT0RVTEVTKSBhbGxNb2R1bGVzOiBOZ01vZHVsZVJlZ2lzdHJhdGlvbk9wdGlvbnNbXVtdLFxuICAgICAgICByZWdpc3RyeTogUmVnaXN0cnlTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBhbGxBcHBzLmZvckVhY2goKGFwcHMpID0+IHJlZ2lzdHJ5LnJlZ2lzdGVyTWFueShhcHBzKSk7XG4gICAgICAgIGFsbE1vZHVsZXMuZm9yRWFjaCgobW9kdWxlcykgPT4gcmVnaXN0cnkucmVnaXN0ZXJNYW55KG1vZHVsZXMpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlZ2lzdGVyKHtcbiAgICAgICAgYXBwcyxcbiAgICAgICAgbW9kdWxlcyxcbiAgICB9OiBNaWNyb3pvcmRIb3N0TW9kdWxlT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TWljcm96b3JkSG9zdE1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IE1pY3Jvem9yZEhvc3RNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICBhcHBzXG4gICAgICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBNSUNST1pPUkRfQVBQUyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IGFwcHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgOiBbXSxcbiAgICAgICAgICAgICAgICBtb2R1bGVzXG4gICAgICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBNSUNST1pPUkRfTkdfTU9EVUxFUyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IG1vZHVsZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgOiBbXSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19 |
| export {}; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvdHlwZXMvbmctbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7RW50aXR5UmVnaXN0cmF0aW9uT3B0aW9uc30gZnJvbSAnQG1pY3Jvem9yZC9jb3JlJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgRW50cnlQb2ludCB7XG4gICAgLy9cbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaWNyb3pvcmROZ01vZHVsZTxUIGV4dGVuZHMgRW50cnlQb2ludCA9IEVudHJ5UG9pbnQ+IHtcbiAgICBnZXRFbnRyeVBvaW50KCk6IFR5cGU8VD47XG59XG5cbmV4cG9ydCB0eXBlIE5nTW9kdWxlUmVnaXN0cmF0aW9uT3B0aW9ucyA9IEVudGl0eVJlZ2lzdHJhdGlvbk9wdGlvbnM8XG4gICAgVHlwZTxNaWNyb3pvcmROZ01vZHVsZT5cbj47XG4iXX0= | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvdHlwZXMvbmctbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7QXBwUmVnaXN0cmF0aW9uT3B0aW9ucywgRW50aXR5UmVnaXN0cmF0aW9uT3B0aW9uc30gZnJvbSAnQG1pY3Jvem9yZC9jb3JlJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgRW50cnlQb2ludCB7XG4gICAgLy9cbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaWNyb3pvcmROZ01vZHVsZTxUIGV4dGVuZHMgRW50cnlQb2ludCA9IEVudHJ5UG9pbnQ+IHtcbiAgICBnZXRFbnRyeVBvaW50KCk6IFR5cGU8VD47XG59XG5cbmV4cG9ydCB0eXBlIE5nTW9kdWxlUmVnaXN0cmF0aW9uT3B0aW9ucyA9IEVudGl0eVJlZ2lzdHJhdGlvbk9wdGlvbnM8XG4gICAgVHlwZTxNaWNyb3pvcmROZ01vZHVsZT5cbj47XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIGBNaWNyb3pvcmRIb3N0TW9kdWxlT3B0aW9uc2AgaW5zdGVhZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1pY3Jvem9yZEhvc3RNb2R1bGVPcHRpb25zIHtcbiAgICBhcHBzPzogQXBwUmVnaXN0cmF0aW9uT3B0aW9uc1tdO1xuICAgIG1vZHVsZXM/OiBBcnJheTxFbnRpdHlSZWdpc3RyYXRpb25PcHRpb25zPFR5cGU8dW5rbm93bj4+Pjtcbn1cblxuZXhwb3J0IHR5cGUgTWljcm96b3JkT3B0aW9ucyA9IE1pY3Jvem9yZEhvc3RNb2R1bGVPcHRpb25zO1xuIl19 |
@@ -1,2 +0,2 @@ | ||
| import { InjectionToken, InjectFlags, enableProdMode as enableProdMode$1 } from '@angular/core'; | ||
| import { InjectionToken, enableProdMode as enableProdMode$1 } from '@angular/core'; | ||
| import { Router } from '@angular/router'; | ||
@@ -34,3 +34,3 @@ import { Application, MicrozordLifecycleEvent } from '@microzord/core'; | ||
| this.ngModule = await bootstrapFn(props); | ||
| this.router = this.ngModule.injector.get(Router, null, InjectFlags.Optional); | ||
| this.router = this.ngModule.injector.get(Router, null, { optional: true }); | ||
| await super.bootstrap(container, props); | ||
@@ -37,0 +37,0 @@ this.emitHook(MicrozordLifecycleEvent.bootstrapped()); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"microzord-angular-child.mjs","sources":["../../../../libs/angular/child/src/create-app.ts","../../../../libs/angular/child/src/enable-prod-mode.ts","../../../../libs/angular/child/microzord-angular-child.ts"],"sourcesContent":["import type {CompilerOptions, NgModuleRef} from '@angular/core';\nimport {InjectFlags, InjectionToken} from '@angular/core';\nimport {Router} from '@angular/router';\nimport type {ApplicationConstructor, MicrozordMessageEvent} from '@microzord/core';\nimport {Application, MicrozordLifecycleEvent} from '@microzord/core';\n\nexport const APP_NAME = new InjectionToken<string>('[APP_NAME]: App name');\nexport const ROOT_SELECTOR = new InjectionToken<string>('[ROOT_SELECTOR]: Root selector');\n\n// todo: очень грубая имплементация\nexport function createApp<\n TModule,\n Props extends Record<string, unknown> = Record<string, unknown>,\n>(\n bootstrapFn: (props?: CompilerOptions) => Promise<NgModuleRef<TModule>>,\n rootSelector: string,\n): ApplicationConstructor {\n // todo: не хватает имплементации хуков, сообщений и навигации\n class AngularApp<T extends Record<string, unknown> = Props> extends Application<T> {\n private router: Router | null = null;\n private ngModule: NgModuleRef<TModule> | null = null;\n\n public destroy() {\n super.destroy();\n\n if (this.ngModule) {\n this.ngModule.destroy();\n this.ngModule = null;\n }\n\n this.emitHook(MicrozordLifecycleEvent.destroyed());\n }\n\n public async bootstrap(container: Element | string, props?: T): Promise<void> {\n const containerElement =\n typeof container === 'string'\n ? document.querySelector(container)\n : container;\n\n if (!containerElement) {\n throw new Error(`No container found for ${container}`);\n }\n\n const rootElement = document.createElement(rootSelector);\n\n containerElement.appendChild(rootElement);\n\n this.ngModule = await bootstrapFn(props);\n this.router = this.ngModule.injector.get(Router, null, InjectFlags.Optional);\n\n await super.bootstrap(container, props);\n\n this.emitHook(MicrozordLifecycleEvent.bootstrapped());\n }\n\n public async navigate(url: string, _props: unknown | undefined): Promise<void> {\n if (this.router) {\n await this.router.navigateByUrl(url);\n }\n }\n\n public async send(_msg: MicrozordMessageEvent | string): Promise<void> {\n //\n }\n }\n\n return AngularApp;\n}\n","import {enableProdMode as angularEnableProdMode} from '@angular/core';\n\n/**\n * Disable Angular's development mode safely\n */\nexport function enableProdMode() {\n try {\n angularEnableProdMode();\n } catch (e) {\n //\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["angularEnableProdMode"],"mappings":";;;;MAMa,QAAQ,GAAG,IAAI,cAAc,CAAS,sBAAsB,EAAE;MAC9D,aAAa,GAAG,IAAI,cAAc,CAAS,gCAAgC,EAAE;AAE1F;AACgB,SAAA,SAAS,CAIrB,WAAuE,EACvE,YAAoB,EAAA;;IAGpB,MAAM,UAAsD,SAAQ,WAAc,CAAA;AAAlF,QAAA,WAAA,GAAA;;YACY,IAAM,CAAA,MAAA,GAAkB,IAAI,CAAC;YAC7B,IAAQ,CAAA,QAAA,GAAgC,IAAI,CAAC;SA4CxD;QA1CU,OAAO,GAAA;YACV,KAAK,CAAC,OAAO,EAAE,CAAC;YAEhB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;AACxB,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACxB,aAAA;YAED,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,SAAS,EAAE,CAAC,CAAC;SACtD;AAEM,QAAA,MAAM,SAAS,CAAC,SAA2B,EAAE,KAAS,EAAA;AACzD,YAAA,MAAM,gBAAgB,GAClB,OAAO,SAAS,KAAK,QAAQ;AACzB,kBAAE,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;kBACjC,SAAS,CAAC;YAEpB,IAAI,CAAC,gBAAgB,EAAE;AACnB,gBAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,SAAS,CAAA,CAAE,CAAC,CAAC;AAC1D,aAAA;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;AAEzD,YAAA,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAE1C,IAAI,CAAC,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;AACzC,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE7E,MAAM,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAExC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,YAAY,EAAE,CAAC,CAAC;SACzD;AAEM,QAAA,MAAM,QAAQ,CAAC,GAAW,EAAE,MAA2B,EAAA;YAC1D,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACxC,aAAA;SACJ;QAEM,MAAM,IAAI,CAAC,IAAoC,EAAA;;SAErD;AACJ,KAAA;AAED,IAAA,OAAO,UAAU,CAAC;AACtB;;ACjEA;;AAEG;SACa,cAAc,GAAA;IAC1B,IAAI;AACA,QAAAA,gBAAqB,EAAE,CAAC;AAC3B,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;;AAEX,KAAA;AACL;;ACXA;;AAEG;;;;"} | ||
| {"version":3,"file":"microzord-angular-child.mjs","sources":["../../../../libs/angular/child/src/create-app.ts","../../../../libs/angular/child/src/enable-prod-mode.ts","../../../../libs/angular/child/microzord-angular-child.ts"],"sourcesContent":["import type {CompilerOptions, NgModuleRef} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\nimport {Router} from '@angular/router';\nimport type {ApplicationConstructor, MicrozordMessageEvent} from '@microzord/core';\nimport {Application, MicrozordLifecycleEvent} from '@microzord/core';\n\nexport const APP_NAME = new InjectionToken<string>('[APP_NAME]: App name');\nexport const ROOT_SELECTOR = new InjectionToken<string>('[ROOT_SELECTOR]: Root selector');\n\n// todo: очень грубая имплементация\nexport function createApp<\n TModule,\n Props extends Record<string, unknown> = Record<string, unknown>,\n>(\n bootstrapFn: (props?: CompilerOptions) => Promise<NgModuleRef<TModule>>,\n rootSelector: string,\n): ApplicationConstructor {\n // todo: не хватает имплементации хуков, сообщений и навигации\n class AngularApp<T extends Record<string, unknown> = Props> extends Application<T> {\n private router: Router | null = null;\n private ngModule: NgModuleRef<TModule> | null = null;\n\n public destroy() {\n super.destroy();\n\n if (this.ngModule) {\n this.ngModule.destroy();\n this.ngModule = null;\n }\n\n this.emitHook(MicrozordLifecycleEvent.destroyed());\n }\n\n public async bootstrap(container: Element | string, props?: T): Promise<void> {\n const containerElement =\n typeof container === 'string'\n ? document.querySelector(container)\n : container;\n\n if (!containerElement) {\n throw new Error(`No container found for ${container}`);\n }\n\n const rootElement = document.createElement(rootSelector);\n\n containerElement.appendChild(rootElement);\n\n this.ngModule = await bootstrapFn(props);\n this.router = this.ngModule.injector.get(Router, null, {optional: true});\n\n await super.bootstrap(container, props);\n\n this.emitHook(MicrozordLifecycleEvent.bootstrapped());\n }\n\n public async navigate(url: string, _props: unknown | undefined): Promise<void> {\n if (this.router) {\n await this.router.navigateByUrl(url);\n }\n }\n\n public async send(_msg: MicrozordMessageEvent | string): Promise<void> {\n //\n }\n }\n\n return AngularApp;\n}\n","import {enableProdMode as angularEnableProdMode} from '@angular/core';\n\n/**\n * Disable Angular's development mode safely\n */\nexport function enableProdMode() {\n try {\n angularEnableProdMode();\n } catch (e) {\n //\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["angularEnableProdMode"],"mappings":";;;;MAMa,QAAQ,GAAG,IAAI,cAAc,CAAS,sBAAsB,EAAE;MAC9D,aAAa,GAAG,IAAI,cAAc,CAAS,gCAAgC,EAAE;AAE1F;AACgB,SAAA,SAAS,CAIrB,WAAuE,EACvE,YAAoB,EAAA;;IAGpB,MAAM,UAAsD,SAAQ,WAAc,CAAA;AAAlF,QAAA,WAAA,GAAA;;YACY,IAAM,CAAA,MAAA,GAAkB,IAAI,CAAC;YAC7B,IAAQ,CAAA,QAAA,GAAgC,IAAI,CAAC;SA4CxD;QA1CU,OAAO,GAAA;YACV,KAAK,CAAC,OAAO,EAAE,CAAC;YAEhB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;AACxB,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACxB,aAAA;YAED,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,SAAS,EAAE,CAAC,CAAC;SACtD;AAEM,QAAA,MAAM,SAAS,CAAC,SAA2B,EAAE,KAAS,EAAA;AACzD,YAAA,MAAM,gBAAgB,GAClB,OAAO,SAAS,KAAK,QAAQ;AACzB,kBAAE,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;kBACjC,SAAS,CAAC;YAEpB,IAAI,CAAC,gBAAgB,EAAE;AACnB,gBAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,SAAS,CAAA,CAAE,CAAC,CAAC;AAC1D,aAAA;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;AAEzD,YAAA,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAE1C,IAAI,CAAC,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;YAEzE,MAAM,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAExC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,YAAY,EAAE,CAAC,CAAC;SACzD;AAEM,QAAA,MAAM,QAAQ,CAAC,GAAW,EAAE,MAA2B,EAAA;YAC1D,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACxC,aAAA;SACJ;QAEM,MAAM,IAAI,CAAC,IAAoC,EAAA;;SAErD;AACJ,KAAA;AAED,IAAA,OAAO,UAAU,CAAC;AACtB;;ACjEA;;AAEG;SACa,cAAc,GAAA;IAC1B,IAAI;AACA,QAAAA,gBAAqB,EAAE,CAAC;AAC3B,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;;AAEX,KAAA;AACL;;ACXA;;AAEG;;;;"} |
| import * as i0 from '@angular/core'; | ||
| import { NgZone, Directive, Output, Input, NgModule, Injectable, Optional, NgModuleRef, InjectionToken, Inject } from '@angular/core'; | ||
| import { NgZone, Directive, Output, Input, NgModule, Injectable, Optional, NgModuleRef, InjectionToken, Inject, makeEnvironmentProviders, ENVIRONMENT_INITIALIZER, inject } from '@angular/core'; | ||
| import { constructApp, bootstrapApp, loadEntity, registerEntity } from '@microzord/core'; | ||
@@ -183,2 +183,5 @@ import { NEVER, Subject, of, Observable } from 'rxjs'; | ||
| /** | ||
| * @deprecated use `provideMicrozord` instead | ||
| */ | ||
| class MicrozordHostModule { | ||
@@ -227,2 +230,36 @@ constructor(allApps, allModules, registry) { | ||
| function provideMicrozord({ apps, modules, } = {}) { | ||
| return makeEnvironmentProviders([ | ||
| ...(apps | ||
| ? [ | ||
| { | ||
| provide: MICROZORD_APPS, | ||
| useValue: apps, | ||
| multi: true, | ||
| }, | ||
| ] | ||
| : []), | ||
| ...(modules | ||
| ? [ | ||
| { | ||
| provide: MICROZORD_NG_MODULES, | ||
| useValue: modules, | ||
| multi: true, | ||
| }, | ||
| ] | ||
| : []), | ||
| { | ||
| provide: ENVIRONMENT_INITIALIZER, | ||
| multi: true, | ||
| useValue: () => { | ||
| const allApps = inject(MICROZORD_APPS, { optional: true }) ?? []; | ||
| const allModules = inject(MICROZORD_NG_MODULES, { optional: true }) ?? []; | ||
| const registry = inject(RegistryService); | ||
| allApps.forEach((apps) => registry.registerMany(apps)); | ||
| allModules.forEach((modules) => registry.registerMany(modules)); | ||
| }, | ||
| }, | ||
| ]); | ||
| } | ||
| /** | ||
@@ -232,3 +269,3 @@ * Generated bundle index. Do not edit. | ||
| export { MICROZORD_APPS, MICROZORD_NG_MODULES, MicrozordAppDirective, MicrozordAppModule, MicrozordHostModule, MicrozordNgModuleDirective, MicrozordNgModuleModule, RegistryService }; | ||
| export { MICROZORD_APPS, MICROZORD_NG_MODULES, MicrozordAppDirective, MicrozordAppModule, MicrozordHostModule, MicrozordNgModuleDirective, MicrozordNgModuleModule, RegistryService, provideMicrozord }; | ||
| //# sourceMappingURL=microzord-angular.mjs.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"microzord-angular.mjs","sources":["../../../../libs/angular/src/lib/operators/complete.ts","../../../../libs/angular/src/lib/microzord-app/microzord-app.directive.ts","../../../../libs/angular/src/lib/microzord-app/microzord-app.module.ts","../../../../libs/angular/src/lib/microzord-module/microzord-ng-compiler.service.ts","../../../../libs/angular/src/lib/microzord-module/microzord-ng-module.directive.ts","../../../../libs/angular/src/lib/microzord-module/microzord-ng-module.module.ts","../../../../libs/angular/src/lib/services/registry.service.ts","../../../../libs/angular/src/lib/tokens/microzord-apps.ts","../../../../libs/angular/src/lib/microzord-host.module.ts","../../../../libs/angular/src/microzord-angular.ts"],"sourcesContent":["import {NEVER} from 'rxjs';\nimport {finalize, startWith, switchMap} from 'rxjs/operators';\n\nexport const complete = <T>(fn: (value: T) => void) =>\n switchMap((value: T) =>\n NEVER.pipe(\n startWith(value),\n finalize(() => {\n fn(value);\n }),\n ),\n );\n","import {\n Directive,\n ElementRef,\n ErrorHandler,\n Input,\n NgZone,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport {\n Application,\n bootstrapApp,\n constructApp,\n MicrozordLifecycleEvent,\n} from '@microzord/core';\nimport {NEVER, Observable, of, Subject} from 'rxjs';\nimport {catchError, shareReplay, switchMap, takeUntil, tap} from 'rxjs/operators';\n\nimport {complete} from '../operators/complete';\n\n@Directive({\n selector: '[microzordApp]:not(ng-container)',\n})\nexport class MicrozordAppDirective implements OnDestroy {\n @Output()\n public hook: Observable<MicrozordLifecycleEvent>;\n\n @Output()\n public application: Observable<Application | null>;\n\n @Input('microzordApp')\n public set name(appName: string) {\n this.ngZone.runOutsideAngular(() => this.name$.next(appName));\n }\n\n private readonly destroy$ = new Subject<void>();\n private readonly name$ = new Subject<string>();\n\n constructor(\n private readonly elementRef: ElementRef,\n private readonly ngZone: NgZone,\n private readonly errorHandler: ErrorHandler,\n ) {\n const app$ = this.name$.pipe(\n tap(() => NgZone.assertNotInAngularZone()),\n switchMap((name) => (name ? constructApp(name) : of(null))),\n catchError((error) => this.handleError(error)),\n takeUntil(this.destroy$),\n shareReplay(1),\n );\n\n this.application = app$.pipe(\n complete((app) => {\n app?.destroy();\n }),\n switchMap((name) =>\n name\n ? bootstrapApp(name, this.elementRef.nativeElement).pipe(\n catchError((error) => this.handleError(error)),\n )\n : of(null),\n ),\n takeUntil(this.destroy$),\n shareReplay(1),\n );\n\n this.hook = app$.pipe(\n switchMap((app) =>\n app\n ? new Observable<MicrozordLifecycleEvent>((subscriber) =>\n app.onHook((event) => subscriber.next(event)),\n )\n : NEVER,\n ),\n );\n\n this.application.subscribe();\n }\n\n public ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private handleError(error: unknown): Observable<null> {\n this.errorHandler.handleError(error);\n\n return of(null);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {MicrozordAppDirective} from './microzord-app.directive';\n\n@NgModule({\n declarations: [MicrozordAppDirective],\n exports: [MicrozordAppDirective],\n})\nexport class MicrozordAppModule {}\n","import {\n Compiler,\n ComponentFactoryResolver,\n ComponentRef,\n Injectable,\n Injector,\n NgModuleRef,\n Optional,\n Type,\n ViewContainerRef,\n} from '@angular/core';\n\nimport {EntryPoint, MicrozordNgModule} from '../types/ng-module';\n\n@Injectable()\nexport class MicrozordNgCompilerService {\n constructor(\n private readonly compiler: Compiler,\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n @Optional()\n private readonly injector: Injector,\n @Optional()\n private readonly viewContainerRef: ViewContainerRef,\n ) {}\n\n public async createModule<\n T extends EntryPoint = EntryPoint,\n M extends MicrozordNgModule<T> = MicrozordNgModule<T>,\n >(Module: Type<M>, injector: Injector = this.injector): Promise<NgModuleRef<M>> {\n const moduleFactory = await this.compiler.compileModuleAsync(Module);\n\n return moduleFactory.create(injector);\n }\n\n public async createEntryPoint<\n T extends EntryPoint = EntryPoint,\n M extends MicrozordNgModule<T> = MicrozordNgModule<T>,\n >(\n moduleRef: NgModuleRef<M>,\n injector: Injector = this.injector,\n viewContainerRef: ViewContainerRef = this.viewContainerRef,\n ): Promise<ComponentRef<T>> {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n moduleRef.instance.getEntryPoint(),\n );\n\n viewContainerRef.clear();\n\n return viewContainerRef.createComponent(\n componentFactory,\n undefined,\n injector,\n [],\n moduleRef,\n );\n }\n\n public async createEntryPointFromModule<\n T extends EntryPoint = EntryPoint,\n M extends MicrozordNgModule<T> = MicrozordNgModule<T>,\n >(\n Module: Type<M>,\n injector: Injector = this.injector,\n viewContainerRef: ViewContainerRef = this.viewContainerRef,\n ): Promise<ComponentRef<T>> {\n const moduleRef = await this.createModule(Module, injector);\n\n return this.createEntryPoint(moduleRef, injector, viewContainerRef);\n }\n}\n","import {\n ComponentRef,\n Directive,\n ErrorHandler,\n Input,\n NgModuleRef,\n NgZone,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport {loadEntity} from '@microzord/core';\nimport {Observable, of, Subject} from 'rxjs';\nimport {catchError, map, shareReplay, switchMap, takeUntil, tap} from 'rxjs/operators';\n\nimport {complete} from '../operators/complete';\nimport {EntryPoint, MicrozordNgModule} from '../types/ng-module';\nimport {MicrozordNgCompilerService} from './microzord-ng-compiler.service';\n\n@Directive({\n selector: '[microzordNgModule]',\n providers: [MicrozordNgCompilerService],\n})\nexport class MicrozordNgModuleDirective implements OnDestroy {\n private readonly name$ = new Subject<string | null>();\n private readonly destroy$ = new Subject<void>();\n\n @Output()\n public module: Observable<NgModuleRef<unknown> | null>;\n\n @Input('microzordNgModule')\n public set name(moduleName: string | null) {\n this.ngZone.runOutsideAngular(() => this.name$.next(moduleName));\n }\n\n constructor(\n private readonly ngZone: NgZone,\n private readonly mzNgCompiler: MicrozordNgCompilerService,\n private readonly errorHandler: ErrorHandler,\n ) {\n this.module = this.name$.pipe(\n tap(() => NgZone.assertNotInAngularZone()),\n switchMap((name) =>\n name\n ? this.loadModuleAndBootstrap(name).pipe(\n catchError((error) => {\n this.errorHandler.handleError(error);\n\n return of(null);\n }),\n )\n : of(null),\n ),\n map((componentRef) => componentRef?.injector.get(NgModuleRef) ?? null),\n shareReplay(1),\n takeUntil(this.destroy$),\n );\n\n this.module.subscribe();\n }\n\n private loadModuleAndBootstrap(name: string): Observable<ComponentRef<EntryPoint>> {\n return loadEntity<unknown, MicrozordNgModule>(name).pipe(\n switchMap(async (Module) =>\n this.mzNgCompiler.createEntryPointFromModule(Module),\n ),\n complete((componentRef) => this.destroyComponentAndModule(componentRef)),\n );\n }\n\n private destroyComponentAndModule<T extends EntryPoint = EntryPoint>(\n componentRef: ComponentRef<T>,\n ) {\n componentRef.destroy();\n componentRef.injector.get(NgModuleRef).destroy();\n }\n\n public ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {MicrozordNgModuleDirective} from './microzord-ng-module.directive';\n\n@NgModule({\n declarations: [MicrozordNgModuleDirective],\n exports: [MicrozordNgModuleDirective],\n})\nexport class MicrozordNgModuleModule {}\n","import {Injectable} from '@angular/core';\nimport {AppRegistrationOptions, registerEntity} from '@microzord/core';\n\nimport {NgModuleRegistrationOptions} from '../types/ng-module';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RegistryService {\n public registerMany(\n apps: ReadonlyArray<AppRegistrationOptions | NgModuleRegistrationOptions>,\n ) {\n apps.forEach((app) => this.register(app));\n }\n\n public register(options: AppRegistrationOptions | NgModuleRegistrationOptions) {\n registerEntity(options);\n }\n}\n","import {InjectionToken} from '@angular/core';\nimport type {AppRegistrationOptions} from '@microzord/core';\n\nimport type {NgModuleRegistrationOptions} from '../types/ng-module';\n\nexport const MICROZORD_APPS = new InjectionToken<AppRegistrationOptions[][]>(\n '[MICROZORD_APPS]: Microzord apps',\n {\n factory: () => [],\n },\n);\n\nexport const MICROZORD_NG_MODULES = new InjectionToken<NgModuleRegistrationOptions[][]>(\n '[MICROZORD_NG_MODULES]: Microzord Angular modules',\n {\n factory: () => [],\n },\n);\n","import {Inject, ModuleWithProviders, NgModule, Type} from '@angular/core';\nimport {AppRegistrationOptions, EntityRegistrationOptions} from '@microzord/core';\n\nimport {MicrozordAppModule} from './microzord-app/microzord-app.module';\nimport {MicrozordNgModuleModule} from './microzord-module/microzord-ng-module.module';\nimport {RegistryService} from './services/registry.service';\nimport {MICROZORD_APPS, MICROZORD_NG_MODULES} from './tokens/microzord-apps';\nimport {NgModuleRegistrationOptions} from './types/ng-module';\n\nexport interface MicrozordHostModuleOptions {\n apps?: AppRegistrationOptions[];\n modules?: Array<EntityRegistrationOptions<Type<unknown>>>;\n}\n\n@NgModule({\n exports: [MicrozordAppModule, MicrozordNgModuleModule],\n})\nexport class MicrozordHostModule {\n constructor(\n @Inject(MICROZORD_APPS) allApps: AppRegistrationOptions[][],\n @Inject(MICROZORD_NG_MODULES) allModules: NgModuleRegistrationOptions[][],\n registry: RegistryService,\n ) {\n allApps.forEach((apps) => registry.registerMany(apps));\n allModules.forEach((modules) => registry.registerMany(modules));\n }\n\n public static register({\n apps,\n modules,\n }: MicrozordHostModuleOptions): ModuleWithProviders<MicrozordHostModule> {\n return {\n ngModule: MicrozordHostModule,\n providers: [\n apps\n ? {\n provide: MICROZORD_APPS,\n useValue: apps,\n multi: true,\n }\n : [],\n modules\n ? {\n provide: MICROZORD_NG_MODULES,\n useValue: modules,\n multi: true,\n }\n : [],\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.MicrozordNgCompilerService","i1.RegistryService"],"mappings":";;;;;;AAGO,MAAM,QAAQ,GAAG,CAAI,EAAsB,KAC9C,SAAS,CAAC,CAAC,KAAQ,KACf,KAAK,CAAC,IAAI,CACN,SAAS,CAAC,KAAK,CAAC,EAChB,QAAQ,CAAC,MAAK;IACV,EAAE,CAAC,KAAK,CAAC,CAAC;AACd,CAAC,CAAC,CACL,CACJ;;MCYQ,qBAAqB,CAAA;IAO9B,IACW,IAAI,CAAC,OAAe,EAAA;AAC3B,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;KACjE;AAKD,IAAA,WAAA,CACqB,UAAsB,EACtB,MAAc,EACd,YAA0B,EAAA;QAF1B,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACtB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AAN9B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;AAC/B,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,OAAO,EAAU,CAAC;AAO3C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CACxB,GAAG,CAAC,MAAM,MAAM,CAAC,sBAAsB,EAAE,CAAC,EAC1C,SAAS,CAAC,CAAC,IAAI,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAC3D,UAAU,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAC9C,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxB,WAAW,CAAC,CAAC,CAAC,CACjB,CAAC;AAEF,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CACxB,QAAQ,CAAC,CAAC,GAAG,KAAI;YACb,GAAG,EAAE,OAAO,EAAE,CAAC;SAClB,CAAC,EACF,SAAS,CAAC,CAAC,IAAI,KACX,IAAI;AACA,cAAE,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CAClD,UAAU,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CACjD;AACH,cAAE,EAAE,CAAC,IAAI,CAAC,CACjB,EACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxB,WAAW,CAAC,CAAC,CAAC,CACjB,CAAC;AAEF,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CACjB,SAAS,CAAC,CAAC,GAAG,KACV,GAAG;cACG,IAAI,UAAU,CAA0B,CAAC,UAAU,KAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAChD;AACH,cAAE,KAAK,CACd,CACJ,CAAC;AAEF,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;KAChC;IAEM,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC5B;AAEO,IAAA,WAAW,CAAC,KAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAErC,QAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;KACnB;+GAjEQ,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAArB,qBAAqB,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,cAAA,EAAA,MAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kCAAkC;AAC/C,iBAAA,CAAA;+HAGU,IAAI,EAAA,CAAA;sBADV,MAAM;gBAIA,WAAW,EAAA,CAAA;sBADjB,MAAM;gBAII,IAAI,EAAA,CAAA;sBADd,KAAK;uBAAC,cAAc,CAAA;;;MCtBZ,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAlB,kBAAkB,EAAA,YAAA,EAAA,CAHZ,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAC1B,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;gHAEtB,kBAAkB,EAAA,CAAA,CAAA,EAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,qBAAqB,CAAC;oBACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACnC,iBAAA,CAAA;;;MCQY,0BAA0B,CAAA;AACnC,IAAA,WAAA,CACqB,QAAkB,EAClB,wBAAkD,EAElD,QAAkB,EAElB,gBAAkC,EAAA;QALlC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAClB,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;QAElD,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAElB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;KACnD;IAEG,MAAM,YAAY,CAGvB,MAAe,EAAE,QAAqB,GAAA,IAAI,CAAC,QAAQ,EAAA;QACjD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAErE,QAAA,OAAO,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;KACzC;AAEM,IAAA,MAAM,gBAAgB,CAIzB,SAAyB,EACzB,QAAA,GAAqB,IAAI,CAAC,QAAQ,EAClC,gBAAqC,GAAA,IAAI,CAAC,gBAAgB,EAAA;AAE1D,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAC1E,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,CACrC,CAAC;QAEF,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAEzB,QAAA,OAAO,gBAAgB,CAAC,eAAe,CACnC,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,EAAE,EACF,SAAS,CACZ,CAAC;KACL;AAEM,IAAA,MAAM,0BAA0B,CAInC,MAAe,EACf,QAAA,GAAqB,IAAI,CAAC,QAAQ,EAClC,gBAAqC,GAAA,IAAI,CAAC,gBAAgB,EAAA;QAE1D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE5D,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;KACvE;+GArDQ,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAA1B,0BAA0B,EAAA,CAAA,CAAA,EAAA;;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;;0BAKF,QAAQ;;0BAER,QAAQ;;;MCCJ,0BAA0B,CAAA;IAOnC,IACW,IAAI,CAAC,UAAyB,EAAA;AACrC,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;KACpE;AAED,IAAA,WAAA,CACqB,MAAc,EACd,YAAwC,EACxC,YAA0B,EAAA;QAF1B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAY,CAAA,YAAA,GAAZ,YAAY,CAA4B;QACxC,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AAd9B,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,OAAO,EAAiB,CAAC;AACrC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;QAe5C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CACzB,GAAG,CAAC,MAAM,MAAM,CAAC,sBAAsB,EAAE,CAAC,EAC1C,SAAS,CAAC,CAAC,IAAI,KACX,IAAI;AACA,cAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,IAAI,CAClC,UAAU,CAAC,CAAC,KAAK,KAAI;AACjB,gBAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAErC,gBAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AACpB,aAAC,CAAC,CACL;AACH,cAAE,EAAE,CAAC,IAAI,CAAC,CACjB,EACD,GAAG,CAAC,CAAC,YAAY,KAAK,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,EACtE,WAAW,CAAC,CAAC,CAAC,EACd,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3B,CAAC;AAEF,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;KAC3B;AAEO,IAAA,sBAAsB,CAAC,IAAY,EAAA;AACvC,QAAA,OAAO,UAAU,CAA6B,IAAI,CAAC,CAAC,IAAI,CACpD,SAAS,CAAC,OAAO,MAAM,KACnB,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,MAAM,CAAC,CACvD,EACD,QAAQ,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC,CAC3E,CAAC;KACL;AAEO,IAAA,yBAAyB,CAC7B,YAA6B,EAAA;QAE7B,YAAY,CAAC,OAAO,EAAE,CAAC;QACvB,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;KACpD;IAEM,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC5B;+GAzDQ,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,0BAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAA1B,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,mBAAA,EAAA,MAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAFxB,CAAC,0BAA0B,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAE9B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;oBAC/B,SAAS,EAAE,CAAC,0BAA0B,CAAC;AAC1C,iBAAA,CAAA;4IAMU,MAAM,EAAA,CAAA;sBADZ,MAAM;gBAII,IAAI,EAAA,CAAA;sBADd,KAAK;uBAAC,mBAAmB,CAAA;;;MCrBjB,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAvB,uBAAuB,EAAA,YAAA,EAAA,CAHjB,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAC/B,0BAA0B,CAAA,EAAA,CAAA,CAAA,EAAA;gHAE3B,uBAAuB,EAAA,CAAA,CAAA,EAAA;;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,0BAA0B,CAAC;oBAC1C,OAAO,EAAE,CAAC,0BAA0B,CAAC;AACxC,iBAAA,CAAA;;;MCCY,eAAe,CAAA;AACjB,IAAA,YAAY,CACf,IAAyE,EAAA;AAEzE,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7C;AAEM,IAAA,QAAQ,CAAC,OAA6D,EAAA;QACzE,cAAc,CAAC,OAAO,CAAC,CAAC;KAC3B;+GATQ,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFZ,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAET,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;MCFY,cAAc,GAAG,IAAI,cAAc,CAC5C,kCAAkC,EAClC;AACI,IAAA,OAAO,EAAE,MAAM,EAAE;AACpB,CAAA,EACH;MAEW,oBAAoB,GAAG,IAAI,cAAc,CAClD,mDAAmD,EACnD;AACI,IAAA,OAAO,EAAE,MAAM,EAAE;AACpB,CAAA;;MCCQ,mBAAmB,CAAA;AAC5B,IAAA,WAAA,CAC4B,OAAmC,EAC7B,UAA2C,EACzE,QAAyB,EAAA;AAEzB,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,QAAA,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;KACnE;AAEM,IAAA,OAAO,QAAQ,CAAC,EACnB,IAAI,EACJ,OAAO,GACkB,EAAA;QACzB,OAAO;AACH,YAAA,QAAQ,EAAE,mBAAmB;AAC7B,YAAA,SAAS,EAAE;gBACP,IAAI;AACA,sBAAE;AACI,wBAAA,OAAO,EAAE,cAAc;AACvB,wBAAA,QAAQ,EAAE,IAAI;AACd,wBAAA,KAAK,EAAE,IAAI;AACd,qBAAA;AACH,sBAAE,EAAE;gBACR,OAAO;AACH,sBAAE;AACI,wBAAA,OAAO,EAAE,oBAAoB;AAC7B,wBAAA,QAAQ,EAAE,OAAO;AACjB,wBAAA,KAAK,EAAE,IAAI;AACd,qBAAA;AACH,sBAAE,EAAE;AACX,aAAA;SACJ,CAAC;KACL;+GAjCQ,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAEhB,cAAc,EAAA,EAAA,EAAA,KAAA,EACd,oBAAoB,EAAA,EAAA,EAAA,KAAA,EAAAC,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAHvB,mBAAmB,EAAA,OAAA,EAAA,CAFlB,kBAAkB,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;gHAE5C,mBAAmB,EAAA,OAAA,EAAA,CAFlB,kBAAkB,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAE5C,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;AACzD,iBAAA,CAAA;;0BAGQ,MAAM;2BAAC,cAAc,CAAA;;0BACrB,MAAM;2BAAC,oBAAoB,CAAA;;;ACpBpC;;AAEG;;;;"} | ||
| {"version":3,"file":"microzord-angular.mjs","sources":["../../../../libs/angular/src/lib/operators/complete.ts","../../../../libs/angular/src/lib/microzord-app/microzord-app.directive.ts","../../../../libs/angular/src/lib/microzord-app/microzord-app.module.ts","../../../../libs/angular/src/lib/microzord-module/microzord-ng-compiler.service.ts","../../../../libs/angular/src/lib/microzord-module/microzord-ng-module.directive.ts","../../../../libs/angular/src/lib/microzord-module/microzord-ng-module.module.ts","../../../../libs/angular/src/lib/services/registry.service.ts","../../../../libs/angular/src/lib/tokens/microzord-apps.ts","../../../../libs/angular/src/lib/microzord-host.module.ts","../../../../libs/angular/src/lib/provide-microzord.ts","../../../../libs/angular/src/microzord-angular.ts"],"sourcesContent":["import {NEVER} from 'rxjs';\nimport {finalize, startWith, switchMap} from 'rxjs/operators';\n\nexport const complete = <T>(fn: (value: T) => void) =>\n switchMap((value: T) =>\n NEVER.pipe(\n startWith(value),\n finalize(() => {\n fn(value);\n }),\n ),\n );\n","import {\n Directive,\n ElementRef,\n ErrorHandler,\n Input,\n NgZone,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport {\n Application,\n bootstrapApp,\n constructApp,\n MicrozordLifecycleEvent,\n} from '@microzord/core';\nimport {NEVER, Observable, of, Subject} from 'rxjs';\nimport {catchError, shareReplay, switchMap, takeUntil, tap} from 'rxjs/operators';\n\nimport {complete} from '../operators/complete';\n\n@Directive({\n selector: '[microzordApp]:not(ng-container)',\n})\nexport class MicrozordAppDirective implements OnDestroy {\n @Output()\n public hook: Observable<MicrozordLifecycleEvent>;\n\n @Output()\n public application: Observable<Application | null>;\n\n @Input('microzordApp')\n public set name(appName: string) {\n this.ngZone.runOutsideAngular(() => this.name$.next(appName));\n }\n\n private readonly destroy$ = new Subject<void>();\n private readonly name$ = new Subject<string>();\n\n constructor(\n private readonly elementRef: ElementRef,\n private readonly ngZone: NgZone,\n private readonly errorHandler: ErrorHandler,\n ) {\n const app$ = this.name$.pipe(\n tap(() => NgZone.assertNotInAngularZone()),\n switchMap((name) => (name ? constructApp(name) : of(null))),\n catchError((error) => this.handleError(error)),\n takeUntil(this.destroy$),\n shareReplay(1),\n );\n\n this.application = app$.pipe(\n complete((app) => {\n app?.destroy();\n }),\n switchMap((name) =>\n name\n ? bootstrapApp(name, this.elementRef.nativeElement).pipe(\n catchError((error) => this.handleError(error)),\n )\n : of(null),\n ),\n takeUntil(this.destroy$),\n shareReplay(1),\n );\n\n this.hook = app$.pipe(\n switchMap((app) =>\n app\n ? new Observable<MicrozordLifecycleEvent>((subscriber) =>\n app.onHook((event) => subscriber.next(event)),\n )\n : NEVER,\n ),\n );\n\n this.application.subscribe();\n }\n\n public ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private handleError(error: unknown): Observable<null> {\n this.errorHandler.handleError(error);\n\n return of(null);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {MicrozordAppDirective} from './microzord-app.directive';\n\n@NgModule({\n declarations: [MicrozordAppDirective],\n exports: [MicrozordAppDirective],\n})\nexport class MicrozordAppModule {}\n","import {\n Compiler,\n ComponentFactoryResolver,\n ComponentRef,\n Injectable,\n Injector,\n NgModuleRef,\n Optional,\n Type,\n ViewContainerRef,\n} from '@angular/core';\n\nimport {EntryPoint, MicrozordNgModule} from '../types/ng-module';\n\n@Injectable()\nexport class MicrozordNgCompilerService {\n constructor(\n private readonly compiler: Compiler,\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n @Optional()\n private readonly injector: Injector,\n @Optional()\n private readonly viewContainerRef: ViewContainerRef,\n ) {}\n\n public async createModule<\n T extends EntryPoint = EntryPoint,\n M extends MicrozordNgModule<T> = MicrozordNgModule<T>,\n >(Module: Type<M>, injector: Injector = this.injector): Promise<NgModuleRef<M>> {\n const moduleFactory = await this.compiler.compileModuleAsync(Module);\n\n return moduleFactory.create(injector);\n }\n\n public async createEntryPoint<\n T extends EntryPoint = EntryPoint,\n M extends MicrozordNgModule<T> = MicrozordNgModule<T>,\n >(\n moduleRef: NgModuleRef<M>,\n injector: Injector = this.injector,\n viewContainerRef: ViewContainerRef = this.viewContainerRef,\n ): Promise<ComponentRef<T>> {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n moduleRef.instance.getEntryPoint(),\n );\n\n viewContainerRef.clear();\n\n return viewContainerRef.createComponent(\n componentFactory,\n undefined,\n injector,\n [],\n moduleRef,\n );\n }\n\n public async createEntryPointFromModule<\n T extends EntryPoint = EntryPoint,\n M extends MicrozordNgModule<T> = MicrozordNgModule<T>,\n >(\n Module: Type<M>,\n injector: Injector = this.injector,\n viewContainerRef: ViewContainerRef = this.viewContainerRef,\n ): Promise<ComponentRef<T>> {\n const moduleRef = await this.createModule(Module, injector);\n\n return this.createEntryPoint(moduleRef, injector, viewContainerRef);\n }\n}\n","import {\n ComponentRef,\n Directive,\n ErrorHandler,\n Input,\n NgModuleRef,\n NgZone,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport {loadEntity} from '@microzord/core';\nimport {Observable, of, Subject} from 'rxjs';\nimport {catchError, map, shareReplay, switchMap, takeUntil, tap} from 'rxjs/operators';\n\nimport {complete} from '../operators/complete';\nimport {EntryPoint, MicrozordNgModule} from '../types/ng-module';\nimport {MicrozordNgCompilerService} from './microzord-ng-compiler.service';\n\n@Directive({\n selector: '[microzordNgModule]',\n providers: [MicrozordNgCompilerService],\n})\nexport class MicrozordNgModuleDirective implements OnDestroy {\n private readonly name$ = new Subject<string | null>();\n private readonly destroy$ = new Subject<void>();\n\n @Output()\n public module: Observable<NgModuleRef<unknown> | null>;\n\n @Input('microzordNgModule')\n public set name(moduleName: string | null) {\n this.ngZone.runOutsideAngular(() => this.name$.next(moduleName));\n }\n\n constructor(\n private readonly ngZone: NgZone,\n private readonly mzNgCompiler: MicrozordNgCompilerService,\n private readonly errorHandler: ErrorHandler,\n ) {\n this.module = this.name$.pipe(\n tap(() => NgZone.assertNotInAngularZone()),\n switchMap((name) =>\n name\n ? this.loadModuleAndBootstrap(name).pipe(\n catchError((error) => {\n this.errorHandler.handleError(error);\n\n return of(null);\n }),\n )\n : of(null),\n ),\n map((componentRef) => componentRef?.injector.get(NgModuleRef) ?? null),\n shareReplay(1),\n takeUntil(this.destroy$),\n );\n\n this.module.subscribe();\n }\n\n private loadModuleAndBootstrap(name: string): Observable<ComponentRef<EntryPoint>> {\n return loadEntity<unknown, MicrozordNgModule>(name).pipe(\n switchMap(async (Module) =>\n this.mzNgCompiler.createEntryPointFromModule(Module),\n ),\n complete((componentRef) => this.destroyComponentAndModule(componentRef)),\n );\n }\n\n private destroyComponentAndModule<T extends EntryPoint = EntryPoint>(\n componentRef: ComponentRef<T>,\n ) {\n componentRef.destroy();\n componentRef.injector.get(NgModuleRef).destroy();\n }\n\n public ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {MicrozordNgModuleDirective} from './microzord-ng-module.directive';\n\n@NgModule({\n declarations: [MicrozordNgModuleDirective],\n exports: [MicrozordNgModuleDirective],\n})\nexport class MicrozordNgModuleModule {}\n","import {Injectable} from '@angular/core';\nimport {AppRegistrationOptions, registerEntity} from '@microzord/core';\n\nimport {NgModuleRegistrationOptions} from '../types/ng-module';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RegistryService {\n public registerMany(\n apps: ReadonlyArray<AppRegistrationOptions | NgModuleRegistrationOptions>,\n ) {\n apps.forEach((app) => this.register(app));\n }\n\n public register(options: AppRegistrationOptions | NgModuleRegistrationOptions) {\n registerEntity(options);\n }\n}\n","import {InjectionToken} from '@angular/core';\nimport type {AppRegistrationOptions} from '@microzord/core';\n\nimport type {NgModuleRegistrationOptions} from '../types/ng-module';\n\nexport const MICROZORD_APPS = new InjectionToken<AppRegistrationOptions[][]>(\n '[MICROZORD_APPS]: Microzord apps',\n {\n factory: () => [],\n },\n);\n\nexport const MICROZORD_NG_MODULES = new InjectionToken<NgModuleRegistrationOptions[][]>(\n '[MICROZORD_NG_MODULES]: Microzord Angular modules',\n {\n factory: () => [],\n },\n);\n","import {Inject, ModuleWithProviders, NgModule} from '@angular/core';\nimport {AppRegistrationOptions} from '@microzord/core';\n\nimport {MicrozordAppModule} from './microzord-app/microzord-app.module';\nimport {MicrozordNgModuleModule} from './microzord-module/microzord-ng-module.module';\nimport {RegistryService} from './services/registry.service';\nimport {MICROZORD_APPS, MICROZORD_NG_MODULES} from './tokens/microzord-apps';\nimport {MicrozordHostModuleOptions, NgModuleRegistrationOptions} from './types/ng-module';\n\n/**\n * @deprecated use `provideMicrozord` instead\n */\n@NgModule({\n exports: [MicrozordAppModule, MicrozordNgModuleModule],\n})\nexport class MicrozordHostModule {\n constructor(\n @Inject(MICROZORD_APPS) allApps: AppRegistrationOptions[][],\n @Inject(MICROZORD_NG_MODULES) allModules: NgModuleRegistrationOptions[][],\n registry: RegistryService,\n ) {\n allApps.forEach((apps) => registry.registerMany(apps));\n allModules.forEach((modules) => registry.registerMany(modules));\n }\n\n public static register({\n apps,\n modules,\n }: MicrozordHostModuleOptions): ModuleWithProviders<MicrozordHostModule> {\n return {\n ngModule: MicrozordHostModule,\n providers: [\n apps\n ? {\n provide: MICROZORD_APPS,\n useValue: apps,\n multi: true,\n }\n : [],\n modules\n ? {\n provide: MICROZORD_NG_MODULES,\n useValue: modules,\n multi: true,\n }\n : [],\n ],\n };\n }\n}\n","import type {EnvironmentProviders} from '@angular/core';\nimport {ENVIRONMENT_INITIALIZER, inject, makeEnvironmentProviders} from '@angular/core';\n\nimport {RegistryService} from './services/registry.service';\nimport {MICROZORD_APPS, MICROZORD_NG_MODULES} from './tokens/microzord-apps';\nimport type {MicrozordOptions} from './types/ng-module';\n\nexport function provideMicrozord({\n apps,\n modules,\n}: MicrozordOptions = {}): EnvironmentProviders {\n return makeEnvironmentProviders([\n ...(apps\n ? [\n {\n provide: MICROZORD_APPS,\n useValue: apps,\n multi: true,\n },\n ]\n : []),\n\n ...(modules\n ? [\n {\n provide: MICROZORD_NG_MODULES,\n useValue: modules,\n multi: true,\n },\n ]\n : []),\n\n {\n provide: ENVIRONMENT_INITIALIZER,\n multi: true,\n useValue: () => {\n const allApps = inject(MICROZORD_APPS, {optional: true}) ?? [];\n const allModules = inject(MICROZORD_NG_MODULES, {optional: true}) ?? [];\n const registry = inject(RegistryService);\n\n allApps.forEach((apps) => registry.registerMany(apps));\n allModules.forEach((modules) => registry.registerMany(modules));\n },\n },\n ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.MicrozordNgCompilerService","i1.RegistryService"],"mappings":"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"} |
+1
-0
@@ -6,2 +6,3 @@ export * from './lib/microzord-app/microzord-app.directive'; | ||
| export * from './lib/microzord-module/microzord-ng-module.module'; | ||
| export * from './lib/provide-microzord'; | ||
| export * from './lib/services/registry.service'; | ||
@@ -8,0 +9,0 @@ export * from './lib/tokens/microzord-apps'; |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../libs/angular/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC;AAC5D,cAAc,0CAA0C,CAAC;AACzD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sDAAsD,CAAC;AACrE,cAAc,mDAAmD,CAAC;AAClE,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAC,sBAAsB,EAAC,MAAM,iBAAiB,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../libs/angular/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC;AAC5D,cAAc,0CAA0C,CAAC;AACzD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sDAAsD,CAAC;AACrE,cAAc,mDAAmD,CAAC;AAClE,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAC,sBAAsB,EAAC,MAAM,iBAAiB,CAAC"} |
@@ -1,12 +0,11 @@ | ||
| import { ModuleWithProviders, Type } from '@angular/core'; | ||
| import { AppRegistrationOptions, EntityRegistrationOptions } from '@microzord/core'; | ||
| import { ModuleWithProviders } from '@angular/core'; | ||
| import { AppRegistrationOptions } from '@microzord/core'; | ||
| import { RegistryService } from './services/registry.service'; | ||
| import { NgModuleRegistrationOptions } from './types/ng-module'; | ||
| import { MicrozordHostModuleOptions, NgModuleRegistrationOptions } from './types/ng-module'; | ||
| import * as i0 from "@angular/core"; | ||
| import * as i1 from "./microzord-app/microzord-app.module"; | ||
| import * as i2 from "./microzord-module/microzord-ng-module.module"; | ||
| export interface MicrozordHostModuleOptions { | ||
| apps?: AppRegistrationOptions[]; | ||
| modules?: Array<EntityRegistrationOptions<Type<unknown>>>; | ||
| } | ||
| /** | ||
| * @deprecated use `provideMicrozord` instead | ||
| */ | ||
| export declare class MicrozordHostModule { | ||
@@ -13,0 +12,0 @@ constructor(allApps: AppRegistrationOptions[][], allModules: NgModuleRegistrationOptions[][], registry: RegistryService); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"microzord-host.module.d.ts","sourceRoot":"","sources":["../../../../libs/angular/src/lib/microzord-host.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,mBAAmB,EAAY,IAAI,EAAC,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAC,sBAAsB,EAAE,yBAAyB,EAAC,MAAM,iBAAiB,CAAC;AAIlF,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAC,2BAA2B,EAAC,MAAM,mBAAmB,CAAC;;;;AAE9D,MAAM,WAAW,0BAA0B;IACvC,IAAI,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAC7D;AAED,qBAGa,mBAAmB;gBAEA,OAAO,EAAE,sBAAsB,EAAE,EAAE,EAC7B,UAAU,EAAE,2BAA2B,EAAE,EAAE,EACzE,QAAQ,EAAE,eAAe;WAMf,QAAQ,CAAC,EACnB,IAAI,EACJ,OAAO,GACV,EAAE,0BAA0B,GAAG,mBAAmB,CAAC,mBAAmB,CAAC;yCAb/D,mBAAmB;0CAAnB,mBAAmB;0CAAnB,mBAAmB;CAkC/B"} | ||
| {"version":3,"file":"microzord-host.module.d.ts","sourceRoot":"","sources":["../../../../libs/angular/src/lib/microzord-host.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,mBAAmB,EAAW,MAAM,eAAe,CAAC;AACpE,OAAO,EAAC,sBAAsB,EAAC,MAAM,iBAAiB,CAAC;AAIvD,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAC,0BAA0B,EAAE,2BAA2B,EAAC,MAAM,mBAAmB,CAAC;;;;AAE1F;;GAEG;AACH,qBAGa,mBAAmB;gBAEA,OAAO,EAAE,sBAAsB,EAAE,EAAE,EAC7B,UAAU,EAAE,2BAA2B,EAAE,EAAE,EACzE,QAAQ,EAAE,eAAe;WAMf,QAAQ,CAAC,EACnB,IAAI,EACJ,OAAO,GACV,EAAE,0BAA0B,GAAG,mBAAmB,CAAC,mBAAmB,CAAC;yCAb/D,mBAAmB;0CAAnB,mBAAmB;0CAAnB,mBAAmB;CAkC/B"} |
| import type { Type } from '@angular/core'; | ||
| import type { EntityRegistrationOptions } from '@microzord/core'; | ||
| import type { AppRegistrationOptions, EntityRegistrationOptions } from '@microzord/core'; | ||
| export interface EntryPoint { | ||
@@ -9,2 +9,10 @@ } | ||
| export type NgModuleRegistrationOptions = EntityRegistrationOptions<Type<MicrozordNgModule>>; | ||
| /** | ||
| * @deprecated use `MicrozordHostModuleOptions` instead | ||
| */ | ||
| export interface MicrozordHostModuleOptions { | ||
| apps?: AppRegistrationOptions[]; | ||
| modules?: Array<EntityRegistrationOptions<Type<unknown>>>; | ||
| } | ||
| export type MicrozordOptions = MicrozordHostModuleOptions; | ||
| //# sourceMappingURL=ng-module.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"ng-module.d.ts","sourceRoot":"","sources":["../../../../../libs/angular/src/lib/types/ng-module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,iBAAiB,CAAC;AAG/D,MAAM,WAAW,UAAU;CAE1B;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAChE,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;CAC5B;AAED,MAAM,MAAM,2BAA2B,GAAG,yBAAyB,CAC/D,IAAI,CAAC,iBAAiB,CAAC,CAC1B,CAAC"} | ||
| {"version":3,"file":"ng-module.d.ts","sourceRoot":"","sources":["../../../../../libs/angular/src/lib/types/ng-module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAC,sBAAsB,EAAE,yBAAyB,EAAC,MAAM,iBAAiB,CAAC;AAGvF,MAAM,WAAW,UAAU;CAE1B;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAChE,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;CAC5B;AAED,MAAM,MAAM,2BAA2B,GAAG,yBAAyB,CAC/D,IAAI,CAAC,iBAAiB,CAAC,CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACvC,IAAI,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAC7D;AAED,MAAM,MAAM,gBAAgB,GAAG,0BAA0B,CAAC"} |
+3
-3
| { | ||
| "name": "@microzord/angular", | ||
| "version": "2.2.1", | ||
| "version": "2.3.0", | ||
| "keywords": [ | ||
@@ -23,3 +23,3 @@ "microfrontends", | ||
| "dependencies": { | ||
| "@microzord/core": "^2.2.1", | ||
| "@microzord/core": "^2.3.0", | ||
| "tslib": ">=2.7.0" | ||
@@ -31,3 +31,3 @@ }, | ||
| "@angular/router": ">=16.0.0", | ||
| "@microzord/core": ">=2.2.1" | ||
| "@microzord/core": ">=2.3.0" | ||
| }, | ||
@@ -34,0 +34,0 @@ "publishConfig": { |
+23
-15
@@ -34,14 +34,17 @@ # <img src="apps/demo/src/assets/images/microzord.png" alt="microzord logo" width="36px"> microzord | ||
| app.module.ts | ||
| app.config.ts | ||
| ```ts | ||
| @NgModule({ | ||
| imports: [ | ||
| MicrozordHostModule.register({ | ||
| export const appConfig: ApplicationConfig = { | ||
| providers: [ | ||
| // ... | ||
| provideMicrozordHost({ | ||
| apps: [ | ||
| { | ||
| name: 'react-menu', | ||
| name: 'remote-header', | ||
| load: () => import('my-app-in-react').then((m) => m.MyHeader), | ||
| }, | ||
| { | ||
| name: 'vue-footer-app', | ||
| name: 'remote-footer', | ||
| load: () => import('my-app-in-angular').then((m) => m.MyFooter), | ||
| }, | ||
@@ -51,4 +54,3 @@ ], | ||
| ], | ||
| }) | ||
| export class AppModule {} | ||
| }; | ||
| ``` | ||
@@ -58,11 +60,17 @@ | ||
| ```ts | ||
| import {Component} from '@angular/core'; | ||
| import {MicrozordAppModule} from '@microzord/angular'; | ||
| @Component({ | ||
| selector: 'app-root', | ||
| imports: [MicrozordAppModule], | ||
| }) | ||
| export class App {} | ||
| ``` | ||
| ```html | ||
| <header microzordApp="react-menu"></header> | ||
| <header [microzordApp]="'remote-header'"></header> | ||
| <div>Any content</div> | ||
| <footer | ||
| microzordApp="vue-footer-app" | ||
| (hook)="onFooterLifecycleEvent($event)" | ||
| ></footer> | ||
| <footer [microzordApp]="'remote-footer'"></footer> | ||
| ``` | ||
@@ -69,0 +77,0 @@ |
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
140324
7.93%56
5.66%826
11.77%155
5.44%Updated