diff options
author | Chocobozzz <me@florianbigard.com> | 2020-01-23 14:23:19 +0100 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2020-01-23 14:59:44 +0100 |
commit | 44d4ee4fcb7cf8beebac73f85693c09919b91e66 (patch) | |
tree | 24b9867f2e0a5480cda3653ba00702779913fc88 /client/src/app/shared/rxjs | |
parent | 89566f77fd938cf8b0a617d5d2df4ca718242372 (diff) | |
download | PeerTube-44d4ee4fcb7cf8beebac73f85693c09919b91e66.tar.gz PeerTube-44d4ee4fcb7cf8beebac73f85693c09919b91e66.tar.zst PeerTube-44d4ee4fcb7cf8beebac73f85693c09919b91e66.zip |
Fix e2e tests
Diffstat (limited to 'client/src/app/shared/rxjs')
-rw-r--r-- | client/src/app/shared/rxjs/zone.ts | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/client/src/app/shared/rxjs/zone.ts b/client/src/app/shared/rxjs/zone.ts new file mode 100644 index 000000000..74eed7032 --- /dev/null +++ b/client/src/app/shared/rxjs/zone.ts | |||
@@ -0,0 +1,40 @@ | |||
1 | import { SchedulerLike, Subscription } from 'rxjs' | ||
2 | import { NgZone } from '@angular/core' | ||
3 | |||
4 | class LeaveZoneScheduler implements SchedulerLike { | ||
5 | constructor (private zone: NgZone, private scheduler: SchedulerLike) { | ||
6 | } | ||
7 | |||
8 | schedule (...args: any[]): Subscription { | ||
9 | return this.zone.runOutsideAngular(() => | ||
10 | this.scheduler.schedule.apply(this.scheduler, args) | ||
11 | ) | ||
12 | } | ||
13 | |||
14 | now (): number { | ||
15 | return this.scheduler.now() | ||
16 | } | ||
17 | } | ||
18 | |||
19 | class EnterZoneScheduler implements SchedulerLike { | ||
20 | constructor (private zone: NgZone, private scheduler: SchedulerLike) { | ||
21 | } | ||
22 | |||
23 | schedule (...args: any[]): Subscription { | ||
24 | return this.zone.run(() => | ||
25 | this.scheduler.schedule.apply(this.scheduler, args) | ||
26 | ) | ||
27 | } | ||
28 | |||
29 | now (): number { | ||
30 | return this.scheduler.now() | ||
31 | } | ||
32 | } | ||
33 | |||
34 | export function leaveZone (zone: NgZone, scheduler: SchedulerLike): SchedulerLike { | ||
35 | return new LeaveZoneScheduler(zone, scheduler) | ||
36 | } | ||
37 | |||
38 | export function enterZone (zone: NgZone, scheduler: SchedulerLike): SchedulerLike { | ||
39 | return new EnterZoneScheduler(zone, scheduler) | ||
40 | } | ||