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