tinybase 5.0.0-beta.22 → 5.0.0-beta.23

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 (271) hide show
  1. package/@types/mergeable-store/index.d.cts +77 -11
  2. package/@types/mergeable-store/index.d.ts +77 -11
  3. package/@types/mergeable-store/with-schemas/index.d.cts +96 -11
  4. package/@types/mergeable-store/with-schemas/index.d.ts +96 -11
  5. package/@types/persisters/index.d.cts +0 -1
  6. package/@types/persisters/index.d.ts +0 -1
  7. package/@types/persisters/persister-expo-sqlite/index.d.cts +36 -40
  8. package/@types/persisters/persister-expo-sqlite/index.d.ts +36 -40
  9. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +36 -40
  10. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +36 -40
  11. package/@types/persisters/with-schemas/index.d.cts +0 -1
  12. package/@types/persisters/with-schemas/index.d.ts +0 -1
  13. package/cjs/es6/index.cjs +3 -3
  14. package/cjs/es6/mergeable-store/index.cjs +2 -2
  15. package/cjs/es6/mergeable-store/with-schemas/index.cjs +2 -2
  16. package/cjs/es6/min/index.cjs +1 -1
  17. package/cjs/es6/min/index.cjs.gz +0 -0
  18. package/cjs/es6/min/mergeable-store/index.cjs +1 -1
  19. package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
  20. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +1 -1
  21. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  22. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  23. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  24. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  25. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  26. package/cjs/es6/min/synchronizers/index.cjs +1 -1
  27. package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
  28. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +1 -1
  29. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  30. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  31. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  32. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  33. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  34. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  35. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  36. package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
  37. package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  38. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  39. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  40. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +7 -2
  41. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +7 -2
  42. package/cjs/es6/synchronizers/index.cjs +1 -1
  43. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +1 -1
  44. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  45. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  46. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  47. package/cjs/es6/synchronizers/with-schemas/index.cjs +1 -1
  48. package/cjs/es6/with-schemas/index.cjs +3 -3
  49. package/cjs/index.cjs +3 -3
  50. package/cjs/mergeable-store/index.cjs +2 -2
  51. package/cjs/mergeable-store/with-schemas/index.cjs +2 -2
  52. package/cjs/min/index.cjs +1 -1
  53. package/cjs/min/index.cjs.gz +0 -0
  54. package/cjs/min/mergeable-store/index.cjs +1 -1
  55. package/cjs/min/mergeable-store/index.cjs.gz +0 -0
  56. package/cjs/min/mergeable-store/with-schemas/index.cjs +1 -1
  57. package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  58. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  59. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  60. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  61. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  62. package/cjs/min/synchronizers/index.cjs +1 -1
  63. package/cjs/min/synchronizers/index.cjs.gz +0 -0
  64. package/cjs/min/synchronizers/synchronizer-local/index.cjs +1 -1
  65. package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  66. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  67. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  68. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  69. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  70. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  71. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  72. package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
  73. package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  74. package/cjs/min/with-schemas/index.cjs +1 -1
  75. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  76. package/cjs/persisters/persister-expo-sqlite/index.cjs +7 -3
  77. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +7 -3
  78. package/cjs/synchronizers/index.cjs +1 -1
  79. package/cjs/synchronizers/synchronizer-local/index.cjs +1 -1
  80. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  81. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  82. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  83. package/cjs/synchronizers/with-schemas/index.cjs +1 -1
  84. package/cjs/with-schemas/index.cjs +3 -3
  85. package/es6/index.js +3 -3
  86. package/es6/mergeable-store/index.js +2 -2
  87. package/es6/mergeable-store/with-schemas/index.js +2 -2
  88. package/es6/min/index.js +1 -1
  89. package/es6/min/index.js.gz +0 -0
  90. package/es6/min/mergeable-store/index.js +1 -1
  91. package/es6/min/mergeable-store/index.js.gz +0 -0
  92. package/es6/min/mergeable-store/with-schemas/index.js +1 -1
  93. package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  94. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  95. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  96. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  97. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  98. package/es6/min/synchronizers/index.js +1 -1
  99. package/es6/min/synchronizers/index.js.gz +0 -0
  100. package/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  101. package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  102. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  103. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  104. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  105. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  106. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  107. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  108. package/es6/min/synchronizers/with-schemas/index.js +1 -1
  109. package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  110. package/es6/min/with-schemas/index.js +1 -1
  111. package/es6/min/with-schemas/index.js.gz +0 -0
  112. package/es6/persisters/persister-expo-sqlite/index.js +5 -2
  113. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +5 -2
  114. package/es6/synchronizers/index.js +1 -1
  115. package/es6/synchronizers/synchronizer-local/index.js +1 -1
  116. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  117. package/es6/synchronizers/synchronizer-ws-client/index.js +1 -1
  118. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  119. package/es6/synchronizers/with-schemas/index.js +1 -1
  120. package/es6/with-schemas/index.js +3 -3
  121. package/index.js +3 -3
  122. package/mergeable-store/index.js +2 -2
  123. package/mergeable-store/with-schemas/index.js +2 -2
  124. package/min/index.js +1 -1
  125. package/min/index.js.gz +0 -0
  126. package/min/mergeable-store/index.js +1 -1
  127. package/min/mergeable-store/index.js.gz +0 -0
  128. package/min/mergeable-store/with-schemas/index.js +1 -1
  129. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  130. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  131. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  132. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  133. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  134. package/min/synchronizers/index.js +1 -1
  135. package/min/synchronizers/index.js.gz +0 -0
  136. package/min/synchronizers/synchronizer-local/index.js +1 -1
  137. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  138. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  139. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  140. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  141. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  142. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  143. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  144. package/min/synchronizers/with-schemas/index.js +1 -1
  145. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  146. package/min/with-schemas/index.js +1 -1
  147. package/min/with-schemas/index.js.gz +0 -0
  148. package/package.json +3 -107
  149. package/persisters/persister-expo-sqlite/index.js +5 -3
  150. package/persisters/persister-expo-sqlite/with-schemas/index.js +5 -3
  151. package/readme.md +2 -2
  152. package/releases.md +1 -1
  153. package/synchronizers/index.js +1 -1
  154. package/synchronizers/synchronizer-local/index.js +1 -1
  155. package/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  156. package/synchronizers/synchronizer-ws-client/index.js +1 -1
  157. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  158. package/synchronizers/with-schemas/index.js +1 -1
  159. package/umd/es6/index.js +3 -3
  160. package/umd/es6/mergeable-store/index.js +2 -2
  161. package/umd/es6/mergeable-store/with-schemas/index.js +2 -2
  162. package/umd/es6/min/index.js +1 -1
  163. package/umd/es6/min/index.js.gz +0 -0
  164. package/umd/es6/min/mergeable-store/index.js +1 -1
  165. package/umd/es6/min/mergeable-store/index.js.gz +0 -0
  166. package/umd/es6/min/mergeable-store/with-schemas/index.js +1 -1
  167. package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  168. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  169. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  170. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  171. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  172. package/umd/es6/min/synchronizers/index.js +1 -1
  173. package/umd/es6/min/synchronizers/index.js.gz +0 -0
  174. package/umd/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  175. package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  176. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  177. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  178. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  179. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  180. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  181. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  182. package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
  183. package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  184. package/umd/es6/min/with-schemas/index.js +1 -1
  185. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  186. package/umd/es6/persisters/persister-expo-sqlite/index.js +9 -6
  187. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +9 -6
  188. package/umd/es6/synchronizers/index.js +1 -1
  189. package/umd/es6/synchronizers/synchronizer-local/index.js +1 -1
  190. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  191. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +1 -1
  192. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  193. package/umd/es6/synchronizers/with-schemas/index.js +1 -1
  194. package/umd/es6/with-schemas/index.js +3 -3
  195. package/umd/index.js +3 -3
  196. package/umd/mergeable-store/index.js +2 -2
  197. package/umd/mergeable-store/with-schemas/index.js +2 -2
  198. package/umd/min/index.js +1 -1
  199. package/umd/min/index.js.gz +0 -0
  200. package/umd/min/mergeable-store/index.js +1 -1
  201. package/umd/min/mergeable-store/index.js.gz +0 -0
  202. package/umd/min/mergeable-store/with-schemas/index.js +1 -1
  203. package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
  204. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  205. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  206. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  207. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  208. package/umd/min/synchronizers/index.js +1 -1
  209. package/umd/min/synchronizers/index.js.gz +0 -0
  210. package/umd/min/synchronizers/synchronizer-local/index.js +1 -1
  211. package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  212. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  213. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  214. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  215. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  216. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  217. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  218. package/umd/min/synchronizers/with-schemas/index.js +1 -1
  219. package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
  220. package/umd/min/with-schemas/index.js +1 -1
  221. package/umd/min/with-schemas/index.js.gz +0 -0
  222. package/umd/persisters/persister-expo-sqlite/index.js +9 -7
  223. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +9 -7
  224. package/umd/synchronizers/index.js +1 -1
  225. package/umd/synchronizers/synchronizer-local/index.js +1 -1
  226. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  227. package/umd/synchronizers/synchronizer-ws-client/index.js +1 -1
  228. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  229. package/umd/synchronizers/with-schemas/index.js +1 -1
  230. package/umd/with-schemas/index.js +3 -3
  231. package/with-schemas/index.js +3 -3
  232. package/@types/persisters/persister-expo-sqlite-next/index.d.cts +0 -187
  233. package/@types/persisters/persister-expo-sqlite-next/index.d.ts +0 -187
  234. package/@types/persisters/persister-expo-sqlite-next/with-schemas/index.d.cts +0 -206
  235. package/@types/persisters/persister-expo-sqlite-next/with-schemas/index.d.ts +0 -206
  236. package/cjs/es6/min/persisters/persister-expo-sqlite-next/index.cjs +0 -1
  237. package/cjs/es6/min/persisters/persister-expo-sqlite-next/index.cjs.gz +0 -0
  238. package/cjs/es6/min/persisters/persister-expo-sqlite-next/with-schemas/index.cjs +0 -1
  239. package/cjs/es6/min/persisters/persister-expo-sqlite-next/with-schemas/index.cjs.gz +0 -0
  240. package/cjs/es6/persisters/persister-expo-sqlite-next/index.cjs +0 -1253
  241. package/cjs/es6/persisters/persister-expo-sqlite-next/with-schemas/index.cjs +0 -1253
  242. package/cjs/min/persisters/persister-expo-sqlite-next/index.cjs +0 -1
  243. package/cjs/min/persisters/persister-expo-sqlite-next/index.cjs.gz +0 -0
  244. package/cjs/min/persisters/persister-expo-sqlite-next/with-schemas/index.cjs +0 -1
  245. package/cjs/min/persisters/persister-expo-sqlite-next/with-schemas/index.cjs.gz +0 -0
  246. package/cjs/persisters/persister-expo-sqlite-next/index.cjs +0 -926
  247. package/cjs/persisters/persister-expo-sqlite-next/with-schemas/index.cjs +0 -926
  248. package/es6/min/persisters/persister-expo-sqlite-next/index.js +0 -1
  249. package/es6/min/persisters/persister-expo-sqlite-next/index.js.gz +0 -0
  250. package/es6/min/persisters/persister-expo-sqlite-next/with-schemas/index.js +0 -1
  251. package/es6/min/persisters/persister-expo-sqlite-next/with-schemas/index.js.gz +0 -0
  252. package/es6/persisters/persister-expo-sqlite-next/index.js +0 -1251
  253. package/es6/persisters/persister-expo-sqlite-next/with-schemas/index.js +0 -1251
  254. package/min/persisters/persister-expo-sqlite-next/index.js +0 -1
  255. package/min/persisters/persister-expo-sqlite-next/index.js.gz +0 -0
  256. package/min/persisters/persister-expo-sqlite-next/with-schemas/index.js +0 -1
  257. package/min/persisters/persister-expo-sqlite-next/with-schemas/index.js.gz +0 -0
  258. package/persisters/persister-expo-sqlite-next/index.js +0 -924
  259. package/persisters/persister-expo-sqlite-next/with-schemas/index.js +0 -924
  260. package/umd/es6/min/persisters/persister-expo-sqlite-next/index.js +0 -1
  261. package/umd/es6/min/persisters/persister-expo-sqlite-next/index.js.gz +0 -0
  262. package/umd/es6/min/persisters/persister-expo-sqlite-next/with-schemas/index.js +0 -1
  263. package/umd/es6/min/persisters/persister-expo-sqlite-next/with-schemas/index.js.gz +0 -0
  264. package/umd/es6/persisters/persister-expo-sqlite-next/index.js +0 -1293
  265. package/umd/es6/persisters/persister-expo-sqlite-next/with-schemas/index.js +0 -1293
  266. package/umd/min/persisters/persister-expo-sqlite-next/index.js +0 -1
  267. package/umd/min/persisters/persister-expo-sqlite-next/index.js.gz +0 -0
  268. package/umd/min/persisters/persister-expo-sqlite-next/with-schemas/index.js +0 -1
  269. package/umd/min/persisters/persister-expo-sqlite-next/with-schemas/index.js.gz +0 -0
  270. package/umd/persisters/persister-expo-sqlite-next/index.js +0 -957
  271. package/umd/persisters/persister-expo-sqlite-next/with-schemas/index.js +0 -957
@@ -1,1293 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined'
3
- ? factory(exports, require('expo-sqlite/next.js'))
4
- : typeof define === 'function' && define.amd
5
- ? define(['exports', 'expo-sqlite/next.js'], factory)
6
- : ((global =
7
- typeof globalThis !== 'undefined' ? globalThis : global || self),
8
- factory(
9
- (global.TinyBasePersisterExpoSqliteNext = {}),
10
- global['expo-sqlite/next'],
11
- ));
12
- })(this, function (exports, next_js) {
13
- 'use strict';
14
-
15
- const getTypeOf = (thing) => typeof thing;
16
- const TINYBASE = 'tinybase';
17
- const EMPTY_STRING = '';
18
- const COMMA = ',';
19
- const STRING = getTypeOf(EMPTY_STRING);
20
- const UNDEFINED = '\uFFFC';
21
- const strRepeat = (str, count) => str.repeat(count);
22
-
23
- var __async$6 = (__this, __arguments, generator) => {
24
- return new Promise((resolve, reject) => {
25
- var fulfilled = (value) => {
26
- try {
27
- step(generator.next(value));
28
- } catch (e) {
29
- reject(e);
30
- }
31
- };
32
- var rejected = (value) => {
33
- try {
34
- step(generator.throw(value));
35
- } catch (e) {
36
- reject(e);
37
- }
38
- };
39
- var step = (x) =>
40
- x.done
41
- ? resolve(x.value)
42
- : Promise.resolve(x.value).then(fulfilled, rejected);
43
- step((generator = generator.apply(__this, __arguments)).next());
44
- });
45
- };
46
- const promise = Promise;
47
- const startInterval = (callback, sec, immediate) => {
48
- callback();
49
- return setInterval(callback, sec * 1e3);
50
- };
51
- const stopInterval = clearInterval;
52
- const isUndefined = (thing) => thing == void 0;
53
- const ifNotUndefined = (value, then, otherwise) =>
54
- isUndefined(value)
55
- ? otherwise == null
56
- ? void 0
57
- : otherwise()
58
- : then(value);
59
- const isString = (thing) => getTypeOf(thing) == STRING;
60
- const isArray = (thing) => Array.isArray(thing);
61
- const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
62
- const size = (arrayOrString) => arrayOrString.length;
63
- const promiseAll = (promises) =>
64
- __async$6(void 0, null, function* () {
65
- return promise.all(promises);
66
- });
67
- const errorNew = (message) => {
68
- throw new Error(message);
69
- };
70
-
71
- const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
72
- const arrayMap = (array, cb) => array.map(cb);
73
- const arrayIsEmpty = (array) => size(array) == 0;
74
- const arrayFilter = (array, cb) => array.filter(cb);
75
- const arrayPush = (array, ...values) => array.push(...values);
76
- const arrayShift = (array) => array.shift();
77
-
78
- const collHas = (coll, keyOrValue) => {
79
- var _a;
80
- return (_a = coll == null ? void 0 : coll.has(keyOrValue)) != null
81
- ? _a
82
- : false;
83
- };
84
- const collValues = (coll) => {
85
- var _a;
86
- return [
87
- ...((_a = coll == null ? void 0 : coll.values()) != null ? _a : []),
88
- ];
89
- };
90
- const collForEach = (coll, cb) => (coll == null ? void 0 : coll.forEach(cb));
91
- const collDel = (coll, keyOrValue) =>
92
- coll == null ? void 0 : coll.delete(keyOrValue);
93
-
94
- const object = Object;
95
- const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
96
- const objEntries = object.entries;
97
- const isObject = (obj) =>
98
- !isUndefined(obj) &&
99
- ifNotUndefined(
100
- getPrototypeOf(obj),
101
- (objPrototype) =>
102
- objPrototype == object.prototype ||
103
- isUndefined(getPrototypeOf(objPrototype)),
104
-
105
- /* istanbul ignore next */
106
- () => true,
107
- );
108
- const objIds = object.keys;
109
- const objFreeze = object.freeze;
110
- const objNew = (entries = []) => object.fromEntries(entries);
111
- const objMerge = (...objs) => object.assign({}, ...objs);
112
- const objHas = (obj, id) => id in obj;
113
- const objDel = (obj, id) => {
114
- delete obj[id];
115
- return obj;
116
- };
117
- const objToArray = (obj, cb) =>
118
- arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
119
- const objValues = (obj) => object.values(obj);
120
- const objSize = (obj) => size(objIds(obj));
121
- const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
122
-
123
- const mapNew = (entries) => new Map(entries);
124
- const mapKeys = (map) => {
125
- var _a;
126
- return [...((_a = map == null ? void 0 : map.keys()) != null ? _a : [])];
127
- };
128
- const mapGet = (map, key) => (map == null ? void 0 : map.get(key));
129
- const mapForEach = (map, cb) =>
130
- collForEach(map, (value, key) => cb(key, value));
131
- const mapMap = (coll, cb) => {
132
- var _a;
133
- return arrayMap(
134
- [...((_a = coll == null ? void 0 : coll.entries()) != null ? _a : [])],
135
- ([key, value]) => cb(value, key),
136
- );
137
- };
138
- const mapSet = (map, key, value) =>
139
- isUndefined(value)
140
- ? (collDel(map, key), map)
141
- : map == null
142
- ? void 0
143
- : map.set(key, value);
144
- const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
145
- if (!collHas(map, key)) {
146
- mapSet(map, key, getDefaultValue());
147
- }
148
- return mapGet(map, key);
149
- };
150
- const mapMatch = (map, obj, set, del = mapSet) => {
151
- objToArray(obj, (value, id) => set(map, id, value));
152
- mapForEach(map, (id) => (objHas(obj, id) ? 0 : del(map, id)));
153
- return map;
154
- };
155
-
156
- const SINGLE_ROW_ID = '_';
157
- const DEFAULT_ROW_ID_COLUMN_NAME = '_id';
158
- const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
159
- const SELECT = 'SELECT';
160
-
161
- const setNew = (entryOrEntries) =>
162
- new Set(
163
- isArray(entryOrEntries) || isUndefined(entryOrEntries)
164
- ? entryOrEntries
165
- : [entryOrEntries],
166
- );
167
- const setAdd = (set, value) => (set == null ? void 0 : set.add(value));
168
-
169
- var __defProp$1 = Object.defineProperty;
170
- var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
171
- var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
172
- var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
173
- var __defNormalProp$1 = (obj, key, value) =>
174
- key in obj
175
- ? __defProp$1(obj, key, {
176
- enumerable: true,
177
- configurable: true,
178
- writable: true,
179
- value,
180
- })
181
- : (obj[key] = value);
182
- var __spreadValues$1 = (a, b) => {
183
- for (var prop in b || (b = {}))
184
- if (__hasOwnProp$1.call(b, prop)) __defNormalProp$1(a, prop, b[prop]);
185
- if (__getOwnPropSymbols$1)
186
- for (var prop of __getOwnPropSymbols$1(b)) {
187
- if (__propIsEnum$1.call(b, prop)) __defNormalProp$1(a, prop, b[prop]);
188
- }
189
- return a;
190
- };
191
- var __async$5 = (__this, __arguments, generator) => {
192
- return new Promise((resolve, reject) => {
193
- var fulfilled = (value) => {
194
- try {
195
- step(generator.next(value));
196
- } catch (e) {
197
- reject(e);
198
- }
199
- };
200
- var rejected = (value) => {
201
- try {
202
- step(generator.throw(value));
203
- } catch (e) {
204
- reject(e);
205
- }
206
- };
207
- var step = (x) =>
208
- x.done
209
- ? resolve(x.value)
210
- : Promise.resolve(x.value).then(fulfilled, rejected);
211
- step((generator = generator.apply(__this, __arguments)).next());
212
- });
213
- };
214
- const TABLE = 'TABLE';
215
- const ALTER_TABLE = 'ALTER ' + TABLE;
216
- const DELETE_FROM = 'DELETE FROM';
217
- const SELECT_STAR_FROM = SELECT + '*FROM';
218
- const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
219
- const WHERE = 'WHERE';
220
- const getCommandFunctions = (
221
- cmd,
222
- managedTableNames,
223
- onIgnoredError,
224
- useOnConflict,
225
- ) => {
226
- const schemaMap = mapNew();
227
- const canSelect = (tableName, rowIdColumnName) =>
228
- !isUndefined(mapGet(mapGet(schemaMap, tableName), rowIdColumnName));
229
- const refreshSchema = () =>
230
- __async$5(void 0, null, function* () {
231
- return mapMatch(
232
- schemaMap,
233
- objNew(
234
- yield promiseAll(
235
- arrayMap(
236
- yield cmd(
237
- 'SELECT name ' +
238
- FROM_PRAGMA_TABLE +
239
- `list WHERE schema='main'AND(type='table'OR type='view')AND name IN(` +
240
- getPlaceholders(managedTableNames) +
241
- `)ORDER BY name`,
242
- managedTableNames,
243
- ),
244
- (_0) =>
245
- __async$5(void 0, [_0], function* ({name: tableName}) {
246
- return [
247
- tableName,
248
- objNew(
249
- arrayMap(
250
- yield cmd(
251
- SELECT +
252
- ' name,type ' +
253
- FROM_PRAGMA_TABLE +
254
- 'info(?)',
255
- [tableName],
256
- ),
257
- ({name: columnName, type}) => [columnName, type],
258
- ),
259
- ),
260
- ];
261
- }),
262
- ),
263
- ),
264
- ),
265
- (_, tableName, tableSchema) =>
266
- mapSet(
267
- schemaMap,
268
- tableName,
269
- mapMatch(
270
- mapEnsure(schemaMap, tableName, mapNew),
271
- tableSchema,
272
- (tableSchemaMap, columnName, value) => {
273
- if (value != mapGet(tableSchemaMap, columnName)) {
274
- mapSet(tableSchemaMap, columnName, value);
275
- }
276
- },
277
- (tableSchema2, columnName) => mapSet(tableSchema2, columnName),
278
- ),
279
- ),
280
- (_, name) => mapSet(schemaMap, name),
281
- );
282
- });
283
- const loadTable = (tableName, rowIdColumnName) =>
284
- __async$5(void 0, null, function* () {
285
- return canSelect(tableName, rowIdColumnName)
286
- ? objNew(
287
- arrayFilter(
288
- arrayMap(
289
- yield cmd(SELECT_STAR_FROM + escapeId(tableName)),
290
- (row) => [
291
- row[rowIdColumnName],
292
- objDel(__spreadValues$1({}, row), rowIdColumnName),
293
- ],
294
- ),
295
- ([rowId, row]) => !isUndefined(rowId) && !objIsEmpty(row),
296
- ),
297
- )
298
- : {};
299
- });
300
- const saveTable = (
301
- tableName,
302
- rowIdColumnName,
303
- content,
304
- deleteEmptyColumns,
305
- deleteEmptyTable,
306
- partial = false,
307
- ) =>
308
- __async$5(void 0, null, function* () {
309
- const tableCellOrValueIds = setNew();
310
- objToArray(content != null ? content : {}, (contentRow) =>
311
- arrayMap(
312
- objIds(contentRow != null ? contentRow : {}),
313
- (cellOrValueId) => setAdd(tableCellOrValueIds, cellOrValueId),
314
- ),
315
- );
316
- const tableColumnNames = collValues(tableCellOrValueIds);
317
- if (
318
- !partial &&
319
- deleteEmptyTable &&
320
- arrayIsEmpty(tableColumnNames) &&
321
- collHas(schemaMap, tableName)
322
- ) {
323
- yield cmd('DROP ' + TABLE + escapeId(tableName));
324
- mapSet(schemaMap, tableName);
325
- return;
326
- }
327
- if (!arrayIsEmpty(tableColumnNames) && !collHas(schemaMap, tableName)) {
328
- yield cmd(
329
- `CREATE ` +
330
- TABLE +
331
- escapeId(tableName) +
332
- '(' +
333
- escapeId(rowIdColumnName) +
334
- ` PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
335
- arrayMap(
336
- tableColumnNames,
337
- (cellId) => COMMA + escapeId(cellId),
338
- ),
339
- )});`,
340
- );
341
- mapSet(
342
- schemaMap,
343
- tableName,
344
- mapNew([
345
- [rowIdColumnName, EMPTY_STRING],
346
- ...arrayMap(tableColumnNames, (columnName) => [
347
- columnName,
348
- EMPTY_STRING,
349
- ]),
350
- ]),
351
- );
352
- } else {
353
- const tableSchemaMap = mapGet(schemaMap, tableName);
354
- const columnNamesAccountedFor = setNew(mapKeys(tableSchemaMap));
355
- yield promiseAll([
356
- ...arrayMap(tableColumnNames, (columnName) =>
357
- __async$5(void 0, null, function* () {
358
- if (!collDel(columnNamesAccountedFor, columnName)) {
359
- yield cmd(
360
- ALTER_TABLE +
361
- escapeId(tableName) +
362
- 'ADD' +
363
- escapeId(columnName),
364
- );
365
- mapSet(tableSchemaMap, columnName, EMPTY_STRING);
366
- }
367
- }),
368
- ),
369
- ...(!partial && deleteEmptyColumns
370
- ? arrayMap(collValues(columnNamesAccountedFor), (columnName) =>
371
- __async$5(void 0, null, function* () {
372
- if (columnName != rowIdColumnName) {
373
- yield cmd(
374
- ALTER_TABLE +
375
- escapeId(tableName) +
376
- 'DROP' +
377
- escapeId(columnName),
378
- );
379
- mapSet(tableSchemaMap, columnName);
380
- }
381
- }),
382
- )
383
- : []),
384
- ]);
385
- }
386
- if (partial) {
387
- if (isUndefined(content)) {
388
- yield cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' 1');
389
- } else {
390
- yield promiseAll(
391
- objToArray(content, (row, rowId) =>
392
- __async$5(void 0, null, function* () {
393
- if (isUndefined(row)) {
394
- yield cmd(
395
- DELETE_FROM +
396
- escapeId(tableName) +
397
- WHERE +
398
- escapeId(rowIdColumnName) +
399
- '=?',
400
- [rowId],
401
- );
402
- } else if (!arrayIsEmpty(tableColumnNames)) {
403
- yield upsert(
404
- cmd,
405
- tableName,
406
- rowIdColumnName,
407
- objIds(row),
408
- [rowId, ...objValues(row)],
409
- useOnConflict,
410
- );
411
- }
412
- }),
413
- ),
414
- );
415
- }
416
- } else {
417
- if (!arrayIsEmpty(tableColumnNames)) {
418
- const changingColumnNames = arrayFilter(
419
- mapKeys(mapGet(schemaMap, tableName)),
420
- (columnName) => columnName != rowIdColumnName,
421
- );
422
- const args = [];
423
- const deleteRowIds = [];
424
- objToArray(content != null ? content : {}, (row, rowId) => {
425
- arrayPush(
426
- args,
427
- rowId,
428
- ...arrayMap(changingColumnNames, (cellId) =>
429
- row == null ? void 0 : row[cellId],
430
- ),
431
- );
432
- arrayPush(deleteRowIds, rowId);
433
- });
434
- yield upsert(
435
- cmd,
436
- tableName,
437
- rowIdColumnName,
438
- changingColumnNames,
439
- args,
440
- useOnConflict,
441
- );
442
- yield cmd(
443
- DELETE_FROM +
444
- escapeId(tableName) +
445
- WHERE +
446
- escapeId(rowIdColumnName) +
447
- 'NOT IN(' +
448
- getPlaceholders(deleteRowIds) +
449
- ')',
450
- deleteRowIds,
451
- );
452
- } else if (collHas(schemaMap, tableName)) {
453
- yield cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' 1');
454
- }
455
- }
456
- });
457
- const transaction = (actions) =>
458
- __async$5(void 0, null, function* () {
459
- let result;
460
- yield cmd('BEGIN');
461
- try {
462
- result = yield actions();
463
- } catch (error) {
464
- onIgnoredError == null ? void 0 : onIgnoredError(error);
465
- }
466
- yield cmd('END');
467
- return result;
468
- });
469
- return [refreshSchema, loadTable, saveTable, transaction];
470
- };
471
- const upsert = (
472
- cmd,
473
- tableName,
474
- rowIdColumnName,
475
- changingColumnNames,
476
- args,
477
- useOnConflict = true,
478
- ) =>
479
- __async$5(void 0, null, function* () {
480
- return yield cmd(
481
- 'INSERT ' +
482
- (useOnConflict ? EMPTY_STRING : 'OR REPLACE ') +
483
- 'INTO' +
484
- escapeId(tableName) +
485
- '(' +
486
- escapeId(rowIdColumnName) +
487
- arrayJoin(
488
- arrayMap(
489
- changingColumnNames,
490
- (columnName) => COMMA + escapeId(columnName),
491
- ),
492
- ) +
493
- ')VALUES' +
494
- slice(
495
- strRepeat(
496
- `,(?${strRepeat(',?', size(changingColumnNames))})`,
497
- size(args) / (size(changingColumnNames) + 1),
498
- ),
499
- 1,
500
- ) +
501
- (useOnConflict
502
- ? 'ON CONFLICT(' +
503
- escapeId(rowIdColumnName) +
504
- ')DO UPDATE SET' +
505
- arrayJoin(
506
- arrayMap(
507
- changingColumnNames,
508
- (columnName) =>
509
- escapeId(columnName) + '=excluded.' + escapeId(columnName),
510
- ),
511
- COMMA,
512
- )
513
- : EMPTY_STRING),
514
- arrayMap(args, (arg) => (arg != null ? arg : null)),
515
- );
516
- });
517
- const getPlaceholders = (array) =>
518
- arrayJoin(
519
- arrayMap(array, () => '?'),
520
- COMMA,
521
- );
522
-
523
- const jsonStringWithUndefined = (obj) =>
524
- JSON.stringify(obj, (_key, value) =>
525
- value === void 0 ? UNDEFINED : value,
526
- );
527
- const jsonParseWithUndefined = (str) =>
528
- JSON.parse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
529
-
530
- var __defProp = Object.defineProperty;
531
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
532
- var __hasOwnProp = Object.prototype.hasOwnProperty;
533
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
534
- var __defNormalProp = (obj, key, value) =>
535
- key in obj
536
- ? __defProp(obj, key, {
537
- enumerable: true,
538
- configurable: true,
539
- writable: true,
540
- value,
541
- })
542
- : (obj[key] = value);
543
- var __spreadValues = (a, b) => {
544
- for (var prop in b || (b = {}))
545
- if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
546
- if (__getOwnPropSymbols)
547
- for (var prop of __getOwnPropSymbols(b)) {
548
- if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
549
- }
550
- return a;
551
- };
552
- var __async$4 = (__this, __arguments, generator) => {
553
- return new Promise((resolve, reject) => {
554
- var fulfilled = (value) => {
555
- try {
556
- step(generator.next(value));
557
- } catch (e) {
558
- reject(e);
559
- }
560
- };
561
- var rejected = (value) => {
562
- try {
563
- step(generator.throw(value));
564
- } catch (e) {
565
- reject(e);
566
- }
567
- };
568
- var step = (x) =>
569
- x.done
570
- ? resolve(x.value)
571
- : Promise.resolve(x.value).then(fulfilled, rejected);
572
- step((generator = generator.apply(__this, __arguments)).next());
573
- });
574
- };
575
- const scheduleRunning = mapNew();
576
- const scheduleActions = mapNew();
577
- const getStoreFunctions = (supportedStoreType = 1, store) =>
578
- supportedStoreType > 1 && store.isMergeable()
579
- ? [
580
- 1,
581
- store.getMergeableContent,
582
- store.getTransactionMergeableChanges,
583
- ([[changedTables], [changedValues]]) =>
584
- !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
585
- store.setDefaultContent,
586
- ]
587
- : supportedStoreType != 2
588
- ? [
589
- 0,
590
- store.getContent,
591
- store.getTransactionChanges,
592
- ([changedTables, changedValues]) =>
593
- !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
594
- store.setContent,
595
- ]
596
- : errorNew('Store type not supported by this Persister');
597
- const createCustomPersister = (
598
- store,
599
- getPersisted,
600
- setPersisted,
601
- addPersisterListener,
602
- delPersisterListener,
603
- onIgnoredError,
604
- supportedStoreType,
605
- extra = {},
606
- scheduleId = [],
607
- ) => {
608
- let loadSave = 0;
609
- let loads = 0;
610
- let saves = 0;
611
- let action;
612
- let autoLoadHandle;
613
- let autoSaveListenerId;
614
- mapEnsure(scheduleRunning, scheduleId, () => 0);
615
- mapEnsure(scheduleActions, scheduleId, () => []);
616
- const [
617
- isMergeableStore,
618
- getContent,
619
- getChanges,
620
- hasChanges,
621
- setDefaultContent,
622
- ] = getStoreFunctions(supportedStoreType, store);
623
- const run = () =>
624
- __async$4(void 0, null, function* () {
625
- /* istanbul ignore else */
626
- if (!mapGet(scheduleRunning, scheduleId)) {
627
- mapSet(scheduleRunning, scheduleId, 1);
628
- while (
629
- !isUndefined(
630
- (action = arrayShift(mapGet(scheduleActions, scheduleId))),
631
- )
632
- ) {
633
- try {
634
- yield action();
635
- } catch (error) {
636
- /* istanbul ignore next */
637
- onIgnoredError == null ? void 0 : onIgnoredError(error);
638
- }
639
- }
640
- mapSet(scheduleRunning, scheduleId, 0);
641
- }
642
- });
643
- const setContentOrChanges = (contentOrChanges) => {
644
- (isMergeableStore &&
645
- isArray(contentOrChanges == null ? void 0 : contentOrChanges[0])
646
- ? (contentOrChanges == null ? void 0 : contentOrChanges[2]) === 1
647
- ? store.applyMergeableChanges
648
- : store.setMergeableContent
649
- : (contentOrChanges == null ? void 0 : contentOrChanges[2]) === 1
650
- ? store.applyChanges
651
- : store.setContent)(contentOrChanges);
652
- };
653
- const load = (initialContent) =>
654
- __async$4(void 0, null, function* () {
655
- /* istanbul ignore else */
656
- if (loadSave != 2) {
657
- loadSave = 1;
658
- loads++;
659
- yield schedule(() =>
660
- __async$4(void 0, null, function* () {
661
- try {
662
- setContentOrChanges(yield getPersisted());
663
- } catch (error) {
664
- onIgnoredError == null ? void 0 : onIgnoredError(error);
665
- if (initialContent) {
666
- setDefaultContent(initialContent);
667
- }
668
- }
669
- loadSave = 0;
670
- }),
671
- );
672
- }
673
- return persister;
674
- });
675
- const startAutoLoad = (initialContent) =>
676
- __async$4(void 0, null, function* () {
677
- yield stopAutoLoad().load(initialContent);
678
- autoLoadHandle = addPersisterListener((content, changes) =>
679
- __async$4(void 0, null, function* () {
680
- if (changes || content) {
681
- /* istanbul ignore else */
682
- if (loadSave != 2) {
683
- loadSave = 1;
684
- loads++;
685
- setContentOrChanges(changes != null ? changes : content);
686
- loadSave = 0;
687
- }
688
- } else {
689
- yield load();
690
- }
691
- }),
692
- );
693
- return persister;
694
- });
695
- const stopAutoLoad = () => {
696
- if (autoLoadHandle) {
697
- delPersisterListener(autoLoadHandle);
698
- autoLoadHandle = void 0;
699
- }
700
- return persister;
701
- };
702
- const isAutoLoading = () => !isUndefined(autoLoadHandle);
703
- const save = (changes) =>
704
- __async$4(void 0, null, function* () {
705
- /* istanbul ignore else */
706
- if (loadSave != 1) {
707
- loadSave = 2;
708
- saves++;
709
- yield schedule(() =>
710
- __async$4(void 0, null, function* () {
711
- try {
712
- yield setPersisted(getContent, changes);
713
- } catch (error) {
714
- /* istanbul ignore next */
715
- onIgnoredError == null ? void 0 : onIgnoredError(error);
716
- }
717
- loadSave = 0;
718
- }),
719
- );
720
- }
721
- return persister;
722
- });
723
- const startAutoSave = () =>
724
- __async$4(void 0, null, function* () {
725
- yield stopAutoSave().save();
726
- autoSaveListenerId = store.addDidFinishTransactionListener(() => {
727
- const changes = getChanges();
728
- if (hasChanges(changes)) {
729
- save(changes);
730
- }
731
- });
732
- return persister;
733
- });
734
- const stopAutoSave = () => {
735
- ifNotUndefined(autoSaveListenerId, store.delListener);
736
- autoSaveListenerId = void 0;
737
- return persister;
738
- };
739
- const isAutoSaving = () => !isUndefined(autoSaveListenerId);
740
- const schedule = (...actions) =>
741
- __async$4(void 0, null, function* () {
742
- arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
743
- yield run();
744
- return persister;
745
- });
746
- const getStore = () => store;
747
- const destroy = () => stopAutoLoad().stopAutoSave();
748
- const getStats = () => ({loads, saves});
749
- const persister = __spreadValues(
750
- {
751
- load,
752
- startAutoLoad,
753
- stopAutoLoad,
754
- isAutoLoading,
755
- save,
756
- startAutoSave,
757
- stopAutoSave,
758
- isAutoSaving,
759
- schedule,
760
- getStore,
761
- destroy,
762
- getStats,
763
- },
764
- extra,
765
- );
766
- return objFreeze(persister);
767
- };
768
-
769
- var __async$3 = (__this, __arguments, generator) => {
770
- return new Promise((resolve, reject) => {
771
- var fulfilled = (value) => {
772
- try {
773
- step(generator.next(value));
774
- } catch (e) {
775
- reject(e);
776
- }
777
- };
778
- var rejected = (value) => {
779
- try {
780
- step(generator.throw(value));
781
- } catch (e) {
782
- reject(e);
783
- }
784
- };
785
- var step = (x) =>
786
- x.done
787
- ? resolve(x.value)
788
- : Promise.resolve(x.value).then(fulfilled, rejected);
789
- step((generator = generator.apply(__this, __arguments)).next());
790
- });
791
- };
792
- const createJsonSqlitePersister = (
793
- store,
794
- cmd,
795
- addPersisterListener,
796
- delPersisterListener,
797
- onIgnoredError,
798
- supportedStoreType,
799
- [storeTableName, storeIdColumnName, storeColumnName],
800
- managedTableNames,
801
- db,
802
- getThing,
803
- useOnConflict,
804
- ) => {
805
- const [refreshSchema, loadTable, saveTable, transaction] =
806
- getCommandFunctions(
807
- cmd,
808
- managedTableNames,
809
- onIgnoredError,
810
- useOnConflict,
811
- );
812
- const getPersisted = () =>
813
- __async$3(void 0, null, function* () {
814
- return yield transaction(() =>
815
- __async$3(void 0, null, function* () {
816
- var _a, _b;
817
- yield refreshSchema();
818
- return jsonParseWithUndefined(
819
- (_b =
820
- (_a = (yield loadTable(storeTableName, storeIdColumnName))[
821
- SINGLE_ROW_ID
822
- ]) == null
823
- ? void 0
824
- : _a[storeColumnName]) != null
825
- ? _b
826
- : 'null',
827
- );
828
- }),
829
- );
830
- });
831
- const setPersisted = (getContent) =>
832
- __async$3(void 0, null, function* () {
833
- return yield transaction(() =>
834
- __async$3(void 0, null, function* () {
835
- var _a;
836
- yield refreshSchema();
837
- yield saveTable(
838
- storeTableName,
839
- storeIdColumnName,
840
- {
841
- [SINGLE_ROW_ID]: {
842
- [storeColumnName]: jsonStringWithUndefined(
843
- (_a = getContent()) != null ? _a : null,
844
- ),
845
- },
846
- },
847
- true,
848
- true,
849
- );
850
- }),
851
- );
852
- });
853
- const persister = createCustomPersister(
854
- store,
855
- getPersisted,
856
- setPersisted,
857
- addPersisterListener,
858
- delPersisterListener,
859
- onIgnoredError,
860
- supportedStoreType,
861
- {[getThing]: () => db},
862
- db,
863
- );
864
- return persister;
865
- };
866
-
867
- var __async$2 = (__this, __arguments, generator) => {
868
- return new Promise((resolve, reject) => {
869
- var fulfilled = (value) => {
870
- try {
871
- step(generator.next(value));
872
- } catch (e) {
873
- reject(e);
874
- }
875
- };
876
- var rejected = (value) => {
877
- try {
878
- step(generator.throw(value));
879
- } catch (e) {
880
- reject(e);
881
- }
882
- };
883
- var step = (x) =>
884
- x.done
885
- ? resolve(x.value)
886
- : Promise.resolve(x.value).then(fulfilled, rejected);
887
- step((generator = generator.apply(__this, __arguments)).next());
888
- });
889
- };
890
- const createTabularSqlitePersister = (
891
- store,
892
- cmd,
893
- addPersisterListener,
894
- delPersisterListener,
895
- onIgnoredError,
896
- supportedStoreType,
897
- [
898
- tablesLoadConfig,
899
- tablesSaveConfig,
900
- [valuesLoad, valuesSave, valuesTableName],
901
- ],
902
- managedTableNames,
903
- db,
904
- getThing,
905
- useOnConflict,
906
- ) => {
907
- const [refreshSchema, loadTable, saveTable, transaction] =
908
- getCommandFunctions(
909
- cmd,
910
- managedTableNames,
911
- onIgnoredError,
912
- useOnConflict,
913
- );
914
- const saveTables = (tables, partial) =>
915
- __async$2(void 0, null, function* () {
916
- return yield promiseAll(
917
- mapMap(tablesSaveConfig, (_0, _1) =>
918
- __async$2(
919
- void 0,
920
- [_0, _1],
921
- function* (
922
- [
923
- tableName,
924
- rowIdColumnName,
925
- deleteEmptyColumns,
926
- deleteEmptyTable,
927
- ],
928
- tableId,
929
- ) {
930
- if (!partial || objHas(tables, tableId)) {
931
- yield saveTable(
932
- tableName,
933
- rowIdColumnName,
934
- tables[tableId],
935
- deleteEmptyColumns,
936
- deleteEmptyTable,
937
- partial,
938
- );
939
- }
940
- },
941
- ),
942
- ),
943
- );
944
- });
945
- const saveValues = (values, partial) =>
946
- __async$2(void 0, null, function* () {
947
- return valuesSave
948
- ? yield saveTable(
949
- valuesTableName,
950
- DEFAULT_ROW_ID_COLUMN_NAME,
951
- {[SINGLE_ROW_ID]: values},
952
- true,
953
- true,
954
- partial,
955
- )
956
- : null;
957
- });
958
- const loadTables = () =>
959
- __async$2(void 0, null, function* () {
960
- return objNew(
961
- arrayFilter(
962
- yield promiseAll(
963
- mapMap(tablesLoadConfig, (_0, _1) =>
964
- __async$2(
965
- void 0,
966
- [_0, _1],
967
- function* ([tableId, rowIdColumnName], tableName) {
968
- return [
969
- tableId,
970
- yield loadTable(tableName, rowIdColumnName),
971
- ];
972
- },
973
- ),
974
- ),
975
- ),
976
- (pair) => !objIsEmpty(pair[1]),
977
- ),
978
- );
979
- });
980
- const loadValues = () =>
981
- __async$2(void 0, null, function* () {
982
- return valuesLoad
983
- ? (yield loadTable(valuesTableName, DEFAULT_ROW_ID_COLUMN_NAME))[
984
- SINGLE_ROW_ID
985
- ]
986
- : {};
987
- });
988
- const getPersisted = () =>
989
- __async$2(void 0, null, function* () {
990
- return yield transaction(() =>
991
- __async$2(void 0, null, function* () {
992
- yield refreshSchema();
993
- const tables = yield loadTables();
994
- const values = yield loadValues();
995
- return !objIsEmpty(tables) || !isUndefined(values)
996
- ? [tables, values]
997
- : void 0;
998
- }),
999
- );
1000
- });
1001
- const setPersisted = (getContent, changes) =>
1002
- __async$2(void 0, null, function* () {
1003
- return yield transaction(() =>
1004
- __async$2(void 0, null, function* () {
1005
- yield refreshSchema();
1006
- if (!isUndefined(changes)) {
1007
- yield saveTables(changes[0], true);
1008
- yield saveValues(changes[1], true);
1009
- } else {
1010
- const [tables, values] = getContent();
1011
- yield saveTables(tables);
1012
- yield saveValues(values);
1013
- }
1014
- }),
1015
- );
1016
- });
1017
- const persister = createCustomPersister(
1018
- store,
1019
- getPersisted,
1020
- setPersisted,
1021
- addPersisterListener,
1022
- delPersisterListener,
1023
- onIgnoredError,
1024
- supportedStoreType,
1025
- {[getThing]: () => db},
1026
- db,
1027
- );
1028
- return persister;
1029
- };
1030
-
1031
- const COLUMN_NAME = 'ColumnName';
1032
- const STORE = 'store';
1033
- const JSON$1 = 'json';
1034
- const STORE_TABLE_NAME = STORE + 'TableName';
1035
- const STORE_ID_COLUMN_NAME = STORE + 'Id' + COLUMN_NAME;
1036
- const STORE_COLUMN_NAME = STORE + COLUMN_NAME;
1037
- const AUTO_LOAD_INTERVAL_SECONDS = 'autoLoadIntervalSeconds';
1038
- const ROW_ID_COLUMN_NAME = 'rowId' + COLUMN_NAME;
1039
- const TABLE_ID = 'tableId';
1040
- const TABLE_NAME = 'tableName';
1041
- const DELETE_EMPTY_COLUMNS = 'deleteEmptyColumns';
1042
- const DELETE_EMPTY_TABLE = 'deleteEmptyTable';
1043
- const DEFAULT_CONFIG = {
1044
- mode: JSON$1,
1045
- [AUTO_LOAD_INTERVAL_SECONDS]: 1,
1046
- };
1047
- const DEFAULT_TABULAR_VALUES_CONFIG = {
1048
- load: 0,
1049
- save: 0,
1050
- [TABLE_NAME]: TINYBASE + '_values',
1051
- };
1052
- const getDefaultedConfig = (configOrStoreTableName) =>
1053
- objMerge(
1054
- DEFAULT_CONFIG,
1055
- isString(configOrStoreTableName)
1056
- ? {[STORE_TABLE_NAME]: configOrStoreTableName}
1057
- : configOrStoreTableName != null
1058
- ? configOrStoreTableName
1059
- : {},
1060
- );
1061
- const getDefaultedTabularConfigMap = (
1062
- configsObj,
1063
- defaultObj,
1064
- tableField,
1065
- exclude,
1066
- then,
1067
- ) => {
1068
- const configMap = mapNew();
1069
- objToArray(configsObj, (configObj, id) => {
1070
- const defaultedConfig = slice(
1071
- objValues(
1072
- objMerge(
1073
- defaultObj,
1074
- isString(configObj) ? {[tableField]: configObj} : configObj,
1075
- ),
1076
- ),
1077
- 0,
1078
- objSize(defaultObj),
1079
- );
1080
- if (
1081
- !isUndefined(defaultedConfig[0]) &&
1082
- !exclude(id, defaultedConfig[0])
1083
- ) {
1084
- then(id, defaultedConfig[0]);
1085
- mapSet(configMap, id, defaultedConfig);
1086
- }
1087
- });
1088
- return configMap;
1089
- };
1090
- const getConfigStructures = (configOrStoreTableName) => {
1091
- var _a, _b, _c;
1092
- const config = getDefaultedConfig(configOrStoreTableName);
1093
- const autoLoadIntervalSeconds = config[AUTO_LOAD_INTERVAL_SECONDS];
1094
- if (config.mode == JSON$1) {
1095
- const storeTableName =
1096
- (_a = config[STORE_TABLE_NAME]) != null ? _a : TINYBASE;
1097
- return [
1098
- 1,
1099
- autoLoadIntervalSeconds,
1100
- [
1101
- storeTableName,
1102
- (_b = config[STORE_ID_COLUMN_NAME]) != null
1103
- ? _b
1104
- : DEFAULT_ROW_ID_COLUMN_NAME,
1105
- (_c = config[STORE_COLUMN_NAME]) != null ? _c : STORE,
1106
- ],
1107
- setNew(storeTableName),
1108
- ];
1109
- }
1110
- const {tables: {load = {}, save = {}} = {}, values = {}} = config;
1111
- const valuesConfig = slice(
1112
- objValues(objMerge(DEFAULT_TABULAR_VALUES_CONFIG, values)),
1113
- 0,
1114
- objSize(DEFAULT_TABULAR_VALUES_CONFIG),
1115
- );
1116
- const valuesTable = valuesConfig[2];
1117
- const managedTableNames = setNew(valuesTable);
1118
- const excludedTableNames = setNew(valuesTable);
1119
- const tabularConfig = [
1120
- getDefaultedTabularConfigMap(
1121
- load,
1122
- {[TABLE_ID]: null, [ROW_ID_COLUMN_NAME]: DEFAULT_ROW_ID_COLUMN_NAME},
1123
- TABLE_ID,
1124
- (tableName) => collHas(excludedTableNames, tableName),
1125
- (tableName) => setAdd(managedTableNames, tableName),
1126
- ),
1127
- getDefaultedTabularConfigMap(
1128
- save,
1129
- {
1130
- [TABLE_NAME]: null,
1131
- [ROW_ID_COLUMN_NAME]: DEFAULT_ROW_ID_COLUMN_NAME,
1132
- [DELETE_EMPTY_COLUMNS]: 0,
1133
- [DELETE_EMPTY_TABLE]: 0,
1134
- },
1135
- TABLE_NAME,
1136
- (_, tableName) => collHas(excludedTableNames, tableName),
1137
- (_, tableName) => setAdd(managedTableNames, tableName),
1138
- ),
1139
- valuesConfig,
1140
- ];
1141
- return [0, autoLoadIntervalSeconds, tabularConfig, managedTableNames];
1142
- };
1143
-
1144
- var __async$1 = (__this, __arguments, generator) => {
1145
- return new Promise((resolve, reject) => {
1146
- var fulfilled = (value) => {
1147
- try {
1148
- step(generator.next(value));
1149
- } catch (e) {
1150
- reject(e);
1151
- }
1152
- };
1153
- var rejected = (value) => {
1154
- try {
1155
- step(generator.throw(value));
1156
- } catch (e) {
1157
- reject(e);
1158
- }
1159
- };
1160
- var step = (x) =>
1161
- x.done
1162
- ? resolve(x.value)
1163
- : Promise.resolve(x.value).then(fulfilled, rejected);
1164
- step((generator = generator.apply(__this, __arguments)).next());
1165
- });
1166
- };
1167
- const PRAGMA = 'pragma_';
1168
- const DATA_VERSION = 'data_version';
1169
- const SCHEMA_VERSION = 'schema_version';
1170
- const createSqlitePersister = (
1171
- store,
1172
- configOrStoreTableName,
1173
- cmd,
1174
- addUpdateListener,
1175
- delUpdateListener,
1176
- onSqlCommand,
1177
- onIgnoredError,
1178
- supportedStoreType,
1179
- db,
1180
- getThing = 'getDb',
1181
- useOnConflict,
1182
- ) => {
1183
- let dataVersion;
1184
- let schemaVersion;
1185
- let totalChanges;
1186
- const [
1187
- isJson,
1188
- autoLoadIntervalSeconds,
1189
- defaultedConfig,
1190
- managedTableNamesSet,
1191
- ] = getConfigStructures(configOrStoreTableName);
1192
- const addPersisterListener = (listener) => [
1193
- startInterval(
1194
- () =>
1195
- __async$1(void 0, null, function* () {
1196
- try {
1197
- const [{d, s, c}] = yield cmd(
1198
- `SELECT ${DATA_VERSION} d,${SCHEMA_VERSION} s,TOTAL_CHANGES() c FROM ${PRAGMA}${DATA_VERSION} JOIN ${PRAGMA}${SCHEMA_VERSION}`,
1199
- );
1200
- if (
1201
- d != (dataVersion != null ? dataVersion : (dataVersion = d)) ||
1202
- s !=
1203
- (schemaVersion != null
1204
- ? schemaVersion
1205
- : (schemaVersion = s)) ||
1206
- c != (totalChanges != null ? totalChanges : (totalChanges = c))
1207
- ) {
1208
- listener();
1209
- dataVersion = d;
1210
- schemaVersion = s;
1211
- }
1212
- } catch (e) {}
1213
- }),
1214
- autoLoadIntervalSeconds,
1215
- ),
1216
- addUpdateListener((tableName) =>
1217
- managedTableNamesSet.has(tableName) ? listener() : 0,
1218
- ),
1219
- ];
1220
- const delPersisterListener = ([interval, listeningHandle]) => {
1221
- stopInterval(interval);
1222
- dataVersion = schemaVersion = totalChanges = null;
1223
- delUpdateListener(listeningHandle);
1224
- };
1225
- return (isJson ? createJsonSqlitePersister : createTabularSqlitePersister)(
1226
- store,
1227
- onSqlCommand
1228
- ? (sql, args) =>
1229
- __async$1(void 0, null, function* () {
1230
- onSqlCommand(sql, args);
1231
- return yield cmd(sql, args);
1232
- })
1233
- : cmd,
1234
- addPersisterListener,
1235
- delPersisterListener,
1236
- onIgnoredError,
1237
- supportedStoreType,
1238
- defaultedConfig,
1239
- collValues(managedTableNamesSet),
1240
- db,
1241
- getThing,
1242
- useOnConflict,
1243
- );
1244
- };
1245
-
1246
- var __async = (__this, __arguments, generator) => {
1247
- return new Promise((resolve, reject) => {
1248
- var fulfilled = (value) => {
1249
- try {
1250
- step(generator.next(value));
1251
- } catch (e) {
1252
- reject(e);
1253
- }
1254
- };
1255
- var rejected = (value) => {
1256
- try {
1257
- step(generator.throw(value));
1258
- } catch (e) {
1259
- reject(e);
1260
- }
1261
- };
1262
- var step = (x) =>
1263
- x.done
1264
- ? resolve(x.value)
1265
- : Promise.resolve(x.value).then(fulfilled, rejected);
1266
- step((generator = generator.apply(__this, __arguments)).next());
1267
- });
1268
- };
1269
- const createExpoSqliteNextPersister = (
1270
- store,
1271
- db,
1272
- configOrStoreTableName,
1273
- onSqlCommand,
1274
- onIgnoredError,
1275
- ) =>
1276
- createSqlitePersister(
1277
- store,
1278
- configOrStoreTableName,
1279
- (_0, ..._1) =>
1280
- __async(void 0, [_0, ..._1], function* (sql, args = []) {
1281
- return yield db.getAllAsync(sql, args);
1282
- }),
1283
- (listener) =>
1284
- next_js.addDatabaseChangeListener(({tableName}) => listener(tableName)),
1285
- (subscription) => subscription.remove(),
1286
- onSqlCommand,
1287
- onIgnoredError,
1288
- 3,
1289
- db,
1290
- );
1291
-
1292
- exports.createExpoSqliteNextPersister = createExpoSqliteNextPersister;
1293
- });