28f0d57814b524f89506b5832d7e42d08a39d694
[oweals/peertube.git] / client / src / main.browser.ts
1 /* tslint: disable */
2
3 import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'
4 import { decorateModuleRef } from './app/environment'
5 import { hmrModule } from '@angularclass/hmr'
6
7 /**
8  * App Module
9  * our top level module that holds all of our components
10  */
11 import { AppModule } from './app'
12
13 /**
14  * Bootstrap our Angular app with a top level NgModule
15  */
16 export function main (): Promise<any> {
17   return platformBrowserDynamic()
18     .bootstrapModule(AppModule)
19     .then(decorateModuleRef)
20     .then((ngModuleRef: any) => {
21       // `module` global ref for webpackhmr
22       // Don't run this in Prod
23       return hmrModule(ngModuleRef, module)
24     })
25     .catch((err) => console.error(err))
26 }
27
28 /**
29  * Needed for hmr
30  * in prod this is replace for document ready
31  */
32 switch (document.readyState) {
33   case 'loading':
34     document.addEventListener('DOMContentLoaded', _domReadyHandler, false)
35     break
36   case 'interactive':
37   case 'complete':
38   default:
39     main()
40 }
41
42 function _domReadyHandler () {
43   document.removeEventListener('DOMContentLoaded', _domReadyHandler, false)
44   main()
45 }