UNPKG

supastash

Version:

Offline-first sync engine for Supabase in React Native using SQLite

22 lines (21 loc) 743 B
import { logError } from "../logs"; import { updateLocalDb } from "../sync/pullFromRemote/updateLocalDb"; import { pushLocalDataToRemote } from "../sync/pushLocal/sendUnsyncedToSupabase"; import { createTable } from "./createTable"; let isInSync = new Map(); export async function initialFetch(table, filter, onReceiveData, onPushToRemote) { if (isInSync.get(table)) return; isInSync.set(table, true); try { await createTable(table); await updateLocalDb(table, filter, onReceiveData); await pushLocalDataToRemote(table, onPushToRemote); } catch (error) { logError(`[Supastash] Error on initial fetch for ${table}`, error); } finally { isInSync.delete(table); } }