]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/core/routing/preload-selected-modules-list.ts
Bumped to version v5.2.1
[github/Chocobozzz/PeerTube.git] / client / src / app / core / routing / preload-selected-modules-list.ts
1 import { Observable, of as ofObservable, timer as observableTimer } from 'rxjs'
2 import { switchMap } from 'rxjs/operators'
3 import { Injectable } from '@angular/core'
4 import { PreloadingStrategy, Route } from '@angular/router'
5
6 @Injectable()
7 export class PreloadSelectedModulesList implements PreloadingStrategy {
8
9 preload (route: Route, load: () => Observable<any>): Observable<any> {
10 if (!route.data?.preload) return ofObservable(null)
11
12 if (typeof route.data.preload === 'number') {
13 return observableTimer(route.data.preload).pipe(switchMap(() => load()))
14 }
15
16 return load()
17 }
18 }