Add ability to import videos from all supported youtube-dl sites
[oweals/peertube.git] / client / src / hmr.ts
1 import { NgModuleRef, ApplicationRef } from '@angular/core'
2 import { createNewHosts } from '@angularclass/hmr'
3
4 export const hmrBootstrap = (module: any, bootstrap: () => Promise<NgModuleRef<any>>) => {
5   let ngModule: NgModuleRef<any>
6   module.hot.accept()
7   bootstrap()
8     .then(mod => ngModule = mod)
9   module.hot.dispose(() => {
10     const appRef: ApplicationRef = ngModule.injector.get(ApplicationRef)
11     const elements = appRef.components.map(c => c.location.nativeElement)
12     const makeVisible = createNewHosts(elements)
13     ngModule.destroy()
14     makeVisible()
15   })
16 }