| 2108 | }; |
| 2109 | |
| 2110 | @Injectable({providedIn: 'root'}) |
| 2111 | class CustomIdleService implements IdleService { |
| 2112 | private callbacks: Array<((deadline?: IdleDeadline) => void) | undefined> = []; |
| 2113 | |
| 2114 | requestOnIdle( |
| 2115 | callback: (deadline?: IdleDeadline) => void, |
| 2116 | options?: IdleRequestOptions, |
| 2117 | ): number { |
| 2118 | return this.callbacks.push(callback) - 1; |
| 2119 | } |
| 2120 | |
| 2121 | cancelOnIdle(id: number): void { |
| 2122 | this.callbacks[id] = undefined; |
| 2123 | } |
| 2124 | |
| 2125 | trigger(): void { |
| 2126 | for (const callback of this.callbacks) { |
| 2127 | callback?.(); |
| 2128 | } |
| 2129 | this.callbacks.length = 0; |
| 2130 | } |
| 2131 | } |
| 2132 | |
| 2133 | TestBed.configureTestingModule({ |
| 2134 | providers: [ |
nothing calls this directly
no test coverage detected