@@ -18,8 +18,14 @@ import {makeEnvironmentProviders} from '../di/provider_collection';
1818 * Note: we wrap the `requestIdleCallback` call into a function, so that it can be
1919 * overridden/mocked in test environment and picked up by the runtime code.
2020 */
21- const _requestIdleCallback = ( ) =>
22- ( typeof requestIdleCallback !== 'undefined' ? requestIdleCallback : setTimeout ) . bind ( globalThis ) ;
21+ const _requestIdleCallback = ( ) : ( (
22+ callback : ( deadline ?: IdleDeadline ) => void ,
23+ options ?: IdleRequestOptions ,
24+ ) => number ) =>
25+ typeof requestIdleCallback !== 'undefined'
26+ ? requestIdleCallback . bind ( globalThis )
27+ : ( callback ) => setTimeout ( callback ) as unknown as number ;
28+
2329const _cancelIdleCallback = ( ) =>
2430 ( typeof requestIdleCallback !== 'undefined' ? cancelIdleCallback : clearTimeout ) . bind ( globalThis ) ;
2531
@@ -34,7 +40,7 @@ export interface IdleService {
3440 *
3541 * @returns an id which allows the scheduled callback to be cancelled before it executes.
3642 */
37- requestOnIdle ( callback : ( deadline ?: IdleDeadline ) => void ) : number ;
43+ requestOnIdle ( callback : ( deadline ?: IdleDeadline ) => void , options ?: IdleRequestOptions ) : number ;
3844
3945 /**
4046 * Cancel a previously scheduled callback using the id associated with it.
@@ -74,8 +80,8 @@ class RequestIdleCallbackService implements IdleService {
7480 private readonly requestIdleCallback = _requestIdleCallback ( ) ;
7581 private readonly cancelIdleCallback = _cancelIdleCallback ( ) ;
7682
77- requestOnIdle ( callback : ( deadline ?: IdleDeadline ) => void ) : number {
78- return this . requestIdleCallback ( callback ) as unknown as number ;
83+ requestOnIdle ( callback : ( deadline ?: IdleDeadline ) => void , options ?: IdleRequestOptions ) : number {
84+ return this . requestIdleCallback ( callback , options ) ;
7985 }
8086
8187 cancelOnIdle ( id : number ) : void {
0 commit comments