@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
|
@@ -1 +0,0 @@
|
|
|
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.js","../../../../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 {Application, bootstrapApp, MicrozordLifecycleEvent} from '@microzord/core';\nimport {NEVER, Observable, of, Subject} from 'rxjs';\nimport {catchError, filter, 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 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 this.application = this.name$.pipe(\n tap(() => NgZone.assertNotInAngularZone()),\n switchMap(name =>\n name\n ? bootstrapApp(name, this.elementRef.nativeElement).pipe(\n complete(app => app.destroy()),\n catchError(error => {\n this.errorHandler.handleError(error);\n return of(null);\n }),\n )\n : of(null),\n ),\n shareReplay(1),\n takeUntil(this.destroy$),\n );\n\n this.hook = this.application.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 @Input('microzordApp')\n set name(appName: string) {\n this.ngZone.runOutsideAngular(() => this.name$.next(appName));\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\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","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\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);\r\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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\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 ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ErrorHandler,\n Input,\n NgModuleRef,\n NgZone,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport {Observable, of, Subject, throwError} 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 @Output()\n module: Observable<NgModuleRef<any> | null>;\n\n constructor(\n private ngZone: NgZone,\n private componentFactoryResolver: ComponentFactoryResolver,\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 @Input('microzordNgModule')\n set name(moduleName: string | null) {\n this.ngZone.runOutsideAngular(() => this.name$.next(moduleName));\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","bootstrapApp","catchError","of","shareReplay","takeUntil","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 +0,0 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"enableProdMode":{"__symbolic":"function"},"APP_NAME":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":5,"character":28},"arguments":["App name"]},"ROOT_SELECTOR":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":6,"character":33},"arguments":["Root selector"]},"createApp":{"__symbolic":"function"}},"origins":{"enableProdMode":"./src/enable-prod-mode","APP_NAME":"./src/create-app","ROOT_SELECTOR":"./src/create-app","createApp":"./src/create-app"},"importAs":"@microzord/angular/child"}
|
package/child/package.json
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"main": "../bundles/microzord-angular-child.umd.js",
|
|
3
|
-
"module": "../fesm2015/microzord-angular-child.js",
|
|
4
|
-
"es2015": "../fesm2015/microzord-angular-child.js",
|
|
5
|
-
"esm2015": "../esm2015/child/microzord-angular-child.js",
|
|
6
|
-
"fesm2015": "../fesm2015/microzord-angular-child.js",
|
|
7
|
-
"typings": "microzord-angular-child.d.ts",
|
|
8
|
-
"metadata": "microzord-angular-child.metadata.json",
|
|
9
|
-
"sideEffects": false,
|
|
10
|
-
"name": "@microzord/angular/child"
|
|
11
|
-
}
|
package/esm2015/child/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/angular/child/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC","sourcesContent":["export * from './src/enable-prod-mode';\nexport * from './src/create-app';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{},"exports":[{"from":"./src/enable-prod-mode"},{"from":"./src/create-app"}]}]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"microzord-angular-child.js","sourceRoot":"","sources":["../../../../../libs/angular/child/microzord-angular-child.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{},"exports":[{"from":"./index"}]}]
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { InjectFlags, InjectionToken } from '@angular/core';
|
|
3
|
-
import { Application } from '@microzord/core';
|
|
4
|
-
import { Router } from '@angular/router';
|
|
5
|
-
import { MicrozordLifecycleEvent } from '@microzord/core';
|
|
6
|
-
export const APP_NAME = new InjectionToken('App name');
|
|
7
|
-
export const ROOT_SELECTOR = new InjectionToken('Root selector');
|
|
8
|
-
// todo: очень грубая имплементация
|
|
9
|
-
export function createApp(bootstrapFn, rootSelector) {
|
|
10
|
-
// todo: не хватает имплементации хуков, сообщений и навигации
|
|
11
|
-
class AngularApp extends Application {
|
|
12
|
-
constructor() {
|
|
13
|
-
super(...arguments);
|
|
14
|
-
this.router = null;
|
|
15
|
-
this.ngModule = null;
|
|
16
|
-
}
|
|
17
|
-
destroy() {
|
|
18
|
-
super.destroy();
|
|
19
|
-
if (this.ngModule) {
|
|
20
|
-
this.ngModule.destroy();
|
|
21
|
-
this.ngModule = null;
|
|
22
|
-
}
|
|
23
|
-
this.emitHook(MicrozordLifecycleEvent.destroyed());
|
|
24
|
-
}
|
|
25
|
-
bootstrap(container, props) {
|
|
26
|
-
const _super = Object.create(null, {
|
|
27
|
-
bootstrap: { get: () => super.bootstrap }
|
|
28
|
-
});
|
|
29
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
const containerElement = typeof container === 'string' ? document.querySelector(container) : container;
|
|
31
|
-
if (!containerElement) {
|
|
32
|
-
throw new Error(`No container found for ${container}`);
|
|
33
|
-
}
|
|
34
|
-
const rootElement = document.createElement(rootSelector);
|
|
35
|
-
containerElement.appendChild(rootElement);
|
|
36
|
-
this.ngModule = yield bootstrapFn(props);
|
|
37
|
-
this.router = this.ngModule.injector.get(Router, null, InjectFlags.Optional);
|
|
38
|
-
yield _super.bootstrap.call(this, container, props);
|
|
39
|
-
this.emitHook(MicrozordLifecycleEvent.bootstrapped());
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
navigate(url, _props) {
|
|
43
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
if (this.router) {
|
|
45
|
-
yield this.router.navigateByUrl(url);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
send(_msg) {
|
|
50
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
-
//
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return AngularApp;
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=create-app.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-app.js","sourceRoot":"","sources":["../../../../../../libs/angular/child/src/create-app.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,WAAW,EAAE,cAAc,EAAc,MAAM,eAAe,CAAC;AACvE,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,CACvB,WAAqD,EACrD,YAAoB;IAEpB,8DAA8D;IAC9D,MAAM,UAAsB,SAAQ,WAAc;QAAlD;;YACU,WAAM,GAAkB,IAAI,CAAC;YAC7B,aAAQ,GAA0B,IAAI,CAAC;QA0CjD,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 {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<M, Props extends Record<string, any> = Record<string, any>>(\n bootstrapFn: (props?: any) => Promise<NgModuleRef<M>>,\n rootSelector: string,\n): ApplicationConstructor {\n // todo: не хватает имплементации хуков, сообщений и навигации\n class AngularApp<T = Props> extends Application<T> {\n private router: Router | null = null;\n private ngModule: NgModuleRef<M> | 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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"APP_NAME":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":5,"character":28},"arguments":["App name"]},"ROOT_SELECTOR":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":6,"character":33},"arguments":["Root selector"]},"createApp":{"__symbolic":"function"}}}]
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { enableProdMode as angularEnableProdMode } from '@angular/core';
|
|
2
|
-
/**
|
|
3
|
-
* Disable Angular's development mode safely
|
|
4
|
-
*/
|
|
5
|
-
export function enableProdMode() {
|
|
6
|
-
try {
|
|
7
|
-
angularEnableProdMode();
|
|
8
|
-
}
|
|
9
|
-
catch (e) {
|
|
10
|
-
//
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=enable-prod-mode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enable-prod-mode.js","sourceRoot":"","sources":["../../../../../../libs/angular/child/src/enable-prod-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,IAAI,qBAAqB,EAAC,MAAM,eAAe,CAAC;AAEtE;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAI;QACF,qBAAqB,EAAE,CAAC;KACzB;IAAC,OAAO,CAAC,EAAE;QACV,EAAE;KACH;AACH,CAAC","sourcesContent":["import {enableProdMode as angularEnableProdMode} from '@angular/core';\n\n/**\n * Disable Angular's development mode safely\n */\nexport function enableProdMode() {\n try {\n angularEnableProdMode();\n } catch (e) {\n //\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"enableProdMode":{"__symbolic":"function"}}}]
|
package/esm2015/index.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
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';
|
|
5
|
-
export * from './lib/microzord-host.module';
|
|
6
|
-
export * from './lib/services/registry.service';
|
|
7
|
-
export * from './lib/tokens/microzord-apps';
|
|
8
|
-
export * from './lib/types/ng-module';
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
package/esm2015/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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"]}]}]
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, ErrorHandler, Input, NgZone, Output, } from '@angular/core';
|
|
2
|
-
import { bootstrapApp } from '@microzord/core';
|
|
3
|
-
import { NEVER, Observable, of, Subject } 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
|
-
this.application = this.name$.pipe(tap(() => NgZone.assertNotInAngularZone()), switchMap(name => name
|
|
14
|
-
? bootstrapApp(name, this.elementRef.nativeElement).pipe(complete(app => app.destroy()), catchError(error => {
|
|
15
|
-
this.errorHandler.handleError(error);
|
|
16
|
-
return of(null);
|
|
17
|
-
}))
|
|
18
|
-
: of(null)), shareReplay(1), takeUntil(this.destroy$));
|
|
19
|
-
this.hook = this.application.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
|
-
}
|
|
32
|
-
MicrozordAppDirective.decorators = [
|
|
33
|
-
{ type: Directive, args: [{
|
|
34
|
-
selector: '[microzordApp]:not(ng-container)',
|
|
35
|
-
},] }
|
|
36
|
-
];
|
|
37
|
-
MicrozordAppDirective.ctorParameters = () => [
|
|
38
|
-
{ type: ElementRef },
|
|
39
|
-
{ type: NgZone },
|
|
40
|
-
{ type: ErrorHandler }
|
|
41
|
-
];
|
|
42
|
-
MicrozordAppDirective.propDecorators = {
|
|
43
|
-
hook: [{ type: Output }],
|
|
44
|
-
application: [{ type: Output }],
|
|
45
|
-
name: [{ type: Input, args: ['microzordApp',] }]
|
|
46
|
-
};
|
|
47
|
-
//# sourceMappingURL=microzord-app.directive.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"microzord-app.directive.js","sourceRoot":"","sources":["../../../../../../libs/angular/src/lib/microzord-app/microzord-app.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,KAAK,EACL,MAAM,EAEN,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAc,YAAY,EAA0B,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAC,MAAM,MAAM,CAAC;AACpD,OAAO,EAAC,UAAU,EAAU,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAC,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAK/C,MAAM,OAAO,qBAAqB;IAUhC,YACU,UAAsB,EACtB,MAAc,EACd,YAA0B;QAF1B,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAQ;QACd,iBAAY,GAAZ,YAAY,CAAc;QAN5B,aAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;QAC/B,UAAK,GAAG,IAAI,OAAO,EAAU,CAAC;QAOpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAChC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,EAC1C,SAAS,CAAC,IAAI,CAAC,EAAE,CACf,IAAI;YACF,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAC9B,UAAU,CAAC,KAAK,CAAC,EAAE;gBACjB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACrC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC,CACH;YACH,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CACb,EACD,WAAW,CAAC,CAAC,CAAC,EACd,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACzB,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAC/B,SAAS,CAAC,GAAG,CAAC,EAAE,CACd,GAAG;YACD,CAAC,CAAC,IAAI,UAAU,CAA0B,UAAU,CAAC,EAAE,CACnD,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;YACH,CAAC,CAAC,KAAK,CACV,CACF,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;IAC/B,CAAC;IAED,IACI,IAAI,CAAC,OAAe;QACtB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,WAAW;QACT,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;;YAxDF,SAAS,SAAC;gBACT,QAAQ,EAAE,kCAAkC;aAC7C;;;YAdC,UAAU;YAGV,MAAM;YAFN,YAAY;;;mBAeX,MAAM;0BAGN,MAAM;mBAyCN,KAAK,SAAC,cAAc","sourcesContent":["import {\n Directive,\n ElementRef,\n ErrorHandler,\n Input,\n NgZone,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport {Application, bootstrapApp, MicrozordLifecycleEvent} from '@microzord/core';\nimport {NEVER, Observable, of, Subject} from 'rxjs';\nimport {catchError, filter, 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 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 this.application = this.name$.pipe(\n tap(() => NgZone.assertNotInAngularZone()),\n switchMap(name =>\n name\n ? bootstrapApp(name, this.elementRef.nativeElement).pipe(\n complete(app => app.destroy()),\n catchError(error => {\n this.errorHandler.handleError(error);\n return of(null);\n }),\n )\n : of(null),\n ),\n shareReplay(1),\n takeUntil(this.destroy$),\n );\n\n this.hook = this.application.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 @Input('microzordApp')\n set name(appName: string) {\n this.ngZone.runOutsideAngular(() => this.name$.next(appName));\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"MicrozordAppDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":14,"character":1},"arguments":[{"selector":"[microzordApp]:not(ng-container)"}]}],"members":{"hook":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":18,"character":3}}]}],"application":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":28,"character":24},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":29,"character":20},{"__symbolic":"reference","module":"@angular/core","name":"ErrorHandler","line":30,"character":26}]}],"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":3},"arguments":["microzordApp"]}]}],"ngOnDestroy":[{"__symbolic":"method"}]}}}}]
|
|
@@ -1,11 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"]}
|
|
@@ -1 +0,0 @@
|
|
|
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,43 +0,0 @@
|
|
|
1
|
-
import { Inject, NgModule } from '@angular/core';
|
|
2
|
-
import { MICROZORD_APPS, MICROZORD_NG_MODULES } from './tokens/microzord-apps';
|
|
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';
|
|
6
|
-
export class MicrozordHostModule {
|
|
7
|
-
constructor(allApps, allModules, registry) {
|
|
8
|
-
allApps.forEach(apps => registry.registerMany(apps));
|
|
9
|
-
allModules.forEach(modules => registry.registerMany(modules));
|
|
10
|
-
}
|
|
11
|
-
static register({ apps, modules, }) {
|
|
12
|
-
return {
|
|
13
|
-
ngModule: MicrozordHostModule,
|
|
14
|
-
providers: [
|
|
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
|
-
: [],
|
|
29
|
-
],
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
MicrozordHostModule.decorators = [
|
|
34
|
-
{ type: NgModule, args: [{
|
|
35
|
-
exports: [MicrozordAppModule, MicrozordNgModuleModule],
|
|
36
|
-
},] }
|
|
37
|
-
];
|
|
38
|
-
MicrozordHostModule.ctorParameters = () => [
|
|
39
|
-
{ type: Array, decorators: [{ type: Inject, args: [MICROZORD_APPS,] }] },
|
|
40
|
-
{ type: Array, decorators: [{ type: Inject, args: [MICROZORD_NG_MODULES,] }] },
|
|
41
|
-
{ type: RegistryService }
|
|
42
|
-
];
|
|
43
|
-
//# sourceMappingURL=microzord-host.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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":[]}]}}}}}}]
|
|
@@ -1,39 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"]}
|
|
@@ -1 +0,0 @@
|
|
|
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"}]}}}}]
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { ComponentFactoryResolver, 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, componentFactoryResolver, mzNgCompiler, errorHandler) {
|
|
9
|
-
this.ngZone = ngZone;
|
|
10
|
-
this.componentFactoryResolver = componentFactoryResolver;
|
|
11
|
-
this.mzNgCompiler = mzNgCompiler;
|
|
12
|
-
this.errorHandler = errorHandler;
|
|
13
|
-
this.name$ = new Subject();
|
|
14
|
-
this.destroy$ = new Subject();
|
|
15
|
-
this.module = this.name$.pipe(tap(() => NgZone.assertNotInAngularZone()), switchMap(name => name
|
|
16
|
-
? this.loadModuleAndBootstrap(name).pipe(catchError(error => {
|
|
17
|
-
this.errorHandler.handleError(error);
|
|
18
|
-
return of(null);
|
|
19
|
-
}))
|
|
20
|
-
: 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$));
|
|
21
|
-
this.module.subscribe();
|
|
22
|
-
}
|
|
23
|
-
set name(moduleName) {
|
|
24
|
-
this.ngZone.runOutsideAngular(() => this.name$.next(moduleName));
|
|
25
|
-
}
|
|
26
|
-
loadModuleAndBootstrap(name) {
|
|
27
|
-
return loadEntity(name).pipe(switchMap(Module => this.mzNgCompiler.createEntryPointFromModule(Module)), complete(componentRef => this.destroyComponentAndModule(componentRef)));
|
|
28
|
-
}
|
|
29
|
-
destroyComponentAndModule(componentRef) {
|
|
30
|
-
componentRef.destroy();
|
|
31
|
-
componentRef.injector.get(NgModuleRef).destroy();
|
|
32
|
-
}
|
|
33
|
-
ngOnDestroy() {
|
|
34
|
-
this.destroy$.next();
|
|
35
|
-
this.destroy$.complete();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
MicrozordNgModuleDirective.decorators = [
|
|
39
|
-
{ type: Directive, args: [{
|
|
40
|
-
selector: '[microzordNgModule]',
|
|
41
|
-
providers: [MicrozordNgCompilerService],
|
|
42
|
-
},] }
|
|
43
|
-
];
|
|
44
|
-
MicrozordNgModuleDirective.ctorParameters = () => [
|
|
45
|
-
{ type: NgZone },
|
|
46
|
-
{ type: ComponentFactoryResolver },
|
|
47
|
-
{ type: MicrozordNgCompilerService },
|
|
48
|
-
{ type: ErrorHandler }
|
|
49
|
-
];
|
|
50
|
-
MicrozordNgModuleDirective.propDecorators = {
|
|
51
|
-
module: [{ type: Output }],
|
|
52
|
-
name: [{ type: Input, args: ['microzordNgModule',] }]
|
|
53
|
-
};
|
|
54
|
-
//# sourceMappingURL=microzord-ng-module.directive.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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 ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ErrorHandler,\n Input,\n NgModuleRef,\n NgZone,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport {Observable, of, Subject, throwError} 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 @Output()\n module: Observable<NgModuleRef<any> | null>;\n\n constructor(\n private ngZone: NgZone,\n private componentFactoryResolver: ComponentFactoryResolver,\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 @Input('microzordNgModule')\n set name(moduleName: string | null) {\n this.ngZone.runOutsideAngular(() => this.name$.next(moduleName));\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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"MicrozordNgModuleDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":18,"character":1},"arguments":[{"selector":"[microzordNgModule]","providers":[{"__symbolic":"reference","module":"./microzord-ng-compiler.service","name":"MicrozordNgCompilerService","line":20,"character":14}]}]}],"members":{"module":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":29,"character":20},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":30,"character":38},{"__symbolic":"reference","module":"./microzord-ng-compiler.service","name":"MicrozordNgCompilerService","line":31,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"ErrorHandler","line":32,"character":26}]}],"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3},"arguments":["microzordNgModule"]}]}],"loadModuleAndBootstrap":[{"__symbolic":"method"}],"destroyComponentAndModule":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}}}]
|
|
@@ -1,11 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"]}
|
|
@@ -1 +0,0 @@
|
|
|
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}]}]}]}}}]
|
|
@@ -1 +0,0 @@
|
|
|
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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"complete":{"__symbolic":"error","message":"Lambda not supported","line":3,"character":24}}}]
|