nycJSorg/angular-presentation

View on GitHub
apps/codelab/src/app/shared/angular-code/bootstrap.ts

Summary

Maintainability
B
5 hrs
Test Coverage
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { ResourceLoader } from '@angular/compiler';
import * as code from './code';
import { AppModule } from './app.module';

class MyResourceLoader extends ResourceLoader {
  get(url: string): Promise<string> {
    const templateId = Object.keys(code).find(key =>
      key.includes(url.replace(/[\/\.-]/gi, '_'))
    );
    const template = code[templateId];
    if (!template) {
      console.log(template);
      // tslint:disable-next-line:no-debugger
      debugger;
    }
    return Promise.resolve(template);
  }
}

platformBrowserDynamic().bootstrapModule(AppModule, [
  {
    providers: [
      {
        provide: ResourceLoader,
        useFactory: () => new MyResourceLoader(),
        deps: []
      }
    ]
  }
]);