diff --git a/types/requestidlecallback/index.d.ts b/types/requestidlecallback/index.d.ts index ebb27eb8c4..56d00c72e8 100644 --- a/types/requestidlecallback/index.d.ts +++ b/types/requestidlecallback/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for requestidlecallback 0.1 // Project: https://w3c.github.io/requestidlecallback/, https://github.com/afarkas/requestidlecallback -// Definitions by: 贺师俊 +// Definitions by: 贺师俊 , Vladimir Grenaderov , Max Boguslavskiy // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped export function requestIdleCallback(callback: IdleRequestCallback, options?: IdleRequestOptions): IdleCallbackHandle; @@ -19,3 +19,8 @@ export interface IdleDeadline { export interface IdleRequestOptions { timeout: number; } + +export interface Window { + requestIdleCallback(callback: IdleRequestCallback, options?: IdleRequestOptions): IdleCallbackHandle; + cancelIdleCallback(handle: number): void; +} diff --git a/types/requestidlecallback/requestidlecallback-tests.ts b/types/requestidlecallback/requestidlecallback-tests.ts new file mode 100644 index 0000000000..13e0104878 --- /dev/null +++ b/types/requestidlecallback/requestidlecallback-tests.ts @@ -0,0 +1,17 @@ +import { + requestIdleCallback, + cancelIdleCallback, + IdleRequestOptions, + IdleCallbackHandle, +} from 'requestidlecallback'; + +// Test requestIdleCallback with default param +requestIdleCallback(() => '1'); + +// Test requestIdleCallback with default param and optional param +const option: IdleRequestOptions = { timeout: 2000 }; +requestIdleCallback(() => '2', option); + +// Test cancelIdleCallback with default param +const handle: IdleCallbackHandle = 1; +cancelIdleCallback(handle); diff --git a/types/requestidlecallback/tsconfig.json b/types/requestidlecallback/tsconfig.json index 1b1f8d763d..0c45aaf29e 100644 --- a/types/requestidlecallback/tsconfig.json +++ b/types/requestidlecallback/tsconfig.json @@ -17,6 +17,7 @@ "forceConsistentCasingInFileNames": true }, "files": [ - "index.d.ts" + "index.d.ts", + "requestidlecallback-tests.ts" ] }