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.

57 lines (54 loc) 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createTask = exports.SyncTasksManager = void 0; var _reactNative = require("react-native"); // Ссылка на глобальный объект SqlDb let __SyncTasksManager = global.SyncTasksManager; // Автоинициализация if (!__SyncTasksManager) { if (_reactNative.NativeModules.SyncTasksManager?.install) { _reactNative.NativeModules.SyncTasksManager.install(); // Вызываем native install метод __SyncTasksManager = global.SyncTasksManager; // Сохраняем глобальную ссылку на объект SqlDb console.log('✅ TaskManager initialized successfully'); } } // Класс SqlDb для работы с базой данных 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(); } } exports.SyncTasksManager = SyncTasksManager; const createTask = props => { const params = { ...props, interval: props.config.interval ?? 1000 }; return global.createTask(params); }; exports.createTask = createTask; //# sourceMappingURL=index.js.map