From ce227506ab696f17cecbd52b1ebb736662fc306a Mon Sep 17 00:00:00 2001 From: ZFLOC TECHNOLOGIES Date: Wed, 9 Apr 2025 16:22:34 +0530 Subject: [PATCH 1/2] 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 --- index.d.ts | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 index.d.ts diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..97bc8ba --- /dev/null +++ b/index.d.ts @@ -0,0 +1,42 @@ +import { + EmitterSubscription, + TurboModule, +} from 'react-native'; + +declare module '@boterop/react-native-background-timer' { + export interface TimerCallback { + callback: () => void; + interval: boolean; + timeout: number; + } + + export interface RNBackgroundTimerModule extends TurboModule { + start: (delay?: number) => void; + stop: () => void; + setTimeout: (id: number, timeout: number) => void; + clearTimeout?: (id: number) => void; + } + + export interface BackgroundTimerInterface { + uniqueId: number; + callbacks: Record; + backgroundTimer?: number; + backgroundListener?: EmitterSubscription; + + start: (delay?: number) => void; + stop: () => void; + + runBackgroundTimer: (callback: () => void, delay: number) => void; + backgroundClockMethod: (callback: () => void, delay: number) => void; + stopBackgroundTimer: () => void; + + setTimeout: (callback: () => void, timeout: number) => number; + clearTimeout: (timeoutId: number) => void; + + setInterval: (callback: () => void, timeout: number) => number; + clearInterval: (intervalId: number) => void; + } + + const BackgroundTimer: BackgroundTimerInterface; + export default BackgroundTimer; +} From 5d8a6b3e2ae26e57cb96f9c0bd2c11f30c78cbfe Mon Sep 17 00:00:00 2001 From: boterop Date: Wed, 9 Apr 2025 16:07:57 -0500 Subject: [PATCH 2/2] Format document --- index.d.ts | 75 ++++++++++++++++++++++++++---------------------------- 1 file changed, 36 insertions(+), 39 deletions(-) diff --git a/index.d.ts b/index.d.ts index 97bc8ba..f1662d1 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,42 +1,39 @@ -import { - EmitterSubscription, - TurboModule, -} from 'react-native'; +import { EmitterSubscription, TurboModule } from 'react-native'; declare module '@boterop/react-native-background-timer' { - export interface TimerCallback { - callback: () => void; - interval: boolean; - timeout: number; - } - - export interface RNBackgroundTimerModule extends TurboModule { - start: (delay?: number) => void; - stop: () => void; - setTimeout: (id: number, timeout: number) => void; - clearTimeout?: (id: number) => void; - } - - export interface BackgroundTimerInterface { - uniqueId: number; - callbacks: Record; - backgroundTimer?: number; - backgroundListener?: EmitterSubscription; - - start: (delay?: number) => void; - stop: () => void; - - runBackgroundTimer: (callback: () => void, delay: number) => void; - backgroundClockMethod: (callback: () => void, delay: number) => void; - stopBackgroundTimer: () => void; - - setTimeout: (callback: () => void, timeout: number) => number; - clearTimeout: (timeoutId: number) => void; - - setInterval: (callback: () => void, timeout: number) => number; - clearInterval: (intervalId: number) => void; - } - - const BackgroundTimer: BackgroundTimerInterface; - export default BackgroundTimer; + export interface TimerCallback { + callback: () => void; + interval: boolean; + timeout: number; + } + + export interface RNBackgroundTimerModule extends TurboModule { + start: (delay?: number) => void; + stop: () => void; + setTimeout: (id: number, timeout: number) => void; + clearTimeout?: (id: number) => void; + } + + export interface BackgroundTimerInterface { + uniqueId: number; + callbacks: Record; + backgroundTimer?: number; + backgroundListener?: EmitterSubscription; + + start: (delay?: number) => void; + stop: () => void; + + runBackgroundTimer: (callback: () => void, delay: number) => void; + backgroundClockMethod: (callback: () => void, delay: number) => void; + stopBackgroundTimer: () => void; + + setTimeout: (callback: () => void, timeout: number) => number; + clearTimeout: (timeoutId: number) => void; + + setInterval: (callback: () => void, timeout: number) => number; + clearInterval: (intervalId: number) => void; + } + + const BackgroundTimer: BackgroundTimerInterface; + export default BackgroundTimer; }