supastash 0.2.0 → 0.2.2

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.
Files changed (562) hide show
  1. package/README.md +20 -3
  2. package/dist/desktop/adapters/appstate.d.ts +2 -0
  3. package/dist/desktop/adapters/appstate.d.ts.map +1 -0
  4. package/dist/desktop/adapters/appstate.js +10 -0
  5. package/dist/desktop/adapters/crypto.d.ts +3 -0
  6. package/dist/desktop/adapters/crypto.d.ts.map +1 -0
  7. package/dist/desktop/adapters/crypto.js +16 -0
  8. package/dist/{core → desktop/core}/schemaManager/index.d.ts +1 -1
  9. package/dist/desktop/core/schemaManager/index.d.ts.map +1 -0
  10. package/dist/{core → desktop/core}/schemaManager/index.js +3 -3
  11. package/dist/{hooks/supastashData/index.d.ts → desktop/hooks/supastashData.d.ts} +2 -2
  12. package/dist/desktop/hooks/supastashData.d.ts.map +1 -0
  13. package/dist/desktop/hooks/supastashData.js +139 -0
  14. package/dist/{hooks → desktop/hooks}/supastashLogic.d.ts +1 -1
  15. package/dist/desktop/hooks/supastashLogic.d.ts.map +1 -0
  16. package/dist/{hooks → desktop/hooks}/supastashLogic.js +11 -12
  17. package/dist/{hooks/syncEngine/index.d.ts → desktop/hooks/syncEngine.d.ts} +1 -1
  18. package/dist/desktop/hooks/syncEngine.d.ts.map +1 -0
  19. package/dist/desktop/hooks/syncEngine.js +233 -0
  20. package/dist/desktop/index.d.ts +28 -0
  21. package/dist/desktop/index.d.ts.map +1 -0
  22. package/dist/desktop/index.js +21 -0
  23. package/dist/{hooks/supastashData → desktop/utils/fetchData}/eventQueues.d.ts +2 -2
  24. package/dist/desktop/utils/fetchData/eventQueues.d.ts.map +1 -0
  25. package/dist/{hooks/supastashData → desktop/utils/fetchData}/eventQueues.js +3 -3
  26. package/dist/{hooks/supastashData → desktop/utils/fetchData}/fetchCalls.d.ts +1 -1
  27. package/dist/desktop/utils/fetchData/fetchCalls.d.ts.map +1 -0
  28. package/dist/{hooks/supastashData → desktop/utils/fetchData}/fetchCalls.js +5 -5
  29. package/dist/{utils → desktop/utils}/fetchData/initialFetch.d.ts +1 -1
  30. package/dist/desktop/utils/fetchData/initialFetch.d.ts.map +1 -0
  31. package/dist/{utils → desktop/utils}/fetchData/initialFetch.js +2 -2
  32. package/dist/{utils → desktop/utils}/fetchData/receiveData.d.ts +1 -1
  33. package/dist/desktop/utils/fetchData/receiveData.d.ts.map +1 -0
  34. package/dist/{utils → desktop/utils}/fetchData/receiveData.js +6 -6
  35. package/dist/desktop/utils/query/index.d.ts +73 -0
  36. package/dist/desktop/utils/query/index.d.ts.map +1 -0
  37. package/dist/desktop/utils/query/index.js +139 -0
  38. package/dist/desktop/utils/schema/wipeTables.d.ts.map +1 -0
  39. package/dist/{utils → desktop/utils}/schema/wipeTables.js +4 -4
  40. package/dist/{utils → desktop/utils}/sync/pullFromRemote/fetchOlder.d.ts +2 -2
  41. package/dist/desktop/utils/sync/pullFromRemote/fetchOlder.d.ts.map +1 -0
  42. package/dist/{utils → desktop/utils}/sync/pullFromRemote/fetchOlder.js +2 -2
  43. package/dist/{utils → desktop/utils}/sync/pullFromRemote/fetchOlderHelpers.d.ts +3 -3
  44. package/dist/desktop/utils/sync/pullFromRemote/fetchOlderHelpers.d.ts.map +1 -0
  45. package/dist/{utils → desktop/utils}/sync/pullFromRemote/fetchOlderHelpers.js +8 -14
  46. package/dist/desktop/utils/sync/pullFromRemote/index.d.ts.map +1 -0
  47. package/dist/{hooks/syncEngine → desktop/utils/sync}/pullFromRemote/index.js +7 -7
  48. package/dist/{utils → desktop/utils}/sync/pullFromRemote/pullData.d.ts +2 -2
  49. package/dist/desktop/utils/sync/pullFromRemote/pullData.d.ts.map +1 -0
  50. package/dist/{utils → desktop/utils}/sync/pullFromRemote/pullData.js +6 -6
  51. package/dist/desktop/utils/sync/pullFromRemote/updateLocalDb.d.ts +46 -0
  52. package/dist/desktop/utils/sync/pullFromRemote/updateLocalDb.d.ts.map +1 -0
  53. package/dist/desktop/utils/sync/pullFromRemote/updateLocalDb.js +284 -0
  54. package/dist/desktop/utils/sync/pushLocal/index.d.ts.map +1 -0
  55. package/dist/{hooks/syncEngine → desktop/utils/sync}/pushLocal/index.js +7 -10
  56. package/dist/desktop/utils/sync/pushLocal/sendUnsyncedToSupabase.d.ts.map +1 -0
  57. package/dist/{utils → desktop/utils}/sync/pushLocal/sendUnsyncedToSupabase.js +5 -8
  58. package/dist/{utils → desktop/utils}/sync/pushLocal/uploadChunk.d.ts +1 -1
  59. package/dist/desktop/utils/sync/pushLocal/uploadChunk.d.ts.map +1 -0
  60. package/dist/{utils → desktop/utils}/sync/pushLocal/uploadChunk.js +8 -12
  61. package/dist/{utils → desktop/utils}/sync/pushLocal/uploadHelpers.d.ts +2 -2
  62. package/dist/desktop/utils/sync/pushLocal/uploadHelpers.d.ts.map +1 -0
  63. package/dist/{utils → desktop/utils}/sync/pushLocal/uploadHelpers.js +6 -6
  64. package/dist/{utils → desktop/utils}/sync/status/filterKey.d.ts +1 -1
  65. package/dist/desktop/utils/sync/status/filterKey.d.ts.map +1 -0
  66. package/dist/desktop/utils/sync/status/filterKey.js +48 -0
  67. package/dist/{utils → desktop/utils}/sync/status/repo.d.ts +3 -3
  68. package/dist/desktop/utils/sync/status/repo.d.ts.map +1 -0
  69. package/dist/{utils → desktop/utils}/sync/status/repo.js +3 -3
  70. package/dist/{utils → desktop/utils}/sync/status/services.d.ts +2 -2
  71. package/dist/desktop/utils/sync/status/services.d.ts.map +1 -0
  72. package/dist/{utils → desktop/utils}/sync/status/services.js +3 -3
  73. package/dist/{utils → desktop/utils}/sync/status/syncStatus.d.ts +2 -2
  74. package/dist/desktop/utils/sync/status/syncStatus.d.ts.map +1 -0
  75. package/dist/{utils → desktop/utils}/sync/status/syncStatus.js +4 -4
  76. package/dist/index.d.ts +18 -25
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +12 -22
  79. package/dist/native/core/schemaManager/index.d.ts +40 -0
  80. package/dist/native/core/schemaManager/index.d.ts.map +1 -0
  81. package/dist/native/core/schemaManager/index.js +141 -0
  82. package/dist/native/hooks/supastashData.d.ts +67 -0
  83. package/dist/native/hooks/supastashData.d.ts.map +1 -0
  84. package/dist/{hooks/supastashData/index.js → native/hooks/supastashData.js} +12 -10
  85. package/dist/native/hooks/supastashLogic.d.ts +19 -0
  86. package/dist/native/hooks/supastashLogic.d.ts.map +1 -0
  87. package/dist/native/hooks/supastashLogic.js +101 -0
  88. package/dist/native/hooks/syncEngine.d.ts +28 -0
  89. package/dist/native/hooks/syncEngine.d.ts.map +1 -0
  90. package/dist/{hooks/syncEngine/index.js → native/hooks/syncEngine.js} +18 -18
  91. package/dist/native/index.d.ts +28 -0
  92. package/dist/native/index.d.ts.map +1 -0
  93. package/dist/native/index.js +21 -0
  94. package/dist/native/utils/fetchData/eventQueues.d.ts +5 -0
  95. package/dist/native/utils/fetchData/eventQueues.d.ts.map +1 -0
  96. package/dist/native/utils/fetchData/eventQueues.js +52 -0
  97. package/dist/native/utils/fetchData/fetchCalls.d.ts +9 -0
  98. package/dist/native/utils/fetchData/fetchCalls.d.ts.map +1 -0
  99. package/dist/native/utils/fetchData/fetchCalls.js +88 -0
  100. package/dist/native/utils/fetchData/initialFetch.d.ts +3 -0
  101. package/dist/native/utils/fetchData/initialFetch.d.ts.map +1 -0
  102. package/dist/native/utils/fetchData/initialFetch.js +21 -0
  103. package/dist/native/utils/fetchData/receiveData.d.ts +3 -0
  104. package/dist/native/utils/fetchData/receiveData.d.ts.map +1 -0
  105. package/dist/native/utils/fetchData/receiveData.js +39 -0
  106. package/dist/native/utils/query/index.d.ts +73 -0
  107. package/dist/native/utils/query/index.d.ts.map +1 -0
  108. package/dist/native/utils/query/index.js +139 -0
  109. package/dist/native/utils/schema/wipeTables.d.ts +98 -0
  110. package/dist/native/utils/schema/wipeTables.d.ts.map +1 -0
  111. package/dist/native/utils/schema/wipeTables.js +188 -0
  112. package/dist/native/utils/sync/pullFromRemote/fetchOlder.d.ts +44 -0
  113. package/dist/native/utils/sync/pullFromRemote/fetchOlder.d.ts.map +1 -0
  114. package/dist/native/utils/sync/pullFromRemote/fetchOlder.js +55 -0
  115. package/dist/native/utils/sync/pullFromRemote/fetchOlderHelpers.d.ts +33 -0
  116. package/dist/native/utils/sync/pullFromRemote/fetchOlderHelpers.d.ts.map +1 -0
  117. package/dist/native/utils/sync/pullFromRemote/fetchOlderHelpers.js +104 -0
  118. package/dist/native/utils/sync/pullFromRemote/index.d.ts +5 -0
  119. package/dist/native/utils/sync/pullFromRemote/index.d.ts.map +1 -0
  120. package/dist/native/utils/sync/pullFromRemote/index.js +73 -0
  121. package/dist/native/utils/sync/pullFromRemote/pullData.d.ts +21 -0
  122. package/dist/native/utils/sync/pullFromRemote/pullData.d.ts.map +1 -0
  123. package/dist/native/utils/sync/pullFromRemote/pullData.js +80 -0
  124. package/dist/native/utils/sync/pullFromRemote/updateLocalDb.d.ts +46 -0
  125. package/dist/native/utils/sync/pullFromRemote/updateLocalDb.d.ts.map +1 -0
  126. package/dist/{utils → native/utils}/sync/pullFromRemote/updateLocalDb.js +120 -47
  127. package/dist/native/utils/sync/pushLocal/index.d.ts +5 -0
  128. package/dist/native/utils/sync/pushLocal/index.d.ts.map +1 -0
  129. package/dist/native/utils/sync/pushLocal/index.js +101 -0
  130. package/dist/native/utils/sync/pushLocal/sendUnsyncedToSupabase.d.ts +6 -0
  131. package/dist/native/utils/sync/pushLocal/sendUnsyncedToSupabase.d.ts.map +1 -0
  132. package/dist/native/utils/sync/pushLocal/sendUnsyncedToSupabase.js +57 -0
  133. package/dist/native/utils/sync/pushLocal/uploadChunk.d.ts +8 -0
  134. package/dist/native/utils/sync/pushLocal/uploadChunk.d.ts.map +1 -0
  135. package/dist/native/utils/sync/pushLocal/uploadChunk.js +173 -0
  136. package/dist/native/utils/sync/pushLocal/uploadHelpers.d.ts +41 -0
  137. package/dist/native/utils/sync/pushLocal/uploadHelpers.d.ts.map +1 -0
  138. package/dist/native/utils/sync/pushLocal/uploadHelpers.js +243 -0
  139. package/dist/native/utils/sync/status/filterKey.d.ts +15 -0
  140. package/dist/native/utils/sync/status/filterKey.d.ts.map +1 -0
  141. package/dist/{utils → native/utils}/sync/status/filterKey.js +0 -14
  142. package/dist/native/utils/sync/status/repo.d.ts +10 -0
  143. package/dist/native/utils/sync/status/repo.d.ts.map +1 -0
  144. package/dist/native/utils/sync/status/repo.js +97 -0
  145. package/dist/native/utils/sync/status/services.d.ts +31 -0
  146. package/dist/native/utils/sync/status/services.d.ts.map +1 -0
  147. package/dist/native/utils/sync/status/services.js +107 -0
  148. package/dist/native/utils/sync/status/syncStatus.d.ts +109 -0
  149. package/dist/native/utils/sync/status/syncStatus.d.ts.map +1 -0
  150. package/dist/native/utils/sync/status/syncStatus.js +161 -0
  151. package/dist/shared/constants/syncDefaults.d.ts.map +1 -0
  152. package/dist/{core → shared/core}/config/index.d.ts +2 -0
  153. package/dist/shared/core/config/index.d.ts.map +1 -0
  154. package/dist/{core → shared/core}/config/index.js +4 -0
  155. package/dist/shared/core/platform/appState.d.ts +12 -0
  156. package/dist/shared/core/platform/appState.d.ts.map +1 -0
  157. package/dist/shared/core/platform/appState.js +11 -0
  158. package/dist/shared/db/adapters/expo_sqlite.d.ts +3 -0
  159. package/dist/shared/db/adapters/expo_sqlite.d.ts.map +1 -0
  160. package/dist/shared/db/adapters/expo_sqlite.js +72 -0
  161. package/dist/shared/db/adapters/rn_nitro.d.ts +3 -0
  162. package/dist/shared/db/adapters/rn_nitro.d.ts.map +1 -0
  163. package/dist/shared/db/adapters/rn_nitro.js +111 -0
  164. package/dist/shared/db/adapters/rn_sqlite_storage.d.ts +3 -0
  165. package/dist/shared/db/adapters/rn_sqlite_storage.d.ts.map +1 -0
  166. package/dist/{db → shared/db}/adapters/rn_sqlite_storage.js +41 -0
  167. package/dist/shared/db/adapters/tauri.d.ts +3 -0
  168. package/dist/shared/db/adapters/tauri.d.ts.map +1 -0
  169. package/dist/shared/db/adapters/tauri.js +100 -0
  170. package/dist/shared/db/dbErrorMsg.d.ts.map +1 -0
  171. package/dist/{db → shared/db}/dbErrorMsg.js +7 -0
  172. package/dist/{db → shared/db}/dbInitializer.d.ts +1 -1
  173. package/dist/shared/db/dbInitializer.d.ts.map +1 -0
  174. package/dist/{db → shared/db}/dbInitializer.js +28 -15
  175. package/dist/shared/db/normalizer.d.ts +6 -0
  176. package/dist/shared/db/normalizer.d.ts.map +1 -0
  177. package/dist/shared/db/normalizer.js +26 -0
  178. package/dist/{hooks → shared/hooks}/supastashFilters/index.d.ts +1 -1
  179. package/dist/shared/hooks/supastashFilters/index.d.ts.map +1 -0
  180. package/dist/{hooks → shared/hooks}/syncStatus/index.d.ts +1 -1
  181. package/dist/shared/hooks/syncStatus/index.d.ts.map +1 -0
  182. package/dist/shared/store/localCache.d.ts.map +1 -0
  183. package/dist/shared/store/sharedDb.d.ts +6 -0
  184. package/dist/shared/store/sharedDb.d.ts.map +1 -0
  185. package/dist/shared/store/sharedDb.js +17 -0
  186. package/dist/shared/store/syncCalls.d.ts.map +1 -0
  187. package/dist/{store → shared/store}/syncStatus.d.ts +1 -1
  188. package/dist/shared/store/syncStatus.d.ts.map +1 -0
  189. package/dist/shared/store/tableFilters.d.ts.map +1 -0
  190. package/dist/shared/store/tableSchemaData.d.ts.map +1 -0
  191. package/dist/shared/store/tx.d.ts.map +1 -0
  192. package/dist/shared/types/adapters.types.d.ts +8 -0
  193. package/dist/shared/types/index.d.ts.map +1 -0
  194. package/dist/{types → shared/types}/supastashConfig.types.d.ts +180 -2
  195. package/dist/shared/utils/connection.d.ts.map +1 -0
  196. package/dist/{utils → shared/utils}/connection.js +6 -6
  197. package/dist/shared/utils/errorHandler.d.ts.map +1 -0
  198. package/dist/shared/utils/events/eventBus.d.ts.map +1 -0
  199. package/dist/shared/utils/fetchData/addPayloadToUI.d.ts.map +1 -0
  200. package/dist/shared/utils/fetchData/createTable.d.ts.map +1 -0
  201. package/dist/shared/utils/fetchData/dataState.d.ts.map +1 -0
  202. package/dist/{hooks/supastashData → shared/utils/fetchData}/dataState.js +1 -1
  203. package/dist/shared/utils/fetchData/deleteData.d.ts.map +1 -0
  204. package/dist/{utils → shared/utils}/fetchData/deleteData.js +2 -2
  205. package/dist/shared/utils/fetchData/fetchLocalData.d.ts.map +1 -0
  206. package/dist/shared/utils/fetchData/getKeyType.d.ts.map +1 -0
  207. package/dist/shared/utils/fetchData/liteHelpers.d.ts.map +1 -0
  208. package/dist/shared/utils/fetchData/realTimeCall.d.ts.map +1 -0
  209. package/dist/shared/utils/fetchData/realTimeManager.d.ts.map +1 -0
  210. package/dist/shared/utils/fetchData/registerSub.d.ts.map +1 -0
  211. package/dist/{hooks/supastashData → shared/utils/fetchData}/registerSub.js +1 -1
  212. package/dist/shared/utils/fetchData/setDataInBatches.d.ts.map +1 -0
  213. package/dist/shared/utils/fetchData/snapShot.d.ts.map +1 -0
  214. package/dist/shared/utils/fetchData/validatePayload.d.ts.map +1 -0
  215. package/dist/shared/utils/genUUID.d.ts.map +1 -0
  216. package/dist/shared/utils/getSafeValues.d.ts.map +1 -0
  217. package/dist/shared/utils/getTableSchema.d.ts.map +1 -0
  218. package/dist/{utils → shared/utils}/logs.d.ts +1 -0
  219. package/dist/shared/utils/logs.d.ts.map +1 -0
  220. package/dist/{utils → shared/utils}/logs.js +6 -1
  221. package/dist/shared/utils/query/builder/crud.d.ts.map +1 -0
  222. package/dist/shared/utils/query/builder/filters.d.ts.map +1 -0
  223. package/dist/{utils → shared/utils}/query/builder/filters.js +1 -1
  224. package/dist/shared/utils/query/builder/index.d.ts.map +1 -0
  225. package/dist/shared/utils/query/builder/mainQuery.d.ts.map +1 -0
  226. package/dist/shared/utils/query/helpers/localDb/getLocalMethod.d.ts.map +1 -0
  227. package/dist/shared/utils/query/helpers/localDb/insertMany.d.ts.map +1 -0
  228. package/dist/shared/utils/query/helpers/localDb/localQueryBuilder.d.ts.map +1 -0
  229. package/dist/shared/utils/query/helpers/localDb/upsertMany.d.ts.map +1 -0
  230. package/dist/shared/utils/query/helpers/mainQueryHelpers.d.ts.map +1 -0
  231. package/dist/{utils → shared/utils}/query/helpers/mainQueryHelpers.js +1 -1
  232. package/dist/shared/utils/query/helpers/queryValidator.d.ts.map +1 -0
  233. package/dist/shared/utils/query/helpers/queueRemote.d.ts.map +1 -0
  234. package/dist/{utils → shared/utils}/query/helpers/queueRemote.js +4 -4
  235. package/dist/shared/utils/query/helpers/remoteDb/queryFilterBuilder.d.ts.map +1 -0
  236. package/dist/shared/utils/query/helpers/remoteDb/queryUtils.d.ts.map +1 -0
  237. package/dist/shared/utils/query/localDbQuery/delete.d.ts.map +1 -0
  238. package/dist/shared/utils/query/localDbQuery/index.d.ts.map +1 -0
  239. package/dist/shared/utils/query/localDbQuery/insert.d.ts.map +1 -0
  240. package/dist/shared/utils/query/localDbQuery/select.d.ts.map +1 -0
  241. package/dist/shared/utils/query/localDbQuery/update.d.ts.map +1 -0
  242. package/dist/{utils → shared/utils}/query/localDbQuery/update.js +2 -2
  243. package/dist/shared/utils/query/localDbQuery/upsert.d.ts.map +1 -0
  244. package/dist/shared/utils/query/remoteQuery/supabaseQuery.d.ts.map +1 -0
  245. package/dist/{utils → shared/utils}/query/remoteQuery/supabaseQuery.js +1 -1
  246. package/dist/shared/utils/refreshScreenCalls.d.ts.map +1 -0
  247. package/dist/shared/utils/reusedHelpers.d.ts.map +1 -0
  248. package/dist/shared/utils/schema/createSyncStatus.d.ts.map +1 -0
  249. package/dist/shared/utils/serializer.d.ts.map +1 -0
  250. package/dist/shared/utils/supabaseClientErr.d.ts.map +1 -0
  251. package/dist/shared/utils/supastashMode.d.ts.map +1 -0
  252. package/dist/shared/utils/sync/getAllTables.d.ts.map +1 -0
  253. package/dist/{utils → shared/utils}/sync/getAllTables.js +1 -1
  254. package/dist/shared/utils/sync/pullFromRemote/getLastCreatedInfo.d.ts.map +1 -0
  255. package/dist/shared/utils/sync/pullFromRemote/getLastDeletedInfo.d.ts.map +1 -0
  256. package/dist/shared/utils/sync/pullFromRemote/getLastPulledInfo.d.ts.map +1 -0
  257. package/dist/shared/utils/sync/pullFromRemote/helpers.d.ts.map +1 -0
  258. package/dist/shared/utils/sync/pullFromRemote/runLimitedConcurrency.d.ts.map +1 -0
  259. package/dist/{utils → shared/utils}/sync/pullFromRemote/runLimitedConcurrency.js +1 -1
  260. package/dist/shared/utils/sync/pullFromRemote/stringifyFields.d.ts.map +1 -0
  261. package/dist/shared/utils/sync/pullFromRemote/updateFilter.d.ts.map +1 -0
  262. package/dist/shared/utils/sync/pullFromRemote/validateFilters.d.ts.map +1 -0
  263. package/dist/shared/utils/sync/pushLocal/deleteChunks.d.ts.map +1 -0
  264. package/dist/shared/utils/sync/pushLocal/getAllUnsyncedData.d.ts.map +1 -0
  265. package/dist/{utils → shared/utils}/sync/pushLocal/getAllUnsyncedData.js +2 -2
  266. package/dist/shared/utils/sync/pushLocal/normalize.d.ts.map +1 -0
  267. package/dist/shared/utils/sync/pushLocal/parseFields.d.ts.map +1 -0
  268. package/dist/{utils → shared/utils}/sync/queryStatus.d.ts +1 -1
  269. package/dist/shared/utils/sync/queryStatus.d.ts.map +1 -0
  270. package/dist/shared/utils/sync/refreshTables.d.ts.map +1 -0
  271. package/dist/shared/utils/sync/registration/syncCalls.d.ts.map +1 -0
  272. package/dist/{utils → shared/utils}/sync/registration/syncCalls.js +1 -1
  273. package/dist/shared/utils/sync/status/remoteSchema.d.ts.map +1 -0
  274. package/dist/shared/utils/sync/status/syncUpdate.d.ts.map +1 -0
  275. package/dist/shared/utils/tableValidator.d.ts.map +1 -0
  276. package/package.json +28 -11
  277. package/dist/constants/syncDefaults.d.ts.map +0 -1
  278. package/dist/core/config/index.d.ts.map +0 -1
  279. package/dist/core/schemaManager/index.d.ts.map +0 -1
  280. package/dist/db/adapters/expo_sqlite.d.ts +0 -3
  281. package/dist/db/adapters/expo_sqlite.d.ts.map +0 -1
  282. package/dist/db/adapters/expo_sqlite.js +0 -35
  283. package/dist/db/adapters/rn_nitro.d.ts +0 -3
  284. package/dist/db/adapters/rn_nitro.d.ts.map +0 -1
  285. package/dist/db/adapters/rn_nitro.js +0 -54
  286. package/dist/db/adapters/rn_sqlite_storage.d.ts +0 -3
  287. package/dist/db/adapters/rn_sqlite_storage.d.ts.map +0 -1
  288. package/dist/db/dbErrorMsg.d.ts.map +0 -1
  289. package/dist/db/dbInitializer.d.ts.map +0 -1
  290. package/dist/hooks/supastashData/addPayloadToUI.d.ts.map +0 -1
  291. package/dist/hooks/supastashData/dataState.d.ts.map +0 -1
  292. package/dist/hooks/supastashData/eventQueues.d.ts.map +0 -1
  293. package/dist/hooks/supastashData/fetchCalls.d.ts.map +0 -1
  294. package/dist/hooks/supastashData/index.d.ts.map +0 -1
  295. package/dist/hooks/supastashData/realtimeSubscription.d.ts +0 -5
  296. package/dist/hooks/supastashData/realtimeSubscription.d.ts.map +0 -1
  297. package/dist/hooks/supastashData/realtimeSubscription.js +0 -96
  298. package/dist/hooks/supastashData/registerSub.d.ts.map +0 -1
  299. package/dist/hooks/supastashFilters/index.d.ts.map +0 -1
  300. package/dist/hooks/supastashLiteQuery/fetchCalls.d.ts +0 -1
  301. package/dist/hooks/supastashLiteQuery/fetchCalls.d.ts.map +0 -1
  302. package/dist/hooks/supastashLiteQuery/fetchCalls.js +0 -122
  303. package/dist/hooks/supastashLiteQuery/index.d.ts +0 -53
  304. package/dist/hooks/supastashLiteQuery/index.d.ts.map +0 -1
  305. package/dist/hooks/supastashLiteQuery/index.js +0 -127
  306. package/dist/hooks/supastashLiteQuery/loadCacheOnMount.d.ts +0 -1
  307. package/dist/hooks/supastashLiteQuery/loadCacheOnMount.d.ts.map +0 -1
  308. package/dist/hooks/supastashLiteQuery/loadCacheOnMount.js +0 -1
  309. package/dist/hooks/supastashLogic.d.ts.map +0 -1
  310. package/dist/hooks/syncEngine/index.d.ts.map +0 -1
  311. package/dist/hooks/syncEngine/pullFromRemote/index.d.ts.map +0 -1
  312. package/dist/hooks/syncEngine/pushLocal/index.d.ts.map +0 -1
  313. package/dist/hooks/syncStatus/index.d.ts.map +0 -1
  314. package/dist/store/localCache.d.ts.map +0 -1
  315. package/dist/store/syncCalls.d.ts.map +0 -1
  316. package/dist/store/syncStatus.d.ts.map +0 -1
  317. package/dist/store/tableFilters.d.ts.map +0 -1
  318. package/dist/store/tableSchemaData.d.ts.map +0 -1
  319. package/dist/store/tx.d.ts.map +0 -1
  320. package/dist/types/index.d.ts.map +0 -1
  321. package/dist/utils/connection.d.ts.map +0 -1
  322. package/dist/utils/createIndexes.d.ts +0 -9
  323. package/dist/utils/createIndexes.d.ts.map +0 -1
  324. package/dist/utils/createIndexes.js +0 -74
  325. package/dist/utils/errorHandler.d.ts.map +0 -1
  326. package/dist/utils/events/eventBus.d.ts.map +0 -1
  327. package/dist/utils/fetchData/buildFilter.d.ts +0 -8
  328. package/dist/utils/fetchData/buildFilter.d.ts.map +0 -1
  329. package/dist/utils/fetchData/buildFilter.js +0 -58
  330. package/dist/utils/fetchData/createTable.d.ts.map +0 -1
  331. package/dist/utils/fetchData/deleteData.d.ts.map +0 -1
  332. package/dist/utils/fetchData/fetchLocalData.d.ts.map +0 -1
  333. package/dist/utils/fetchData/getKeyType.d.ts.map +0 -1
  334. package/dist/utils/fetchData/initialFetch.d.ts.map +0 -1
  335. package/dist/utils/fetchData/liteHelpers.d.ts.map +0 -1
  336. package/dist/utils/fetchData/liteReducer.d.ts +0 -3
  337. package/dist/utils/fetchData/liteReducer.d.ts.map +0 -1
  338. package/dist/utils/fetchData/liteReducer.js +0 -103
  339. package/dist/utils/fetchData/realTimeCall.d.ts.map +0 -1
  340. package/dist/utils/fetchData/realTimeManager.d.ts.map +0 -1
  341. package/dist/utils/fetchData/receiveData.d.ts.map +0 -1
  342. package/dist/utils/fetchData/setDataInBatches.d.ts.map +0 -1
  343. package/dist/utils/fetchData/snapShot.d.ts.map +0 -1
  344. package/dist/utils/fetchData/validatePayload.d.ts.map +0 -1
  345. package/dist/utils/genUUID.d.ts.map +0 -1
  346. package/dist/utils/getSafeValues.d.ts.map +0 -1
  347. package/dist/utils/getTableSchema.d.ts.map +0 -1
  348. package/dist/utils/logs.d.ts.map +0 -1
  349. package/dist/utils/query/builder/crud.d.ts.map +0 -1
  350. package/dist/utils/query/builder/filters.d.ts.map +0 -1
  351. package/dist/utils/query/builder/index.d.ts.map +0 -1
  352. package/dist/utils/query/builder/mainQuery.d.ts.map +0 -1
  353. package/dist/utils/query/helpers/localDb/getLocalMethod.d.ts.map +0 -1
  354. package/dist/utils/query/helpers/localDb/insertMany.d.ts.map +0 -1
  355. package/dist/utils/query/helpers/localDb/localQueryBuilder.d.ts.map +0 -1
  356. package/dist/utils/query/helpers/localDb/upsertMany.d.ts.map +0 -1
  357. package/dist/utils/query/helpers/mainQueryHelpers.d.ts.map +0 -1
  358. package/dist/utils/query/helpers/queryValidator.d.ts.map +0 -1
  359. package/dist/utils/query/helpers/queueRemote.d.ts.map +0 -1
  360. package/dist/utils/query/helpers/remoteDb/queryFilterBuilder.d.ts.map +0 -1
  361. package/dist/utils/query/helpers/remoteDb/queryUtils.d.ts.map +0 -1
  362. package/dist/utils/query/localDbQuery/delete.d.ts.map +0 -1
  363. package/dist/utils/query/localDbQuery/index.d.ts.map +0 -1
  364. package/dist/utils/query/localDbQuery/insert.d.ts.map +0 -1
  365. package/dist/utils/query/localDbQuery/select.d.ts.map +0 -1
  366. package/dist/utils/query/localDbQuery/update.d.ts.map +0 -1
  367. package/dist/utils/query/localDbQuery/upsert.d.ts.map +0 -1
  368. package/dist/utils/query/remoteQuery/supabaseQuery.d.ts.map +0 -1
  369. package/dist/utils/refreshScreenCalls.d.ts.map +0 -1
  370. package/dist/utils/reusedHelpers.d.ts.map +0 -1
  371. package/dist/utils/schema/createSyncStatus.d.ts.map +0 -1
  372. package/dist/utils/schema/wipeTables.d.ts.map +0 -1
  373. package/dist/utils/serializer.d.ts.map +0 -1
  374. package/dist/utils/supabaseClientErr.d.ts.map +0 -1
  375. package/dist/utils/supastashMode.d.ts.map +0 -1
  376. package/dist/utils/sync/getAllTables.d.ts.map +0 -1
  377. package/dist/utils/sync/pullFromRemote/fetchOlder.d.ts.map +0 -1
  378. package/dist/utils/sync/pullFromRemote/fetchOlderHelpers.d.ts.map +0 -1
  379. package/dist/utils/sync/pullFromRemote/getLastCreatedInfo.d.ts.map +0 -1
  380. package/dist/utils/sync/pullFromRemote/getLastDeletedInfo.d.ts.map +0 -1
  381. package/dist/utils/sync/pullFromRemote/getLastPulledInfo.d.ts.map +0 -1
  382. package/dist/utils/sync/pullFromRemote/helpers.d.ts.map +0 -1
  383. package/dist/utils/sync/pullFromRemote/pullData.d.ts.map +0 -1
  384. package/dist/utils/sync/pullFromRemote/pullDeletedData.d.ts +0 -15
  385. package/dist/utils/sync/pullFromRemote/pullDeletedData.d.ts.map +0 -1
  386. package/dist/utils/sync/pullFromRemote/pullDeletedData.js +0 -51
  387. package/dist/utils/sync/pullFromRemote/runLimitedConcurrency.d.ts.map +0 -1
  388. package/dist/utils/sync/pullFromRemote/stringifyFields.d.ts.map +0 -1
  389. package/dist/utils/sync/pullFromRemote/updateFilter.d.ts.map +0 -1
  390. package/dist/utils/sync/pullFromRemote/updateLocalDb.d.ts +0 -15
  391. package/dist/utils/sync/pullFromRemote/updateLocalDb.d.ts.map +0 -1
  392. package/dist/utils/sync/pullFromRemote/validateFilters.d.ts.map +0 -1
  393. package/dist/utils/sync/pushLocal/deleteChunks.d.ts.map +0 -1
  394. package/dist/utils/sync/pushLocal/getAllUnsyncedData.d.ts.map +0 -1
  395. package/dist/utils/sync/pushLocal/normalize.d.ts.map +0 -1
  396. package/dist/utils/sync/pushLocal/parseFields.d.ts.map +0 -1
  397. package/dist/utils/sync/pushLocal/sendUnsyncedToSupabase.d.ts.map +0 -1
  398. package/dist/utils/sync/pushLocal/uploadChunk.d.ts.map +0 -1
  399. package/dist/utils/sync/pushLocal/uploadHelpers.d.ts.map +0 -1
  400. package/dist/utils/sync/queryStatus.d.ts.map +0 -1
  401. package/dist/utils/sync/refreshTables.d.ts.map +0 -1
  402. package/dist/utils/sync/registration/syncCalls.d.ts.map +0 -1
  403. package/dist/utils/sync/status/filterKey.d.ts.map +0 -1
  404. package/dist/utils/sync/status/remoteSchema.d.ts.map +0 -1
  405. package/dist/utils/sync/status/repo.d.ts.map +0 -1
  406. package/dist/utils/sync/status/services.d.ts.map +0 -1
  407. package/dist/utils/sync/status/syncStatus.d.ts.map +0 -1
  408. package/dist/utils/sync/status/syncUpdate.d.ts.map +0 -1
  409. package/dist/utils/syncStatus.d.ts +0 -69
  410. package/dist/utils/syncStatus.d.ts.map +0 -1
  411. package/dist/utils/syncStatus.js +0 -129
  412. package/dist/utils/syncUpdate.d.ts +0 -7
  413. package/dist/utils/syncUpdate.d.ts.map +0 -1
  414. package/dist/utils/syncUpdate.js +0 -18
  415. package/dist/utils/tableValidator.d.ts.map +0 -1
  416. package/dist/utils/toggleSupastashMode.d.ts +0 -28
  417. package/dist/utils/toggleSupastashMode.d.ts.map +0 -1
  418. package/dist/utils/toggleSupastashMode.js +0 -46
  419. /package/dist/{utils → desktop/utils}/schema/wipeTables.d.ts +0 -0
  420. /package/dist/{hooks/syncEngine → desktop/utils/sync}/pullFromRemote/index.d.ts +0 -0
  421. /package/dist/{hooks/syncEngine → desktop/utils/sync}/pushLocal/index.d.ts +0 -0
  422. /package/dist/{utils → desktop/utils}/sync/pushLocal/sendUnsyncedToSupabase.d.ts +0 -0
  423. /package/dist/{constants → shared/constants}/syncDefaults.d.ts +0 -0
  424. /package/dist/{constants → shared/constants}/syncDefaults.js +0 -0
  425. /package/dist/{db → shared/db}/dbErrorMsg.d.ts +0 -0
  426. /package/dist/{hooks → shared/hooks}/supastashFilters/index.js +0 -0
  427. /package/dist/{hooks → shared/hooks}/syncStatus/index.js +0 -0
  428. /package/dist/{store → shared/store}/localCache.d.ts +0 -0
  429. /package/dist/{store → shared/store}/localCache.js +0 -0
  430. /package/dist/{store → shared/store}/syncCalls.d.ts +0 -0
  431. /package/dist/{store → shared/store}/syncCalls.js +0 -0
  432. /package/dist/{store → shared/store}/syncStatus.js +0 -0
  433. /package/dist/{store → shared/store}/tableFilters.d.ts +0 -0
  434. /package/dist/{store → shared/store}/tableFilters.js +0 -0
  435. /package/dist/{store → shared/store}/tableSchemaData.d.ts +0 -0
  436. /package/dist/{store → shared/store}/tableSchemaData.js +0 -0
  437. /package/dist/{store → shared/store}/tx.d.ts +0 -0
  438. /package/dist/{store → shared/store}/tx.js +0 -0
  439. /package/dist/{types → shared/types}/expoSqlite.types.d.ts +0 -0
  440. /package/dist/{types → shared/types}/index.d.ts +0 -0
  441. /package/dist/{types → shared/types}/index.js +0 -0
  442. /package/dist/{types → shared/types}/liteQuery.types.d.ts +0 -0
  443. /package/dist/{types → shared/types}/query.types.d.ts +0 -0
  444. /package/dist/{types → shared/types}/realtimeData.types.d.ts +0 -0
  445. /package/dist/{types → shared/types}/rnNitroSqlite.types.d.ts +0 -0
  446. /package/dist/{types → shared/types}/rnSqliteStorage.types.d.ts +0 -0
  447. /package/dist/{types → shared/types}/schemaManager.types.d.ts +0 -0
  448. /package/dist/{types → shared/types}/syncEngine.types.d.ts +0 -0
  449. /package/dist/{utils → shared/utils}/connection.d.ts +0 -0
  450. /package/dist/{utils → shared/utils}/errorHandler.d.ts +0 -0
  451. /package/dist/{utils → shared/utils}/errorHandler.js +0 -0
  452. /package/dist/{utils → shared/utils}/events/eventBus.d.ts +0 -0
  453. /package/dist/{utils → shared/utils}/events/eventBus.js +0 -0
  454. /package/dist/{hooks/supastashData → shared/utils/fetchData}/addPayloadToUI.d.ts +0 -0
  455. /package/dist/{hooks/supastashData → shared/utils/fetchData}/addPayloadToUI.js +0 -0
  456. /package/dist/{utils → shared/utils}/fetchData/createTable.d.ts +0 -0
  457. /package/dist/{utils → shared/utils}/fetchData/createTable.js +0 -0
  458. /package/dist/{hooks/supastashData → shared/utils/fetchData}/dataState.d.ts +0 -0
  459. /package/dist/{utils → shared/utils}/fetchData/deleteData.d.ts +0 -0
  460. /package/dist/{utils → shared/utils}/fetchData/fetchLocalData.d.ts +0 -0
  461. /package/dist/{utils → shared/utils}/fetchData/fetchLocalData.js +0 -0
  462. /package/dist/{utils → shared/utils}/fetchData/getKeyType.d.ts +0 -0
  463. /package/dist/{utils → shared/utils}/fetchData/getKeyType.js +0 -0
  464. /package/dist/{utils → shared/utils}/fetchData/liteHelpers.d.ts +0 -0
  465. /package/dist/{utils → shared/utils}/fetchData/liteHelpers.js +0 -0
  466. /package/dist/{utils → shared/utils}/fetchData/realTimeCall.d.ts +0 -0
  467. /package/dist/{utils → shared/utils}/fetchData/realTimeCall.js +0 -0
  468. /package/dist/{utils → shared/utils}/fetchData/realTimeManager.d.ts +0 -0
  469. /package/dist/{utils → shared/utils}/fetchData/realTimeManager.js +0 -0
  470. /package/dist/{hooks/supastashData → shared/utils/fetchData}/registerSub.d.ts +0 -0
  471. /package/dist/{utils → shared/utils}/fetchData/setDataInBatches.d.ts +0 -0
  472. /package/dist/{utils → shared/utils}/fetchData/setDataInBatches.js +0 -0
  473. /package/dist/{utils → shared/utils}/fetchData/snapShot.d.ts +0 -0
  474. /package/dist/{utils → shared/utils}/fetchData/snapShot.js +0 -0
  475. /package/dist/{utils → shared/utils}/fetchData/validatePayload.d.ts +0 -0
  476. /package/dist/{utils → shared/utils}/fetchData/validatePayload.js +0 -0
  477. /package/dist/{utils → shared/utils}/genUUID.d.ts +0 -0
  478. /package/dist/{utils → shared/utils}/genUUID.js +0 -0
  479. /package/dist/{utils → shared/utils}/getSafeValues.d.ts +0 -0
  480. /package/dist/{utils → shared/utils}/getSafeValues.js +0 -0
  481. /package/dist/{utils → shared/utils}/getTableSchema.d.ts +0 -0
  482. /package/dist/{utils → shared/utils}/getTableSchema.js +0 -0
  483. /package/dist/{utils → shared/utils}/query/builder/crud.d.ts +0 -0
  484. /package/dist/{utils → shared/utils}/query/builder/crud.js +0 -0
  485. /package/dist/{utils → shared/utils}/query/builder/filters.d.ts +0 -0
  486. /package/dist/{utils → shared/utils}/query/builder/index.d.ts +0 -0
  487. /package/dist/{utils → shared/utils}/query/builder/index.js +0 -0
  488. /package/dist/{utils → shared/utils}/query/builder/mainQuery.d.ts +0 -0
  489. /package/dist/{utils → shared/utils}/query/builder/mainQuery.js +0 -0
  490. /package/dist/{utils → shared/utils}/query/helpers/localDb/getLocalMethod.d.ts +0 -0
  491. /package/dist/{utils → shared/utils}/query/helpers/localDb/getLocalMethod.js +0 -0
  492. /package/dist/{utils → shared/utils}/query/helpers/localDb/insertMany.d.ts +0 -0
  493. /package/dist/{utils → shared/utils}/query/helpers/localDb/insertMany.js +0 -0
  494. /package/dist/{utils → shared/utils}/query/helpers/localDb/localQueryBuilder.d.ts +0 -0
  495. /package/dist/{utils → shared/utils}/query/helpers/localDb/localQueryBuilder.js +0 -0
  496. /package/dist/{utils → shared/utils}/query/helpers/localDb/upsertMany.d.ts +0 -0
  497. /package/dist/{utils → shared/utils}/query/helpers/localDb/upsertMany.js +0 -0
  498. /package/dist/{utils → shared/utils}/query/helpers/mainQueryHelpers.d.ts +0 -0
  499. /package/dist/{utils → shared/utils}/query/helpers/queryValidator.d.ts +0 -0
  500. /package/dist/{utils → shared/utils}/query/helpers/queryValidator.js +0 -0
  501. /package/dist/{utils → shared/utils}/query/helpers/queueRemote.d.ts +0 -0
  502. /package/dist/{utils → shared/utils}/query/helpers/remoteDb/queryFilterBuilder.d.ts +0 -0
  503. /package/dist/{utils → shared/utils}/query/helpers/remoteDb/queryFilterBuilder.js +0 -0
  504. /package/dist/{utils → shared/utils}/query/helpers/remoteDb/queryUtils.d.ts +0 -0
  505. /package/dist/{utils → shared/utils}/query/helpers/remoteDb/queryUtils.js +0 -0
  506. /package/dist/{utils → shared/utils}/query/localDbQuery/delete.d.ts +0 -0
  507. /package/dist/{utils → shared/utils}/query/localDbQuery/delete.js +0 -0
  508. /package/dist/{utils → shared/utils}/query/localDbQuery/index.d.ts +0 -0
  509. /package/dist/{utils → shared/utils}/query/localDbQuery/index.js +0 -0
  510. /package/dist/{utils → shared/utils}/query/localDbQuery/insert.d.ts +0 -0
  511. /package/dist/{utils → shared/utils}/query/localDbQuery/insert.js +0 -0
  512. /package/dist/{utils → shared/utils}/query/localDbQuery/select.d.ts +0 -0
  513. /package/dist/{utils → shared/utils}/query/localDbQuery/select.js +0 -0
  514. /package/dist/{utils → shared/utils}/query/localDbQuery/update.d.ts +0 -0
  515. /package/dist/{utils → shared/utils}/query/localDbQuery/upsert.d.ts +0 -0
  516. /package/dist/{utils → shared/utils}/query/localDbQuery/upsert.js +0 -0
  517. /package/dist/{utils → shared/utils}/query/remoteQuery/supabaseQuery.d.ts +0 -0
  518. /package/dist/{utils → shared/utils}/refreshScreenCalls.d.ts +0 -0
  519. /package/dist/{utils → shared/utils}/refreshScreenCalls.js +0 -0
  520. /package/dist/{utils → shared/utils}/reusedHelpers.d.ts +0 -0
  521. /package/dist/{utils → shared/utils}/reusedHelpers.js +0 -0
  522. /package/dist/{utils → shared/utils}/schema/createSyncStatus.d.ts +0 -0
  523. /package/dist/{utils → shared/utils}/schema/createSyncStatus.js +0 -0
  524. /package/dist/{utils → shared/utils}/serializer.d.ts +0 -0
  525. /package/dist/{utils → shared/utils}/serializer.js +0 -0
  526. /package/dist/{utils → shared/utils}/supabaseClientErr.d.ts +0 -0
  527. /package/dist/{utils → shared/utils}/supabaseClientErr.js +0 -0
  528. /package/dist/{utils → shared/utils}/supastashMode.d.ts +0 -0
  529. /package/dist/{utils → shared/utils}/supastashMode.js +0 -0
  530. /package/dist/{utils → shared/utils}/sync/getAllTables.d.ts +0 -0
  531. /package/dist/{utils → shared/utils}/sync/pullFromRemote/getLastCreatedInfo.d.ts +0 -0
  532. /package/dist/{utils → shared/utils}/sync/pullFromRemote/getLastCreatedInfo.js +0 -0
  533. /package/dist/{utils → shared/utils}/sync/pullFromRemote/getLastDeletedInfo.d.ts +0 -0
  534. /package/dist/{utils → shared/utils}/sync/pullFromRemote/getLastDeletedInfo.js +0 -0
  535. /package/dist/{utils → shared/utils}/sync/pullFromRemote/getLastPulledInfo.d.ts +0 -0
  536. /package/dist/{utils → shared/utils}/sync/pullFromRemote/getLastPulledInfo.js +0 -0
  537. /package/dist/{utils → shared/utils}/sync/pullFromRemote/helpers.d.ts +0 -0
  538. /package/dist/{utils → shared/utils}/sync/pullFromRemote/helpers.js +0 -0
  539. /package/dist/{utils → shared/utils}/sync/pullFromRemote/runLimitedConcurrency.d.ts +0 -0
  540. /package/dist/{utils → shared/utils}/sync/pullFromRemote/stringifyFields.d.ts +0 -0
  541. /package/dist/{utils → shared/utils}/sync/pullFromRemote/stringifyFields.js +0 -0
  542. /package/dist/{utils → shared/utils}/sync/pullFromRemote/updateFilter.d.ts +0 -0
  543. /package/dist/{utils → shared/utils}/sync/pullFromRemote/updateFilter.js +0 -0
  544. /package/dist/{utils → shared/utils}/sync/pullFromRemote/validateFilters.d.ts +0 -0
  545. /package/dist/{utils → shared/utils}/sync/pullFromRemote/validateFilters.js +0 -0
  546. /package/dist/{utils → shared/utils}/sync/pushLocal/deleteChunks.d.ts +0 -0
  547. /package/dist/{utils → shared/utils}/sync/pushLocal/deleteChunks.js +0 -0
  548. /package/dist/{utils → shared/utils}/sync/pushLocal/getAllUnsyncedData.d.ts +0 -0
  549. /package/dist/{utils → shared/utils}/sync/pushLocal/normalize.d.ts +0 -0
  550. /package/dist/{utils → shared/utils}/sync/pushLocal/normalize.js +0 -0
  551. /package/dist/{utils → shared/utils}/sync/pushLocal/parseFields.d.ts +0 -0
  552. /package/dist/{utils → shared/utils}/sync/pushLocal/parseFields.js +0 -0
  553. /package/dist/{utils → shared/utils}/sync/queryStatus.js +0 -0
  554. /package/dist/{utils → shared/utils}/sync/refreshTables.d.ts +0 -0
  555. /package/dist/{utils → shared/utils}/sync/refreshTables.js +0 -0
  556. /package/dist/{utils → shared/utils}/sync/registration/syncCalls.d.ts +0 -0
  557. /package/dist/{utils → shared/utils}/sync/status/remoteSchema.d.ts +0 -0
  558. /package/dist/{utils → shared/utils}/sync/status/remoteSchema.js +0 -0
  559. /package/dist/{utils → shared/utils}/sync/status/syncUpdate.d.ts +0 -0
  560. /package/dist/{utils → shared/utils}/sync/status/syncUpdate.js +0 -0
  561. /package/dist/{utils → shared/utils}/tableValidator.d.ts +0 -0
  562. /package/dist/{utils → shared/utils}/tableValidator.js +0 -0
@@ -0,0 +1,188 @@
1
+ import { getSupastashDb } from "../../../shared/db/dbInitializer";
2
+ import { clearSchemaCache } from "../../../shared/utils/getTableSchema";
3
+ import log from "../../../shared/utils/logs";
4
+ import { getAllTables } from "../../../shared/utils/sync/getAllTables";
5
+ import { clearLocalSyncLog } from "../sync/status/syncStatus";
6
+ /**
7
+ * Wipes a specific table from the local SQLite database and removes its sync metadata.
8
+ *
9
+ * ⚠️ WARNING: This is a destructive operation. It should only be used in development mode,
10
+ * as it will permanently delete all local data for the specified table.
11
+ *
12
+ * @param tableName - Name of the table to drop.
13
+ *
14
+ * @example
15
+ * configureSupastash({
16
+ * ...
17
+ * onSchemaInit: async () => {
18
+ * await wipeTable("users"); // dev-only: clears the "users" table on app start
19
+ * }
20
+ * });
21
+ */
22
+ export async function wipeTable(tableName) {
23
+ try {
24
+ const db = await getSupastashDb();
25
+ await db.runAsync(`DELETE FROM ${tableName}`);
26
+ await clearLocalSyncLog(tableName);
27
+ clearSchemaCache(tableName);
28
+ log(`[Supastash] Wiped table "${tableName}" and cleared sync metadata.`);
29
+ }
30
+ catch (error) {
31
+ log(`[Supastash] Failed to wipe table "${tableName}": ${error}`);
32
+ }
33
+ }
34
+ /**
35
+ * Drops a specific table from the local SQLite database and removes its sync metadata.
36
+ *
37
+ * ⚠️ WARNING: This is a destructive operation. It should only be used in development mode,
38
+ * as it will permanently delete all local data for the specified table.
39
+ *
40
+ * @param tableName - Name of the table to drop.
41
+ *
42
+ * @example
43
+ * configureSupastash({
44
+ * ...
45
+ * onSchemaInit: async () => {
46
+ * await dropTable("users"); // dev-only: drops the "users" table on app start
47
+ * }
48
+ * });
49
+ */
50
+ export async function dropTable(tableName) {
51
+ try {
52
+ const db = await getSupastashDb();
53
+ await db.runAsync(`DROP TABLE IF EXISTS ${tableName}`);
54
+ await clearLocalSyncLog(tableName);
55
+ clearSchemaCache(tableName);
56
+ log(`[Supastash] Dropped table "${tableName}" and cleared sync metadata.`);
57
+ }
58
+ catch (error) {
59
+ log(`[Supastash] Failed to drop table "${tableName}": ${error}`);
60
+ }
61
+ }
62
+ /**
63
+ * Drops all tables from the local SQLite database and removes their sync metadata.
64
+ *
65
+ * ⚠️ WARNING: This is a destructive operation. It should only be used in development mode,
66
+ * as it will permanently delete all local data for all tables.
67
+ *
68
+ * @example
69
+ */
70
+ export async function dropAllTables() {
71
+ try {
72
+ const tables = await getAllTables();
73
+ if (!tables) {
74
+ log("No tables found");
75
+ return;
76
+ }
77
+ for (const table of tables) {
78
+ await dropTable(table);
79
+ }
80
+ }
81
+ catch (error) {
82
+ log(`[Supastash] Error wiping all tables: ${error}`);
83
+ }
84
+ }
85
+ /**
86
+ * Wipes all local tables managed by Supastash and clears associated sync metadata.
87
+ *
88
+ * ⚠️ WARNING: This will irreversibly delete all local tables and their data.
89
+ * Intended only for development or reset scenarios.
90
+ *
91
+ * @example
92
+ * configureSupastash({
93
+ * ...
94
+ * onSchemaInit: async () => {
95
+ * await wipeAllTables(); // dev-only: clears all local tables on app start
96
+ * }
97
+ * });
98
+ */
99
+ export async function wipeAllTables() {
100
+ try {
101
+ const tables = await getAllTables();
102
+ if (!tables) {
103
+ log("No tables found");
104
+ return;
105
+ }
106
+ for (const table of tables) {
107
+ await wipeTable(table);
108
+ }
109
+ }
110
+ catch (error) {
111
+ log(`[Supastash] Error wiping all tables: ${error}`);
112
+ }
113
+ }
114
+ /**
115
+ * Wipes old rows from a specified table based on the `created_at` timestamp.
116
+ *
117
+ * This is useful for maintaining a lean local cache by removing stale data
118
+ * during Supastash initialization or periodic syncs.
119
+ *
120
+ * @param tableName - Name of the table to clean up (must have a `created_at` column).
121
+ * @param daysFromNow - Number of days to retain; older rows will be deleted.
122
+ *
123
+ * @example
124
+ * ```ts
125
+ * // Typically used during Supastash schema setup:
126
+ * configureSupastash({
127
+ * ...,
128
+ * onSchemaInit: async () => {
129
+ * await wipeOldDataForATable("users", 30);
130
+ * // Removes all rows in "users" created more than 30 days ago
131
+ * }
132
+ * });
133
+ * ```
134
+ */
135
+ export async function wipeOldDataForATable(tableName, daysFromNow) {
136
+ try {
137
+ const db = await getSupastashDb();
138
+ const cutoffDate = new Date();
139
+ cutoffDate.setDate(cutoffDate.getDate() - daysFromNow);
140
+ const isoCutoff = cutoffDate.toISOString();
141
+ const tables = await getAllTables();
142
+ if (!tables?.includes(tableName)) {
143
+ log(`[Supastash] Table "${tableName}" not found`);
144
+ return;
145
+ }
146
+ await db.runAsync(`DELETE FROM ${tableName} WHERE created_at < ?`, [
147
+ isoCutoff,
148
+ ]);
149
+ log(`[Supastash] Wiped data older than ${daysFromNow} days from "${tableName}".`);
150
+ }
151
+ catch (error) {
152
+ log(`[Supastash] Failed to wipe old data for "${tableName}": ${error}`);
153
+ }
154
+ }
155
+ /**
156
+ * Deletes old records (based on `created_at`) from all tables, excluding those specified.
157
+ *
158
+ * Only records older than the given number of days will be removed.
159
+ *
160
+ * @param daysFromNow - Cutoff age in days; records older than this will be deleted.
161
+ * @param excludeTables - Optional array of table names to skip during cleanup.
162
+ *
163
+ * @example
164
+ * configureSupastash({
165
+ * ...
166
+ * onSchemaInit: async () => {
167
+ * await wipeOldDataForAllTables(30, ["app_settings"]); // skips wiping "app_settings"
168
+ * }
169
+ * });
170
+ */
171
+ export async function wipeOldDataForAllTables(daysFromNow, excludeTables = []) {
172
+ try {
173
+ const tables = await getAllTables();
174
+ if (!tables) {
175
+ log("No tables found");
176
+ return;
177
+ }
178
+ for (const table of tables) {
179
+ if (excludeTables.includes(table)) {
180
+ continue;
181
+ }
182
+ await wipeOldDataForATable(table, daysFromNow);
183
+ }
184
+ }
185
+ catch (error) {
186
+ log(`[Supastash] Failed to wipe old data for all tables: ${error}`);
187
+ }
188
+ }
@@ -0,0 +1,44 @@
1
+ import { PayloadData } from "../../../../shared/types/query.types";
2
+ import { SupastashFilter } from "../../../../shared/types/realtimeData.types";
3
+ /**
4
+ * Fetches a backward page of records from the server relative to the current
5
+ * earliest locally stored row.
6
+ *
7
+ * This function performs cursor-based backward pagination by:
8
+ * - Determining the earliest known local record for the table
9
+ * - Validating the provided boundary timestamp
10
+ * - Fetching older records from the server up to the specified limit
11
+ * - Optionally persisting the results into the local database
12
+ *
13
+ * Designed for infinite scroll and historical lookback scenarios.
14
+ *
15
+ * @returns An object containing:
16
+ * - `data`: The fetched records
17
+ * - `hasMore`: Whether additional older records may exist
18
+ */
19
+ export declare function fetchOlderPage({ boundaryTs, table, filters, limit, shouldStoreToLocalDb, }: {
20
+ /**
21
+ * The timestamp to cap lookback at.
22
+ */
23
+ boundaryTs: string;
24
+ /**
25
+ * The table to fetch data from.
26
+ */
27
+ table: string;
28
+ /**
29
+ * The filters to apply to the data.
30
+ */
31
+ filters?: SupastashFilter[];
32
+ /**
33
+ * The maximum number of records to fetch.
34
+ */
35
+ limit: number;
36
+ /**
37
+ * The data to store to the database.
38
+ */
39
+ shouldStoreToLocalDb?: boolean;
40
+ }): Promise<{
41
+ hasMore: boolean;
42
+ data: PayloadData[];
43
+ }>;
44
+ //# sourceMappingURL=fetchOlder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchOlder.d.ts","sourceRoot":"","sources":["../../../../../src/native/utils/sync/pullFromRemote/fetchOlder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAI9E;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAAC,EACnC,UAAU,EACV,KAAK,EACL,OAAO,EACP,KAAK,EACL,oBAA2B,GAC5B,EAAE;IACD;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAE5B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CAwCrD"}
@@ -0,0 +1,55 @@
1
+ import { getSupastashConfig } from "../../../../shared/core/config";
2
+ import { logWarn } from "../../../../shared/utils/logs";
3
+ import { FetchOlderHelpers } from "./fetchOlderHelpers";
4
+ /**
5
+ * Fetches a backward page of records from the server relative to the current
6
+ * earliest locally stored row.
7
+ *
8
+ * This function performs cursor-based backward pagination by:
9
+ * - Determining the earliest known local record for the table
10
+ * - Validating the provided boundary timestamp
11
+ * - Fetching older records from the server up to the specified limit
12
+ * - Optionally persisting the results into the local database
13
+ *
14
+ * Designed for infinite scroll and historical lookback scenarios.
15
+ *
16
+ * @returns An object containing:
17
+ * - `data`: The fetched records
18
+ * - `hasMore`: Whether additional older records may exist
19
+ */
20
+ export async function fetchOlderPage({ boundaryTs, table, filters, limit, shouldStoreToLocalDb = true, }) {
21
+ try {
22
+ const isGhost = getSupastashConfig().supastashMode === "ghost";
23
+ if (isGhost) {
24
+ return { hasMore: false, data: [] };
25
+ }
26
+ const lookbackDays = await FetchOlderHelpers.getLookbackDays({
27
+ table,
28
+ filters,
29
+ });
30
+ if (boundaryTs) {
31
+ FetchOlderHelpers.validateBoundaryTs({
32
+ boundaryTs,
33
+ earliestDate: lookbackDays.createdAt,
34
+ });
35
+ }
36
+ const data = await FetchOlderHelpers.fetchData({
37
+ table,
38
+ filters,
39
+ limit,
40
+ boundaryTs,
41
+ earliestDate: lookbackDays.createdAt,
42
+ earliestId: lookbackDays.id,
43
+ });
44
+ if (shouldStoreToLocalDb) {
45
+ await FetchOlderHelpers.storeToDb({ table, data });
46
+ }
47
+ if (data.length > limit) {
48
+ logWarn(`[Supastash] Pagination overflow detected for table ${table}`);
49
+ }
50
+ return { hasMore: data.length === limit, data };
51
+ }
52
+ catch (error) {
53
+ return FetchOlderHelpers.handleError(error);
54
+ }
55
+ }
@@ -0,0 +1,33 @@
1
+ import { PayloadData } from "../../../../shared/types/query.types";
2
+ import { SupastashFilter } from "../../../../shared/types/realtimeData.types";
3
+ import { SupastashError } from "../../../../shared/utils/errorHandler";
4
+ export declare const FetchOlderHelpers: {
5
+ validateBoundaryTs({ boundaryTs, earliestDate, }: {
6
+ boundaryTs: string;
7
+ earliestDate: string;
8
+ }): void;
9
+ getLookbackDays({ table, filters, }: {
10
+ table: string;
11
+ filters?: SupastashFilter[];
12
+ }): Promise<{
13
+ createdAt: any;
14
+ id: any;
15
+ }>;
16
+ fetchData({ table, filters, limit, earliestDate, boundaryTs, earliestId, }: {
17
+ table: string;
18
+ filters?: SupastashFilter[];
19
+ limit: number;
20
+ boundaryTs?: string;
21
+ earliestDate: string;
22
+ earliestId: string;
23
+ }): Promise<any[]>;
24
+ handleError(error: SupastashError): {
25
+ hasMore: boolean;
26
+ data: PayloadData[];
27
+ };
28
+ storeToDb({ table, data }: {
29
+ table: string;
30
+ data: PayloadData[];
31
+ }): Promise<void>;
32
+ };
33
+ //# sourceMappingURL=fetchOlderHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchOlderHelpers.d.ts","sourceRoot":"","sources":["../../../../../src/native/utils/sync/pullFromRemote/fetchOlderHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AASvE,eAAO,MAAM,iBAAiB;sDAIzB;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB;yCAmBE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;KAC7B;;;;gFA8BE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB;uBAqDkB,cAAc,GAAG;QAClC,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,WAAW,EAAE,CAAC;KACrB;+BAagC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,WAAW,EAAE,CAAA;KAAE;CAOxE,CAAC"}
@@ -0,0 +1,104 @@
1
+ import { getSupastashConfig } from "../../../../shared/core/config";
2
+ import { getSupastashDb } from "../../../../shared/db/dbInitializer";
3
+ import { SupastashError } from "../../../../shared/utils/errorHandler";
4
+ import { logWarn } from "../../../../shared/utils/logs";
5
+ import { ReusedHelpers } from "../../../../shared/utils/reusedHelpers";
6
+ import { supabaseClientErr } from "../../../../shared/utils/supabaseClientErr";
7
+ import { upsertChunkData } from "./updateLocalDb";
8
+ const DEFAULT_DATE = "2000-01-01T00:00:00Z";
9
+ const DEFAULT_ID = "00000000-0000-0000-0000-000000000000";
10
+ export const FetchOlderHelpers = {
11
+ validateBoundaryTs({ boundaryTs, earliestDate, }) {
12
+ const boundaryTsDate = new Date(boundaryTs);
13
+ if (isNaN(boundaryTsDate.getTime())) {
14
+ logWarn(`Invalid boundary timestamp: ${boundaryTs}`);
15
+ throw new SupastashError(`Invalid boundary timestamp: ${boundaryTs}`, "INVALID_BOUNDARY_TS");
16
+ }
17
+ if (boundaryTsDate > new Date(earliestDate)) {
18
+ throw new SupastashError(`Boundary timestamp is more recent than oldest data: ${boundaryTs} > ${earliestDate}`, "BOUNDARY_TS_MORE_RECENT_THAN_OLDEST_DATA");
19
+ }
20
+ },
21
+ async getLookbackDays({ table, filters, }) {
22
+ // If no cursor, build the SQL filter
23
+ let sqlFilter = "";
24
+ if (filters) {
25
+ for (const filter of filters) {
26
+ sqlFilter += ReusedHelpers.buildFilterForSql(filter);
27
+ }
28
+ }
29
+ // Fetch the earliest date and id
30
+ const db = await getSupastashDb();
31
+ const result = await db.getFirstAsync(`
32
+ SELECT id, created_at FROM ${table}
33
+ ${sqlFilter}
34
+ ORDER BY created_at ASC, id ASC
35
+ LIMIT 1
36
+ `);
37
+ if (!result)
38
+ return { createdAt: DEFAULT_DATE, id: DEFAULT_ID };
39
+ return { createdAt: result.created_at, id: result.id };
40
+ },
41
+ async fetchData({ table, filters, limit, earliestDate, boundaryTs, earliestId, }) {
42
+ const supabase = getSupastashConfig().supabaseClient;
43
+ if (!supabase)
44
+ throw new Error(`No supabase client found: ${supabaseClientErr}`);
45
+ let cursorId = earliestId;
46
+ let cursorDate = earliestDate;
47
+ const results = [];
48
+ let remainingLimit = limit;
49
+ while (true) {
50
+ const pageSize = Math.min(1000, remainingLimit);
51
+ // Build the query
52
+ let q = supabase
53
+ .from(table)
54
+ .select("*")
55
+ .limit(pageSize)
56
+ .order("created_at", { ascending: false })
57
+ .order("id", { ascending: false })
58
+ .is("deleted_at", null);
59
+ q = q
60
+ .or(`created_at.lt.${cursorDate},and(created_at.eq.${cursorDate},id.lt.${cursorId})`)
61
+ .gte("created_at", boundaryTs ?? DEFAULT_DATE);
62
+ if (filters) {
63
+ q = ReusedHelpers.applyFilters(q, filters, table);
64
+ }
65
+ const { data, error } = await q;
66
+ if (error)
67
+ throw error;
68
+ if (!data || data.length === 0)
69
+ break;
70
+ results.push(...data);
71
+ const last = data[data.length - 1];
72
+ cursorId = last.id;
73
+ cursorDate = last.created_at;
74
+ if (data.length < pageSize) {
75
+ break;
76
+ }
77
+ if (remainingLimit <= pageSize) {
78
+ break;
79
+ }
80
+ remainingLimit -= pageSize;
81
+ }
82
+ return results;
83
+ },
84
+ handleError(error) {
85
+ switch (error.code) {
86
+ case "INVALID_BOUNDARY_TS":
87
+ logWarn(error.message);
88
+ return { hasMore: false, data: [] };
89
+ case "BOUNDARY_TS_MORE_RECENT_THAN_OLDEST_DATA":
90
+ logWarn(error.message);
91
+ return { hasMore: false, data: [] };
92
+ default:
93
+ throw error;
94
+ }
95
+ },
96
+ async storeToDb({ table, data }) {
97
+ if (data.length === 0)
98
+ return;
99
+ const db = await getSupastashDb();
100
+ await db.withTransaction(async (tx) => {
101
+ await upsertChunkData({ tx, table, records: data });
102
+ });
103
+ },
104
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Pulls the data from the remote database to the local database
3
+ */
4
+ export declare function pullFromRemote(): Promise<void>;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/native/utils/sync/pullFromRemote/index.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,wBAAsB,cAAc,kBAqEnC"}
@@ -0,0 +1,73 @@
1
+ import { getSupastashConfig } from "../../../../shared/core/config";
2
+ import { syncCalls } from "../../../../shared/store/syncCalls";
3
+ import { tableFilters } from "../../../../shared/store/tableFilters";
4
+ import log from "../../../../shared/utils/logs";
5
+ import { getAllTables } from "../../../../shared/utils/sync/getAllTables";
6
+ import { runLimitedConcurrency } from "../../../../shared/utils/sync/pullFromRemote/runLimitedConcurrency";
7
+ import { SyncInfoUpdater } from "../../../../shared/utils/sync/queryStatus";
8
+ import { updateLocalDb } from "./updateLocalDb";
9
+ /**
10
+ * Pulls the data from the remote database to the local database
11
+ */
12
+ export async function pullFromRemote() {
13
+ let numberOfTables = 0;
14
+ let tablesCompleted = 0;
15
+ try {
16
+ const tables = await getAllTables();
17
+ if (!tables) {
18
+ log(`[Supastash] No tables found`);
19
+ return;
20
+ }
21
+ const excludeTables = getSupastashConfig()?.excludeTables?.pull || [];
22
+ const tablesToPull = tables.filter((table) => !excludeTables?.includes(table));
23
+ numberOfTables = tablesToPull.length;
24
+ SyncInfoUpdater.setInProgress({
25
+ action: "start",
26
+ type: "pull",
27
+ });
28
+ SyncInfoUpdater.setNumberOfTables({
29
+ amount: numberOfTables,
30
+ type: "pull",
31
+ });
32
+ const toPull = tablesToPull.map((table) => async () => {
33
+ try {
34
+ SyncInfoUpdater.markLogStart({
35
+ type: "pull",
36
+ table,
37
+ });
38
+ const filter = tableFilters.get(table);
39
+ const onReceiveRecord = syncCalls.get(table)?.pull;
40
+ await updateLocalDb(table, filter, onReceiveRecord);
41
+ SyncInfoUpdater.markLogSuccess({
42
+ type: "pull",
43
+ table,
44
+ });
45
+ }
46
+ catch (e) {
47
+ SyncInfoUpdater.markLogError({
48
+ type: "pull",
49
+ table,
50
+ lastError: e,
51
+ errorCount: 1,
52
+ });
53
+ log(`[Supastash] pull table failed: ${table} — ${e?.code ?? e?.name ?? e}`);
54
+ }
55
+ finally {
56
+ tablesCompleted++;
57
+ SyncInfoUpdater.setTablesCompleted({
58
+ amount: tablesCompleted,
59
+ type: "pull",
60
+ });
61
+ }
62
+ });
63
+ await runLimitedConcurrency(toPull, 3);
64
+ }
65
+ catch (error) {
66
+ log(`[Supastash] Error pulling from remote: ${error}`);
67
+ }
68
+ finally {
69
+ SyncInfoUpdater.reset({
70
+ type: "pull",
71
+ });
72
+ }
73
+ }
@@ -0,0 +1,21 @@
1
+ import { PayloadData } from "../../../../shared/types/query.types";
2
+ import { SupastashFilter } from "../../../../shared/types/realtimeData.types";
3
+ /**
4
+ * Pulls data from the remote database for a given table
5
+ * @param table - The table to pull data from
6
+ * @returns The data from the table
7
+ */
8
+ export declare function pullData({ table, filters, batchId, }: {
9
+ table: string;
10
+ filters?: SupastashFilter[];
11
+ batchId: string;
12
+ }): Promise<{
13
+ data: PayloadData[];
14
+ deletedIds: string[];
15
+ timestamps: {
16
+ updatedMax: string | null;
17
+ deletedMax: string | null;
18
+ updatedMaxPk: string | null;
19
+ };
20
+ } | null>;
21
+ //# sourceMappingURL=pullData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pullData.d.ts","sourceRoot":"","sources":["../../../../../src/native/utils/sync/pullFromRemote/pullData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAY9E;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,EAC7B,KAAK,EACL,OAAO,EACP,OAAO,GACR,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC;IACV,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE;QACV,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,CAAC;CACH,GAAG,IAAI,CAAC,CAmFR"}
@@ -0,0 +1,80 @@
1
+ import { getSupastashConfig } from "../../../../shared/core/config";
2
+ import { getSupastashDb } from "../../../../shared/db/dbInitializer";
3
+ import log, { logWarn } from "../../../../shared/utils/logs";
4
+ import { supabaseClientErr } from "../../../../shared/utils/supabaseClientErr";
5
+ import { logNoUpdates, pageThrough, returnMaxDate, } from "../../../../shared/utils/sync/pullFromRemote/helpers";
6
+ import { SyncInfoUpdater } from "../../../../shared/utils/sync/queryStatus";
7
+ import { computeFilterKey } from "../status/filterKey";
8
+ import { selectSyncStatus } from "../status/repo";
9
+ /**
10
+ * Pulls data from the remote database for a given table
11
+ * @param table - The table to pull data from
12
+ * @returns The data from the table
13
+ */
14
+ export async function pullData({ table, filters, batchId, }) {
15
+ const supabase = getSupastashConfig().supabaseClient;
16
+ if (!supabase)
17
+ throw new Error(`No supabase client found: ${supabaseClientErr}`);
18
+ SyncInfoUpdater.setLastSyncLog({
19
+ key: "filterJson",
20
+ value: filters ?? [],
21
+ type: "pull",
22
+ table,
23
+ });
24
+ SyncInfoUpdater.setLastSyncLog({
25
+ key: "filterKey",
26
+ value: (await computeFilterKey(filters, "global")) ?? "",
27
+ type: "pull",
28
+ table,
29
+ });
30
+ const db = await getSupastashDb();
31
+ const syncStatus = await selectSyncStatus(db, table, filters);
32
+ const cfg = getSupastashConfig();
33
+ const tsCol = cfg.replicationMode === "server-side" ? "arrived_at" : "updated_at";
34
+ const updatedRows = await pageThrough({
35
+ tsCol,
36
+ since: syncStatus.last_synced_at,
37
+ table,
38
+ filters,
39
+ batchId,
40
+ previousPk: syncStatus.last_synced_at_pk,
41
+ });
42
+ const updatedData = [];
43
+ let deletedIds = [];
44
+ let updatedMax = null;
45
+ let deletedMax = null;
46
+ for (const r of updatedRows) {
47
+ if (!r?.id) {
48
+ logWarn(`[Supastash] Skipped row without id from "${table}"`);
49
+ continue;
50
+ }
51
+ updatedMax = returnMaxDate({
52
+ row: r,
53
+ prevMax: updatedMax,
54
+ col: tsCol,
55
+ });
56
+ // If the row is deleted, add the id to the deleted ids and update the deleted max
57
+ if (r.deleted_at) {
58
+ deletedIds.push(r.id);
59
+ deletedMax = returnMaxDate({
60
+ row: r,
61
+ prevMax: deletedMax,
62
+ col: "deleted_at",
63
+ });
64
+ continue;
65
+ }
66
+ // Push the row to the updated data
67
+ updatedData.push(r);
68
+ }
69
+ if (updatedData.length === 0 && deletedIds.length === 0) {
70
+ logNoUpdates(table);
71
+ return null;
72
+ }
73
+ const timestamps = {
74
+ updatedMax: updatedMax?.value ?? null,
75
+ deletedMax: deletedMax?.value ?? null,
76
+ updatedMaxPk: updatedMax?.pk ?? null,
77
+ };
78
+ log(`[Supastash] Received ${updatedData.length + deletedIds.length} updates for ${table} (u${updatedData.length}/d${deletedIds.length})`);
79
+ return { data: updatedData, deletedIds, timestamps };
80
+ }
@@ -0,0 +1,46 @@
1
+ import { SupastashFilter } from "../../../../shared/types/realtimeData.types";
2
+ import { UpsertDataParams } from "../../../../shared/types/syncEngine.types";
3
+ /**
4
+ * Updates the local database with the remote changes
5
+ * @param table - The table to update
6
+ */
7
+ export declare function updateLocalDb(table: string, filters?: SupastashFilter[], onReceiveData?: (payload: any) => Promise<void>): Promise<void>;
8
+ /**
9
+ * Upserts a record into the local database
10
+ * @param table - The table to upsert the record into
11
+ * @param record - The record to upsert
12
+ * @param exists - Whether the record already exists in the database
13
+ */
14
+ export declare function upsertData({ tx, table, record, doesExist, }: UpsertDataParams): Promise<void>;
15
+ /**
16
+ • Bulk upserts records into a local SQLite table using a batched, conflict-aware strategy.
17
+
18
+ • This function:
19
+ • • Fetches existing id and updated_at values in bulk to avoid per-row queries
20
+ • • Filters incoming records to only include new or more recent entries
21
+ • • Performs batched INSERT ... ON CONFLICT(id) DO UPDATE operations
22
+ • while respecting SQLite parameter limits
23
+ • • Updates synced_at for successfully written records
24
+
25
+ • Designed for high-performance sync scenarios in offline-first apps.
26
+
27
+ • Key guarantees:
28
+ • • Avoids N+1 query patterns (no per-row existence checks)
29
+ • • Minimizes disk I/O pressure via batching
30
+ • • Safe for large datasets when used with chunking
31
+
32
+ • Notes:
33
+ • • Assumes id is the primary or unique key
34
+ • • Requires updated_at for conflict resolution (falls back if missing)
35
+ • • Respects SQLite parameter limit (~999 variables per query)
36
+
37
+ • @param tx Optional transaction instance. If not provided, a connection is used directly.
38
+ • @param table Target table name
39
+ • @param records Array of records to upsert
40
+ */
41
+ export declare function upsertChunkData({ tx, table, records, }: {
42
+ tx?: any;
43
+ table: string;
44
+ records: any[];
45
+ }): Promise<void>;
46
+ //# sourceMappingURL=updateLocalDb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateLocalDb.d.ts","sourceRoot":"","sources":["../../../../../src/native/utils/sync/pullFromRemote/updateLocalDb.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAiB7E;;;GAGG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,eAAe,EAAE,EAC3B,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,iBAsGhD;AAID;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,EAC/B,EAAE,EACF,KAAK,EACL,MAAM,EACN,SAAS,GACV,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqElC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;EAyBE;AACF,wBAAsB,eAAe,CAAC,EACpC,EAAE,EACF,KAAK,EACL,OAAO,GACR,EAAE;IACD,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,GAAG,EAAE,CAAC;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0FhB"}