@microzord/angular 1.0.0-alpha.1 → 1.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 +3 -4
- package/bundles/microzord-angular-child.umd.js +173 -18
- package/bundles/microzord-angular-child.umd.js.map +1 -1
- package/bundles/microzord-angular.umd.js +664 -44
- package/bundles/microzord-angular.umd.js.map +1 -1
- package/child/src/create-app.d.ts +2 -2
- package/esm2015/child/src/create-app.js.map +1 -1
- package/esm2015/index.js +5 -2
- package/esm2015/index.js.map +1 -1
- package/esm2015/index.metadata.json +1 -1
- package/esm2015/lib/microzord-app/microzord-app.directive.js +51 -0
- package/esm2015/lib/microzord-app/microzord-app.directive.js.map +1 -0
- package/esm2015/lib/microzord-app/microzord-app.directive.metadata.json +1 -0
- package/esm2015/lib/microzord-app/microzord-app.module.js +11 -0
- package/esm2015/lib/microzord-app/microzord-app.module.js.map +1 -0
- package/esm2015/lib/microzord-app/microzord-app.module.metadata.json +1 -0
- package/esm2015/lib/microzord-host.module.js +25 -10
- package/esm2015/lib/microzord-host.module.js.map +1 -1
- package/esm2015/lib/microzord-host.module.metadata.json +1 -1
- package/esm2015/lib/microzord-module/microzord-ng-compiler.service.js +39 -0
- package/esm2015/lib/microzord-module/microzord-ng-compiler.service.js.map +1 -0
- package/esm2015/lib/microzord-module/microzord-ng-compiler.service.metadata.json +1 -0
- package/esm2015/lib/microzord-module/microzord-ng-module.directive.js +52 -0
- package/esm2015/lib/microzord-module/microzord-ng-module.directive.js.map +1 -0
- package/esm2015/lib/microzord-module/microzord-ng-module.directive.metadata.json +1 -0
- package/esm2015/lib/microzord-module/microzord-ng-module.module.js +11 -0
- package/esm2015/lib/microzord-module/microzord-ng-module.module.js.map +1 -0
- package/esm2015/lib/microzord-module/microzord-ng-module.module.metadata.json +1 -0
- package/esm2015/lib/operators/complete.js +6 -0
- package/esm2015/lib/operators/complete.js.map +1 -0
- package/esm2015/lib/operators/complete.metadata.json +1 -0
- package/esm2015/lib/services/registry.service.js +5 -9
- package/esm2015/lib/services/registry.service.js.map +1 -1
- package/esm2015/lib/services/registry.service.metadata.json +1 -1
- package/esm2015/lib/tokens/microzord-apps.js +6 -1
- package/esm2015/lib/tokens/microzord-apps.js.map +1 -1
- package/esm2015/lib/tokens/microzord-apps.metadata.json +1 -1
- package/esm2015/lib/types/ng-module.js +2 -0
- package/esm2015/lib/types/ng-module.js.map +1 -0
- package/esm2015/lib/types/ng-module.metadata.json +1 -0
- package/esm2015/microzord-angular.js +1 -0
- package/esm2015/microzord-angular.js.map +1 -1
- package/esm2015/microzord-angular.metadata.json +1 -1
- package/fesm2015/microzord-angular-child.js.map +1 -1
- package/fesm2015/microzord-angular.js +162 -42
- package/fesm2015/microzord-angular.js.map +1 -1
- package/index.d.ts +6 -2
- package/lib/{microzord/microzord.directive.d.ts → microzord-app/microzord-app.directive.d.ts} +6 -4
- package/lib/microzord-app/microzord-app.module.d.ts +2 -0
- package/lib/microzord-host.module.d.ts +7 -5
- package/lib/microzord-module/microzord-ng-compiler.service.d.ts +12 -0
- package/lib/microzord-module/microzord-ng-module.directive.d.ts +16 -0
- package/lib/microzord-module/microzord-ng-module.module.d.ts +2 -0
- package/lib/operators/complete.d.ts +1 -0
- package/lib/services/registry.service.d.ts +4 -3
- package/lib/tokens/microzord-apps.d.ts +4 -3
- package/lib/types/ng-module.d.ts +8 -0
- package/microzord-angular.d.ts +1 -0
- package/microzord-angular.metadata.json +1 -1
- package/package.json +6 -6
- package/esm2015/lib/microzord/microzord.directive.js +0 -41
- package/esm2015/lib/microzord/microzord.directive.js.map +0 -1
- package/esm2015/lib/microzord/microzord.directive.metadata.json +0 -1
- package/esm2015/lib/microzord/microzord.module.js +0 -11
- package/esm2015/lib/microzord/microzord.module.js.map +0 -1
- package/esm2015/lib/microzord/microzord.module.metadata.json +0 -1
- package/lib/microzord/microzord.module.d.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"microzord-angular.umd.js","sources":["../../../../libs/angular/src/lib/microzord/microzord.directive.ts","../../../../libs/angular/src/lib/microzord/microzord.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 {Directive, ElementRef, Input, NgZone, OnDestroy, Output} from '@angular/core';\nimport {Application, bootstrapApp, MicrozordLifecycleEvent} from '@microzord/core';\nimport {NEVER, Observable, of, Subject} from 'rxjs';\nimport {filter, finalize, startWith, switchMap, takeUntil, tap} from 'rxjs/operators';\n\n@Directive({\n selector: '[microzord]:not(ng-container)',\n})\nexport class MicrozordDirective implements OnDestroy {\n @Output()\n hook: Observable<MicrozordLifecycleEvent>;\n\n @Output()\n application: Observable<Application | null>;\n\n private destroy$ = new Subject<string>();\n private name$ = new Subject<string>();\n\n @Input('microzord')\n set name(appName: string) {\n this.ngZone.runOutsideAngular(() => this.name$.next(appName));\n }\n\n constructor(private elementRef: ElementRef, private ngZone: NgZone) {\n this.application = this.name$.pipe(\n tap(() => NgZone.assertNotInAngularZone()),\n switchMap(name =>\n name\n ? bootstrapApp(name, this.elementRef.nativeElement).pipe(\n switchMap(app =>\n NEVER.pipe(\n startWith(app),\n finalize(() => {\n app.destroy();\n }),\n ),\n ),\n )\n : of(null),\n ),\n takeUntil(this.destroy$),\n );\n\n this.hook = this.application.pipe(\n filter((app => !!app) as (app: unknown) => app is Application),\n switchMap(\n app =>\n new Observable<MicrozordLifecycleEvent>(subscriber =>\n app.onHook(event => subscriber.next(event)),\n ),\n ),\n );\n\n this.application.subscribe();\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import {NgModule} from '@angular/core';\nimport {MicrozordDirective} from './microzord.directive';\n\n@NgModule({\n declarations: [MicrozordDirective],\n exports: [MicrozordDirective],\n})\nexport class MicrozordModule {}\n","import {RegistrationOptions} from '@microzord/core';\nimport {InjectionToken} from '@angular/core';\n\nexport type AppRegistrationOptions = RegistrationOptions;\n\nexport const MICROZORD_APPS = new InjectionToken<AppRegistrationOptions[][]>(\n 'Microzord apps',\n);\n","import {Injectable} from '@angular/core';\nimport {AppRegistrationOptions} from '../tokens/microzord-apps';\nimport {registerApp} from '@microzord/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RegistryService {\n registerApps(apps: AppRegistrationOptions[]) {\n apps.map(app => this.register(app));\n }\n\n register({name, loadApp, props}: AppRegistrationOptions) {\n registerApp({\n name,\n props,\n loadApp,\n });\n }\n}\n","import {Inject, ModuleWithProviders, NgModule} from '@angular/core';\nimport {AppRegistrationOptions, MICROZORD_APPS} from './tokens/microzord-apps';\nimport {RegistryService} from './services/registry.service';\n\nexport interface MicrozordHostModuleOptions {\n apps: AppRegistrationOptions[];\n}\n\n@NgModule({})\nexport class MicrozordHostModule {\n constructor(\n @Inject(MICROZORD_APPS) allApps: AppRegistrationOptions[][],\n registry: RegistryService,\n ) {\n allApps.forEach(apps => registry.registerApps(apps));\n }\n\n static register({\n apps,\n }: MicrozordHostModuleOptions): ModuleWithProviders<MicrozordHostModule> {\n return {\n ngModule: MicrozordHostModule,\n providers: [\n {\n provide: MICROZORD_APPS,\n useValue: apps,\n multi: true,\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Subject","tap","NgZone","switchMap","bootstrapApp","NEVER","startWith","finalize","of","takeUntil","filter","Observable","Directive","ElementRef","Output","Input","NgModule","InjectionToken","registerApp","Injectable","Inject"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"microzord-angular.umd.js","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","../../../../node_modules/tslib/tslib.es6.mjs","../../../../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","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\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\nexport {MicrozordNgCompilerService as ɵa} from './lib/microzord-module/microzord-ng-compiler.service';"],"names":["switchMap","NEVER","startWith","finalize","Subject","tap","NgZone","constructApp","of","catchError","takeUntil","shareReplay","bootstrapApp","Observable","Directive","ElementRef","ErrorHandler","Output","Input","NgModule","Injectable","Compiler","ComponentFactoryResolver","Injector","Optional","ViewContainerRef","map","NgModuleRef","loadEntity","InjectionToken","registerEntity","Inject"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { InjectionToken, NgModuleRef } from '@angular/core';
|
|
1
|
+
import { CompilerOptions, InjectionToken, NgModuleRef } from '@angular/core';
|
|
2
2
|
import { ApplicationConstructor } from '@microzord/core';
|
|
3
3
|
export declare const APP_NAME: InjectionToken<string>;
|
|
4
4
|
export declare const ROOT_SELECTOR: InjectionToken<string>;
|
|
5
|
-
export declare function createApp<
|
|
5
|
+
export declare function createApp<TModule, Props extends Record<string, unknown> = Record<string, unknown>>(bootstrapFn: (props?: CompilerOptions) => Promise<NgModuleRef<TModule>>, rootSelector: string): ApplicationConstructor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-app.js","sourceRoot":"","sources":["../../../../../../libs/angular/child/src/create-app.ts"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create-app.js","sourceRoot":"","sources":["../../../../../../libs/angular/child/src/create-app.ts"],"names":[],"mappings":";AAAA,OAAO,EAAkB,WAAW,EAAE,cAAc,EAAc,MAAM,eAAe,CAAC;AACxF,OAAO,EAAC,WAAW,EAAyB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,uBAAuB,EAAwB,MAAM,iBAAiB,CAAC;AAE/E,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAS,UAAU,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,cAAc,CAAS,eAAe,CAAC,CAAC;AAEzE,mCAAmC;AACnC,MAAM,UAAU,SAAS,CAIvB,WAAuE,EACvE,YAAoB;IAEpB,8DAA8D;IAC9D,MAAM,UAAsD,SAAQ,WAAc;QAAlF;;YACU,WAAM,GAAkB,IAAI,CAAC;YAC7B,aAAQ,GAAgC,IAAI,CAAC;QA0CvD,CAAC;QAxCC,OAAO;YACL,KAAK,CAAC,OAAO,EAAE,CAAC;YAEhB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;YAED,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QAEK,SAAS,CAAC,SAA2B,EAAE,KAAS;;;;;gBACpD,MAAM,gBAAgB,GACpB,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAEhF,IAAI,CAAC,gBAAgB,EAAE;oBACrB,MAAM,IAAI,KAAK,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAC;iBACxD;gBAED,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBAEzD,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBAE1C,IAAI,CAAC,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAE7E,MAAM,OAAM,SAAS,YAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAExC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,YAAY,EAAE,CAAC,CAAC;YACxD,CAAC;SAAA;QAEK,QAAQ,CAAC,GAAW,EAAE,MAA2B;;gBACrD,IAAI,IAAI,CAAC,MAAM,EAAE;oBACf,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;iBACtC;YACH,CAAC;SAAA;QAEK,IAAI,CAAC,IAAoC;;gBAC7C,EAAE;YACJ,CAAC;SAAA;KACF;IAED,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["import {CompilerOptions, InjectFlags, InjectionToken, NgModuleRef} from '@angular/core';\nimport {Application, ApplicationConstructor} from '@microzord/core';\nimport {Router} from '@angular/router';\nimport {MicrozordLifecycleEvent, MicrozordMessageEvent} from '@microzord/core';\n\nexport const APP_NAME = new InjectionToken<string>('App name');\nexport const ROOT_SELECTOR = new InjectionToken<string>('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 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 async bootstrap(container: string | Element, props?: T): Promise<void> {\n const containerElement =\n typeof container === 'string' ? document.querySelector(container) : 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 async navigate(url: string, _props: unknown | undefined): Promise<void> {\n if (this.router) {\n await this.router.navigateByUrl(url);\n }\n }\n\n async send(_msg: string | MicrozordMessageEvent): Promise<void> {\n //\n }\n }\n\n return AngularApp;\n}\n"]}
|
package/esm2015/index.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
export * from './lib/microzord/microzord.directive';
|
|
2
|
-
export * from './lib/microzord/microzord.module';
|
|
1
|
+
export * from './lib/microzord-app/microzord-app.directive';
|
|
2
|
+
export * from './lib/microzord-app/microzord-app.module';
|
|
3
|
+
export * from './lib/microzord-module/microzord-ng-module.directive';
|
|
4
|
+
export * from './lib/microzord-module/microzord-ng-module.module';
|
|
3
5
|
export * from './lib/microzord-host.module';
|
|
4
6
|
export * from './lib/services/registry.service';
|
|
5
7
|
export * from './lib/tokens/microzord-apps';
|
|
8
|
+
export * from './lib/types/ng-module';
|
|
6
9
|
//# sourceMappingURL=index.js.map
|
package/esm2015/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/angular/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/angular/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC;AAC5D,cAAc,0CAA0C,CAAC;AACzD,cAAc,sDAAsD,CAAC;AACrE,cAAc,mDAAmD,CAAC;AAElE,cAAc,6BAA6B,CAAC;AAE5C,cAAc,iCAAiC,CAAC;AAEhD,cAAc,6BAA6B,CAAC;AAE5C,cAAc,uBAAuB,CAAC","sourcesContent":["export * from './lib/microzord-app/microzord-app.directive';\nexport * from './lib/microzord-app/microzord-app.module';\nexport * from './lib/microzord-module/microzord-ng-module.directive';\nexport * from './lib/microzord-module/microzord-ng-module.module';\n\nexport * from './lib/microzord-host.module';\n\nexport * from './lib/services/registry.service';\n\nexport * from './lib/tokens/microzord-apps';\n\nexport * from './lib/types/ng-module';\n\nexport {AppRegistrationOptions} from '@microzord/core';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{},"exports":[{"from":"./lib/microzord/microzord.directive"},{"from":"./lib/microzord/microzord.module"},{"from":"./lib/microzord-host.module"},{"from":"./lib/services/registry.service"},{"from":"./lib/tokens/microzord-apps"}]}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{},"exports":[{"from":"./lib/microzord-app/microzord-app.directive"},{"from":"./lib/microzord-app/microzord-app.module"},{"from":"./lib/microzord-module/microzord-ng-module.directive"},{"from":"./lib/microzord-module/microzord-ng-module.module"},{"from":"./lib/microzord-host.module"},{"from":"./lib/services/registry.service"},{"from":"./lib/tokens/microzord-apps"},{"from":"./lib/types/ng-module"},{"from":"@microzord/core","export":["AppRegistrationOptions"]}]}]
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Directive, ElementRef, ErrorHandler, Input, NgZone, Output, } from '@angular/core';
|
|
2
|
+
import { bootstrapApp, constructApp, } from '@microzord/core';
|
|
3
|
+
import { NEVER, Observable, Subject, of } from 'rxjs';
|
|
4
|
+
import { catchError, shareReplay, switchMap, takeUntil, tap } from 'rxjs/operators';
|
|
5
|
+
import { complete } from '../operators/complete';
|
|
6
|
+
export class MicrozordAppDirective {
|
|
7
|
+
constructor(elementRef, ngZone, errorHandler) {
|
|
8
|
+
this.elementRef = elementRef;
|
|
9
|
+
this.ngZone = ngZone;
|
|
10
|
+
this.errorHandler = errorHandler;
|
|
11
|
+
this.destroy$ = new Subject();
|
|
12
|
+
this.name$ = new Subject();
|
|
13
|
+
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));
|
|
14
|
+
this.application = app$.pipe(complete(app => {
|
|
15
|
+
app === null || app === void 0 ? void 0 : app.destroy();
|
|
16
|
+
}), switchMap(name => name
|
|
17
|
+
? bootstrapApp(name, this.elementRef.nativeElement).pipe(catchError(error => this.handleError(error)))
|
|
18
|
+
: of(null)), takeUntil(this.destroy$), shareReplay(1));
|
|
19
|
+
this.hook = app$.pipe(switchMap(app => app
|
|
20
|
+
? new Observable(subscriber => app.onHook(event => subscriber.next(event)))
|
|
21
|
+
: NEVER));
|
|
22
|
+
this.application.subscribe();
|
|
23
|
+
}
|
|
24
|
+
set name(appName) {
|
|
25
|
+
this.ngZone.runOutsideAngular(() => this.name$.next(appName));
|
|
26
|
+
}
|
|
27
|
+
ngOnDestroy() {
|
|
28
|
+
this.destroy$.next();
|
|
29
|
+
this.destroy$.complete();
|
|
30
|
+
}
|
|
31
|
+
handleError(error) {
|
|
32
|
+
this.errorHandler.handleError(error);
|
|
33
|
+
return of(null);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
MicrozordAppDirective.decorators = [
|
|
37
|
+
{ type: Directive, args: [{
|
|
38
|
+
selector: '[microzordApp]:not(ng-container)',
|
|
39
|
+
},] }
|
|
40
|
+
];
|
|
41
|
+
MicrozordAppDirective.ctorParameters = () => [
|
|
42
|
+
{ type: ElementRef },
|
|
43
|
+
{ type: NgZone },
|
|
44
|
+
{ type: ErrorHandler }
|
|
45
|
+
];
|
|
46
|
+
MicrozordAppDirective.propDecorators = {
|
|
47
|
+
hook: [{ type: Output }],
|
|
48
|
+
application: [{ type: Output }],
|
|
49
|
+
name: [{ type: Input, args: ['microzordApp',] }]
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=microzord-app.directive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microzord-app.directive.js","sourceRoot":"","sources":["../../../../../../libs/angular/src/lib/microzord-app/microzord-app.directive.ts"],"names":[],"mappings":"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","sourcesContent":["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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"MicrozordAppDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":19,"character":1},"arguments":[{"selector":"[microzordApp]:not(ng-container)"}]}],"members":{"hook":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"application":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3},"arguments":["microzordApp"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":38,"character":24},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":39,"character":20},{"__symbolic":"reference","module":"@angular/core","name":"ErrorHandler","line":40,"character":26}]}],"ngOnDestroy":[{"__symbolic":"method"}],"handleError":[{"__symbolic":"method"}]}}}}]
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { MicrozordAppDirective } from './microzord-app.directive';
|
|
3
|
+
export class MicrozordAppModule {
|
|
4
|
+
}
|
|
5
|
+
MicrozordAppModule.decorators = [
|
|
6
|
+
{ type: NgModule, args: [{
|
|
7
|
+
declarations: [MicrozordAppDirective],
|
|
8
|
+
exports: [MicrozordAppDirective],
|
|
9
|
+
},] }
|
|
10
|
+
];
|
|
11
|
+
//# sourceMappingURL=microzord-app.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microzord-app.module.js","sourceRoot":"","sources":["../../../../../../libs/angular/src/lib/microzord-app/microzord-app.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAMhE,MAAM,OAAO,kBAAkB;;;YAJ9B,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;gBACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;aACjC","sourcesContent":["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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"MicrozordAppModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":3,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","module":"./microzord-app.directive","name":"MicrozordAppDirective","line":4,"character":17}],"exports":[{"__symbolic":"reference","module":"./microzord-app.directive","name":"MicrozordAppDirective","line":5,"character":12}]}]}]}}}]
|
|
@@ -1,28 +1,43 @@
|
|
|
1
1
|
import { Inject, NgModule } from '@angular/core';
|
|
2
|
-
import { MICROZORD_APPS } from './tokens/microzord-apps';
|
|
2
|
+
import { MICROZORD_APPS, MICROZORD_NG_MODULES } from './tokens/microzord-apps';
|
|
3
3
|
import { RegistryService } from './services/registry.service';
|
|
4
|
+
import { MicrozordAppModule } from './microzord-app/microzord-app.module';
|
|
5
|
+
import { MicrozordNgModuleModule } from './microzord-module/microzord-ng-module.module';
|
|
4
6
|
export class MicrozordHostModule {
|
|
5
|
-
constructor(allApps, registry) {
|
|
6
|
-
allApps.forEach(apps => registry.
|
|
7
|
+
constructor(allApps, allModules, registry) {
|
|
8
|
+
allApps.forEach(apps => registry.registerMany(apps));
|
|
9
|
+
allModules.forEach(modules => registry.registerMany(modules));
|
|
7
10
|
}
|
|
8
|
-
static register({ apps, }) {
|
|
11
|
+
static register({ apps, modules, }) {
|
|
9
12
|
return {
|
|
10
13
|
ngModule: MicrozordHostModule,
|
|
11
14
|
providers: [
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
apps
|
|
16
|
+
? {
|
|
17
|
+
provide: MICROZORD_APPS,
|
|
18
|
+
useValue: apps,
|
|
19
|
+
multi: true,
|
|
20
|
+
}
|
|
21
|
+
: [],
|
|
22
|
+
modules
|
|
23
|
+
? {
|
|
24
|
+
provide: MICROZORD_NG_MODULES,
|
|
25
|
+
useValue: modules,
|
|
26
|
+
multi: true,
|
|
27
|
+
}
|
|
28
|
+
: [],
|
|
17
29
|
],
|
|
18
30
|
};
|
|
19
31
|
}
|
|
20
32
|
}
|
|
21
33
|
MicrozordHostModule.decorators = [
|
|
22
|
-
{ type: NgModule, args: [{
|
|
34
|
+
{ type: NgModule, args: [{
|
|
35
|
+
exports: [MicrozordAppModule, MicrozordNgModuleModule],
|
|
36
|
+
},] }
|
|
23
37
|
];
|
|
24
38
|
MicrozordHostModule.ctorParameters = () => [
|
|
25
39
|
{ type: Array, decorators: [{ type: Inject, args: [MICROZORD_APPS,] }] },
|
|
40
|
+
{ type: Array, decorators: [{ type: Inject, args: [MICROZORD_NG_MODULES,] }] },
|
|
26
41
|
{ type: RegistryService }
|
|
27
42
|
];
|
|
28
43
|
//# sourceMappingURL=microzord-host.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"microzord-host.module.js","sourceRoot":"","sources":["../../../../../libs/angular/src/lib/microzord-host.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAuB,QAAQ,
|
|
1
|
+
{"version":3,"file":"microzord-host.module.js","sourceRoot":"","sources":["../../../../../libs/angular/src/lib/microzord-host.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAuB,QAAQ,EAAO,MAAM,eAAe,CAAC;AAG1E,OAAO,EAAC,cAAc,EAAE,oBAAoB,EAAC,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAC,uBAAuB,EAAC,MAAM,+CAA+C,CAAC;AAWtF,MAAM,OAAO,mBAAmB;IAC9B,YAC0B,OAAmC,EAC7B,UAA2C,EACzE,QAAyB;QAEzB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,EACd,IAAI,EACJ,OAAO,GACoB;QAC3B,OAAO;YACL,QAAQ,EAAE,mBAAmB;YAC7B,SAAS,EAAE;gBACT,IAAI;oBACF,CAAC,CAAC;wBACE,OAAO,EAAE,cAAc;wBACvB,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE,IAAI;qBACZ;oBACH,CAAC,CAAC,EAAE;gBACN,OAAO;oBACL,CAAC,CAAC;wBACE,OAAO,EAAE,oBAAoB;wBAC7B,QAAQ,EAAE,OAAO;wBACjB,KAAK,EAAE,IAAI;qBACZ;oBACH,CAAC,CAAC,EAAE;aACP;SACF,CAAC;IACJ,CAAC;;;YApCF,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;aACvD;;;wCAGI,MAAM,SAAC,cAAc;wCACrB,MAAM,SAAC,oBAAoB;YAhBxB,eAAe","sourcesContent":["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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"MicrozordHostModuleOptions":{"__symbolic":"interface"},"MicrozordHostModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"MicrozordHostModuleOptions":{"__symbolic":"interface"},"MicrozordHostModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":14,"character":1},"arguments":[{"exports":[{"__symbolic":"reference","module":"./microzord-app/microzord-app.module","name":"MicrozordAppModule","line":15,"character":12},{"__symbolic":"reference","module":"./microzord-module/microzord-ng-module.module","name":"MicrozordNgModuleModule","line":15,"character":32}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":19,"character":5},"arguments":[{"__symbolic":"reference","module":"./tokens/microzord-apps","name":"MICROZORD_APPS","line":19,"character":12}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":20,"character":5},"arguments":[{"__symbolic":"reference","module":"./tokens/microzord-apps","name":"MICROZORD_NG_MODULES","line":20,"character":12}]}],null],"parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","module":"@microzord/core","name":"AppRegistrationOptions","line":19,"character":37}]}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","module":"./types/ng-module","name":"NgModuleRegistrationOptions","line":20,"character":46}]}]},{"__symbolic":"reference","module":"./services/registry.service","name":"RegistryService","line":21,"character":14}]}]},"statics":{"register":{"__symbolic":"function","parameters":["apps","modules"],"value":{"ngModule":{"__symbolic":"reference","name":"MicrozordHostModule"},"providers":[{"__symbolic":"if","condition":{"__symbolic":"reference","name":"apps"},"thenExpression":{"provide":{"__symbolic":"reference","module":"./tokens/microzord-apps","name":"MICROZORD_APPS","line":36,"character":23},"useValue":{"__symbolic":"reference","name":"apps"},"multi":true},"elseExpression":[]},{"__symbolic":"if","condition":{"__symbolic":"reference","name":"modules"},"thenExpression":{"provide":{"__symbolic":"reference","module":"./tokens/microzord-apps","name":"MICROZORD_NG_MODULES","line":43,"character":23},"useValue":{"__symbolic":"reference","name":"modules"},"multi":true},"elseExpression":[]}]}}}}}}]
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Compiler, ComponentFactoryResolver, Injectable, Injector, Optional, ViewContainerRef, } from '@angular/core';
|
|
3
|
+
export class MicrozordNgCompilerService {
|
|
4
|
+
constructor(compiler, componentFactoryResolver, injector, viewContainerRef) {
|
|
5
|
+
this.compiler = compiler;
|
|
6
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
7
|
+
this.injector = injector;
|
|
8
|
+
this.viewContainerRef = viewContainerRef;
|
|
9
|
+
}
|
|
10
|
+
createModule(Module, injector = this.injector) {
|
|
11
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12
|
+
const moduleFactory = yield this.compiler.compileModuleAsync(Module);
|
|
13
|
+
return moduleFactory.create(injector);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
createEntryPoint(moduleRef, injector = this.injector, viewContainerRef = this.viewContainerRef) {
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
const componentFactory = this.componentFactoryResolver.resolveComponentFactory(moduleRef.instance.getEntryPoint());
|
|
19
|
+
viewContainerRef.clear();
|
|
20
|
+
return viewContainerRef.createComponent(componentFactory, undefined, injector, [], moduleRef);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
createEntryPointFromModule(Module, injector = this.injector, viewContainerRef = this.viewContainerRef) {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
const moduleRef = yield this.createModule(Module, injector);
|
|
26
|
+
return this.createEntryPoint(moduleRef, injector, viewContainerRef);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
MicrozordNgCompilerService.decorators = [
|
|
31
|
+
{ type: Injectable }
|
|
32
|
+
];
|
|
33
|
+
MicrozordNgCompilerService.ctorParameters = () => [
|
|
34
|
+
{ type: Compiler },
|
|
35
|
+
{ type: ComponentFactoryResolver },
|
|
36
|
+
{ type: Injector, decorators: [{ type: Optional }] },
|
|
37
|
+
{ type: ViewContainerRef, decorators: [{ type: Optional }] }
|
|
38
|
+
];
|
|
39
|
+
//# sourceMappingURL=microzord-ng-compiler.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microzord-ng-compiler.service.js","sourceRoot":"","sources":["../../../../../../libs/angular/src/lib/microzord-module/microzord-ng-compiler.service.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,QAAQ,EACR,wBAAwB,EAExB,UAAU,EACV,QAAQ,EAER,QAAQ,EAER,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAIvB,MAAM,OAAO,0BAA0B;IACrC,YACU,QAAkB,EAClB,wBAAkD,EAElD,QAAkB,EAElB,gBAAkC;QALlC,aAAQ,GAAR,QAAQ,CAAU;QAClB,6BAAwB,GAAxB,wBAAwB,CAA0B;QAElD,aAAQ,GAAR,QAAQ,CAAU;QAElB,qBAAgB,GAAhB,gBAAgB,CAAkB;IACzC,CAAC;IAEE,YAAY,CAGhB,MAAe,EAAE,WAAqB,IAAI,CAAC,QAAQ;;YACnD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACrE,OAAO,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;KAAA;IAEK,gBAAgB,CAIpB,SAAyB,EACzB,WAAqB,IAAI,CAAC,QAAQ,EAClC,mBAAqC,IAAI,CAAC,gBAAgB;;YAE1D,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAC5E,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,CACnC,CAAC;YAEF,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,gBAAgB,CAAC,eAAe,CACrC,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,EAAE,EACF,SAAS,CACV,CAAC;QACJ,CAAC;KAAA;IAEK,0BAA0B,CAI9B,MAAe,EACf,WAAqB,IAAI,CAAC,QAAQ,EAClC,mBAAqC,IAAI,CAAC,gBAAgB;;YAE1D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACtE,CAAC;KAAA;;;YAnDF,UAAU;;;YAZT,QAAQ;YACR,wBAAwB;YAGxB,QAAQ,uBAaL,QAAQ;YATX,gBAAgB,uBAWb,QAAQ","sourcesContent":["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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"MicrozordNgCompilerService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":13,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":18,"character":5}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":20,"character":5}}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Compiler","line":16,"character":22},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":17,"character":38},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":19,"character":22},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":21,"character":30}]}],"createModule":[{"__symbolic":"method"}],"createEntryPoint":[{"__symbolic":"method"}],"createEntryPointFromModule":[{"__symbolic":"method"}]}}}}]
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Directive, ErrorHandler, Input, NgModuleRef, NgZone, Output, } from '@angular/core';
|
|
2
|
+
import { Observable, of, Subject } from 'rxjs';
|
|
3
|
+
import { catchError, map, shareReplay, switchMap, takeUntil, tap } from 'rxjs/operators';
|
|
4
|
+
import { loadEntity } from '@microzord/core';
|
|
5
|
+
import { complete } from '../operators/complete';
|
|
6
|
+
import { MicrozordNgCompilerService } from './microzord-ng-compiler.service';
|
|
7
|
+
export class MicrozordNgModuleDirective {
|
|
8
|
+
constructor(ngZone, mzNgCompiler, errorHandler) {
|
|
9
|
+
this.ngZone = ngZone;
|
|
10
|
+
this.mzNgCompiler = mzNgCompiler;
|
|
11
|
+
this.errorHandler = errorHandler;
|
|
12
|
+
this.name$ = new Subject();
|
|
13
|
+
this.destroy$ = new Subject();
|
|
14
|
+
this.module = this.name$.pipe(tap(() => NgZone.assertNotInAngularZone()), switchMap(name => name
|
|
15
|
+
? this.loadModuleAndBootstrap(name).pipe(catchError(error => {
|
|
16
|
+
this.errorHandler.handleError(error);
|
|
17
|
+
return of(null);
|
|
18
|
+
}))
|
|
19
|
+
: of(null)), map(componentRef => { var _a; return (_a = componentRef === null || componentRef === void 0 ? void 0 : componentRef.injector.get(NgModuleRef)) !== null && _a !== void 0 ? _a : null; }), shareReplay(1), takeUntil(this.destroy$));
|
|
20
|
+
this.module.subscribe();
|
|
21
|
+
}
|
|
22
|
+
set name(moduleName) {
|
|
23
|
+
this.ngZone.runOutsideAngular(() => this.name$.next(moduleName));
|
|
24
|
+
}
|
|
25
|
+
loadModuleAndBootstrap(name) {
|
|
26
|
+
return loadEntity(name).pipe(switchMap(Module => this.mzNgCompiler.createEntryPointFromModule(Module)), complete(componentRef => this.destroyComponentAndModule(componentRef)));
|
|
27
|
+
}
|
|
28
|
+
destroyComponentAndModule(componentRef) {
|
|
29
|
+
componentRef.destroy();
|
|
30
|
+
componentRef.injector.get(NgModuleRef).destroy();
|
|
31
|
+
}
|
|
32
|
+
ngOnDestroy() {
|
|
33
|
+
this.destroy$.next();
|
|
34
|
+
this.destroy$.complete();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
MicrozordNgModuleDirective.decorators = [
|
|
38
|
+
{ type: Directive, args: [{
|
|
39
|
+
selector: '[microzordNgModule]',
|
|
40
|
+
providers: [MicrozordNgCompilerService],
|
|
41
|
+
},] }
|
|
42
|
+
];
|
|
43
|
+
MicrozordNgModuleDirective.ctorParameters = () => [
|
|
44
|
+
{ type: NgZone },
|
|
45
|
+
{ type: MicrozordNgCompilerService },
|
|
46
|
+
{ type: ErrorHandler }
|
|
47
|
+
];
|
|
48
|
+
MicrozordNgModuleDirective.propDecorators = {
|
|
49
|
+
module: [{ type: Output }],
|
|
50
|
+
name: [{ type: Input, args: ['microzordNgModule',] }]
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=microzord-ng-module.directive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microzord-ng-module.directive.js","sourceRoot":"","sources":["../../../../../../libs/angular/src/lib/microzord-module/microzord-ng-module.directive.ts"],"names":[],"mappings":"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","sourcesContent":["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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"MicrozordNgModuleDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":17,"character":1},"arguments":[{"selector":"[microzordNgModule]","providers":[{"__symbolic":"reference","module":"./microzord-ng-compiler.service","name":"MicrozordNgCompilerService","line":19,"character":14}]}]}],"members":{"module":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3},"arguments":["microzordNgModule"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":34,"character":20},{"__symbolic":"reference","module":"./microzord-ng-compiler.service","name":"MicrozordNgCompilerService","line":35,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"ErrorHandler","line":36,"character":26}]}],"loadModuleAndBootstrap":[{"__symbolic":"method"}],"destroyComponentAndModule":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}}}]
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { MicrozordNgModuleDirective } from './microzord-ng-module.directive';
|
|
3
|
+
export class MicrozordNgModuleModule {
|
|
4
|
+
}
|
|
5
|
+
MicrozordNgModuleModule.decorators = [
|
|
6
|
+
{ type: NgModule, args: [{
|
|
7
|
+
declarations: [MicrozordNgModuleDirective],
|
|
8
|
+
exports: [MicrozordNgModuleDirective],
|
|
9
|
+
},] }
|
|
10
|
+
];
|
|
11
|
+
//# sourceMappingURL=microzord-ng-module.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microzord-ng-module.module.js","sourceRoot":"","sources":["../../../../../../libs/angular/src/lib/microzord-module/microzord-ng-module.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,0BAA0B,EAAC,MAAM,iCAAiC,CAAC;AAM3E,MAAM,OAAO,uBAAuB;;;YAJnC,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,0BAA0B,CAAC;gBAC1C,OAAO,EAAE,CAAC,0BAA0B,CAAC;aACtC","sourcesContent":["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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"MicrozordNgModuleModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":3,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","module":"./microzord-ng-module.directive","name":"MicrozordNgModuleDirective","line":4,"character":17}],"exports":[{"__symbolic":"reference","module":"./microzord-ng-module.directive","name":"MicrozordNgModuleDirective","line":5,"character":12}]}]}]}}}]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"complete.js","sourceRoot":"","sources":["../../../../../../libs/angular/src/lib/operators/complete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,MAAM,CAAC;AAC3B,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAE9D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAI,EAAsB,EAAE,EAAE,CACpD,SAAS,CAAC,CAAC,KAAQ,EAAE,EAAE,CACrB,KAAK,CAAC,IAAI,CACR,SAAS,CAAC,KAAK,CAAC,EAChB,QAAQ,CAAC,GAAG,EAAE;IACZ,EAAE,CAAC,KAAK,CAAC,CAAC;AACZ,CAAC,CAAC,CACH,CACF,CAAC","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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"complete":{"__symbolic":"error","message":"Lambda not supported","line":3,"character":24}}}]
|