Skip to content

Commit e9a8f5e

Browse files
Feat: Typescript Support - added index.d.ts with full type definitions for BackgroundTimer (#20)
* Feat(types): add index.d.ts with full type definitions for BackgroundTimer - Provides type safety and IntelliSense for BackgroundTimer usage - Defines RNBackgroundTimer native module methods (`start`, `stop`, `setTimeout`, `clearTimeout`) - Adds types for internal timer management (`callbacks`, `interval`, etc.) - Enables compatibility with TypeScript projects using the library * Format document --------- Co-authored-by: boterop <boterop22@gmail.com>
1 parent 6ea1615 commit e9a8f5e

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

index.d.ts

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import { EmitterSubscription, TurboModule } from 'react-native';
2+
3+
declare module '@boterop/react-native-background-timer' {
4+
export interface TimerCallback {
5+
callback: () => void;
6+
interval: boolean;
7+
timeout: number;
8+
}
9+
10+
export interface RNBackgroundTimerModule extends TurboModule {
11+
start: (delay?: number) => void;
12+
stop: () => void;
13+
setTimeout: (id: number, timeout: number) => void;
14+
clearTimeout?: (id: number) => void;
15+
}
16+
17+
export interface BackgroundTimerInterface {
18+
uniqueId: number;
19+
callbacks: Record<number, TimerCallback>;
20+
backgroundTimer?: number;
21+
backgroundListener?: EmitterSubscription;
22+
23+
start: (delay?: number) => void;
24+
stop: () => void;
25+
26+
runBackgroundTimer: (callback: () => void, delay: number) => void;
27+
backgroundClockMethod: (callback: () => void, delay: number) => void;
28+
stopBackgroundTimer: () => void;
29+
30+
setTimeout: (callback: () => void, timeout: number) => number;
31+
clearTimeout: (timeoutId: number) => void;
32+
33+
setInterval: (callback: () => void, timeout: number) => number;
34+
clearInterval: (intervalId: number) => void;
35+
}
36+
37+
const BackgroundTimer: BackgroundTimerInterface;
38+
export default BackgroundTimer;
39+
}

0 commit comments

Comments
 (0)