@microzord/angular 1.0.0-alpha.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -4
- package/child/src/create-app.d.ts +2 -2
- package/esm2022/child/index.mjs +3 -0
- package/esm2022/child/microzord-angular-child.mjs +5 -0
- package/esm2022/child/src/create-app.mjs +47 -0
- package/esm2022/child/src/enable-prod-mode.mjs +13 -0
- package/esm2022/index.mjs +9 -0
- package/esm2022/lib/microzord-app/microzord-app.directive.mjs +52 -0
- package/esm2022/lib/microzord-app/microzord-app.module.mjs +16 -0
- package/esm2022/lib/microzord-host.module.mjs +50 -0
- package/esm2022/lib/microzord-module/microzord-ng-compiler.service.mjs +33 -0
- package/esm2022/lib/microzord-module/microzord-ng-module.directive.mjs +53 -0
- package/esm2022/lib/microzord-module/microzord-ng-module.module.mjs +16 -0
- package/esm2022/lib/operators/complete.mjs +6 -0
- package/esm2022/lib/services/registry.service.mjs +20 -0
- package/esm2022/lib/tokens/microzord-apps.mjs +8 -0
- package/esm2022/lib/types/ng-module.mjs +2 -0
- package/esm2022/microzord-angular.mjs +5 -0
- package/fesm2022/microzord-angular-child.mjs +65 -0
- package/fesm2022/microzord-angular-child.mjs.map +1 -0
- package/fesm2022/microzord-angular.mjs +231 -0
- package/fesm2022/microzord-angular.mjs.map +1 -0
- package/lib/microzord-app/microzord-app.directive.d.ts +5 -1
- package/lib/microzord-app/microzord-app.module.d.ts +5 -0
- package/lib/microzord-host.module.d.ts +6 -0
- package/lib/microzord-module/microzord-ng-compiler.service.d.ts +3 -0
- package/lib/microzord-module/microzord-ng-module.directive.d.ts +5 -3
- package/lib/microzord-module/microzord-ng-module.module.d.ts +5 -0
- package/lib/services/registry.service.d.ts +3 -0
- package/lib/types/ng-module.d.ts +1 -1
- package/package.json +29 -17
- package/bundles/microzord-angular-child.umd.js +0 -417
- package/bundles/microzord-angular-child.umd.js.map +0 -1
- package/bundles/microzord-angular.umd.js +0 -612
- package/bundles/microzord-angular.umd.js.map +0 -1
- package/child/microzord-angular-child.d.ts +0 -4
- package/child/microzord-angular-child.metadata.json +0 -1
- package/child/package.json +0 -11
- package/esm2015/child/index.js +0 -3
- package/esm2015/child/index.js.map +0 -1
- package/esm2015/child/index.metadata.json +0 -1
- package/esm2015/child/microzord-angular-child.js +0 -5
- package/esm2015/child/microzord-angular-child.js.map +0 -1
- package/esm2015/child/microzord-angular-child.metadata.json +0 -1
- package/esm2015/child/src/create-app.js +0 -57
- package/esm2015/child/src/create-app.js.map +0 -1
- package/esm2015/child/src/create-app.metadata.json +0 -1
- package/esm2015/child/src/enable-prod-mode.js +0 -13
- package/esm2015/child/src/enable-prod-mode.js.map +0 -1
- package/esm2015/child/src/enable-prod-mode.metadata.json +0 -1
- package/esm2015/index.js +0 -9
- package/esm2015/index.js.map +0 -1
- package/esm2015/index.metadata.json +0 -1
- package/esm2015/lib/microzord-app/microzord-app.directive.js +0 -47
- package/esm2015/lib/microzord-app/microzord-app.directive.js.map +0 -1
- package/esm2015/lib/microzord-app/microzord-app.directive.metadata.json +0 -1
- package/esm2015/lib/microzord-app/microzord-app.module.js +0 -11
- package/esm2015/lib/microzord-app/microzord-app.module.js.map +0 -1
- package/esm2015/lib/microzord-app/microzord-app.module.metadata.json +0 -1
- package/esm2015/lib/microzord-host.module.js +0 -43
- package/esm2015/lib/microzord-host.module.js.map +0 -1
- package/esm2015/lib/microzord-host.module.metadata.json +0 -1
- package/esm2015/lib/microzord-module/microzord-ng-compiler.service.js +0 -39
- package/esm2015/lib/microzord-module/microzord-ng-compiler.service.js.map +0 -1
- package/esm2015/lib/microzord-module/microzord-ng-compiler.service.metadata.json +0 -1
- package/esm2015/lib/microzord-module/microzord-ng-module.directive.js +0 -54
- package/esm2015/lib/microzord-module/microzord-ng-module.directive.js.map +0 -1
- package/esm2015/lib/microzord-module/microzord-ng-module.directive.metadata.json +0 -1
- package/esm2015/lib/microzord-module/microzord-ng-module.module.js +0 -11
- package/esm2015/lib/microzord-module/microzord-ng-module.module.js.map +0 -1
- package/esm2015/lib/microzord-module/microzord-ng-module.module.metadata.json +0 -1
- package/esm2015/lib/operators/complete.js +0 -6
- package/esm2015/lib/operators/complete.js.map +0 -1
- package/esm2015/lib/operators/complete.metadata.json +0 -1
- package/esm2015/lib/services/registry.service.js +0 -18
- package/esm2015/lib/services/registry.service.js.map +0 -1
- package/esm2015/lib/services/registry.service.metadata.json +0 -1
- package/esm2015/lib/tokens/microzord-apps.js +0 -8
- package/esm2015/lib/tokens/microzord-apps.js.map +0 -1
- package/esm2015/lib/tokens/microzord-apps.metadata.json +0 -1
- package/esm2015/lib/types/ng-module.js +0 -2
- package/esm2015/lib/types/ng-module.js.map +0 -1
- package/esm2015/lib/types/ng-module.metadata.json +0 -1
- package/esm2015/microzord-angular.js +0 -6
- package/esm2015/microzord-angular.js.map +0 -1
- package/esm2015/microzord-angular.metadata.json +0 -1
- package/fesm2015/microzord-angular-child.js +0 -75
- package/fesm2015/microzord-angular-child.js.map +0 -1
- package/fesm2015/microzord-angular.js +0 -222
- package/fesm2015/microzord-angular.js.map +0 -1
- package/microzord-angular.d.ts +0 -5
- package/microzord-angular.metadata.json +0 -1
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { NgZone, Directive, Output, Input, NgModule, Injectable, Optional, NgModuleRef, InjectionToken, Inject } from '@angular/core';
|
|
3
|
+
import { constructApp, bootstrapApp, loadEntity, registerEntity } from '@microzord/core';
|
|
4
|
+
import { NEVER, Subject, of, Observable } from 'rxjs';
|
|
5
|
+
import { switchMap, startWith, finalize, tap, catchError, takeUntil, shareReplay, map } from 'rxjs/operators';
|
|
6
|
+
|
|
7
|
+
const complete = (fn) => switchMap((value) => NEVER.pipe(startWith(value), finalize(() => {
|
|
8
|
+
fn(value);
|
|
9
|
+
})));
|
|
10
|
+
|
|
11
|
+
class MicrozordAppDirective {
|
|
12
|
+
set name(appName) {
|
|
13
|
+
this.ngZone.runOutsideAngular(() => this.name$.next(appName));
|
|
14
|
+
}
|
|
15
|
+
constructor(elementRef, ngZone, errorHandler) {
|
|
16
|
+
this.elementRef = elementRef;
|
|
17
|
+
this.ngZone = ngZone;
|
|
18
|
+
this.errorHandler = errorHandler;
|
|
19
|
+
this.destroy$ = new Subject();
|
|
20
|
+
this.name$ = new Subject();
|
|
21
|
+
const app$ = this.name$.pipe(tap(() => NgZone.assertNotInAngularZone()), switchMap(name => (name ? constructApp(name) : of(null))), catchError(error => this.handleError(error)), takeUntil(this.destroy$), shareReplay(1));
|
|
22
|
+
this.application = app$.pipe(complete(app => {
|
|
23
|
+
app?.destroy();
|
|
24
|
+
}), switchMap(name => name
|
|
25
|
+
? bootstrapApp(name, this.elementRef.nativeElement).pipe(catchError(error => this.handleError(error)))
|
|
26
|
+
: of(null)), takeUntil(this.destroy$), shareReplay(1));
|
|
27
|
+
this.hook = app$.pipe(switchMap(app => app
|
|
28
|
+
? new Observable(subscriber => app.onHook(event => subscriber.next(event)))
|
|
29
|
+
: NEVER));
|
|
30
|
+
this.application.subscribe();
|
|
31
|
+
}
|
|
32
|
+
ngOnDestroy() {
|
|
33
|
+
this.destroy$.next();
|
|
34
|
+
this.destroy$.complete();
|
|
35
|
+
}
|
|
36
|
+
handleError(error) {
|
|
37
|
+
this.errorHandler.handleError(error);
|
|
38
|
+
return of(null);
|
|
39
|
+
}
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: MicrozordAppDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ErrorHandler }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
41
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.8", type: MicrozordAppDirective, selector: "[microzordApp]:not(ng-container)", inputs: { name: ["microzordApp", "name"] }, outputs: { hook: "hook", application: "application" }, ngImport: i0 }); }
|
|
42
|
+
}
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: MicrozordAppDirective, decorators: [{
|
|
44
|
+
type: Directive,
|
|
45
|
+
args: [{
|
|
46
|
+
selector: '[microzordApp]:not(ng-container)',
|
|
47
|
+
}]
|
|
48
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ErrorHandler }]; }, propDecorators: { hook: [{
|
|
49
|
+
type: Output
|
|
50
|
+
}], application: [{
|
|
51
|
+
type: Output
|
|
52
|
+
}], name: [{
|
|
53
|
+
type: Input,
|
|
54
|
+
args: ['microzordApp']
|
|
55
|
+
}] } });
|
|
56
|
+
|
|
57
|
+
class MicrozordAppModule {
|
|
58
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: MicrozordAppModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
59
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.8", ngImport: i0, type: MicrozordAppModule, declarations: [MicrozordAppDirective], exports: [MicrozordAppDirective] }); }
|
|
60
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: MicrozordAppModule }); }
|
|
61
|
+
}
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: MicrozordAppModule, decorators: [{
|
|
63
|
+
type: NgModule,
|
|
64
|
+
args: [{
|
|
65
|
+
declarations: [MicrozordAppDirective],
|
|
66
|
+
exports: [MicrozordAppDirective],
|
|
67
|
+
}]
|
|
68
|
+
}] });
|
|
69
|
+
|
|
70
|
+
class MicrozordNgCompilerService {
|
|
71
|
+
constructor(compiler, componentFactoryResolver, injector, viewContainerRef) {
|
|
72
|
+
this.compiler = compiler;
|
|
73
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
74
|
+
this.injector = injector;
|
|
75
|
+
this.viewContainerRef = viewContainerRef;
|
|
76
|
+
}
|
|
77
|
+
async createModule(Module, injector = this.injector) {
|
|
78
|
+
const moduleFactory = await this.compiler.compileModuleAsync(Module);
|
|
79
|
+
return moduleFactory.create(injector);
|
|
80
|
+
}
|
|
81
|
+
async createEntryPoint(moduleRef, injector = this.injector, viewContainerRef = this.viewContainerRef) {
|
|
82
|
+
const componentFactory = this.componentFactoryResolver.resolveComponentFactory(moduleRef.instance.getEntryPoint());
|
|
83
|
+
viewContainerRef.clear();
|
|
84
|
+
return viewContainerRef.createComponent(componentFactory, undefined, injector, [], moduleRef);
|
|
85
|
+
}
|
|
86
|
+
async createEntryPointFromModule(Module, injector = this.injector, viewContainerRef = this.viewContainerRef) {
|
|
87
|
+
const moduleRef = await this.createModule(Module, injector);
|
|
88
|
+
return this.createEntryPoint(moduleRef, injector, viewContainerRef);
|
|
89
|
+
}
|
|
90
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: MicrozordNgCompilerService, deps: [{ token: i0.Compiler }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector, optional: true }, { token: i0.ViewContainerRef, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
91
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: MicrozordNgCompilerService }); }
|
|
92
|
+
}
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: MicrozordNgCompilerService, decorators: [{
|
|
94
|
+
type: Injectable
|
|
95
|
+
}], ctorParameters: function () { return [{ type: i0.Compiler }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector, decorators: [{
|
|
96
|
+
type: Optional
|
|
97
|
+
}] }, { type: i0.ViewContainerRef, decorators: [{
|
|
98
|
+
type: Optional
|
|
99
|
+
}] }]; } });
|
|
100
|
+
|
|
101
|
+
class MicrozordNgModuleDirective {
|
|
102
|
+
set name(moduleName) {
|
|
103
|
+
this.ngZone.runOutsideAngular(() => this.name$.next(moduleName));
|
|
104
|
+
}
|
|
105
|
+
constructor(ngZone, mzNgCompiler, errorHandler) {
|
|
106
|
+
this.ngZone = ngZone;
|
|
107
|
+
this.mzNgCompiler = mzNgCompiler;
|
|
108
|
+
this.errorHandler = errorHandler;
|
|
109
|
+
this.name$ = new Subject();
|
|
110
|
+
this.destroy$ = new Subject();
|
|
111
|
+
this.module = this.name$.pipe(tap(() => NgZone.assertNotInAngularZone()), switchMap(name => name
|
|
112
|
+
? this.loadModuleAndBootstrap(name).pipe(catchError(error => {
|
|
113
|
+
this.errorHandler.handleError(error);
|
|
114
|
+
return of(null);
|
|
115
|
+
}))
|
|
116
|
+
: of(null)), map(componentRef => componentRef?.injector.get(NgModuleRef) ?? null), shareReplay(1), takeUntil(this.destroy$));
|
|
117
|
+
this.module.subscribe();
|
|
118
|
+
}
|
|
119
|
+
loadModuleAndBootstrap(name) {
|
|
120
|
+
return loadEntity(name).pipe(switchMap(Module => this.mzNgCompiler.createEntryPointFromModule(Module)), complete(componentRef => this.destroyComponentAndModule(componentRef)));
|
|
121
|
+
}
|
|
122
|
+
destroyComponentAndModule(componentRef) {
|
|
123
|
+
componentRef.destroy();
|
|
124
|
+
componentRef.injector.get(NgModuleRef).destroy();
|
|
125
|
+
}
|
|
126
|
+
ngOnDestroy() {
|
|
127
|
+
this.destroy$.next();
|
|
128
|
+
this.destroy$.complete();
|
|
129
|
+
}
|
|
130
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: MicrozordNgModuleDirective, deps: [{ token: i0.NgZone }, { token: MicrozordNgCompilerService }, { token: i0.ErrorHandler }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
131
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.8", type: MicrozordNgModuleDirective, selector: "[microzordNgModule]", inputs: { name: ["microzordNgModule", "name"] }, outputs: { module: "module" }, providers: [MicrozordNgCompilerService], ngImport: i0 }); }
|
|
132
|
+
}
|
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: MicrozordNgModuleDirective, decorators: [{
|
|
134
|
+
type: Directive,
|
|
135
|
+
args: [{
|
|
136
|
+
selector: '[microzordNgModule]',
|
|
137
|
+
providers: [MicrozordNgCompilerService],
|
|
138
|
+
}]
|
|
139
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: MicrozordNgCompilerService }, { type: i0.ErrorHandler }]; }, propDecorators: { module: [{
|
|
140
|
+
type: Output
|
|
141
|
+
}], name: [{
|
|
142
|
+
type: Input,
|
|
143
|
+
args: ['microzordNgModule']
|
|
144
|
+
}] } });
|
|
145
|
+
|
|
146
|
+
class MicrozordNgModuleModule {
|
|
147
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: MicrozordNgModuleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
148
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.8", ngImport: i0, type: MicrozordNgModuleModule, declarations: [MicrozordNgModuleDirective], exports: [MicrozordNgModuleDirective] }); }
|
|
149
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: MicrozordNgModuleModule }); }
|
|
150
|
+
}
|
|
151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: MicrozordNgModuleModule, decorators: [{
|
|
152
|
+
type: NgModule,
|
|
153
|
+
args: [{
|
|
154
|
+
declarations: [MicrozordNgModuleDirective],
|
|
155
|
+
exports: [MicrozordNgModuleDirective],
|
|
156
|
+
}]
|
|
157
|
+
}] });
|
|
158
|
+
|
|
159
|
+
const MICROZORD_APPS = new InjectionToken('Microzord apps', {
|
|
160
|
+
factory: () => [],
|
|
161
|
+
});
|
|
162
|
+
const MICROZORD_NG_MODULES = new InjectionToken('Microzord Angular modules', {
|
|
163
|
+
factory: () => [],
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
class RegistryService {
|
|
167
|
+
registerMany(apps) {
|
|
168
|
+
apps.forEach(app => this.register(app));
|
|
169
|
+
}
|
|
170
|
+
register(options) {
|
|
171
|
+
registerEntity(options);
|
|
172
|
+
}
|
|
173
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: RegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
174
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: RegistryService, providedIn: 'root' }); }
|
|
175
|
+
}
|
|
176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: RegistryService, decorators: [{
|
|
177
|
+
type: Injectable,
|
|
178
|
+
args: [{
|
|
179
|
+
providedIn: 'root',
|
|
180
|
+
}]
|
|
181
|
+
}] });
|
|
182
|
+
|
|
183
|
+
class MicrozordHostModule {
|
|
184
|
+
constructor(allApps, allModules, registry) {
|
|
185
|
+
allApps.forEach(apps => registry.registerMany(apps));
|
|
186
|
+
allModules.forEach(modules => registry.registerMany(modules));
|
|
187
|
+
}
|
|
188
|
+
static register({ apps, modules, }) {
|
|
189
|
+
return {
|
|
190
|
+
ngModule: MicrozordHostModule,
|
|
191
|
+
providers: [
|
|
192
|
+
apps
|
|
193
|
+
? {
|
|
194
|
+
provide: MICROZORD_APPS,
|
|
195
|
+
useValue: apps,
|
|
196
|
+
multi: true,
|
|
197
|
+
}
|
|
198
|
+
: [],
|
|
199
|
+
modules
|
|
200
|
+
? {
|
|
201
|
+
provide: MICROZORD_NG_MODULES,
|
|
202
|
+
useValue: modules,
|
|
203
|
+
multi: true,
|
|
204
|
+
}
|
|
205
|
+
: [],
|
|
206
|
+
],
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: MicrozordHostModule, deps: [{ token: MICROZORD_APPS }, { token: MICROZORD_NG_MODULES }, { token: RegistryService }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
210
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.8", ngImport: i0, type: MicrozordHostModule, exports: [MicrozordAppModule, MicrozordNgModuleModule] }); }
|
|
211
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: MicrozordHostModule, imports: [MicrozordAppModule, MicrozordNgModuleModule] }); }
|
|
212
|
+
}
|
|
213
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: MicrozordHostModule, decorators: [{
|
|
214
|
+
type: NgModule,
|
|
215
|
+
args: [{
|
|
216
|
+
exports: [MicrozordAppModule, MicrozordNgModuleModule],
|
|
217
|
+
}]
|
|
218
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
219
|
+
type: Inject,
|
|
220
|
+
args: [MICROZORD_APPS]
|
|
221
|
+
}] }, { type: undefined, decorators: [{
|
|
222
|
+
type: Inject,
|
|
223
|
+
args: [MICROZORD_NG_MODULES]
|
|
224
|
+
}] }, { type: RegistryService }]; } });
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Generated bundle index. Do not edit.
|
|
228
|
+
*/
|
|
229
|
+
|
|
230
|
+
export { MICROZORD_APPS, MICROZORD_NG_MODULES, MicrozordAppDirective, MicrozordAppModule, MicrozordHostModule, MicrozordNgModuleDirective, MicrozordNgModuleModule, RegistryService };
|
|
231
|
+
//# sourceMappingURL=microzord-angular.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
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/tokens/microzord-apps.ts","../../../../libs/angular/src/lib/services/registry.service.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 MicrozordLifecycleEvent,\n bootstrapApp,\n constructApp,\n} from '@microzord/core';\nimport {NEVER, Observable, Subject, of} from 'rxjs';\nimport {catchError, shareReplay, switchMap, takeUntil, tap} from 'rxjs/operators';\nimport {complete} from '../operators/complete';\n\n@Directive({\n selector: '[microzordApp]:not(ng-container)',\n})\nexport class MicrozordAppDirective implements OnDestroy {\n @Output()\n hook: Observable<MicrozordLifecycleEvent>;\n\n @Output()\n application: Observable<Application | null>;\n\n @Input('microzordApp')\n set name(appName: string) {\n this.ngZone.runOutsideAngular(() => this.name$.next(appName));\n }\n\n private destroy$ = new Subject<void>();\n private name$ = new Subject<string>();\n\n constructor(\n private elementRef: ElementRef,\n private ngZone: NgZone,\n private 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 ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private handleError(error: unknown): Observable<null> {\n this.errorHandler.handleError(error);\n return of(null);\n }\n}\n","import {NgModule} from '@angular/core';\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';\nimport {EntryPoint, MicrozordNgModule} from '../types/ng-module';\n\n@Injectable()\nexport class MicrozordNgCompilerService {\n constructor(\n private compiler: Compiler,\n private componentFactoryResolver: ComponentFactoryResolver,\n @Optional()\n private injector: Injector,\n @Optional()\n private viewContainerRef: ViewContainerRef,\n ) {}\n\n 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 return moduleFactory.create(injector);\n }\n\n 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 return viewContainerRef.createComponent(\n componentFactory,\n undefined,\n injector,\n [],\n moduleRef,\n );\n }\n\n 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 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 {Observable, of, Subject} from 'rxjs';\nimport {catchError, map, shareReplay, switchMap, takeUntil, tap} from 'rxjs/operators';\nimport {loadEntity} from '@microzord/core';\nimport {EntryPoint, MicrozordNgModule} from '../types/ng-module';\nimport {complete} from '../operators/complete';\nimport {MicrozordNgCompilerService} from './microzord-ng-compiler.service';\n\n@Directive({\n selector: '[microzordNgModule]',\n providers: [MicrozordNgCompilerService],\n})\nexport class MicrozordNgModuleDirective implements OnDestroy {\n private name$ = new Subject<string | null>();\n private destroy$ = new Subject<void>();\n\n @Output()\n module: Observable<NgModuleRef<any> | null>;\n\n @Input('microzordNgModule')\n set name(moduleName: string | null) {\n this.ngZone.runOutsideAngular(() => this.name$.next(moduleName));\n }\n\n constructor(\n private ngZone: NgZone,\n private mzNgCompiler: MicrozordNgCompilerService,\n private 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 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<any, MicrozordNgModule>(name).pipe(\n switchMap(Module => this.mzNgCompiler.createEntryPointFromModule(Module)),\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 ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import {NgModule} from '@angular/core';\nimport {MicrozordNgModuleDirective} from './microzord-ng-module.directive';\n\n@NgModule({\n declarations: [MicrozordNgModuleDirective],\n exports: [MicrozordNgModuleDirective],\n})\nexport class MicrozordNgModuleModule {}\n","import {AppRegistrationOptions} from '@microzord/core';\nimport {InjectionToken} from '@angular/core';\nimport {NgModuleRegistrationOptions} from '../types/ng-module';\n\nexport const MICROZORD_APPS = new InjectionToken<AppRegistrationOptions[][]>(\n 'Microzord apps',\n {\n factory: () => [],\n },\n);\n\nexport const MICROZORD_NG_MODULES = new InjectionToken<NgModuleRegistrationOptions[][]>(\n 'Microzord Angular modules',\n {\n factory: () => [],\n },\n);\n","import {Injectable} from '@angular/core';\nimport {AppRegistrationOptions, registerEntity} from '@microzord/core';\nimport {NgModuleRegistrationOptions} from '../types/ng-module';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RegistryService {\n registerMany(\n apps: ReadonlyArray<AppRegistrationOptions | NgModuleRegistrationOptions>,\n ) {\n apps.forEach(app => this.register(app));\n }\n\n register(options: AppRegistrationOptions | NgModuleRegistrationOptions) {\n registerEntity(options);\n }\n}\n","import {Inject, ModuleWithProviders, NgModule, Type} from '@angular/core';\nimport {AppRegistrationOptions, EntityRegistrationOptions} from '@microzord/core';\n\nimport {MICROZORD_APPS, MICROZORD_NG_MODULES} from './tokens/microzord-apps';\nimport {RegistryService} from './services/registry.service';\nimport {MicrozordAppModule} from './microzord-app/microzord-app.module';\nimport {MicrozordNgModuleModule} from './microzord-module/microzord-ng-module.module';\nimport {NgModuleRegistrationOptions} from './types/ng-module';\n\nexport interface MicrozordHostModuleOptions {\n apps?: AppRegistrationOptions[];\n modules?: EntityRegistrationOptions<Type<any>>[];\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 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,KAChD,SAAS,CAAC,CAAC,KAAQ,KACjB,KAAK,CAAC,IAAI,CACR,SAAS,CAAC,KAAK,CAAC,EAChB,QAAQ,CAAC,MAAK;IACZ,EAAE,CAAC,KAAK,CAAC,CAAC;AACZ,CAAC,CAAC,CACH,CACF;;MCWU,qBAAqB,CAAA;IAOhC,IACI,IAAI,CAAC,OAAe,EAAA;AACtB,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;KAC/D;AAKD,IAAA,WAAA,CACU,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;AAN5B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;AAC/B,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,OAAO,EAAU,CAAC;AAOpC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAC1B,GAAG,CAAC,MAAM,MAAM,CAAC,sBAAsB,EAAE,CAAC,EAC1C,SAAS,CAAC,IAAI,KAAK,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EACzD,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAC5C,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxB,WAAW,CAAC,CAAC,CAAC,CACf,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAC1B,QAAQ,CAAC,GAAG,IAAG;YACb,GAAG,EAAE,OAAO,EAAE,CAAC;SAChB,CAAC,EACF,SAAS,CAAC,IAAI,IACZ,IAAI;cACA,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CACpD,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAC7C;AACH,cAAE,EAAE,CAAC,IAAI,CAAC,CACb,EACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxB,WAAW,CAAC,CAAC,CAAC,CACf,CAAC;AAEF,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CACnB,SAAS,CAAC,GAAG,IACX,GAAG;cACC,IAAI,UAAU,CAA0B,UAAU,IAChD,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;AACH,cAAE,KAAK,CACV,CACF,CAAC;AAEF,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;KAC9B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;AAEO,IAAA,WAAW,CAAC,KAAc,EAAA;AAChC,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACrC,QAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;KACjB;8GAhEU,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;kGAArB,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;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kCAAkC;AAC7C,iBAAA,CAAA;iJAGC,IAAI,EAAA,CAAA;sBADH,MAAM;gBAIP,WAAW,EAAA,CAAA;sBADV,MAAM;gBAIH,IAAI,EAAA,CAAA;sBADP,KAAK;uBAAC,cAAc,CAAA;;;MCtBV,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAlB,kBAAkB,EAAA,YAAA,EAAA,CAHd,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAC1B,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAEpB,kBAAkB,EAAA,CAAA,CAAA,EAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;oBACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACjC,iBAAA,CAAA;;;MCQY,0BAA0B,CAAA;AACrC,IAAA,WAAA,CACU,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;KACxC;IAEJ,MAAM,YAAY,CAGhB,MAAe,EAAE,QAAqB,GAAA,IAAI,CAAC,QAAQ,EAAA;QACnD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACrE,QAAA,OAAO,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;KACvC;AAED,IAAA,MAAM,gBAAgB,CAIpB,SAAyB,EACzB,QAAA,GAAqB,IAAI,CAAC,QAAQ,EAClC,gBAAqC,GAAA,IAAI,CAAC,gBAAgB,EAAA;AAE1D,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAC5E,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,CACnC,CAAC;QAEF,gBAAgB,CAAC,KAAK,EAAE,CAAC;AACzB,QAAA,OAAO,gBAAgB,CAAC,eAAe,CACrC,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,EAAE,EACF,SAAS,CACV,CAAC;KACH;AAED,IAAA,MAAM,0BAA0B,CAI9B,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;QAC5D,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;KACrE;8GAlDU,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;kHAA1B,0BAA0B,EAAA,CAAA,CAAA,EAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;;0BAKN,QAAQ;;0BAER,QAAQ;;;MCCA,0BAA0B,CAAA;IAOrC,IACI,IAAI,CAAC,UAAyB,EAAA;AAChC,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;KAClE;AAED,IAAA,WAAA,CACU,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;AAd5B,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,OAAO,EAAiB,CAAC;AACrC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;QAerC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAC3B,GAAG,CAAC,MAAM,MAAM,CAAC,sBAAsB,EAAE,CAAC,EAC1C,SAAS,CAAC,IAAI,IACZ,IAAI;AACF,cAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,IAAI,CACpC,UAAU,CAAC,KAAK,IAAG;AACjB,gBAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACrC,gBAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AAClB,aAAC,CAAC,CACH;AACH,cAAE,EAAE,CAAC,IAAI,CAAC,CACb,EACD,GAAG,CAAC,YAAY,IAAI,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,EACpE,WAAW,CAAC,CAAC,CAAC,EACd,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACzB,CAAC;AAEF,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;KACzB;AAEO,IAAA,sBAAsB,CAAC,IAAY,EAAA;AACzC,QAAA,OAAO,UAAU,CAAyB,IAAI,CAAC,CAAC,IAAI,CAClD,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,EACzE,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC,CACvE,CAAC;KACH;AAEO,IAAA,yBAAyB,CAC/B,YAA6B,EAAA;QAE7B,YAAY,CAAC,OAAO,EAAE,CAAC;QACvB,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;KAClD;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;8GAtDU,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;kGAA1B,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,EAF1B,CAAC,0BAA0B,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAE5B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;oBAC/B,SAAS,EAAE,CAAC,0BAA0B,CAAC;AACxC,iBAAA,CAAA;8JAMC,MAAM,EAAA,CAAA;sBADL,MAAM;gBAIH,IAAI,EAAA,CAAA;sBADP,KAAK;uBAAC,mBAAmB,CAAA;;;MCrBf,uBAAuB,CAAA;8GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAvB,uBAAuB,EAAA,YAAA,EAAA,CAHnB,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAC/B,0BAA0B,CAAA,EAAA,CAAA,CAAA,EAAA;+GAEzB,uBAAuB,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,0BAA0B,CAAC;oBAC1C,OAAO,EAAE,CAAC,0BAA0B,CAAC;AACtC,iBAAA,CAAA;;;MCFY,cAAc,GAAG,IAAI,cAAc,CAC9C,gBAAgB,EAChB;AACE,IAAA,OAAO,EAAE,MAAM,EAAE;AAClB,CAAA,EACD;MAEW,oBAAoB,GAAG,IAAI,cAAc,CACpD,2BAA2B,EAC3B;AACE,IAAA,OAAO,EAAE,MAAM,EAAE;AAClB,CAAA;;MCRU,eAAe,CAAA;AAC1B,IAAA,YAAY,CACV,IAAyE,EAAA;AAEzE,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;KACzC;AAED,IAAA,QAAQ,CAAC,OAA6D,EAAA;QACpE,cAAc,CAAC,OAAO,CAAC,CAAC;KACzB;8GATU,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,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCWY,mBAAmB,CAAA;AAC9B,IAAA,WAAA,CAC0B,OAAmC,EAC7B,UAA2C,EACzE,QAAyB,EAAA;AAEzB,QAAA,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD,QAAA,UAAU,CAAC,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;KAC/D;AAED,IAAA,OAAO,QAAQ,CAAC,EACd,IAAI,EACJ,OAAO,GACoB,EAAA;QAC3B,OAAO;AACL,YAAA,QAAQ,EAAE,mBAAmB;AAC7B,YAAA,SAAS,EAAE;gBACT,IAAI;AACF,sBAAE;AACE,wBAAA,OAAO,EAAE,cAAc;AACvB,wBAAA,QAAQ,EAAE,IAAI;AACd,wBAAA,KAAK,EAAE,IAAI;AACZ,qBAAA;AACH,sBAAE,EAAE;gBACN,OAAO;AACL,sBAAE;AACE,wBAAA,OAAO,EAAE,oBAAoB;AAC7B,wBAAA,QAAQ,EAAE,OAAO;AACjB,wBAAA,KAAK,EAAE,IAAI;AACZ,qBAAA;AACH,sBAAE,EAAE;AACP,aAAA;SACF,CAAC;KACH;8GAjCU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAEpB,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;+GAHnB,mBAAmB,EAAA,OAAA,EAAA,CAFpB,kBAAkB,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAE1C,mBAAmB,EAAA,OAAA,EAAA,CAFpB,kBAAkB,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAE1C,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;AACvD,iBAAA,CAAA;;0BAGI,MAAM;2BAAC,cAAc,CAAA;;0BACrB,MAAM;2BAAC,oBAAoB,CAAA;;;ACpBhC;;AAEG;;;;"}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import { ElementRef, ErrorHandler, NgZone, OnDestroy } from '@angular/core';
|
|
2
2
|
import { Application, MicrozordLifecycleEvent } from '@microzord/core';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class MicrozordAppDirective implements OnDestroy {
|
|
5
6
|
private elementRef;
|
|
6
7
|
private ngZone;
|
|
7
8
|
private errorHandler;
|
|
8
9
|
hook: Observable<MicrozordLifecycleEvent>;
|
|
9
10
|
application: Observable<Application | null>;
|
|
11
|
+
set name(appName: string);
|
|
10
12
|
private destroy$;
|
|
11
13
|
private name$;
|
|
12
14
|
constructor(elementRef: ElementRef, ngZone: NgZone, errorHandler: ErrorHandler);
|
|
13
|
-
set name(appName: string);
|
|
14
15
|
ngOnDestroy(): void;
|
|
16
|
+
private handleError;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MicrozordAppDirective, never>;
|
|
18
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MicrozordAppDirective, "[microzordApp]:not(ng-container)", never, { "name": { "alias": "microzordApp"; "required": false; }; }, { "hook": "hook"; "application": "application"; }, never, never, false, never>;
|
|
15
19
|
}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./microzord-app.directive";
|
|
1
3
|
export declare class MicrozordAppModule {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MicrozordAppModule, never>;
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<MicrozordAppModule, [typeof i1.MicrozordAppDirective], never, [typeof i1.MicrozordAppDirective]>;
|
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<MicrozordAppModule>;
|
|
2
7
|
}
|
|
@@ -2,6 +2,9 @@ import { ModuleWithProviders, Type } from '@angular/core';
|
|
|
2
2
|
import { AppRegistrationOptions, EntityRegistrationOptions } from '@microzord/core';
|
|
3
3
|
import { RegistryService } from './services/registry.service';
|
|
4
4
|
import { NgModuleRegistrationOptions } from './types/ng-module';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./microzord-app/microzord-app.module";
|
|
7
|
+
import * as i2 from "./microzord-module/microzord-ng-module.module";
|
|
5
8
|
export interface MicrozordHostModuleOptions {
|
|
6
9
|
apps?: AppRegistrationOptions[];
|
|
7
10
|
modules?: EntityRegistrationOptions<Type<any>>[];
|
|
@@ -9,4 +12,7 @@ export interface MicrozordHostModuleOptions {
|
|
|
9
12
|
export declare class MicrozordHostModule {
|
|
10
13
|
constructor(allApps: AppRegistrationOptions[][], allModules: NgModuleRegistrationOptions[][], registry: RegistryService);
|
|
11
14
|
static register({ apps, modules, }: MicrozordHostModuleOptions): ModuleWithProviders<MicrozordHostModule>;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MicrozordHostModule, never>;
|
|
16
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<MicrozordHostModule, never, never, [typeof i1.MicrozordAppModule, typeof i2.MicrozordNgModuleModule]>;
|
|
17
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<MicrozordHostModule>;
|
|
12
18
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Compiler, ComponentFactoryResolver, ComponentRef, Injector, NgModuleRef, Type, ViewContainerRef } from '@angular/core';
|
|
2
2
|
import { EntryPoint, MicrozordNgModule } from '../types/ng-module';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class MicrozordNgCompilerService {
|
|
4
5
|
private compiler;
|
|
5
6
|
private componentFactoryResolver;
|
|
@@ -9,4 +10,6 @@ export declare class MicrozordNgCompilerService {
|
|
|
9
10
|
createModule<T extends EntryPoint = EntryPoint, M extends MicrozordNgModule<T> = MicrozordNgModule<T>>(Module: Type<M>, injector?: Injector): Promise<NgModuleRef<M>>;
|
|
10
11
|
createEntryPoint<T extends EntryPoint = EntryPoint, M extends MicrozordNgModule<T> = MicrozordNgModule<T>>(moduleRef: NgModuleRef<M>, injector?: Injector, viewContainerRef?: ViewContainerRef): Promise<ComponentRef<T>>;
|
|
11
12
|
createEntryPointFromModule<T extends EntryPoint = EntryPoint, M extends MicrozordNgModule<T> = MicrozordNgModule<T>>(Module: Type<M>, injector?: Injector, viewContainerRef?: ViewContainerRef): Promise<ComponentRef<T>>;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MicrozordNgCompilerService, [null, null, { optional: true; }, { optional: true; }]>;
|
|
14
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<MicrozordNgCompilerService>;
|
|
12
15
|
}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ErrorHandler, NgModuleRef, NgZone, OnDestroy } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { MicrozordNgCompilerService } from './microzord-ng-compiler.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class MicrozordNgModuleDirective implements OnDestroy {
|
|
5
6
|
private ngZone;
|
|
6
|
-
private componentFactoryResolver;
|
|
7
7
|
private mzNgCompiler;
|
|
8
8
|
private errorHandler;
|
|
9
9
|
private name$;
|
|
10
10
|
private destroy$;
|
|
11
11
|
module: Observable<NgModuleRef<any> | null>;
|
|
12
|
-
constructor(ngZone: NgZone, componentFactoryResolver: ComponentFactoryResolver, mzNgCompiler: MicrozordNgCompilerService, errorHandler: ErrorHandler);
|
|
13
12
|
set name(moduleName: string | null);
|
|
13
|
+
constructor(ngZone: NgZone, mzNgCompiler: MicrozordNgCompilerService, errorHandler: ErrorHandler);
|
|
14
14
|
private loadModuleAndBootstrap;
|
|
15
15
|
private destroyComponentAndModule;
|
|
16
16
|
ngOnDestroy(): void;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MicrozordNgModuleDirective, never>;
|
|
18
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MicrozordNgModuleDirective, "[microzordNgModule]", never, { "name": { "alias": "microzordNgModule"; "required": false; }; }, { "module": "module"; }, never, never, false, never>;
|
|
17
19
|
}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./microzord-ng-module.directive";
|
|
1
3
|
export declare class MicrozordNgModuleModule {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MicrozordNgModuleModule, never>;
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<MicrozordNgModuleModule, [typeof i1.MicrozordNgModuleDirective], never, [typeof i1.MicrozordNgModuleDirective]>;
|
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<MicrozordNgModuleModule>;
|
|
2
7
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { AppRegistrationOptions } from '@microzord/core';
|
|
2
2
|
import { NgModuleRegistrationOptions } from '../types/ng-module';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class RegistryService {
|
|
4
5
|
registerMany(apps: ReadonlyArray<AppRegistrationOptions | NgModuleRegistrationOptions>): void;
|
|
5
6
|
register(options: AppRegistrationOptions | NgModuleRegistrationOptions): void;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RegistryService, never>;
|
|
8
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<RegistryService>;
|
|
6
9
|
}
|
package/lib/types/ng-module.d.ts
CHANGED
|
@@ -5,4 +5,4 @@ export interface EntryPoint {
|
|
|
5
5
|
export interface MicrozordNgModule<T extends EntryPoint = EntryPoint> {
|
|
6
6
|
getEntryPoint(): Type<T>;
|
|
7
7
|
}
|
|
8
|
-
export
|
|
8
|
+
export type NgModuleRegistrationOptions = EntityRegistrationOptions<Type<MicrozordNgModule>>;
|
package/package.json
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microzord/angular",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "
|
|
6
|
-
"@angular/core": "
|
|
7
|
-
"
|
|
8
|
-
"@angular/router": "12.2.8"
|
|
5
|
+
"@angular/common": ">=16.0.0",
|
|
6
|
+
"@angular/core": ">=16.0.0",
|
|
7
|
+
"@angular/router": ">=16.0.0"
|
|
9
8
|
},
|
|
10
9
|
"dependencies": {
|
|
11
|
-
"tslib": "^2.
|
|
12
|
-
"@microzord/core": "
|
|
10
|
+
"tslib": "^2.6.2",
|
|
11
|
+
"@microzord/core": "2.0.1"
|
|
13
12
|
},
|
|
14
13
|
"publishConfig": {
|
|
15
14
|
"access": "public"
|
|
@@ -31,16 +30,29 @@
|
|
|
31
30
|
],
|
|
32
31
|
"contributors": [
|
|
33
32
|
"Igor Katsuba <katsuba.igor@gmail.ru>",
|
|
34
|
-
"Roman Sedov <79601794011@ya.ru>"
|
|
33
|
+
"Roman Sedov <79601794011@ya.ru>",
|
|
34
|
+
"Vsevolod Arutyunov <sevaru@inbox.ru>"
|
|
35
35
|
],
|
|
36
|
-
"repository": "https://github.com/
|
|
37
|
-
"homepage": "https://github.
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
36
|
+
"repository": "https://github.com/taiga-family/microzord",
|
|
37
|
+
"homepage": "https://taiga-family.github.io/microzord",
|
|
38
|
+
"module": "fesm2022/microzord-angular.mjs",
|
|
39
|
+
"typings": "index.d.ts",
|
|
40
|
+
"exports": {
|
|
41
|
+
"./package.json": {
|
|
42
|
+
"default": "./package.json"
|
|
43
|
+
},
|
|
44
|
+
".": {
|
|
45
|
+
"types": "./index.d.ts",
|
|
46
|
+
"esm2022": "./esm2022/microzord-angular.mjs",
|
|
47
|
+
"esm": "./esm2022/microzord-angular.mjs",
|
|
48
|
+
"default": "./fesm2022/microzord-angular.mjs"
|
|
49
|
+
},
|
|
50
|
+
"./child": {
|
|
51
|
+
"types": "./child/index.d.ts",
|
|
52
|
+
"esm2022": "./esm2022/child/microzord-angular-child.mjs",
|
|
53
|
+
"esm": "./esm2022/child/microzord-angular-child.mjs",
|
|
54
|
+
"default": "./fesm2022/microzord-angular-child.mjs"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
45
57
|
"sideEffects": false
|
|
46
58
|
}
|