UNPKG

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.

51 lines (48 loc) 1.49 kB
"use strict"; import { NativeModules } from 'react-native'; // Ссылка на глобальный объект SqlDb let __SyncTasksManager = global.SyncTasksManager; // Автоинициализация if (!__SyncTasksManager) { if (NativeModules.SyncTasksManager?.install) { NativeModules.SyncTasksManager.install(); // Вызываем native install метод __SyncTasksManager = global.SyncTasksManager; // Сохраняем глобальную ссылку на объект SqlDb console.log('✅ TaskManager initialized successfully'); } } // Класс SqlDb для работы с базой данных export class SyncTasksManager { static instance = __SyncTasksManager; static addTask(task) { if (!this.instance) { throw new Error('TaskManager not initialized'); } this.instance.addTask(task); } static addTasks(tasks) { if (!this.instance) { throw new Error('TaskManager not initialized'); } this.instance.addTasks(tasks); } static startAll() { if (!this.instance) { throw new Error('TaskManager not initialized'); } this.instance.startAll(); } static stopAll() { if (!this.instance) { throw new Error('TaskManager not initialized'); } this.instance.stopAll(); } } export const createTask = props => { const params = { ...props, interval: props.config.interval ?? 1000 }; return global.createTask(params); }; //# sourceMappingURL=index.js.map