react-native-sync-tasks
Version:
JSI-based task manager for React Native that periodically fetches data from a server, deduplicates responses using hashing, and provides centralized task control via native C++ module.
40 lines • 1.02 kB
TypeScript
type Task = {
stop: () => void;
start: () => void;
isRunning: () => boolean;
};
interface ITaskManager {
addTask(task: Task): void;
addTasks(tasks: Task[]): void;
startAll(): void;
stopAll(): void;
}
type TCreateTaskProps<T> = {
config: {
url: string;
interval: number;
headers?: Record<string, string>;
};
onData: (data: {
body: T;
status_code: number;
}) => void;
onError?: (error: {
error: string;
status_code: number;
}) => void;
};
declare global {
var createTask: <T>(props: TCreateTaskProps<T>) => Task;
var SyncTasksManager: ITaskManager;
}
export declare class SyncTasksManager {
static instance: ITaskManager | null;
static addTask(task: Task): void;
static addTasks(tasks: Task[]): void;
static startAll(): void;
static stopAll(): void;
}
export declare const createTask: <T extends unknown>(props: TCreateTaskProps<T>) => Task;
export {};
//# sourceMappingURL=index.d.ts.map