supastash 0.1.62 → 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 +37 -8
- 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/desktop/utils/fetchData/initialFetch.d.ts +3 -0
- 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 +7 -7
- 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/desktop/utils/sync/pullFromRemote/fetchOlder.d.ts +44 -0
- package/dist/desktop/utils/sync/pullFromRemote/fetchOlder.d.ts.map +1 -0
- package/dist/desktop/utils/sync/pullFromRemote/fetchOlder.js +55 -0
- package/dist/desktop/utils/sync/pullFromRemote/fetchOlderHelpers.d.ts +33 -0
- package/dist/desktop/utils/sync/pullFromRemote/fetchOlderHelpers.d.ts.map +1 -0
- package/dist/desktop/utils/sync/pullFromRemote/fetchOlderHelpers.js +104 -0
- 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 +3 -4
- package/dist/desktop/utils/sync/pullFromRemote/pullData.d.ts.map +1 -0
- package/dist/{utils → desktop/utils}/sync/pullFromRemote/pullData.js +10 -15
- 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 +8 -11
- 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 +7 -7
- package/dist/{utils → desktop/utils}/sync/status/filterKey.d.ts +3 -3
- package/dist/desktop/utils/sync/status/filterKey.d.ts.map +1 -0
- package/dist/desktop/utils/sync/status/filterKey.js +48 -0
- package/dist/desktop/utils/sync/status/repo.d.ts +10 -0
- package/dist/desktop/utils/sync/status/repo.d.ts.map +1 -0
- package/dist/{utils → desktop/utils}/sync/status/repo.js +31 -25
- package/dist/{utils → desktop/utils}/sync/status/services.d.ts +6 -7
- package/dist/desktop/utils/sync/status/services.d.ts.map +1 -0
- package/dist/{utils → desktop/utils}/sync/status/services.js +4 -9
- package/dist/{utils → desktop/utils}/sync/status/syncStatus.d.ts +6 -8
- package/dist/desktop/utils/sync/status/syncStatus.d.ts.map +1 -0
- package/dist/{utils → desktop/utils}/sync/status/syncStatus.js +14 -6
- package/dist/index.d.ts +18 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -21
- 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} +23 -13
- 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/native/utils/sync/pullFromRemote/updateLocalDb.js +278 -0
- 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 +5 -16
- 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 +9 -1
- 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/shared/db/adapters/rn_sqlite_storage.js +93 -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 +3 -3
- package/dist/shared/hooks/supastashFilters/index.d.ts.map +1 -0
- package/dist/{hooks → shared/hooks}/supastashFilters/index.js +6 -4
- 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 +5 -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 +3 -0
- package/dist/shared/store/tx.d.ts.map +1 -0
- package/dist/shared/store/tx.js +1 -0
- package/dist/shared/types/adapters.types.d.ts +8 -0
- package/dist/{types → shared/types}/expoSqlite.types.d.ts +3 -13
- package/dist/{types → shared/types}/index.d.ts +1 -1
- package/dist/shared/types/index.d.ts.map +1 -0
- package/dist/{types → shared/types}/liteQuery.types.d.ts +2 -2
- package/dist/{types → shared/types}/query.types.d.ts +24 -1
- package/dist/{types → shared/types}/realtimeData.types.d.ts +8 -4
- package/dist/{types → shared/types}/supastashConfig.types.d.ts +263 -8
- package/dist/{types → shared/types}/syncEngine.types.d.ts +49 -7
- 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 +6 -0
- package/dist/shared/utils/errorHandler.d.ts.map +1 -0
- package/dist/shared/utils/errorHandler.js +8 -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/createTable.js +38 -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 +8 -5
- package/dist/{utils → shared/utils}/fetchData/fetchLocalData.d.ts +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 +6 -0
- package/dist/shared/utils/fetchData/liteHelpers.d.ts.map +1 -0
- package/dist/shared/utils/fetchData/liteHelpers.js +92 -0
- package/dist/shared/utils/fetchData/realTimeCall.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/fetchData/realTimeCall.js +2 -2
- package/dist/shared/utils/fetchData/realTimeManager.d.ts.map +1 -0
- package/dist/shared/utils/fetchData/registerSub.d.ts +4 -0
- package/dist/shared/utils/fetchData/registerSub.d.ts.map +1 -0
- package/dist/{hooks/supastashData → shared/utils/fetchData}/registerSub.js +3 -3
- 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/{utils → shared/utils}/query/builder/crud.d.ts +5 -5
- package/dist/shared/utils/query/builder/crud.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/builder/filters.d.ts +36 -12
- package/dist/shared/utils/query/builder/filters.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/builder/filters.js +33 -1
- package/dist/{utils → shared/utils}/query/builder/index.d.ts +29 -1
- package/dist/shared/utils/query/builder/index.d.ts.map +1 -0
- package/dist/shared/utils/query/builder/index.js +138 -0
- package/dist/shared/utils/query/builder/mainQuery.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/builder/mainQuery.js +17 -2
- package/dist/shared/utils/query/helpers/localDb/getLocalMethod.d.ts +15 -0
- package/dist/shared/utils/query/helpers/localDb/getLocalMethod.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/helpers/localDb/getLocalMethod.js +7 -6
- package/dist/{utils → shared/utils}/query/helpers/localDb/insertMany.d.ts +3 -0
- package/dist/shared/utils/query/helpers/localDb/insertMany.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/helpers/localDb/insertMany.js +10 -3
- package/dist/shared/utils/query/helpers/localDb/localQueryBuilder.d.ts +34 -0
- package/dist/shared/utils/query/helpers/localDb/localQueryBuilder.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/helpers/localDb/localQueryBuilder.js +17 -10
- package/dist/{utils → shared/utils}/query/helpers/localDb/upsertMany.d.ts +3 -0
- package/dist/shared/utils/query/helpers/localDb/upsertMany.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/helpers/localDb/upsertMany.js +9 -2
- package/dist/shared/utils/query/helpers/mainQueryHelpers.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/helpers/mainQueryHelpers.js +39 -9
- 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 +36 -27
- 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 +22 -0
- package/dist/shared/utils/query/localDbQuery/delete.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/localDbQuery/delete.js +16 -5
- package/dist/shared/utils/query/localDbQuery/index.d.ts.map +1 -0
- package/dist/shared/utils/query/localDbQuery/index.js +15 -0
- package/dist/shared/utils/query/localDbQuery/insert.d.ts +10 -0
- package/dist/shared/utils/query/localDbQuery/insert.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/localDbQuery/insert.js +8 -5
- package/dist/{utils → shared/utils}/query/localDbQuery/select.d.ts +2 -2
- package/dist/shared/utils/query/localDbQuery/select.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/localDbQuery/select.js +5 -2
- package/dist/shared/utils/query/localDbQuery/update.d.ts +11 -0
- package/dist/shared/utils/query/localDbQuery/update.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/localDbQuery/update.js +7 -4
- package/dist/shared/utils/query/localDbQuery/upsert.d.ts +9 -0
- package/dist/shared/utils/query/localDbQuery/upsert.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/localDbQuery/upsert.js +8 -3
- package/dist/shared/utils/query/remoteQuery/supabaseQuery.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/query/remoteQuery/supabaseQuery.js +5 -2
- package/dist/shared/utils/refreshScreenCalls.d.ts.map +1 -0
- package/dist/shared/utils/reusedHelpers.d.ts +8 -0
- package/dist/shared/utils/reusedHelpers.d.ts.map +1 -0
- package/dist/shared/utils/reusedHelpers.js +162 -0
- package/dist/shared/utils/schema/createSyncStatus.d.ts +19 -0
- package/dist/shared/utils/schema/createSyncStatus.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/schema/createSyncStatus.js +30 -3
- 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/{utils → shared/utils}/sync/pullFromRemote/helpers.d.ts +10 -7
- package/dist/shared/utils/sync/pullFromRemote/helpers.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/sync/pullFromRemote/helpers.js +20 -14
- 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/{utils → shared/utils}/sync/pullFromRemote/updateFilter.d.ts +1 -1
- package/dist/shared/utils/sync/pullFromRemote/updateFilter.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/sync/pullFromRemote/updateFilter.js +5 -3
- package/dist/shared/utils/sync/pullFromRemote/validateFilters.d.ts +3 -0
- package/dist/shared/utils/sync/pullFromRemote/validateFilters.d.ts.map +1 -0
- package/dist/shared/utils/sync/pullFromRemote/validateFilters.js +49 -0
- package/dist/shared/utils/sync/pushLocal/deleteChunks.d.ts.map +1 -0
- package/dist/{utils → shared/utils}/sync/pushLocal/deleteChunks.js +7 -5
- package/dist/shared/utils/sync/pushLocal/getAllUnsyncedData.d.ts.map +1 -0
- package/dist/shared/utils/sync/pushLocal/getAllUnsyncedData.js +53 -0
- 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 +4 -0
- package/dist/shared/utils/sync/status/remoteSchema.d.ts.map +1 -0
- package/dist/shared/utils/sync/status/remoteSchema.js +140 -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 +29 -12
- 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 -24
- 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 -34
- 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/adapters/rn_sqlite_storage.js +0 -25
- 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 +0 -4
- 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 -117
- 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 +0 -5
- package/dist/store/tableFilters.d.ts.map +0 -1
- package/dist/store/tableSchemaData.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/supastashFilters.types.d.ts +0 -3
- 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/events/eventBus.d.ts.map +0 -1
- package/dist/utils/fetchData/buildFilter.d.ts +0 -4
- 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/createTable.js +0 -81
- 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 +0 -3
- package/dist/utils/fetchData/initialFetch.d.ts.map +0 -1
- package/dist/utils/fetchData/liteHelpers.d.ts +0 -6
- package/dist/utils/fetchData/liteHelpers.d.ts.map +0 -1
- package/dist/utils/fetchData/liteHelpers.js +0 -197
- 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/index.js +0 -62
- package/dist/utils/query/builder/mainQuery.d.ts.map +0 -1
- package/dist/utils/query/helpers/localDb/getLocalMethod.d.ts +0 -15
- 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 +0 -34
- 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 +0 -16
- 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/index.js +0 -15
- package/dist/utils/query/localDbQuery/insert.d.ts +0 -10
- 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 +0 -11
- package/dist/utils/query/localDbQuery/update.d.ts.map +0 -1
- package/dist/utils/query/localDbQuery/upsert.d.ts +0 -9
- 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/schema/createSyncStatus.d.ts +0 -17
- 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/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 -12
- 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 -14
- package/dist/utils/sync/pullFromRemote/updateLocalDb.d.ts.map +0 -1
- package/dist/utils/sync/pullFromRemote/updateLocalDb.js +0 -200
- package/dist/utils/sync/pullFromRemote/validateFilters.d.ts +0 -5
- package/dist/utils/sync/pullFromRemote/validateFilters.d.ts.map +0 -1
- package/dist/utils/sync/pullFromRemote/validateFilters.js +0 -103
- 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/getAllUnsyncedData.js +0 -85
- 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/repo.d.ts +0 -10
- 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}/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.js +0 -0
- /package/dist/{store → shared/store}/tableSchemaData.d.ts +0 -0
- /package/dist/{store → shared/store}/tableSchemaData.js +0 -0
- /package/dist/{types → shared/types}/index.js +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/{utils → shared/utils}/connection.d.ts +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/{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.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/realTimeCall.d.ts +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/{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.js +0 -0
- /package/dist/{utils → shared/utils}/query/builder/mainQuery.d.ts +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/index.d.ts +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}/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/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/pushLocal/deleteChunks.d.ts +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/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
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
import { SupabaseClient } from "@supabase/supabase-js";
|
|
2
|
+
import TauriSQLiteDatabaseClient from "@tauri-apps/plugin-sql";
|
|
2
3
|
import { SQLiteOpenOptions } from "expo-sqlite";
|
|
4
|
+
import { NitroSQLiteConnection } from "react-native-nitro-sqlite";
|
|
5
|
+
import { SQLiteDatabase as RNStorageSQLiteDatabase } from "react-native-sqlite-storage";
|
|
3
6
|
import { ExpoSQLiteDatabase } from "./expoSqlite.types";
|
|
4
|
-
import { RNNitroSQLiteDatabase } from "./rnNitroSqlite.types";
|
|
5
|
-
import { RNStorageSQLiteDatabase } from "./rnSqliteStorage.types";
|
|
6
7
|
|
|
7
8
|
export type SupastashSQLiteClientTypes =
|
|
8
9
|
| "expo"
|
|
9
10
|
| "rn-storage"
|
|
10
11
|
| "rn-nitro"
|
|
12
|
+
| "tauri"
|
|
11
13
|
| null;
|
|
12
14
|
|
|
13
15
|
export type SupastashMode = "live" | "ghost";
|
|
14
16
|
|
|
17
|
+
interface NetworkAdapter {
|
|
18
|
+
fetch: () => Promise<{ isConnected: boolean | null }>;
|
|
19
|
+
}
|
|
20
|
+
|
|
15
21
|
export type SupastashConfig<T extends SupastashSQLiteClientTypes> = {
|
|
16
22
|
// --------------------------------------------------
|
|
17
23
|
// Core Database & Client Configuration
|
|
@@ -22,6 +28,19 @@ export type SupastashConfig<T extends SupastashSQLiteClientTypes> = {
|
|
|
22
28
|
*/
|
|
23
29
|
dbName: string;
|
|
24
30
|
|
|
31
|
+
/**
|
|
32
|
+
* Network adapter for native platforms.
|
|
33
|
+
*
|
|
34
|
+
* On React Native, pass in NetInfo to get reliable connectivity detection.
|
|
35
|
+
* ```ts
|
|
36
|
+
* import NetInfo from "@react-native-community/netinfo";
|
|
37
|
+
* configureSupastash({
|
|
38
|
+
* networkAdapter: NetInfo,
|
|
39
|
+
* });
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
networkAdapter?: NetworkAdapter | null;
|
|
43
|
+
|
|
25
44
|
/**
|
|
26
45
|
* Supabase client instance.
|
|
27
46
|
*/
|
|
@@ -29,6 +48,43 @@ export type SupastashConfig<T extends SupastashSQLiteClientTypes> = {
|
|
|
29
48
|
|
|
30
49
|
/**
|
|
31
50
|
* SQLite client adapter.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* for React Native with Expo:
|
|
54
|
+
* ```ts
|
|
55
|
+
* import { openDatabaseAsync } from "expo-sqlite";
|
|
56
|
+
* configureSupastash({
|
|
57
|
+
* sqliteClient: { openDatabaseAsync },
|
|
58
|
+
* sqliteClientType: "expo",
|
|
59
|
+
* });
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* for React Native with Nitro:
|
|
63
|
+
* ```ts
|
|
64
|
+
* import { open } from "react-native-nitro-sqlite";
|
|
65
|
+
* configureSupastash({
|
|
66
|
+
* sqliteClient: { open },
|
|
67
|
+
* sqliteClientType: "rn-nitro",
|
|
68
|
+
* });
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* for React Native with SQLite Storage:
|
|
72
|
+
* ```ts
|
|
73
|
+
* import { openDatabaseAsync } from "react-native-sqlite-storage";
|
|
74
|
+
* configureSupastash({
|
|
75
|
+
* sqliteClient: { openDatabaseAsync },
|
|
76
|
+
* sqliteClientType: "rn-storage",
|
|
77
|
+
* });
|
|
78
|
+
* ```
|
|
79
|
+
*
|
|
80
|
+
* for Tauri or Desktop:
|
|
81
|
+
* ```ts
|
|
82
|
+
* import Database from "@tauri-apps/plugin-sql";
|
|
83
|
+
* configureSupastash({
|
|
84
|
+
* sqliteClient: Database,
|
|
85
|
+
* sqliteClientType: "tauri",
|
|
86
|
+
* });
|
|
87
|
+
* ```
|
|
32
88
|
*/
|
|
33
89
|
sqliteClient: T extends "expo"
|
|
34
90
|
? ExpoSQLiteClient
|
|
@@ -36,8 +92,29 @@ export type SupastashConfig<T extends SupastashSQLiteClientTypes> = {
|
|
|
36
92
|
? RNStorageSQLiteClient
|
|
37
93
|
: T extends "rn-nitro"
|
|
38
94
|
? RNSqliteNitroClient
|
|
95
|
+
: T extends "tauri"
|
|
96
|
+
? TauriSQLiteClient
|
|
39
97
|
: null;
|
|
40
98
|
|
|
99
|
+
/**
|
|
100
|
+
* Runtime platform.
|
|
101
|
+
*
|
|
102
|
+
* - "native": React Native environments (iOS, Android)
|
|
103
|
+
* - "desktop": Desktop runtimes (Tauri, Electron, etc.)
|
|
104
|
+
*
|
|
105
|
+
* Determines which adapters (DB, storage, lifecycle) are used.
|
|
106
|
+
*
|
|
107
|
+
* @default "native"
|
|
108
|
+
*/
|
|
109
|
+
platform?: "native" | "desktop";
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Enable this to turn off the simple null handling warning for Nitro SQLite.
|
|
113
|
+
*
|
|
114
|
+
* @default false
|
|
115
|
+
*/
|
|
116
|
+
hasEnabledSimpleNullHandling?: boolean;
|
|
117
|
+
|
|
41
118
|
/**
|
|
42
119
|
* Type of SQLite client.
|
|
43
120
|
*/
|
|
@@ -50,7 +127,7 @@ export type SupastashConfig<T extends SupastashSQLiteClientTypes> = {
|
|
|
50
127
|
/**
|
|
51
128
|
* Maximum number of rows sent per Supabase write request.
|
|
52
129
|
* Large payloads are automatically split into sequential batches.
|
|
53
|
-
* Default:
|
|
130
|
+
* Default: 800.
|
|
54
131
|
*/
|
|
55
132
|
supabaseBatchSize?: number;
|
|
56
133
|
|
|
@@ -78,6 +155,72 @@ export type SupastashConfig<T extends SupastashSQLiteClientTypes> = {
|
|
|
78
155
|
push?: number;
|
|
79
156
|
};
|
|
80
157
|
|
|
158
|
+
/**
|
|
159
|
+
* Controls how Supastash determines incremental synchronization order.
|
|
160
|
+
*
|
|
161
|
+
* - "client-side":
|
|
162
|
+
* Uses the `updated_at` column as the replication cursor.
|
|
163
|
+
* Timestamps are generated by the client and compared during sync.
|
|
164
|
+
* This mode is backward-compatible but may allow ordering inconsistencies
|
|
165
|
+
* if devices that have been offline for a while push stale data.
|
|
166
|
+
*
|
|
167
|
+
* - "server-side":
|
|
168
|
+
* Uses a server-controlled `arrived_at` column as the replication cursor.
|
|
169
|
+
* The column must exist on the remote table and be enforced via trigger.
|
|
170
|
+
* This provides deterministic, server-ordered replication and prevents
|
|
171
|
+
* stale offline updates from breaking incremental sync.
|
|
172
|
+
*
|
|
173
|
+
* IMPORTANT:
|
|
174
|
+
* When "server-side" is enabled, Supastash requires the `arrived_at`
|
|
175
|
+
* column to exist on all synced tables. Sync will fail if missing.
|
|
176
|
+
*
|
|
177
|
+
* Recommended for production and distributed offline-first systems.
|
|
178
|
+
*
|
|
179
|
+
* @default "client-side"
|
|
180
|
+
*
|
|
181
|
+
* Docs: https://0xzekea.github.io/supastash/docs/replication-mode
|
|
182
|
+
*/
|
|
183
|
+
replicationMode?: "client-side" | "server-side";
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* The maximum number of days Supastash will pull data from when syncing.
|
|
187
|
+
*
|
|
188
|
+
* Supastash will not request records older than (now - maxSyncLookbackDays),
|
|
189
|
+
* unless the table is listed in fullSyncTables or has a specific override
|
|
190
|
+
* in perTableSyncLookbackDays.
|
|
191
|
+
*
|
|
192
|
+
* Set to undefined to remove the cap globally.
|
|
193
|
+
*
|
|
194
|
+
* Default: 365 days.
|
|
195
|
+
*/
|
|
196
|
+
maxSyncLookbackDays?: number;
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Optional per-table override for maxSyncLookbackDays.
|
|
200
|
+
*
|
|
201
|
+
* Allows you to define a different lookback window (in days) for specific tables.
|
|
202
|
+
*
|
|
203
|
+
* If a table is listed here, its value takes precedence over maxSyncLookbackDays.
|
|
204
|
+
|
|
205
|
+
*
|
|
206
|
+
* Example:
|
|
207
|
+
* {
|
|
208
|
+
* messages: 30, // only sync last 30 days
|
|
209
|
+
* orders: 180, // sync last 6 months
|
|
210
|
+
* }
|
|
211
|
+
*/
|
|
212
|
+
perTableSyncLookbackDays?: Record<string, number | undefined>;
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* List of tables that should always sync their full history,
|
|
216
|
+
* ignoring maxSyncLookbackDays and perTableSyncLookbackDays.
|
|
217
|
+
*
|
|
218
|
+
* If a table is included here, no lookback cap will be applied.
|
|
219
|
+
*
|
|
220
|
+
* Useful for critical tables where complete cross-checking is required.
|
|
221
|
+
*/
|
|
222
|
+
fullSyncTables?: string[];
|
|
223
|
+
|
|
81
224
|
// --------------------------------------------------
|
|
82
225
|
// Sync Engine Toggles & Behavior
|
|
83
226
|
// --------------------------------------------------
|
|
@@ -203,7 +346,7 @@ export type SupastashConfig<T extends SupastashSQLiteClientTypes> = {
|
|
|
203
346
|
supastashMode?: SupastashMode;
|
|
204
347
|
};
|
|
205
348
|
|
|
206
|
-
interface
|
|
349
|
+
export interface SupastashSQLiteExecutor {
|
|
207
350
|
/**
|
|
208
351
|
* Executes a SQL statement without returning any result.
|
|
209
352
|
* Useful for `INSERT`, `UPDATE`, `DELETE`, or `CREATE TABLE` commands.
|
|
@@ -212,7 +355,7 @@ interface SupastashSQLiteDatabase {
|
|
|
212
355
|
* @param params - Optional parameters for the statement
|
|
213
356
|
* @returns A Promise that resolves when the execution is complete
|
|
214
357
|
*/
|
|
215
|
-
runAsync(sql: string, params?: any[]): Promise<
|
|
358
|
+
runAsync(sql: string, params?: any[]): Promise<any>;
|
|
216
359
|
|
|
217
360
|
/**
|
|
218
361
|
* Executes a query and returns **all rows** as an array.
|
|
@@ -241,6 +384,105 @@ interface SupastashSQLiteDatabase {
|
|
|
241
384
|
*/
|
|
242
385
|
execAsync(statements: string): Promise<void>;
|
|
243
386
|
|
|
387
|
+
/**
|
|
388
|
+
* Executes a read query and returns all matching rows.
|
|
389
|
+
*
|
|
390
|
+
* Designed for SELECT queries that may return multiple records.
|
|
391
|
+
* Always resolves to an array (empty if no rows match).
|
|
392
|
+
*
|
|
393
|
+
* @param sql - SQL query string. Supports named parameters (e.g. :shopId)
|
|
394
|
+
* @param params - Optional object of named parameters
|
|
395
|
+
*
|
|
396
|
+
* @returns Promise resolving to an array of rows
|
|
397
|
+
*
|
|
398
|
+
* @example
|
|
399
|
+
* await db.query(
|
|
400
|
+
* "SELECT * FROM items WHERE shop_id = :shopId",
|
|
401
|
+
* { shopId }
|
|
402
|
+
* );
|
|
403
|
+
*
|
|
404
|
+
* @example (no results)
|
|
405
|
+
* const rows = await db.query("SELECT * FROM items WHERE id = :id", { id: "x" });
|
|
406
|
+
* // rows = []
|
|
407
|
+
*
|
|
408
|
+
* ⚠️ Edge cases:
|
|
409
|
+
* - Returns [] if no rows found (never null/undefined)
|
|
410
|
+
* - Throws if SQL is invalid or execution fails
|
|
411
|
+
* - Missing params should throw (not silently fail)
|
|
412
|
+
* - Large result sets can impact performance → use LIMIT where possible
|
|
413
|
+
*/
|
|
414
|
+
query<T = any>(sql: string, params?: Record<string, any>): Promise<T[]>;
|
|
415
|
+
|
|
416
|
+
/**
|
|
417
|
+
* Executes a read query and returns the first row only.
|
|
418
|
+
*
|
|
419
|
+
* Useful when exactly one result is expected (e.g. lookup by ID).
|
|
420
|
+
* Internally behaves like query() but returns only the first match.
|
|
421
|
+
* Add 'LIMIT 1' to the query if you want to ensure only one row is returned.
|
|
422
|
+
*
|
|
423
|
+
* @param sql - SQL query string. Supports named parameters
|
|
424
|
+
* @param params - Optional object of named parameters
|
|
425
|
+
*
|
|
426
|
+
* @returns Promise resolving to a single row, or null if no match is found
|
|
427
|
+
*
|
|
428
|
+
* @example
|
|
429
|
+
* await db.queryOne(
|
|
430
|
+
* "SELECT * FROM shops WHERE id = :shopId",
|
|
431
|
+
* { shopId }
|
|
432
|
+
* );
|
|
433
|
+
*
|
|
434
|
+
* @example (no result)
|
|
435
|
+
* const shop = await db.queryOne(...);
|
|
436
|
+
* // shop = null
|
|
437
|
+
*
|
|
438
|
+
* ⚠️ Edge cases:
|
|
439
|
+
* - Returns null if no rows found
|
|
440
|
+
* - If multiple rows match, ONLY the first row is returned (no warning)
|
|
441
|
+
* - You should enforce uniqueness at DB level if only one row is expected
|
|
442
|
+
* - Same error behavior as query()
|
|
443
|
+
*/
|
|
444
|
+
queryOne<T = any>(
|
|
445
|
+
sql: string,
|
|
446
|
+
params?: Record<string, any>
|
|
447
|
+
): Promise<T | null>;
|
|
448
|
+
/**
|
|
449
|
+
* Executes a write or mutation statement.
|
|
450
|
+
*
|
|
451
|
+
* Intended for INSERT, UPDATE, DELETE, and schema operations.
|
|
452
|
+
* Does not return result rows.
|
|
453
|
+
*
|
|
454
|
+
* @param sql - SQL statement to execute
|
|
455
|
+
* @param params - Optional object of named parameters
|
|
456
|
+
*
|
|
457
|
+
* @returns Promise resolving to execution metadata (driver-dependent)
|
|
458
|
+
*
|
|
459
|
+
* @example (insert)
|
|
460
|
+
* await db.execute(
|
|
461
|
+
* "INSERT INTO items (id, name, shop_id) VALUES (:id, :name, :shopId)",
|
|
462
|
+
* { id, name, shopId }
|
|
463
|
+
* );
|
|
464
|
+
*
|
|
465
|
+
* @example (update)
|
|
466
|
+
* await db.execute(
|
|
467
|
+
* "UPDATE items SET name = :name WHERE id = :id",
|
|
468
|
+
* { id, name }
|
|
469
|
+
* );
|
|
470
|
+
*
|
|
471
|
+
* ⚠️ Edge cases:
|
|
472
|
+
* - Does NOT return inserted/updated rows
|
|
473
|
+
* → use RETURNING clause + query/queryOne if needed
|
|
474
|
+
*
|
|
475
|
+
* - Result shape may vary depending on underlying driver
|
|
476
|
+
* (e.g. affectedRows, lastInsertId)
|
|
477
|
+
*
|
|
478
|
+
* - Should be wrapped in transactions for multi-step operations
|
|
479
|
+
*
|
|
480
|
+
* - Throws on constraint violations (e.g. UNIQUE, FOREIGN KEY)
|
|
481
|
+
*/
|
|
482
|
+
execute(sql: string, params?: Record<string, any>): Promise<any>;
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
export interface SupastashSQLiteDatabase extends SupastashSQLiteExecutor {
|
|
244
486
|
/**
|
|
245
487
|
* Closes the underlying SQLite connection.
|
|
246
488
|
*
|
|
@@ -251,12 +493,21 @@ interface SupastashSQLiteDatabase {
|
|
|
251
493
|
* Do NOT call this in production app code.
|
|
252
494
|
*/
|
|
253
495
|
closeAsync(): Promise<void>;
|
|
496
|
+
|
|
497
|
+
/**
|
|
498
|
+
* Executes a function within a transaction.
|
|
499
|
+
* @param fn - The function to execute within the transaction
|
|
500
|
+
* @returns A Promise that resolves when the transaction is complete
|
|
501
|
+
*/
|
|
502
|
+
withTransaction(
|
|
503
|
+
fn: (tx: SupastashSQLiteExecutor) => Promise<void> | void
|
|
504
|
+
): Promise<void>;
|
|
254
505
|
}
|
|
255
506
|
|
|
256
|
-
export interface SupastashSQLiteAdapter {
|
|
507
|
+
export interface SupastashSQLiteAdapter<TClient = any> {
|
|
257
508
|
openDatabaseAsync(
|
|
258
509
|
name: string,
|
|
259
|
-
sqliteClient:
|
|
510
|
+
sqliteClient: TClient
|
|
260
511
|
): Promise<SupastashSQLiteDatabase>;
|
|
261
512
|
}
|
|
262
513
|
|
|
@@ -277,7 +528,11 @@ export interface RNStorageSQLiteClient {
|
|
|
277
528
|
}
|
|
278
529
|
|
|
279
530
|
export interface RNSqliteNitroClient {
|
|
280
|
-
open: (options: { name: string; location?: string }) =>
|
|
531
|
+
open: (options: { name: string; location?: string }) => NitroSQLiteConnection;
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
export interface TauriSQLiteClient extends TauriSQLiteDatabaseClient {
|
|
535
|
+
load: (path: string) => Promise<TauriSQLiteDatabaseClient>;
|
|
281
536
|
}
|
|
282
537
|
|
|
283
538
|
export interface SupastashHookReturn {
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { PayloadData } from "./query.types";
|
|
1
2
|
import { SupastashFilter } from "./realtimeData.types";
|
|
3
|
+
import { SupastashSQLiteExecutor } from "./supastashConfig.types";
|
|
2
4
|
|
|
3
5
|
export type SyncResult = {
|
|
4
6
|
success: string[]; // IDs that were successfully upserted
|
|
@@ -32,16 +34,12 @@ export type SupastashSyncStatus = {
|
|
|
32
34
|
table_name: string;
|
|
33
35
|
filter_key: string;
|
|
34
36
|
filter_json: string;
|
|
35
|
-
last_created_at: string;
|
|
36
37
|
last_synced_at: string;
|
|
37
|
-
|
|
38
|
+
last_synced_at_pk: string | null;
|
|
39
|
+
last_deleted_at: string | null;
|
|
38
40
|
};
|
|
39
41
|
|
|
40
|
-
export type PublicScope =
|
|
41
|
-
| "all"
|
|
42
|
-
| "last_synced_at"
|
|
43
|
-
| "last_created_at"
|
|
44
|
-
| "last_deleted_at";
|
|
42
|
+
export type PublicScope = "all" | "last_synced_at" | "last_deleted_at";
|
|
45
43
|
|
|
46
44
|
export type CurrentTableInfo = {
|
|
47
45
|
/** Table currently being synced */
|
|
@@ -119,3 +117,47 @@ export type SyncInfo = {
|
|
|
119
117
|
/** Sync information for push operations (local → server) */
|
|
120
118
|
push: SyncInfoItem;
|
|
121
119
|
};
|
|
120
|
+
|
|
121
|
+
export type ReceivedDataCompleted = {
|
|
122
|
+
completed: boolean;
|
|
123
|
+
lastTimestamp: string | undefined;
|
|
124
|
+
lastId: string | undefined;
|
|
125
|
+
};
|
|
126
|
+
export type ReceivedDataCompletedMap = {
|
|
127
|
+
[key: string]: {
|
|
128
|
+
arrived_at: ReceivedDataCompleted;
|
|
129
|
+
updated_at: ReceivedDataCompleted;
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
export type UpsertDataParams = {
|
|
134
|
+
/**
|
|
135
|
+
* Optional transaction executor.
|
|
136
|
+
*
|
|
137
|
+
* If provided, the upsert will execute within this existing transaction.
|
|
138
|
+
* This is typically supplied when called inside
|
|
139
|
+
* `db.withTransaction(...)` or `supastash.withTransaction(...)`.
|
|
140
|
+
*
|
|
141
|
+
* If omitted, the upsert will run using the root database executor.
|
|
142
|
+
*/
|
|
143
|
+
tx?: SupastashSQLiteExecutor;
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* The table to perform the upsert on.
|
|
147
|
+
*/
|
|
148
|
+
table: string;
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* The record to insert or update.
|
|
152
|
+
*/
|
|
153
|
+
record: PayloadData | PayloadData[];
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Optional optimization hint.
|
|
157
|
+
*
|
|
158
|
+
* If true, forces UPDATE.
|
|
159
|
+
* If false, forces INSERT.
|
|
160
|
+
* If undefined, existence will be determined automatically.
|
|
161
|
+
*/
|
|
162
|
+
doesExist?: boolean;
|
|
163
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/connection.ts"],"names":[],"mappings":"AAEA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAMjD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAehD"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { getSupastashConfig } from "../core/config";
|
|
2
2
|
export async function isOnline() {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
if (
|
|
7
|
-
return
|
|
3
|
+
const config = getSupastashConfig();
|
|
4
|
+
if (config.networkAdapter)
|
|
5
|
+
return (await config.networkAdapter.fetch()).isConnected ?? false;
|
|
6
|
+
if (typeof navigator !== "undefined")
|
|
7
|
+
return navigator.onLine;
|
|
8
8
|
return true;
|
|
9
9
|
}
|
|
10
10
|
export function isNetworkError(err) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/errorHandler.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACf,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAMvE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventBus.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/events/eventBus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iBAAiB,uBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addPayloadToUI.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/fetchData/addPayloadToUI.ts"],"names":[],"mappings":"AAsBA,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,GAAG,GAAG,GAAG,EAAE,EACpB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAC9D,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EACxD,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,QAoBrD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTable.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/fetchData/createTable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAOtD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,iBAsCrE"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { getSupastashDb } from "../../db/dbInitializer";
|
|
2
|
+
import log from "../logs";
|
|
3
|
+
import { getRemoteTableSchema } from "../sync/status/remoteSchema";
|
|
4
|
+
import { checkIfTableExist } from "../tableValidator";
|
|
5
|
+
import { mapPgTypeToSQLite } from "./getKeyType";
|
|
6
|
+
import { validatePayload } from "./validatePayload";
|
|
7
|
+
/**
|
|
8
|
+
* Creates a table in the database
|
|
9
|
+
* @param table - The name of the table to create
|
|
10
|
+
* @param payload - The payload of the table
|
|
11
|
+
*/
|
|
12
|
+
export async function createTable(table, payload) {
|
|
13
|
+
const db = await getSupastashDb();
|
|
14
|
+
let newPayload = payload;
|
|
15
|
+
const isTableExist = await checkIfTableExist(table);
|
|
16
|
+
if (isTableExist)
|
|
17
|
+
return;
|
|
18
|
+
const tableSchema = await getRemoteTableSchema(table);
|
|
19
|
+
if (!tableSchema) {
|
|
20
|
+
throw new Error(`[Supastash] Can't create table ${table} because no data was found
|
|
21
|
+
Try creating the table manually using the 'defineLocalSchema()' function.
|
|
22
|
+
`);
|
|
23
|
+
}
|
|
24
|
+
const columns = tableSchema.map((col) => {
|
|
25
|
+
return `${col.column_name} ${mapPgTypeToSQLite(col.data_type)} ${col.column_name === "id" ? "PRIMARY KEY" : ""} ${col.is_nullable === "YES" ? "" : "NOT NULL"}`;
|
|
26
|
+
});
|
|
27
|
+
validatePayload(newPayload);
|
|
28
|
+
try {
|
|
29
|
+
log("Table to be created", columns);
|
|
30
|
+
// Create the table
|
|
31
|
+
await db.runAsync(`CREATE TABLE IF NOT EXISTS ${table} (${columns.join(", ")})`);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
throw new Error(`Failed to create table ${table}.
|
|
35
|
+
Use the 'defineLocalSchema()' function to create the table manually.
|
|
36
|
+
Error: ${error}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataState.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/fetchData/dataState.ts"],"names":[],"mappings":"AAGA,iBAAS,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAQ4B;IACjE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACf,SAAS,CAAC,EAAE,GACT,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GACpC,CAAC;CACH,CACF;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useCallback, useSyncExternalStore } from "react";
|
|
2
|
-
import { getSnapshot, subscribe } from "
|
|
2
|
+
import { getSnapshot, subscribe } from "./snapShot";
|
|
3
3
|
function useDataState(table) {
|
|
4
4
|
const stableSubscribe = useCallback((cb) => subscribe(table, cb), [table]);
|
|
5
5
|
const getStableSnapshot = useCallback(() => getSnapshot(table), [table]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteData.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/fetchData/deleteData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAOtD,wBAAsB,UAAU,CAC9B,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,MAAM,EACb,WAAW,GAAE,OAAc,iBAwB5B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { permanentlyDeleteData } from "../../utils/query/localDbQuery/delete";
|
|
2
|
-
import { checkIfTableExist } from "../../utils/tableValidator";
|
|
3
1
|
import { logError } from "../logs";
|
|
2
|
+
import { permanentlyDeleteData } from "../query/localDbQuery/delete";
|
|
4
3
|
import { refreshScreen } from "../refreshScreenCalls";
|
|
4
|
+
import { checkIfTableExist } from "../tableValidator";
|
|
5
5
|
import { createTable } from "./createTable";
|
|
6
6
|
export async function deleteData(payload, table, shouldFetch = true) {
|
|
7
7
|
if (!shouldFetch)
|
|
@@ -14,9 +14,12 @@ export async function deleteData(payload, table, shouldFetch = true) {
|
|
|
14
14
|
if (!payload?.id)
|
|
15
15
|
return;
|
|
16
16
|
// Delete the data
|
|
17
|
-
await permanentlyDeleteData(
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
await permanentlyDeleteData({
|
|
18
|
+
table,
|
|
19
|
+
filters: [{ column: "id", operator: "=", value: payload.id }],
|
|
20
|
+
tx: null,
|
|
21
|
+
throwOnError: true,
|
|
22
|
+
});
|
|
20
23
|
refreshScreen(table);
|
|
21
24
|
}
|
|
22
25
|
catch (error) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PayloadData } from "../../types/query.types";
|
|
2
|
-
import {
|
|
2
|
+
import { SupastashFilter } from "../../types/realtimeData.types";
|
|
3
3
|
/**
|
|
4
4
|
* Fetches the local data from the database
|
|
5
5
|
* @param table - The table name to fetch from
|
|
@@ -7,7 +7,7 @@ import { RealtimeFilter } from "../../types/realtimeData.types";
|
|
|
7
7
|
* @param limit - Optional limit for rows
|
|
8
8
|
* @param extraMapKeys - Optional fields to group data by
|
|
9
9
|
*/
|
|
10
|
-
export declare function fetchLocalData<R = any>(table: string, shouldFetch?: boolean, limit?: number, extraMapKeys?: (keyof R)[], daylength?: number, filter?:
|
|
10
|
+
export declare function fetchLocalData<R = any>(table: string, shouldFetch?: boolean, limit?: number, extraMapKeys?: (keyof R)[], daylength?: number, filter?: SupastashFilter[], orderBy?: keyof R | string, orderDesc?: boolean): Promise<{
|
|
11
11
|
data: PayloadData[];
|
|
12
12
|
dataMap: Map<string, PayloadData>;
|
|
13
13
|
groupedBy: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchLocalData.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/fetchData/fetchLocalData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AA8DjE;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,CAAC,GAAG,GAAG,EAC1C,KAAK,EAAE,MAAM,EACb,WAAW,GAAE,OAAc,EAC3B,KAAK,GAAE,MAAY,EACnB,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAC1B,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,eAAe,EAAE,EAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM,EAC1B,SAAS,GAAE,OAAc,GACxB,OAAO,CAAC;IACT,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClC,SAAS,EAAE;SACR,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;KAC9C,CAAC;CACH,GAAG,IAAI,CAAC,CAiGR"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getKeyType.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/fetchData/getKeyType.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,GAAG,GACT,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAuB/C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA8C3D"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { SupastashFilter } from "../../types/realtimeData.types";
|
|
2
|
+
export declare function parseJSONColumns<R extends Record<string, any>>(row: R): R;
|
|
3
|
+
export declare function sanitizeTableName(table: string): string;
|
|
4
|
+
export declare function sanitizeOrderBy(orderBy: string): string;
|
|
5
|
+
export declare function buildFilters<R = any>(filters: SupastashFilter<R>[], table: string, noChecks?: boolean): Promise<string>;
|
|
6
|
+
//# sourceMappingURL=liteHelpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liteHelpers.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/fetchData/liteHelpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAKjE,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAuBzE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKvD;AAWD,wBAAsB,YAAY,CAAC,CAAC,GAAG,GAAG,EACxC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,EAC7B,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,OAAe,GACxB,OAAO,CAAC,MAAM,CAAC,CAoEjB"}
|