UNPKG

ngx-dynamic

Version:

dynamic contents projection in Angular

60 lines (57 loc) 1.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = require("@angular/core"); var platform_browser_dynamic_1 = require("@angular/platform-browser-dynamic"); var dynamic_component_directive_1 = require("./dynamic-component.directive"); var options_1 = require("./options"); function createJitCompiler(options) { options = options || []; var factory = new platform_browser_dynamic_1.JitCompilerFactory(); /* WARNING - this will probably crash in the future */ factory['_defaultOptions'] = factory['_defaultOptions'].filter(Boolean); return factory.createCompiler(options); } exports.createJitCompiler = createJitCompiler; /** * Setup for DynamicComponentDirective * * ```ts * @NgModule({ * imports: [ * DynamicComponentModule.forRoot({ * imports: [CommonModule] * }) * ], * }) * class AppModule {} * ``` */ var DynamicComponentModule = (function () { function DynamicComponentModule() { } DynamicComponentModule.forRoot = function (metadata) { return { ngModule: DynamicComponentModule, providers: [ { provide: core_1.Compiler, useFactory: createJitCompiler, deps: [[core_1.Optional(), core_1.COMPILER_OPTIONS]] }, { provide: options_1.DynamicComponentOptions, useValue: { ngModuleMetadata: metadata, } }, ], }; }; DynamicComponentModule.decorators = [ { type: core_1.NgModule, args: [{ declarations: [dynamic_component_directive_1.DynamicComponentDirective], exports: [dynamic_component_directive_1.DynamicComponentDirective], },] }, ]; return DynamicComponentModule; }()); exports.DynamicComponentModule = DynamicComponentModule;