supastash 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -3
- package/dist/desktop/adapters/appstate.d.ts +2 -0
- package/dist/desktop/adapters/appstate.d.ts.map +1 -0
- package/dist/desktop/adapters/appstate.js +10 -0
- package/dist/desktop/adapters/crypto.d.ts +3 -0
- package/dist/desktop/adapters/crypto.d.ts.map +1 -0
- package/dist/desktop/adapters/crypto.js +16 -0
- package/dist/{core → desktop/core}/schemaManager/index.d.ts +1 -1
- package/dist/desktop/core/schemaManager/index.d.ts.map +1 -0
- package/dist/{core → desktop/core}/schemaManager/index.js +3 -3
- package/dist/{hooks/supastashData/index.d.ts → desktop/hooks/supastashData.d.ts} +2 -2
- package/dist/desktop/hooks/supastashData.d.ts.map +1 -0
- package/dist/desktop/hooks/supastashData.js +139 -0
- package/dist/{hooks → desktop/hooks}/supastashLogic.d.ts +1 -1
- package/dist/desktop/hooks/supastashLogic.d.ts.map +1 -0
- package/dist/{hooks → desktop/hooks}/supastashLogic.js +11 -12
- package/dist/{hooks/syncEngine/index.d.ts → desktop/hooks/syncEngine.d.ts} +1 -1
- package/dist/desktop/hooks/syncEngine.d.ts.map +1 -0
- package/dist/desktop/hooks/syncEngine.js +233 -0
- package/dist/desktop/index.d.ts +28 -0
- package/dist/desktop/index.d.ts.map +1 -0
- package/dist/desktop/index.js +21 -0
- package/dist/{hooks/supastashData → desktop/utils/fetchData}/eventQueues.d.ts +2 -2
- package/dist/desktop/utils/fetchData/eventQueues.d.ts.map +1 -0
- package/dist/{hooks/supastashData → desktop/utils/fetchData}/eventQueues.js +3 -3
- package/dist/{hooks/supastashData → desktop/utils/fetchData}/fetchCalls.d.ts +1 -1
- package/dist/desktop/utils/fetchData/fetchCalls.d.ts.map +1 -0
- package/dist/{hooks/supastashData → desktop/utils/fetchData}/fetchCalls.js +5 -5
- package/dist/{utils → desktop/utils}/fetchData/initialFetch.d.ts +1 -1
- package/dist/desktop/utils/fetchData/initialFetch.d.ts.map +1 -0
- package/dist/{utils → desktop/utils}/fetchData/initialFetch.js +2 -2
- package/dist/{utils → desktop/utils}/fetchData/receiveData.d.ts +1 -1
- package/dist/desktop/utils/fetchData/receiveData.d.ts.map +1 -0
- package/dist/{utils → desktop/utils}/fetchData/receiveData.js +6 -6
- package/dist/desktop/utils/query/index.d.ts +73 -0
- package/dist/desktop/utils/query/index.d.ts.map +1 -0
- package/dist/desktop/utils/query/index.js +139 -0
- package/dist/desktop/utils/schema/wipeTables.d.ts.map +1 -0
- package/dist/{utils → desktop/utils}/schema/wipeTables.js +4 -4
- package/dist/{utils → desktop/utils}/sync/pullFromRemote/fetchOlder.d.ts +2 -2
- package/dist/desktop/utils/sync/pullFromRemote/fetchOlder.d.ts.map +1 -0
- package/dist/{utils → desktop/utils}/sync/pullFromRemote/fetchOlder.js +2 -2
- package/dist/{utils → desktop/utils}/sync/pullFromRemote/fetchOlderHelpers.d.ts +3 -3
- package/dist/desktop/utils/sync/pullFromRemote/fetchOlderHelpers.d.ts.map +1 -0
- package/dist/{utils → desktop/utils}/sync/pullFromRemote/fetchOlderHelpers.js +8 -14
- package/dist/desktop/utils/sync/pullFromRemote/index.d.ts.map +1 -0
- package/dist/{hooks/syncEngine → desktop/utils/sync}/pullFromRemote/index.js +7 -7
- package/dist/{utils → desktop/utils}/sync/pullFromRemote/pullData.d.ts +2 -2
- package/dist/desktop/utils/sync/pullFromRemote/pullData.d.ts.map +1 -0
- package/dist/{utils → desktop/utils}/sync/pullFromRemote/pullData.js +6 -6
- package/dist/desktop/utils/sync/pullFromRemote/updateLocalDb.d.ts +46 -0
- package/dist/desktop/utils/sync/pullFromRemote/updateLocalDb.d.ts.map +1 -0
- package/dist/desktop/utils/sync/pullFromRemote/updateLocalDb.js +284 -0
- package/dist/desktop/utils/sync/pushLocal/index.d.ts.map +1 -0
- package/dist/{hooks/syncEngine → desktop/utils/sync}/pushLocal/index.js +7 -10
- package/dist/desktop/utils/sync/pushLocal/sendUnsyncedToSupabase.d.ts.map +1 -0
- package/dist/{utils → desktop/utils}/sync/pushLocal/sendUnsyncedToSupabase.js +5 -8
- package/dist/{utils → desktop/utils}/sync/pushLocal/uploadChunk.d.ts +1 -1
- package/dist/desktop/utils/sync/pushLocal/uploadChunk.d.ts.map +1 -0
- package/dist/{utils → desktop/utils}/sync/pushLocal/uploadChunk.js +8 -12
- package/dist/{utils → desktop/utils}/sync/pushLocal/uploadHelpers.d.ts +2 -2
- package/dist/desktop/utils/sync/pushLocal/uploadHelpers.d.ts.map +1 -0
- package/dist/{utils → desktop/utils}/sync/pushLocal/uploadHelpers.js +6 -6
- package/dist/{utils → desktop/utils}/sync/status/filterKey.d.ts +1 -1
- package/dist/desktop/utils/sync/status/filterKey.d.ts.map +1 -0
- package/dist/desktop/utils/sync/status/filterKey.js +48 -0
- package/dist/{utils → desktop/utils}/sync/status/repo.d.ts +3 -3
- package/dist/desktop/utils/sync/status/repo.d.ts.map +1 -0
- package/dist/{utils → desktop/utils}/sync/status/repo.js +3 -3
- package/dist/{utils → desktop/utils}/sync/status/services.d.ts +2 -2
- package/dist/desktop/utils/sync/status/services.d.ts.map +1 -0
- package/dist/{utils → desktop/utils}/sync/status/services.js +3 -3
- package/dist/{utils → desktop/utils}/sync/status/syncStatus.d.ts +2 -2
- package/dist/desktop/utils/sync/status/syncStatus.d.ts.map +1 -0
- package/dist/{utils → desktop/utils}/sync/status/syncStatus.js +4 -4
- package/dist/index.d.ts +18 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -22
- package/dist/native/core/schemaManager/index.d.ts +40 -0
- package/dist/native/core/schemaManager/index.d.ts.map +1 -0
- package/dist/native/core/schemaManager/index.js +141 -0
- package/dist/native/hooks/supastashData.d.ts +67 -0
- package/dist/native/hooks/supastashData.d.ts.map +1 -0
- package/dist/{hooks/supastashData/index.js → native/hooks/supastashData.js} +12 -10
- package/dist/native/hooks/supastashLogic.d.ts +19 -0
- package/dist/native/hooks/supastashLogic.d.ts.map +1 -0
- package/dist/native/hooks/supastashLogic.js +101 -0
- package/dist/native/hooks/syncEngine.d.ts +28 -0
- package/dist/native/hooks/syncEngine.d.ts.map +1 -0
- package/dist/{hooks/syncEngine/index.js → native/hooks/syncEngine.js} +18 -18
- package/dist/native/index.d.ts +28 -0
- package/dist/native/index.d.ts.map +1 -0
- package/dist/native/index.js +21 -0
- package/dist/native/utils/fetchData/eventQueues.d.ts +5 -0
- package/dist/native/utils/fetchData/eventQueues.d.ts.map +1 -0
- package/dist/native/utils/fetchData/eventQueues.js +52 -0
- package/dist/native/utils/fetchData/fetchCalls.d.ts +9 -0
- package/dist/native/utils/fetchData/fetchCalls.d.ts.map +1 -0
- package/dist/native/utils/fetchData/fetchCalls.js +88 -0
- package/dist/native/utils/fetchData/initialFetch.d.ts +3 -0
- package/dist/native/utils/fetchData/initialFetch.d.ts.map +1 -0
- package/dist/native/utils/fetchData/initialFetch.js +21 -0
- package/dist/native/utils/fetchData/receiveData.d.ts +3 -0
- package/dist/native/utils/fetchData/receiveData.d.ts.map +1 -0
- package/dist/native/utils/fetchData/receiveData.js +39 -0
- package/dist/native/utils/query/index.d.ts +73 -0
- package/dist/native/utils/query/index.d.ts.map +1 -0
- package/dist/native/utils/query/index.js +139 -0
- package/dist/native/utils/schema/wipeTables.d.ts +98 -0
- package/dist/native/utils/schema/wipeTables.d.ts.map +1 -0
- package/dist/native/utils/schema/wipeTables.js +188 -0
- package/dist/native/utils/sync/pullFromRemote/fetchOlder.d.ts +44 -0
- package/dist/native/utils/sync/pullFromRemote/fetchOlder.d.ts.map +1 -0
- package/dist/native/utils/sync/pullFromRemote/fetchOlder.js +55 -0
- package/dist/native/utils/sync/pullFromRemote/fetchOlderHelpers.d.ts +33 -0
- package/dist/native/utils/sync/pullFromRemote/fetchOlderHelpers.d.ts.map +1 -0
- package/dist/native/utils/sync/pullFromRemote/fetchOlderHelpers.js +104 -0
- package/dist/native/utils/sync/pullFromRemote/index.d.ts +5 -0
- package/dist/native/utils/sync/pullFromRemote/index.d.ts.map +1 -0
- package/dist/native/utils/sync/pullFromRemote/index.js +73 -0
- package/dist/native/utils/sync/pullFromRemote/pullData.d.ts +21 -0
- package/dist/native/utils/sync/pullFromRemote/pullData.d.ts.map +1 -0
- package/dist/native/utils/sync/pullFromRemote/pullData.js +80 -0
- package/dist/native/utils/sync/pullFromRemote/updateLocalDb.d.ts +46 -0
- package/dist/native/utils/sync/pullFromRemote/updateLocalDb.d.ts.map +1 -0
- package/dist/{utils → native/utils}/sync/pullFromRemote/updateLocalDb.js +120 -47
- package/dist/native/utils/sync/pushLocal/index.d.ts +5 -0
- package/dist/native/utils/sync/pushLocal/index.d.ts.map +1 -0
- package/dist/native/utils/sync/pushLocal/index.js +101 -0
- package/dist/native/utils/sync/pushLocal/sendUnsyncedToSupabase.d.ts +6 -0
- package/dist/native/utils/sync/pushLocal/sendUnsyncedToSupabase.d.ts.map +1 -0
- package/dist/native/utils/sync/pushLocal/sendUnsyncedToSupabase.js +57 -0
- package/dist/native/utils/sync/pushLocal/uploadChunk.d.ts +8 -0
- package/dist/native/utils/sync/pushLocal/uploadChunk.d.ts.map +1 -0
- package/dist/native/utils/sync/pushLocal/uploadChunk.js +173 -0
- package/dist/native/utils/sync/pushLocal/uploadHelpers.d.ts +41 -0
- package/dist/native/utils/sync/pushLocal/uploadHelpers.d.ts.map +1 -0
- package/dist/native/utils/sync/pushLocal/uploadHelpers.js +243 -0
- package/dist/native/utils/sync/status/filterKey.d.ts +15 -0
- package/dist/native/utils/sync/status/filterKey.d.ts.map +1 -0
- package/dist/{utils → native/utils}/sync/status/filterKey.js +0 -14
- package/dist/native/utils/sync/status/repo.d.ts +10 -0
- package/dist/native/utils/sync/status/repo.d.ts.map +1 -0
- package/dist/native/utils/sync/status/repo.js +97 -0
- package/dist/native/utils/sync/status/services.d.ts +31 -0
- package/dist/native/utils/sync/status/services.d.ts.map +1 -0
- package/dist/native/utils/sync/status/services.js +107 -0
- package/dist/native/utils/sync/status/syncStatus.d.ts +109 -0
- package/dist/native/utils/sync/status/syncStatus.d.ts.map +1 -0
- package/dist/native/utils/sync/status/syncStatus.js +161 -0
- package/dist/shared/constants/syncDefaults.d.ts.map +1 -0
- package/dist/{core → shared/core}/config/index.d.ts +2 -0
- package/dist/shared/core/config/index.d.ts.map +1 -0
- package/dist/{core → shared/core}/config/index.js +4 -0
- package/dist/shared/core/platform/appState.d.ts +12 -0
- package/dist/shared/core/platform/appState.d.ts.map +1 -0
- package/dist/shared/core/platform/appState.js +11 -0
- package/dist/shared/db/adapters/expo_sqlite.d.ts +3 -0
- package/dist/shared/db/adapters/expo_sqlite.d.ts.map +1 -0
- package/dist/shared/db/adapters/expo_sqlite.js +72 -0
- package/dist/shared/db/adapters/rn_nitro.d.ts +3 -0
- package/dist/shared/db/adapters/rn_nitro.d.ts.map +1 -0
- package/dist/shared/db/adapters/rn_nitro.js +111 -0
- package/dist/shared/db/adapters/rn_sqlite_storage.d.ts +3 -0
- package/dist/shared/db/adapters/rn_sqlite_storage.d.ts.map +1 -0
- package/dist/{db → shared/db}/adapters/rn_sqlite_storage.js +41 -0
- package/dist/shared/db/adapters/tauri.d.ts +3 -0
- package/dist/shared/db/adapters/tauri.d.ts.map +1 -0
- package/dist/shared/db/adapters/tauri.js +100 -0
- package/dist/shared/db/dbErrorMsg.d.ts.map +1 -0
- package/dist/{db → shared/db}/dbErrorMsg.js +7 -0
- package/dist/{db → shared/db}/dbInitializer.d.ts +1 -1
- package/dist/shared/db/dbInitializer.d.ts.map +1 -0
- package/dist/{db → shared/db}/dbInitializer.js +28 -15
- package/dist/shared/db/normalizer.d.ts +6 -0
- package/dist/shared/db/normalizer.d.ts.map +1 -0
- package/dist/shared/db/normalizer.js +26 -0
- package/dist/{hooks → shared/hooks}/supastashFilters/index.d.ts +1 -1
- package/dist/shared/hooks/supastashFilters/index.d.ts.map +1 -0
- package/dist/{hooks → shared/hooks}/syncStatus/index.d.ts +1 -1
- package/dist/shared/hooks/syncStatus/index.d.ts.map +1 -0
- package/dist/shared/store/localCache.d.ts.map +1 -0
- package/dist/shared/store/sharedDb.d.ts +6 -0
- package/dist/shared/store/sharedDb.d.ts.map +1 -0
- package/dist/shared/store/sharedDb.js +17 -0
- package/dist/shared/store/syncCalls.d.ts.map +1 -0
- package/dist/{store → shared/store}/syncStatus.d.ts +1 -1
- package/dist/shared/store/syncStatus.d.ts.map +1 -0
- package/dist/shared/store/tableFilters.d.ts.map +1 -0
- package/dist/shared/store/tableSchemaData.d.ts.map +1 -0
- package/dist/shared/store/tx.d.ts.map +1 -0
- package/dist/shared/types/adapters.types.d.ts +8 -0
- package/dist/shared/types/index.d.ts.map +1 -0
- package/dist/{types → shared/types}/supastashConfig.types.d.ts +180 -2
- package/dist/shared/utils/connection.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/connection.js +6 -6
- package/dist/shared/utils/errorHandler.d.ts.map +1 -0
- package/dist/shared/utils/events/eventBus.d.ts.map +1 -0
- package/dist/shared/utils/fetchData/addPayloadToUI.d.ts.map +1 -0
- package/dist/shared/utils/fetchData/createTable.d.ts.map +1 -0
- package/dist/shared/utils/fetchData/dataState.d.ts.map +1 -0
- package/dist/{hooks/supastashData → shared/utils/fetchData}/dataState.js +1 -1
- package/dist/shared/utils/fetchData/deleteData.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/fetchData/deleteData.js +2 -2
- package/dist/shared/utils/fetchData/fetchLocalData.d.ts.map +1 -0
- package/dist/shared/utils/fetchData/getKeyType.d.ts.map +1 -0
- package/dist/shared/utils/fetchData/liteHelpers.d.ts.map +1 -0
- package/dist/shared/utils/fetchData/realTimeCall.d.ts.map +1 -0
- package/dist/shared/utils/fetchData/realTimeManager.d.ts.map +1 -0
- package/dist/shared/utils/fetchData/registerSub.d.ts.map +1 -0
- package/dist/{hooks/supastashData → shared/utils/fetchData}/registerSub.js +1 -1
- package/dist/shared/utils/fetchData/setDataInBatches.d.ts.map +1 -0
- package/dist/shared/utils/fetchData/snapShot.d.ts.map +1 -0
- package/dist/shared/utils/fetchData/validatePayload.d.ts.map +1 -0
- package/dist/shared/utils/genUUID.d.ts.map +1 -0
- package/dist/shared/utils/getSafeValues.d.ts.map +1 -0
- package/dist/shared/utils/getTableSchema.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/logs.d.ts +1 -0
- package/dist/shared/utils/logs.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/logs.js +6 -1
- package/dist/shared/utils/query/builder/crud.d.ts.map +1 -0
- package/dist/shared/utils/query/builder/filters.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/builder/filters.js +1 -1
- package/dist/shared/utils/query/builder/index.d.ts.map +1 -0
- package/dist/shared/utils/query/builder/mainQuery.d.ts.map +1 -0
- package/dist/shared/utils/query/helpers/localDb/getLocalMethod.d.ts.map +1 -0
- package/dist/shared/utils/query/helpers/localDb/insertMany.d.ts.map +1 -0
- package/dist/shared/utils/query/helpers/localDb/localQueryBuilder.d.ts.map +1 -0
- package/dist/shared/utils/query/helpers/localDb/upsertMany.d.ts.map +1 -0
- package/dist/shared/utils/query/helpers/mainQueryHelpers.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/helpers/mainQueryHelpers.js +1 -1
- package/dist/shared/utils/query/helpers/queryValidator.d.ts.map +1 -0
- package/dist/shared/utils/query/helpers/queueRemote.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/helpers/queueRemote.js +4 -4
- package/dist/shared/utils/query/helpers/remoteDb/queryFilterBuilder.d.ts.map +1 -0
- package/dist/shared/utils/query/helpers/remoteDb/queryUtils.d.ts.map +1 -0
- package/dist/shared/utils/query/localDbQuery/delete.d.ts.map +1 -0
- package/dist/shared/utils/query/localDbQuery/index.d.ts.map +1 -0
- package/dist/shared/utils/query/localDbQuery/insert.d.ts.map +1 -0
- package/dist/shared/utils/query/localDbQuery/select.d.ts.map +1 -0
- package/dist/shared/utils/query/localDbQuery/update.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/localDbQuery/update.js +2 -2
- package/dist/shared/utils/query/localDbQuery/upsert.d.ts.map +1 -0
- package/dist/shared/utils/query/remoteQuery/supabaseQuery.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/remoteQuery/supabaseQuery.js +1 -1
- package/dist/shared/utils/refreshScreenCalls.d.ts.map +1 -0
- package/dist/shared/utils/reusedHelpers.d.ts.map +1 -0
- package/dist/shared/utils/schema/createSyncStatus.d.ts.map +1 -0
- package/dist/shared/utils/serializer.d.ts.map +1 -0
- package/dist/shared/utils/supabaseClientErr.d.ts.map +1 -0
- package/dist/shared/utils/supastashMode.d.ts.map +1 -0
- package/dist/shared/utils/sync/getAllTables.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/sync/getAllTables.js +1 -1
- package/dist/shared/utils/sync/pullFromRemote/getLastCreatedInfo.d.ts.map +1 -0
- package/dist/shared/utils/sync/pullFromRemote/getLastDeletedInfo.d.ts.map +1 -0
- package/dist/shared/utils/sync/pullFromRemote/getLastPulledInfo.d.ts.map +1 -0
- package/dist/shared/utils/sync/pullFromRemote/helpers.d.ts.map +1 -0
- package/dist/shared/utils/sync/pullFromRemote/runLimitedConcurrency.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/sync/pullFromRemote/runLimitedConcurrency.js +1 -1
- package/dist/shared/utils/sync/pullFromRemote/stringifyFields.d.ts.map +1 -0
- package/dist/shared/utils/sync/pullFromRemote/updateFilter.d.ts.map +1 -0
- package/dist/shared/utils/sync/pullFromRemote/validateFilters.d.ts.map +1 -0
- package/dist/shared/utils/sync/pushLocal/deleteChunks.d.ts.map +1 -0
- package/dist/shared/utils/sync/pushLocal/getAllUnsyncedData.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/sync/pushLocal/getAllUnsyncedData.js +2 -2
- package/dist/shared/utils/sync/pushLocal/normalize.d.ts.map +1 -0
- package/dist/shared/utils/sync/pushLocal/parseFields.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/sync/queryStatus.d.ts +1 -1
- package/dist/shared/utils/sync/queryStatus.d.ts.map +1 -0
- package/dist/shared/utils/sync/refreshTables.d.ts.map +1 -0
- package/dist/shared/utils/sync/registration/syncCalls.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/sync/registration/syncCalls.js +1 -1
- package/dist/shared/utils/sync/status/remoteSchema.d.ts.map +1 -0
- package/dist/shared/utils/sync/status/syncUpdate.d.ts.map +1 -0
- package/dist/shared/utils/tableValidator.d.ts.map +1 -0
- package/package.json +28 -11
- package/dist/constants/syncDefaults.d.ts.map +0 -1
- package/dist/core/config/index.d.ts.map +0 -1
- package/dist/core/schemaManager/index.d.ts.map +0 -1
- package/dist/db/adapters/expo_sqlite.d.ts +0 -3
- package/dist/db/adapters/expo_sqlite.d.ts.map +0 -1
- package/dist/db/adapters/expo_sqlite.js +0 -35
- package/dist/db/adapters/rn_nitro.d.ts +0 -3
- package/dist/db/adapters/rn_nitro.d.ts.map +0 -1
- package/dist/db/adapters/rn_nitro.js +0 -54
- package/dist/db/adapters/rn_sqlite_storage.d.ts +0 -3
- package/dist/db/adapters/rn_sqlite_storage.d.ts.map +0 -1
- package/dist/db/dbErrorMsg.d.ts.map +0 -1
- package/dist/db/dbInitializer.d.ts.map +0 -1
- package/dist/hooks/supastashData/addPayloadToUI.d.ts.map +0 -1
- package/dist/hooks/supastashData/dataState.d.ts.map +0 -1
- package/dist/hooks/supastashData/eventQueues.d.ts.map +0 -1
- package/dist/hooks/supastashData/fetchCalls.d.ts.map +0 -1
- package/dist/hooks/supastashData/index.d.ts.map +0 -1
- package/dist/hooks/supastashData/realtimeSubscription.d.ts +0 -5
- package/dist/hooks/supastashData/realtimeSubscription.d.ts.map +0 -1
- package/dist/hooks/supastashData/realtimeSubscription.js +0 -96
- package/dist/hooks/supastashData/registerSub.d.ts.map +0 -1
- package/dist/hooks/supastashFilters/index.d.ts.map +0 -1
- package/dist/hooks/supastashLiteQuery/fetchCalls.d.ts +0 -1
- package/dist/hooks/supastashLiteQuery/fetchCalls.d.ts.map +0 -1
- package/dist/hooks/supastashLiteQuery/fetchCalls.js +0 -122
- package/dist/hooks/supastashLiteQuery/index.d.ts +0 -53
- package/dist/hooks/supastashLiteQuery/index.d.ts.map +0 -1
- package/dist/hooks/supastashLiteQuery/index.js +0 -127
- package/dist/hooks/supastashLiteQuery/loadCacheOnMount.d.ts +0 -1
- package/dist/hooks/supastashLiteQuery/loadCacheOnMount.d.ts.map +0 -1
- package/dist/hooks/supastashLiteQuery/loadCacheOnMount.js +0 -1
- package/dist/hooks/supastashLogic.d.ts.map +0 -1
- package/dist/hooks/syncEngine/index.d.ts.map +0 -1
- package/dist/hooks/syncEngine/pullFromRemote/index.d.ts.map +0 -1
- package/dist/hooks/syncEngine/pushLocal/index.d.ts.map +0 -1
- package/dist/hooks/syncStatus/index.d.ts.map +0 -1
- package/dist/store/localCache.d.ts.map +0 -1
- package/dist/store/syncCalls.d.ts.map +0 -1
- package/dist/store/syncStatus.d.ts.map +0 -1
- package/dist/store/tableFilters.d.ts.map +0 -1
- package/dist/store/tableSchemaData.d.ts.map +0 -1
- package/dist/store/tx.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/utils/connection.d.ts.map +0 -1
- package/dist/utils/createIndexes.d.ts +0 -9
- package/dist/utils/createIndexes.d.ts.map +0 -1
- package/dist/utils/createIndexes.js +0 -74
- package/dist/utils/errorHandler.d.ts.map +0 -1
- package/dist/utils/events/eventBus.d.ts.map +0 -1
- package/dist/utils/fetchData/buildFilter.d.ts +0 -8
- package/dist/utils/fetchData/buildFilter.d.ts.map +0 -1
- package/dist/utils/fetchData/buildFilter.js +0 -58
- package/dist/utils/fetchData/createTable.d.ts.map +0 -1
- package/dist/utils/fetchData/deleteData.d.ts.map +0 -1
- package/dist/utils/fetchData/fetchLocalData.d.ts.map +0 -1
- package/dist/utils/fetchData/getKeyType.d.ts.map +0 -1
- package/dist/utils/fetchData/initialFetch.d.ts.map +0 -1
- package/dist/utils/fetchData/liteHelpers.d.ts.map +0 -1
- package/dist/utils/fetchData/liteReducer.d.ts +0 -3
- package/dist/utils/fetchData/liteReducer.d.ts.map +0 -1
- package/dist/utils/fetchData/liteReducer.js +0 -103
- package/dist/utils/fetchData/realTimeCall.d.ts.map +0 -1
- package/dist/utils/fetchData/realTimeManager.d.ts.map +0 -1
- package/dist/utils/fetchData/receiveData.d.ts.map +0 -1
- package/dist/utils/fetchData/setDataInBatches.d.ts.map +0 -1
- package/dist/utils/fetchData/snapShot.d.ts.map +0 -1
- package/dist/utils/fetchData/validatePayload.d.ts.map +0 -1
- package/dist/utils/genUUID.d.ts.map +0 -1
- package/dist/utils/getSafeValues.d.ts.map +0 -1
- package/dist/utils/getTableSchema.d.ts.map +0 -1
- package/dist/utils/logs.d.ts.map +0 -1
- package/dist/utils/query/builder/crud.d.ts.map +0 -1
- package/dist/utils/query/builder/filters.d.ts.map +0 -1
- package/dist/utils/query/builder/index.d.ts.map +0 -1
- package/dist/utils/query/builder/mainQuery.d.ts.map +0 -1
- package/dist/utils/query/helpers/localDb/getLocalMethod.d.ts.map +0 -1
- package/dist/utils/query/helpers/localDb/insertMany.d.ts.map +0 -1
- package/dist/utils/query/helpers/localDb/localQueryBuilder.d.ts.map +0 -1
- package/dist/utils/query/helpers/localDb/upsertMany.d.ts.map +0 -1
- package/dist/utils/query/helpers/mainQueryHelpers.d.ts.map +0 -1
- package/dist/utils/query/helpers/queryValidator.d.ts.map +0 -1
- package/dist/utils/query/helpers/queueRemote.d.ts.map +0 -1
- package/dist/utils/query/helpers/remoteDb/queryFilterBuilder.d.ts.map +0 -1
- package/dist/utils/query/helpers/remoteDb/queryUtils.d.ts.map +0 -1
- package/dist/utils/query/localDbQuery/delete.d.ts.map +0 -1
- package/dist/utils/query/localDbQuery/index.d.ts.map +0 -1
- package/dist/utils/query/localDbQuery/insert.d.ts.map +0 -1
- package/dist/utils/query/localDbQuery/select.d.ts.map +0 -1
- package/dist/utils/query/localDbQuery/update.d.ts.map +0 -1
- package/dist/utils/query/localDbQuery/upsert.d.ts.map +0 -1
- package/dist/utils/query/remoteQuery/supabaseQuery.d.ts.map +0 -1
- package/dist/utils/refreshScreenCalls.d.ts.map +0 -1
- package/dist/utils/reusedHelpers.d.ts.map +0 -1
- package/dist/utils/schema/createSyncStatus.d.ts.map +0 -1
- package/dist/utils/schema/wipeTables.d.ts.map +0 -1
- package/dist/utils/serializer.d.ts.map +0 -1
- package/dist/utils/supabaseClientErr.d.ts.map +0 -1
- package/dist/utils/supastashMode.d.ts.map +0 -1
- package/dist/utils/sync/getAllTables.d.ts.map +0 -1
- package/dist/utils/sync/pullFromRemote/fetchOlder.d.ts.map +0 -1
- package/dist/utils/sync/pullFromRemote/fetchOlderHelpers.d.ts.map +0 -1
- package/dist/utils/sync/pullFromRemote/getLastCreatedInfo.d.ts.map +0 -1
- package/dist/utils/sync/pullFromRemote/getLastDeletedInfo.d.ts.map +0 -1
- package/dist/utils/sync/pullFromRemote/getLastPulledInfo.d.ts.map +0 -1
- package/dist/utils/sync/pullFromRemote/helpers.d.ts.map +0 -1
- package/dist/utils/sync/pullFromRemote/pullData.d.ts.map +0 -1
- package/dist/utils/sync/pullFromRemote/pullDeletedData.d.ts +0 -15
- package/dist/utils/sync/pullFromRemote/pullDeletedData.d.ts.map +0 -1
- package/dist/utils/sync/pullFromRemote/pullDeletedData.js +0 -51
- package/dist/utils/sync/pullFromRemote/runLimitedConcurrency.d.ts.map +0 -1
- package/dist/utils/sync/pullFromRemote/stringifyFields.d.ts.map +0 -1
- package/dist/utils/sync/pullFromRemote/updateFilter.d.ts.map +0 -1
- package/dist/utils/sync/pullFromRemote/updateLocalDb.d.ts +0 -15
- package/dist/utils/sync/pullFromRemote/updateLocalDb.d.ts.map +0 -1
- package/dist/utils/sync/pullFromRemote/validateFilters.d.ts.map +0 -1
- package/dist/utils/sync/pushLocal/deleteChunks.d.ts.map +0 -1
- package/dist/utils/sync/pushLocal/getAllUnsyncedData.d.ts.map +0 -1
- package/dist/utils/sync/pushLocal/normalize.d.ts.map +0 -1
- package/dist/utils/sync/pushLocal/parseFields.d.ts.map +0 -1
- package/dist/utils/sync/pushLocal/sendUnsyncedToSupabase.d.ts.map +0 -1
- package/dist/utils/sync/pushLocal/uploadChunk.d.ts.map +0 -1
- package/dist/utils/sync/pushLocal/uploadHelpers.d.ts.map +0 -1
- package/dist/utils/sync/queryStatus.d.ts.map +0 -1
- package/dist/utils/sync/refreshTables.d.ts.map +0 -1
- package/dist/utils/sync/registration/syncCalls.d.ts.map +0 -1
- package/dist/utils/sync/status/filterKey.d.ts.map +0 -1
- package/dist/utils/sync/status/remoteSchema.d.ts.map +0 -1
- package/dist/utils/sync/status/repo.d.ts.map +0 -1
- package/dist/utils/sync/status/services.d.ts.map +0 -1
- package/dist/utils/sync/status/syncStatus.d.ts.map +0 -1
- package/dist/utils/sync/status/syncUpdate.d.ts.map +0 -1
- package/dist/utils/syncStatus.d.ts +0 -69
- package/dist/utils/syncStatus.d.ts.map +0 -1
- package/dist/utils/syncStatus.js +0 -129
- package/dist/utils/syncUpdate.d.ts +0 -7
- package/dist/utils/syncUpdate.d.ts.map +0 -1
- package/dist/utils/syncUpdate.js +0 -18
- package/dist/utils/tableValidator.d.ts.map +0 -1
- package/dist/utils/toggleSupastashMode.d.ts +0 -28
- package/dist/utils/toggleSupastashMode.d.ts.map +0 -1
- package/dist/utils/toggleSupastashMode.js +0 -46
- /package/dist/{utils → desktop/utils}/schema/wipeTables.d.ts +0 -0
- /package/dist/{hooks/syncEngine → desktop/utils/sync}/pullFromRemote/index.d.ts +0 -0
- /package/dist/{hooks/syncEngine → desktop/utils/sync}/pushLocal/index.d.ts +0 -0
- /package/dist/{utils → desktop/utils}/sync/pushLocal/sendUnsyncedToSupabase.d.ts +0 -0
- /package/dist/{constants → shared/constants}/syncDefaults.d.ts +0 -0
- /package/dist/{constants → shared/constants}/syncDefaults.js +0 -0
- /package/dist/{db → shared/db}/dbErrorMsg.d.ts +0 -0
- /package/dist/{hooks → shared/hooks}/supastashFilters/index.js +0 -0
- /package/dist/{hooks → shared/hooks}/syncStatus/index.js +0 -0
- /package/dist/{store → shared/store}/localCache.d.ts +0 -0
- /package/dist/{store → shared/store}/localCache.js +0 -0
- /package/dist/{store → shared/store}/syncCalls.d.ts +0 -0
- /package/dist/{store → shared/store}/syncCalls.js +0 -0
- /package/dist/{store → shared/store}/syncStatus.js +0 -0
- /package/dist/{store → shared/store}/tableFilters.d.ts +0 -0
- /package/dist/{store → shared/store}/tableFilters.js +0 -0
- /package/dist/{store → shared/store}/tableSchemaData.d.ts +0 -0
- /package/dist/{store → shared/store}/tableSchemaData.js +0 -0
- /package/dist/{store → shared/store}/tx.d.ts +0 -0
- /package/dist/{store → shared/store}/tx.js +0 -0
- /package/dist/{types → shared/types}/expoSqlite.types.d.ts +0 -0
- /package/dist/{types → shared/types}/index.d.ts +0 -0
- /package/dist/{types → shared/types}/index.js +0 -0
- /package/dist/{types → shared/types}/liteQuery.types.d.ts +0 -0
- /package/dist/{types → shared/types}/query.types.d.ts +0 -0
- /package/dist/{types → shared/types}/realtimeData.types.d.ts +0 -0
- /package/dist/{types → shared/types}/rnNitroSqlite.types.d.ts +0 -0
- /package/dist/{types → shared/types}/rnSqliteStorage.types.d.ts +0 -0
- /package/dist/{types → shared/types}/schemaManager.types.d.ts +0 -0
- /package/dist/{types → shared/types}/syncEngine.types.d.ts +0 -0
- /package/dist/{utils → shared/utils}/connection.d.ts +0 -0
- /package/dist/{utils → shared/utils}/errorHandler.d.ts +0 -0
- /package/dist/{utils → shared/utils}/errorHandler.js +0 -0
- /package/dist/{utils → shared/utils}/events/eventBus.d.ts +0 -0
- /package/dist/{utils → shared/utils}/events/eventBus.js +0 -0
- /package/dist/{hooks/supastashData → shared/utils/fetchData}/addPayloadToUI.d.ts +0 -0
- /package/dist/{hooks/supastashData → shared/utils/fetchData}/addPayloadToUI.js +0 -0
- /package/dist/{utils → shared/utils}/fetchData/createTable.d.ts +0 -0
- /package/dist/{utils → shared/utils}/fetchData/createTable.js +0 -0
- /package/dist/{hooks/supastashData → shared/utils/fetchData}/dataState.d.ts +0 -0
- /package/dist/{utils → shared/utils}/fetchData/deleteData.d.ts +0 -0
- /package/dist/{utils → shared/utils}/fetchData/fetchLocalData.d.ts +0 -0
- /package/dist/{utils → shared/utils}/fetchData/fetchLocalData.js +0 -0
- /package/dist/{utils → shared/utils}/fetchData/getKeyType.d.ts +0 -0
- /package/dist/{utils → shared/utils}/fetchData/getKeyType.js +0 -0
- /package/dist/{utils → shared/utils}/fetchData/liteHelpers.d.ts +0 -0
- /package/dist/{utils → shared/utils}/fetchData/liteHelpers.js +0 -0
- /package/dist/{utils → shared/utils}/fetchData/realTimeCall.d.ts +0 -0
- /package/dist/{utils → shared/utils}/fetchData/realTimeCall.js +0 -0
- /package/dist/{utils → shared/utils}/fetchData/realTimeManager.d.ts +0 -0
- /package/dist/{utils → shared/utils}/fetchData/realTimeManager.js +0 -0
- /package/dist/{hooks/supastashData → shared/utils/fetchData}/registerSub.d.ts +0 -0
- /package/dist/{utils → shared/utils}/fetchData/setDataInBatches.d.ts +0 -0
- /package/dist/{utils → shared/utils}/fetchData/setDataInBatches.js +0 -0
- /package/dist/{utils → shared/utils}/fetchData/snapShot.d.ts +0 -0
- /package/dist/{utils → shared/utils}/fetchData/snapShot.js +0 -0
- /package/dist/{utils → shared/utils}/fetchData/validatePayload.d.ts +0 -0
- /package/dist/{utils → shared/utils}/fetchData/validatePayload.js +0 -0
- /package/dist/{utils → shared/utils}/genUUID.d.ts +0 -0
- /package/dist/{utils → shared/utils}/genUUID.js +0 -0
- /package/dist/{utils → shared/utils}/getSafeValues.d.ts +0 -0
- /package/dist/{utils → shared/utils}/getSafeValues.js +0 -0
- /package/dist/{utils → shared/utils}/getTableSchema.d.ts +0 -0
- /package/dist/{utils → shared/utils}/getTableSchema.js +0 -0
- /package/dist/{utils → shared/utils}/query/builder/crud.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/builder/crud.js +0 -0
- /package/dist/{utils → shared/utils}/query/builder/filters.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/builder/index.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/builder/index.js +0 -0
- /package/dist/{utils → shared/utils}/query/builder/mainQuery.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/builder/mainQuery.js +0 -0
- /package/dist/{utils → shared/utils}/query/helpers/localDb/getLocalMethod.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/helpers/localDb/getLocalMethod.js +0 -0
- /package/dist/{utils → shared/utils}/query/helpers/localDb/insertMany.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/helpers/localDb/insertMany.js +0 -0
- /package/dist/{utils → shared/utils}/query/helpers/localDb/localQueryBuilder.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/helpers/localDb/localQueryBuilder.js +0 -0
- /package/dist/{utils → shared/utils}/query/helpers/localDb/upsertMany.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/helpers/localDb/upsertMany.js +0 -0
- /package/dist/{utils → shared/utils}/query/helpers/mainQueryHelpers.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/helpers/queryValidator.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/helpers/queryValidator.js +0 -0
- /package/dist/{utils → shared/utils}/query/helpers/queueRemote.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/helpers/remoteDb/queryFilterBuilder.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/helpers/remoteDb/queryFilterBuilder.js +0 -0
- /package/dist/{utils → shared/utils}/query/helpers/remoteDb/queryUtils.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/helpers/remoteDb/queryUtils.js +0 -0
- /package/dist/{utils → shared/utils}/query/localDbQuery/delete.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/localDbQuery/delete.js +0 -0
- /package/dist/{utils → shared/utils}/query/localDbQuery/index.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/localDbQuery/index.js +0 -0
- /package/dist/{utils → shared/utils}/query/localDbQuery/insert.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/localDbQuery/insert.js +0 -0
- /package/dist/{utils → shared/utils}/query/localDbQuery/select.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/localDbQuery/select.js +0 -0
- /package/dist/{utils → shared/utils}/query/localDbQuery/update.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/localDbQuery/upsert.d.ts +0 -0
- /package/dist/{utils → shared/utils}/query/localDbQuery/upsert.js +0 -0
- /package/dist/{utils → shared/utils}/query/remoteQuery/supabaseQuery.d.ts +0 -0
- /package/dist/{utils → shared/utils}/refreshScreenCalls.d.ts +0 -0
- /package/dist/{utils → shared/utils}/refreshScreenCalls.js +0 -0
- /package/dist/{utils → shared/utils}/reusedHelpers.d.ts +0 -0
- /package/dist/{utils → shared/utils}/reusedHelpers.js +0 -0
- /package/dist/{utils → shared/utils}/schema/createSyncStatus.d.ts +0 -0
- /package/dist/{utils → shared/utils}/schema/createSyncStatus.js +0 -0
- /package/dist/{utils → shared/utils}/serializer.d.ts +0 -0
- /package/dist/{utils → shared/utils}/serializer.js +0 -0
- /package/dist/{utils → shared/utils}/supabaseClientErr.d.ts +0 -0
- /package/dist/{utils → shared/utils}/supabaseClientErr.js +0 -0
- /package/dist/{utils → shared/utils}/supastashMode.d.ts +0 -0
- /package/dist/{utils → shared/utils}/supastashMode.js +0 -0
- /package/dist/{utils → shared/utils}/sync/getAllTables.d.ts +0 -0
- /package/dist/{utils → shared/utils}/sync/pullFromRemote/getLastCreatedInfo.d.ts +0 -0
- /package/dist/{utils → shared/utils}/sync/pullFromRemote/getLastCreatedInfo.js +0 -0
- /package/dist/{utils → shared/utils}/sync/pullFromRemote/getLastDeletedInfo.d.ts +0 -0
- /package/dist/{utils → shared/utils}/sync/pullFromRemote/getLastDeletedInfo.js +0 -0
- /package/dist/{utils → shared/utils}/sync/pullFromRemote/getLastPulledInfo.d.ts +0 -0
- /package/dist/{utils → shared/utils}/sync/pullFromRemote/getLastPulledInfo.js +0 -0
- /package/dist/{utils → shared/utils}/sync/pullFromRemote/helpers.d.ts +0 -0
- /package/dist/{utils → shared/utils}/sync/pullFromRemote/helpers.js +0 -0
- /package/dist/{utils → shared/utils}/sync/pullFromRemote/runLimitedConcurrency.d.ts +0 -0
- /package/dist/{utils → shared/utils}/sync/pullFromRemote/stringifyFields.d.ts +0 -0
- /package/dist/{utils → shared/utils}/sync/pullFromRemote/stringifyFields.js +0 -0
- /package/dist/{utils → shared/utils}/sync/pullFromRemote/updateFilter.d.ts +0 -0
- /package/dist/{utils → shared/utils}/sync/pullFromRemote/updateFilter.js +0 -0
- /package/dist/{utils → shared/utils}/sync/pullFromRemote/validateFilters.d.ts +0 -0
- /package/dist/{utils → shared/utils}/sync/pullFromRemote/validateFilters.js +0 -0
- /package/dist/{utils → shared/utils}/sync/pushLocal/deleteChunks.d.ts +0 -0
- /package/dist/{utils → shared/utils}/sync/pushLocal/deleteChunks.js +0 -0
- /package/dist/{utils → shared/utils}/sync/pushLocal/getAllUnsyncedData.d.ts +0 -0
- /package/dist/{utils → shared/utils}/sync/pushLocal/normalize.d.ts +0 -0
- /package/dist/{utils → shared/utils}/sync/pushLocal/normalize.js +0 -0
- /package/dist/{utils → shared/utils}/sync/pushLocal/parseFields.d.ts +0 -0
- /package/dist/{utils → shared/utils}/sync/pushLocal/parseFields.js +0 -0
- /package/dist/{utils → shared/utils}/sync/queryStatus.js +0 -0
- /package/dist/{utils → shared/utils}/sync/refreshTables.d.ts +0 -0
- /package/dist/{utils → shared/utils}/sync/refreshTables.js +0 -0
- /package/dist/{utils → shared/utils}/sync/registration/syncCalls.d.ts +0 -0
- /package/dist/{utils → shared/utils}/sync/status/remoteSchema.d.ts +0 -0
- /package/dist/{utils → shared/utils}/sync/status/remoteSchema.js +0 -0
- /package/dist/{utils → shared/utils}/sync/status/syncUpdate.d.ts +0 -0
- /package/dist/{utils → shared/utils}/sync/status/syncUpdate.js +0 -0
- /package/dist/{utils → shared/utils}/tableValidator.d.ts +0 -0
- /package/dist/{utils → shared/utils}/tableValidator.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventQueues.d.ts","sourceRoot":"","sources":["../../../../src/native/utils/fetchData/eventQueues.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAK3E,iBAAS,cAAc,CAAC,CAAC,EACvB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAC3B,eAAe,EAAE,MAAM,eA8CU,MAAM,QAAQ,WAAW,UAgB3D;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { useRef } from "react";
|
|
2
|
+
import useDataState from "../../../shared/utils/fetchData/dataState";
|
|
3
|
+
import { deleteData } from "../../../shared/utils/fetchData/deleteData";
|
|
4
|
+
import { receiveData } from "./receiveData";
|
|
5
|
+
function useEventQueues(table, options, flushIntervalMs) {
|
|
6
|
+
const { dataMap } = useDataState(table);
|
|
7
|
+
const insertQueue = useRef([]);
|
|
8
|
+
const updateQueue = useRef([]);
|
|
9
|
+
const deleteQueue = useRef([]);
|
|
10
|
+
const flushTimer = useRef(null);
|
|
11
|
+
const flush = () => {
|
|
12
|
+
if (options.shouldFetch) {
|
|
13
|
+
insertQueue.current.forEach((item) => {
|
|
14
|
+
receiveData(item, table, options.shouldFetch, options.onInsertAndUpdate || options.onInsert);
|
|
15
|
+
});
|
|
16
|
+
updateQueue.current.forEach((item) => {
|
|
17
|
+
receiveData(item, table, options.shouldFetch, options.onInsertAndUpdate || options.onInsert);
|
|
18
|
+
});
|
|
19
|
+
deleteQueue.current.forEach((item) => {
|
|
20
|
+
deleteData(item, table, options.shouldFetch);
|
|
21
|
+
options.onDelete?.(item);
|
|
22
|
+
});
|
|
23
|
+
insertQueue.current = [];
|
|
24
|
+
updateQueue.current = [];
|
|
25
|
+
deleteQueue.current = [];
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const scheduleFlush = () => {
|
|
29
|
+
if (!flushTimer.current) {
|
|
30
|
+
flushTimer.current = setTimeout(() => {
|
|
31
|
+
flush();
|
|
32
|
+
flushTimer.current = null;
|
|
33
|
+
}, flushIntervalMs);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const queueHandler = (eventType, data) => {
|
|
37
|
+
switch (eventType) {
|
|
38
|
+
case "INSERT":
|
|
39
|
+
insertQueue.current.push(data);
|
|
40
|
+
break;
|
|
41
|
+
case "UPDATE":
|
|
42
|
+
updateQueue.current.push(data);
|
|
43
|
+
break;
|
|
44
|
+
case "DELETE":
|
|
45
|
+
deleteQueue.current.push(data);
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
scheduleFlush();
|
|
49
|
+
};
|
|
50
|
+
return queueHandler;
|
|
51
|
+
}
|
|
52
|
+
export default useEventQueues;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RealtimeOptions } from "../../../shared/types/realtimeData.types";
|
|
2
|
+
export declare function fetchCalls<R = any>(table: string, options: RealtimeOptions<R>, initialized: React.RefObject<boolean>): {
|
|
3
|
+
triggerRefresh: () => Promise<void>;
|
|
4
|
+
trigger: () => void;
|
|
5
|
+
cancel: () => void;
|
|
6
|
+
initialFetchAndSync: () => Promise<void>;
|
|
7
|
+
isFetching: boolean;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=fetchCalls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchCalls.d.ts","sourceRoot":"","sources":["../../../../src/native/utils/fetchData/fetchCalls.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,eAAe,EAEhB,MAAM,0CAA0C,CAAC;AAKlD,wBAAgB,UAAU,CAAC,CAAC,GAAG,GAAG,EAChC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAC3B,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;;;;;;EA4GtC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { useEffect, useRef, useState } from "react";
|
|
2
|
+
import { syncCalls } from "../../../shared/store/syncCalls";
|
|
3
|
+
import { tableFilters, tableFiltersUsed, } from "../../../shared/store/tableFilters";
|
|
4
|
+
import { fetchLocalData } from "../../../shared/utils/fetchData/fetchLocalData";
|
|
5
|
+
import { logError } from "../../../shared/utils/logs";
|
|
6
|
+
import { initialFetch } from "./initialFetch";
|
|
7
|
+
export function fetchCalls(table, options, initialized) {
|
|
8
|
+
const { shouldFetch = true, limit, filter, onPushToRemote, onInsertAndUpdate, useFilterWhileSyncing = true, extraMapKeys, daylength, onlyUseFilterForRealtime, orderBy, orderDesc, sqlFilter, } = options;
|
|
9
|
+
const cancelled = useRef(false);
|
|
10
|
+
const [isFetching, setIsFetching] = useState(false);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (filter && useFilterWhileSyncing && !tableFiltersUsed.has(table)) {
|
|
13
|
+
tableFilters.set(table, [filter]);
|
|
14
|
+
}
|
|
15
|
+
if (onPushToRemote && !syncCalls.get(table)?.push) {
|
|
16
|
+
syncCalls.set(table, {
|
|
17
|
+
...(syncCalls.get(table) || {}),
|
|
18
|
+
push: onPushToRemote,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
if (onInsertAndUpdate && !syncCalls.get(table)?.pull) {
|
|
22
|
+
syncCalls.set(table, {
|
|
23
|
+
...(syncCalls.get(table) || {}),
|
|
24
|
+
pull: onInsertAndUpdate,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}, [filter]);
|
|
28
|
+
const fetch = async () => {
|
|
29
|
+
let filters;
|
|
30
|
+
if (sqlFilter) {
|
|
31
|
+
filters = sqlFilter;
|
|
32
|
+
}
|
|
33
|
+
else if (tableFilters.has(table)) {
|
|
34
|
+
filters = tableFilters.get(table);
|
|
35
|
+
}
|
|
36
|
+
else if (!onlyUseFilterForRealtime) {
|
|
37
|
+
filters = filter ? [filter] : undefined;
|
|
38
|
+
}
|
|
39
|
+
if (!cancelled.current) {
|
|
40
|
+
await fetchLocalData(table, shouldFetch, limit, extraMapKeys, daylength, filters, orderBy ?? "created_at", orderDesc ?? true);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const trigger = () => {
|
|
44
|
+
if (!initialized.current) {
|
|
45
|
+
initialized.current = true;
|
|
46
|
+
cancelled.current = false;
|
|
47
|
+
fetch();
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const cancel = () => {
|
|
51
|
+
cancelled.current = true;
|
|
52
|
+
};
|
|
53
|
+
const triggerRefresh = async () => {
|
|
54
|
+
await fetch();
|
|
55
|
+
};
|
|
56
|
+
const initialFetchAndSync = async () => {
|
|
57
|
+
if (!shouldFetch || cancelled.current)
|
|
58
|
+
return;
|
|
59
|
+
let filters;
|
|
60
|
+
if (sqlFilter) {
|
|
61
|
+
filters = sqlFilter;
|
|
62
|
+
}
|
|
63
|
+
else if (tableFilters.has(table)) {
|
|
64
|
+
filters = tableFilters.get(table);
|
|
65
|
+
}
|
|
66
|
+
else if (!onlyUseFilterForRealtime) {
|
|
67
|
+
filters = filter ? [filter] : undefined;
|
|
68
|
+
}
|
|
69
|
+
try {
|
|
70
|
+
setIsFetching(true);
|
|
71
|
+
await initialFetch(table, filters, onInsertAndUpdate, onPushToRemote);
|
|
72
|
+
await fetch();
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
logError(`[Supastash] Error on initial fetch for ${table}`, error);
|
|
76
|
+
}
|
|
77
|
+
finally {
|
|
78
|
+
setIsFetching(false);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
return {
|
|
82
|
+
triggerRefresh,
|
|
83
|
+
trigger,
|
|
84
|
+
cancel,
|
|
85
|
+
initialFetchAndSync,
|
|
86
|
+
isFetching,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { SupastashFilter } from "../../../shared/types/realtimeData.types";
|
|
2
|
+
export declare function initialFetch(table: string, filter?: SupastashFilter[], onReceiveData?: (payload: any) => Promise<void>, onPushToRemote?: (payload: any[]) => Promise<boolean>): Promise<void>;
|
|
3
|
+
//# sourceMappingURL=initialFetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initialFetch.d.ts","sourceRoot":"","sources":["../../../../src/native/utils/fetchData/initialFetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAQ3E,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,eAAe,EAAE,EAC1B,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,EAC/C,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,iBAatD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createTable } from "../../../shared/utils/fetchData/createTable";
|
|
2
|
+
import { logError } from "../../../shared/utils/logs";
|
|
3
|
+
import { updateLocalDb } from "../sync/pullFromRemote/updateLocalDb";
|
|
4
|
+
import { pushLocalDataToRemote } from "../sync/pushLocal/sendUnsyncedToSupabase";
|
|
5
|
+
let isInSync = new Map();
|
|
6
|
+
export async function initialFetch(table, filter, onReceiveData, onPushToRemote) {
|
|
7
|
+
if (isInSync.get(table))
|
|
8
|
+
return;
|
|
9
|
+
isInSync.set(table, true);
|
|
10
|
+
try {
|
|
11
|
+
await createTable(table);
|
|
12
|
+
await updateLocalDb(table, filter, onReceiveData);
|
|
13
|
+
await pushLocalDataToRemote(table, onPushToRemote);
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
logError(`[Supastash] Error on initial fetch for ${table}`, error);
|
|
17
|
+
}
|
|
18
|
+
finally {
|
|
19
|
+
isInSync.delete(table);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receiveData.d.ts","sourceRoot":"","sources":["../../../../src/native/utils/fetchData/receiveData.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAShE,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,MAAM,EACb,WAAW,GAAE,OAAc,EAC3B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,iBAuCjD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { getSupastashDb } from "../../../shared/db/dbInitializer";
|
|
2
|
+
import { createTable } from "../../../shared/utils/fetchData/createTable";
|
|
3
|
+
import log, { logError } from "../../../shared/utils/logs";
|
|
4
|
+
import { refreshScreen } from "../../../shared/utils/refreshScreenCalls";
|
|
5
|
+
import { checkIfTableExist } from "../../../shared/utils/tableValidator";
|
|
6
|
+
import { upsertData } from "../sync/pullFromRemote/updateLocalDb";
|
|
7
|
+
const DEFAULT_DATE = "1970-01-01T00:00:00Z";
|
|
8
|
+
export async function receiveData(payload, table, shouldFetch = true, upsertCall) {
|
|
9
|
+
if (!shouldFetch)
|
|
10
|
+
return;
|
|
11
|
+
try {
|
|
12
|
+
const db = await getSupastashDb();
|
|
13
|
+
const exist = await checkIfTableExist(table);
|
|
14
|
+
if (!exist) {
|
|
15
|
+
await createTable(table, payload);
|
|
16
|
+
}
|
|
17
|
+
if (!payload?.id)
|
|
18
|
+
return;
|
|
19
|
+
const existingData = await db.getFirstAsync(`SELECT * FROM ${table} WHERE id = ?`, [payload.id]);
|
|
20
|
+
if (existingData &&
|
|
21
|
+
new Date(existingData.updated_at || DEFAULT_DATE).getTime() >=
|
|
22
|
+
new Date(payload.updated_at || DEFAULT_DATE).getTime()) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
log(`[Supastash] Receiving data for ${table} with id ${payload.id}`);
|
|
26
|
+
log(`[Supastash] Payload:`, payload);
|
|
27
|
+
// Update the data
|
|
28
|
+
if (upsertCall) {
|
|
29
|
+
await upsertCall(payload);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
await upsertData({ table, record: payload });
|
|
33
|
+
}
|
|
34
|
+
refreshScreen(table);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
logError("[Supastash] Error receiving data:", error);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { CrudMethods, PayloadData, SupastashQuery } from "../../../shared/types/query.types";
|
|
2
|
+
import SupastashCrudBuilder from "../../../shared/utils/query/builder/crud";
|
|
3
|
+
/**
|
|
4
|
+
* Builder for the supastash query
|
|
5
|
+
* @param T - The method to call
|
|
6
|
+
* @param U - Whether to return a single row or multiple rows
|
|
7
|
+
*/
|
|
8
|
+
export declare class SupastashQueryBuilder<T extends CrudMethods, U extends boolean, R> {
|
|
9
|
+
private readonly query;
|
|
10
|
+
/**
|
|
11
|
+
* Constructor for the supastash query builder
|
|
12
|
+
* @param query - The query to build
|
|
13
|
+
*/
|
|
14
|
+
constructor(query: SupastashQuery<T, U, R>);
|
|
15
|
+
/**
|
|
16
|
+
* Sets the table to query.
|
|
17
|
+
*
|
|
18
|
+
* @param table - The table to query.
|
|
19
|
+
* @returns crud options.
|
|
20
|
+
*/
|
|
21
|
+
from(table: string): SupastashCrudBuilder<T, U, R>;
|
|
22
|
+
/**
|
|
23
|
+
* Executes multiple Supastash operations inside a single SQLite transaction.
|
|
24
|
+
*
|
|
25
|
+
* ⚠️ Do NOT call this inside `db.withTransaction(...)`
|
|
26
|
+
* or another `supastash.withTransaction(...)`.
|
|
27
|
+
* Nested transactions are not supported and will throw.
|
|
28
|
+
*
|
|
29
|
+
* All queries executed using the provided `tx` builder
|
|
30
|
+
* will share the same SQLite transaction and `txId`.
|
|
31
|
+
*
|
|
32
|
+
* If any operation inside the callback throws,
|
|
33
|
+
* the entire transaction is rolled back automatically.
|
|
34
|
+
*
|
|
35
|
+
* Example:
|
|
36
|
+
*
|
|
37
|
+
* await supastash.withTransaction(async (tx) => {
|
|
38
|
+
* await tx.from("orders").insert(order).run();
|
|
39
|
+
* await tx.from("ledger").insert(ledgerEntry).run();
|
|
40
|
+
* });
|
|
41
|
+
*
|
|
42
|
+
*
|
|
43
|
+
* In this example, both inserts succeed or both fail.
|
|
44
|
+
*/
|
|
45
|
+
withTransaction(fn: (tx: SupastashTransactionalBuilder<T, U, R>) => Promise<void> | void): Promise<void>;
|
|
46
|
+
}
|
|
47
|
+
type SupastashTransactionalBuilder<T extends CrudMethods, U extends boolean, R> = Omit<SupastashQueryBuilder<T, U, R>, "withTransaction">;
|
|
48
|
+
export type SupastashTransactionClient = SupastashTransactionalBuilder<CrudMethods, boolean, PayloadData>;
|
|
49
|
+
export type SupastashClient = SupastashTransactionalBuilder<CrudMethods, boolean, PayloadData>;
|
|
50
|
+
/**
|
|
51
|
+
* Supastash query builder for local-first CRUD operations.
|
|
52
|
+
*
|
|
53
|
+
* This builder allows you to construct and execute queries against a local SQLite store
|
|
54
|
+
* with optional synchronization to Supabase.
|
|
55
|
+
*
|
|
56
|
+
* Notes:
|
|
57
|
+
* - SELECT operations return local data by default unless `sync mode` is set to "remoteOnly".
|
|
58
|
+
* - `.run()` (alias of `.execute()`) is **required** to finalize and perform the query.
|
|
59
|
+
* - Use `.run({ viewRemoteResult: true })` to view the remote result from Supabase.
|
|
60
|
+
* - All operations except DELETE return local data automatically — no need to chain `.select()`.
|
|
61
|
+
*
|
|
62
|
+
* @returns A chainable Supastash query instance.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* const result = await supastash
|
|
66
|
+
* .from("users")
|
|
67
|
+
* .update<T>({ name: "John Doe" })
|
|
68
|
+
* .eq("id", "1")
|
|
69
|
+
* .run(); // Required to execute the query
|
|
70
|
+
*/
|
|
71
|
+
export declare const supastash: SupastashQueryBuilder<CrudMethods, boolean, any>;
|
|
72
|
+
export {};
|
|
73
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/native/utils/query/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EAEX,WAAW,EACX,cAAc,EAEf,MAAM,mCAAmC,CAAC;AAE3C,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAI5E;;;;GAIG;AACH,qBAAa,qBAAqB,CAChC,CAAC,SAAS,WAAW,EACrB,CAAC,SAAS,OAAO,EACjB,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;IAEhD;;;OAGG;gBACS,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAI1C;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM;IAOlB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,eAAe,CACb,EAAE,EAAE,CAAC,EAAE,EAAE,6BAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAgD3E;AAED,KAAK,6BAA6B,CAChC,CAAC,SAAS,WAAW,EACrB,CAAC,SAAS,OAAO,EACjB,CAAC,IACC,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;AAE5D,MAAM,MAAM,0BAA0B,GAAG,6BAA6B,CACpE,WAAW,EACX,OAAO,EACP,WAAW,CACZ,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,6BAA6B,CACzD,WAAW,EACX,OAAO,EACP,WAAW,CACZ,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,SAAS,kDAyBiC,CAAC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { txStore } from "../../../shared/store/tx";
|
|
2
|
+
import { generateUUIDv4 } from "../../../shared/utils/genUUID";
|
|
3
|
+
import SupastashCrudBuilder from "../../../shared/utils/query/builder/crud";
|
|
4
|
+
import { queueRemoteCall } from "../../../shared/utils/query/helpers/queueRemote";
|
|
5
|
+
import { getSupastashDb } from "../../db/dbInitializer";
|
|
6
|
+
/**
|
|
7
|
+
* Builder for the supastash query
|
|
8
|
+
* @param T - The method to call
|
|
9
|
+
* @param U - Whether to return a single row or multiple rows
|
|
10
|
+
*/
|
|
11
|
+
export class SupastashQueryBuilder {
|
|
12
|
+
/**
|
|
13
|
+
* Constructor for the supastash query builder
|
|
14
|
+
* @param query - The query to build
|
|
15
|
+
*/
|
|
16
|
+
constructor(query) {
|
|
17
|
+
this.query = query;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Sets the table to query.
|
|
21
|
+
*
|
|
22
|
+
* @param table - The table to query.
|
|
23
|
+
* @returns crud options.
|
|
24
|
+
*/
|
|
25
|
+
from(table) {
|
|
26
|
+
const id = generateUUIDv4();
|
|
27
|
+
getSupastashDb();
|
|
28
|
+
const newQuery = { ...this.query, table, id };
|
|
29
|
+
return new SupastashCrudBuilder(newQuery);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Executes multiple Supastash operations inside a single SQLite transaction.
|
|
33
|
+
*
|
|
34
|
+
* ⚠️ Do NOT call this inside `db.withTransaction(...)`
|
|
35
|
+
* or another `supastash.withTransaction(...)`.
|
|
36
|
+
* Nested transactions are not supported and will throw.
|
|
37
|
+
*
|
|
38
|
+
* All queries executed using the provided `tx` builder
|
|
39
|
+
* will share the same SQLite transaction and `txId`.
|
|
40
|
+
*
|
|
41
|
+
* If any operation inside the callback throws,
|
|
42
|
+
* the entire transaction is rolled back automatically.
|
|
43
|
+
*
|
|
44
|
+
* Example:
|
|
45
|
+
*
|
|
46
|
+
* await supastash.withTransaction(async (tx) => {
|
|
47
|
+
* await tx.from("orders").insert(order).run();
|
|
48
|
+
* await tx.from("ledger").insert(ledgerEntry).run();
|
|
49
|
+
* });
|
|
50
|
+
*
|
|
51
|
+
*
|
|
52
|
+
* In this example, both inserts succeed or both fail.
|
|
53
|
+
*/
|
|
54
|
+
withTransaction(fn) {
|
|
55
|
+
const query = async () => {
|
|
56
|
+
// Create a new transaction id
|
|
57
|
+
const newTxId = generateUUIDv4();
|
|
58
|
+
try {
|
|
59
|
+
const db = await getSupastashDb();
|
|
60
|
+
// Add the transaction to the store
|
|
61
|
+
txStore[newTxId] = [];
|
|
62
|
+
// Execute the local calls
|
|
63
|
+
await db.withTransaction(async (tx) => {
|
|
64
|
+
const txQuery = {
|
|
65
|
+
...this.query,
|
|
66
|
+
txId: newTxId,
|
|
67
|
+
tx,
|
|
68
|
+
throwOnError: true, // Throw the error to roll back the transaction
|
|
69
|
+
};
|
|
70
|
+
const txBuilder = new SupastashQueryBuilder(txQuery);
|
|
71
|
+
return fn(txBuilder);
|
|
72
|
+
});
|
|
73
|
+
// Execute the remote calls
|
|
74
|
+
const remoteCalls = txStore[newTxId] ?? [];
|
|
75
|
+
if (remoteCalls.length > 0) {
|
|
76
|
+
const newStates = remoteCalls.map((call) => {
|
|
77
|
+
return {
|
|
78
|
+
...call,
|
|
79
|
+
txId: null,
|
|
80
|
+
tx: null,
|
|
81
|
+
withTx: false,
|
|
82
|
+
type: "remoteOnly",
|
|
83
|
+
};
|
|
84
|
+
});
|
|
85
|
+
for (const state of newStates) {
|
|
86
|
+
queueRemoteCall(state);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
finally {
|
|
91
|
+
// Delete the transaction from the store
|
|
92
|
+
delete txStore[newTxId];
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
return query();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Supastash query builder for local-first CRUD operations.
|
|
100
|
+
*
|
|
101
|
+
* This builder allows you to construct and execute queries against a local SQLite store
|
|
102
|
+
* with optional synchronization to Supabase.
|
|
103
|
+
*
|
|
104
|
+
* Notes:
|
|
105
|
+
* - SELECT operations return local data by default unless `sync mode` is set to "remoteOnly".
|
|
106
|
+
* - `.run()` (alias of `.execute()`) is **required** to finalize and perform the query.
|
|
107
|
+
* - Use `.run({ viewRemoteResult: true })` to view the remote result from Supabase.
|
|
108
|
+
* - All operations except DELETE return local data automatically — no need to chain `.select()`.
|
|
109
|
+
*
|
|
110
|
+
* @returns A chainable Supastash query instance.
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* const result = await supastash
|
|
114
|
+
* .from("users")
|
|
115
|
+
* .update<T>({ name: "John Doe" })
|
|
116
|
+
* .eq("id", "1")
|
|
117
|
+
* .run(); // Required to execute the query
|
|
118
|
+
*/
|
|
119
|
+
export const supastash = new SupastashQueryBuilder({
|
|
120
|
+
id: generateUUIDv4(),
|
|
121
|
+
table: "",
|
|
122
|
+
method: "none",
|
|
123
|
+
payload: null,
|
|
124
|
+
filters: [],
|
|
125
|
+
limit: null,
|
|
126
|
+
select: null,
|
|
127
|
+
isSingle: false,
|
|
128
|
+
type: "localFirst",
|
|
129
|
+
runSelected: false,
|
|
130
|
+
viewRemoteResult: false,
|
|
131
|
+
onConflictKeys: ["id"],
|
|
132
|
+
preserveTimestamp: false,
|
|
133
|
+
throwOnError: false,
|
|
134
|
+
fetchPolicy: null,
|
|
135
|
+
// With tx
|
|
136
|
+
txId: null,
|
|
137
|
+
tx: null,
|
|
138
|
+
withTx: false,
|
|
139
|
+
});
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wipes a specific table from the local SQLite database and removes its sync metadata.
|
|
3
|
+
*
|
|
4
|
+
* ⚠️ WARNING: This is a destructive operation. It should only be used in development mode,
|
|
5
|
+
* as it will permanently delete all local data for the specified table.
|
|
6
|
+
*
|
|
7
|
+
* @param tableName - Name of the table to drop.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* configureSupastash({
|
|
11
|
+
* ...
|
|
12
|
+
* onSchemaInit: async () => {
|
|
13
|
+
* await wipeTable("users"); // dev-only: clears the "users" table on app start
|
|
14
|
+
* }
|
|
15
|
+
* });
|
|
16
|
+
*/
|
|
17
|
+
export declare function wipeTable(tableName: string): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Drops a specific table from the local SQLite database and removes its sync metadata.
|
|
20
|
+
*
|
|
21
|
+
* ⚠️ WARNING: This is a destructive operation. It should only be used in development mode,
|
|
22
|
+
* as it will permanently delete all local data for the specified table.
|
|
23
|
+
*
|
|
24
|
+
* @param tableName - Name of the table to drop.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* configureSupastash({
|
|
28
|
+
* ...
|
|
29
|
+
* onSchemaInit: async () => {
|
|
30
|
+
* await dropTable("users"); // dev-only: drops the "users" table on app start
|
|
31
|
+
* }
|
|
32
|
+
* });
|
|
33
|
+
*/
|
|
34
|
+
export declare function dropTable(tableName: string): Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Drops all tables from the local SQLite database and removes their sync metadata.
|
|
37
|
+
*
|
|
38
|
+
* ⚠️ WARNING: This is a destructive operation. It should only be used in development mode,
|
|
39
|
+
* as it will permanently delete all local data for all tables.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
*/
|
|
43
|
+
export declare function dropAllTables(): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Wipes all local tables managed by Supastash and clears associated sync metadata.
|
|
46
|
+
*
|
|
47
|
+
* ⚠️ WARNING: This will irreversibly delete all local tables and their data.
|
|
48
|
+
* Intended only for development or reset scenarios.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* configureSupastash({
|
|
52
|
+
* ...
|
|
53
|
+
* onSchemaInit: async () => {
|
|
54
|
+
* await wipeAllTables(); // dev-only: clears all local tables on app start
|
|
55
|
+
* }
|
|
56
|
+
* });
|
|
57
|
+
*/
|
|
58
|
+
export declare function wipeAllTables(): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Wipes old rows from a specified table based on the `created_at` timestamp.
|
|
61
|
+
*
|
|
62
|
+
* This is useful for maintaining a lean local cache by removing stale data
|
|
63
|
+
* during Supastash initialization or periodic syncs.
|
|
64
|
+
*
|
|
65
|
+
* @param tableName - Name of the table to clean up (must have a `created_at` column).
|
|
66
|
+
* @param daysFromNow - Number of days to retain; older rows will be deleted.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```ts
|
|
70
|
+
* // Typically used during Supastash schema setup:
|
|
71
|
+
* configureSupastash({
|
|
72
|
+
* ...,
|
|
73
|
+
* onSchemaInit: async () => {
|
|
74
|
+
* await wipeOldDataForATable("users", 30);
|
|
75
|
+
* // Removes all rows in "users" created more than 30 days ago
|
|
76
|
+
* }
|
|
77
|
+
* });
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export declare function wipeOldDataForATable(tableName: string, daysFromNow: number): Promise<void>;
|
|
81
|
+
/**
|
|
82
|
+
* Deletes old records (based on `created_at`) from all tables, excluding those specified.
|
|
83
|
+
*
|
|
84
|
+
* Only records older than the given number of days will be removed.
|
|
85
|
+
*
|
|
86
|
+
* @param daysFromNow - Cutoff age in days; records older than this will be deleted.
|
|
87
|
+
* @param excludeTables - Optional array of table names to skip during cleanup.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* configureSupastash({
|
|
91
|
+
* ...
|
|
92
|
+
* onSchemaInit: async () => {
|
|
93
|
+
* await wipeOldDataForAllTables(30, ["app_settings"]); // skips wiping "app_settings"
|
|
94
|
+
* }
|
|
95
|
+
* });
|
|
96
|
+
*/
|
|
97
|
+
export declare function wipeOldDataForAllTables(daysFromNow: number, excludeTables?: string[]): Promise<void>;
|
|
98
|
+
//# sourceMappingURL=wipeTables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wipeTables.d.ts","sourceRoot":"","sources":["../../../../src/native/utils/schema/wipeTables.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,iBAWhD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,iBAWhD;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,kBAalC;AAED;;;;;;;;;;;;;GAaG;AAEH,wBAAsB,aAAa,kBAalC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,iBAyBpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,aAAa,GAAE,MAAM,EAAO,iBAiB7B"}
|