tinybase 7.1.0-beta.3 → 7.1.0-beta.4

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 (280) hide show
  1. package/@types/schematizers/schematizer-arktype/index.d.ts +114 -0
  2. package/@types/schematizers/schematizer-arktype/with-schemas/index.d.ts +8 -0
  3. package/@types/schematizers/schematizer-effect/index.d.ts +118 -0
  4. package/@types/schematizers/schematizer-effect/with-schemas/index.d.ts +8 -0
  5. package/@types/schematizers/schematizer-yup/index.d.ts +112 -0
  6. package/@types/schematizers/schematizer-yup/with-schemas/index.d.ts +7 -0
  7. package/checkpoints/index.js +2 -2
  8. package/checkpoints/with-schemas/index.js +2 -2
  9. package/index.js +6 -4
  10. package/indexes/index.js +2 -2
  11. package/indexes/with-schemas/index.js +2 -2
  12. package/mergeable-store/index.js +2 -2
  13. package/mergeable-store/with-schemas/index.js +2 -2
  14. package/metrics/index.js +6 -4
  15. package/metrics/with-schemas/index.js +6 -4
  16. package/min/checkpoints/index.js +1 -1
  17. package/min/checkpoints/index.js.gz +0 -0
  18. package/min/checkpoints/with-schemas/index.js +1 -1
  19. package/min/checkpoints/with-schemas/index.js.gz +0 -0
  20. package/min/index.js +1 -1
  21. package/min/index.js.gz +0 -0
  22. package/min/indexes/index.js +1 -1
  23. package/min/indexes/index.js.gz +0 -0
  24. package/min/indexes/with-schemas/index.js +1 -1
  25. package/min/indexes/with-schemas/index.js.gz +0 -0
  26. package/min/mergeable-store/index.js +1 -1
  27. package/min/mergeable-store/index.js.gz +0 -0
  28. package/min/mergeable-store/with-schemas/index.js +1 -1
  29. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  30. package/min/metrics/index.js +1 -1
  31. package/min/metrics/index.js.gz +0 -0
  32. package/min/metrics/with-schemas/index.js +1 -1
  33. package/min/metrics/with-schemas/index.js.gz +0 -0
  34. package/min/omni/index.js +1 -1
  35. package/min/omni/index.js.gz +0 -0
  36. package/min/omni/with-schemas/index.js +1 -1
  37. package/min/omni/with-schemas/index.js.gz +0 -0
  38. package/min/persisters/index.js +1 -1
  39. package/min/persisters/index.js.gz +0 -0
  40. package/min/persisters/persister-automerge/index.js +1 -1
  41. package/min/persisters/persister-automerge/index.js.gz +0 -0
  42. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  43. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  44. package/min/persisters/persister-browser/index.js +1 -1
  45. package/min/persisters/persister-browser/index.js.gz +0 -0
  46. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  47. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  48. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  49. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  50. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  51. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  52. package/min/persisters/persister-durable-object-sql-storage/index.js +1 -1
  53. package/min/persisters/persister-durable-object-sql-storage/index.js.gz +0 -0
  54. package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1 -1
  55. package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js.gz +0 -0
  56. package/min/persisters/persister-durable-object-storage/index.js +1 -1
  57. package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  58. package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
  59. package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  60. package/min/persisters/persister-electric-sql/index.js +1 -1
  61. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  62. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  63. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  64. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  65. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  66. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  67. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  68. package/min/persisters/persister-file/index.js +1 -1
  69. package/min/persisters/persister-file/index.js.gz +0 -0
  70. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  71. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  72. package/min/persisters/persister-indexed-db/index.js +1 -1
  73. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  74. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  75. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  76. package/min/persisters/persister-libsql/index.js +1 -1
  77. package/min/persisters/persister-libsql/index.js.gz +0 -0
  78. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  79. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  80. package/min/persisters/persister-partykit-client/index.js +1 -1
  81. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  82. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  83. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  84. package/min/persisters/persister-pglite/index.js +1 -1
  85. package/min/persisters/persister-pglite/index.js.gz +0 -0
  86. package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  87. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  88. package/min/persisters/persister-postgres/index.js +1 -1
  89. package/min/persisters/persister-postgres/index.js.gz +0 -0
  90. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  91. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  92. package/min/persisters/persister-powersync/index.js +1 -1
  93. package/min/persisters/persister-powersync/index.js.gz +0 -0
  94. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  95. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  96. package/min/persisters/persister-react-native-mmkv/index.js +1 -1
  97. package/min/persisters/persister-react-native-mmkv/index.js.gz +0 -0
  98. package/min/persisters/persister-react-native-mmkv/with-schemas/index.js +1 -1
  99. package/min/persisters/persister-react-native-mmkv/with-schemas/index.js.gz +0 -0
  100. package/min/persisters/persister-react-native-sqlite/index.js +1 -1
  101. package/min/persisters/persister-react-native-sqlite/index.js.gz +0 -0
  102. package/min/persisters/persister-react-native-sqlite/with-schemas/index.js +1 -1
  103. package/min/persisters/persister-react-native-sqlite/with-schemas/index.js.gz +0 -0
  104. package/min/persisters/persister-remote/index.js +1 -1
  105. package/min/persisters/persister-remote/index.js.gz +0 -0
  106. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  107. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  108. package/min/persisters/persister-sqlite-bun/index.js +1 -1
  109. package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
  110. package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
  111. package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
  112. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  113. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  114. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  115. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  116. package/min/persisters/persister-sqlite3/index.js +1 -1
  117. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  118. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  119. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  120. package/min/persisters/persister-yjs/index.js +1 -1
  121. package/min/persisters/persister-yjs/index.js.gz +0 -0
  122. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  123. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  124. package/min/persisters/with-schemas/index.js +1 -1
  125. package/min/persisters/with-schemas/index.js.gz +0 -0
  126. package/min/queries/index.js +1 -1
  127. package/min/queries/index.js.gz +0 -0
  128. package/min/queries/with-schemas/index.js +1 -1
  129. package/min/queries/with-schemas/index.js.gz +0 -0
  130. package/min/relationships/index.js +1 -1
  131. package/min/relationships/index.js.gz +0 -0
  132. package/min/relationships/with-schemas/index.js +1 -1
  133. package/min/relationships/with-schemas/index.js.gz +0 -0
  134. package/min/schematizers/schematizer-arktype/index.js +1 -0
  135. package/min/schematizers/schematizer-arktype/index.js.gz +0 -0
  136. package/min/schematizers/schematizer-arktype/with-schemas/index.js +1 -0
  137. package/min/schematizers/schematizer-arktype/with-schemas/index.js.gz +0 -0
  138. package/min/schematizers/schematizer-effect/index.js +1 -0
  139. package/min/schematizers/schematizer-effect/index.js.gz +0 -0
  140. package/min/schematizers/schematizer-effect/with-schemas/index.js +1 -0
  141. package/min/schematizers/schematizer-effect/with-schemas/index.js.gz +0 -0
  142. package/min/schematizers/schematizer-typebox/index.js +1 -1
  143. package/min/schematizers/schematizer-typebox/index.js.gz +0 -0
  144. package/min/schematizers/schematizer-typebox/with-schemas/index.js +1 -1
  145. package/min/schematizers/schematizer-typebox/with-schemas/index.js.gz +0 -0
  146. package/min/schematizers/schematizer-valibot/index.js +1 -1
  147. package/min/schematizers/schematizer-valibot/index.js.gz +0 -0
  148. package/min/schematizers/schematizer-valibot/with-schemas/index.js +1 -1
  149. package/min/schematizers/schematizer-valibot/with-schemas/index.js.gz +0 -0
  150. package/min/schematizers/schematizer-yup/index.js +1 -0
  151. package/min/schematizers/schematizer-yup/index.js.gz +0 -0
  152. package/min/schematizers/schematizer-yup/with-schemas/index.js +1 -0
  153. package/min/schematizers/schematizer-yup/with-schemas/index.js.gz +0 -0
  154. package/min/store/index.js +1 -1
  155. package/min/store/index.js.gz +0 -0
  156. package/min/store/with-schemas/index.js +1 -1
  157. package/min/store/with-schemas/index.js.gz +0 -0
  158. package/min/synchronizers/index.js +1 -1
  159. package/min/synchronizers/index.js.gz +0 -0
  160. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  161. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  162. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  163. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  164. package/min/synchronizers/synchronizer-local/index.js +1 -1
  165. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  166. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  167. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  168. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  169. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  170. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  171. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  172. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  173. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  174. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  175. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  176. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  177. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  178. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  179. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  180. package/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
  181. package/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
  182. package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
  183. package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
  184. package/min/synchronizers/with-schemas/index.js +1 -1
  185. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  186. package/min/ui-react-dom/index.js +1 -1
  187. package/min/ui-react-dom/index.js.gz +0 -0
  188. package/min/ui-react-dom/with-schemas/index.js +1 -1
  189. package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  190. package/min/ui-react-inspector/index.js +1 -1
  191. package/min/ui-react-inspector/index.js.gz +0 -0
  192. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  193. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  194. package/min/with-schemas/index.js +1 -1
  195. package/min/with-schemas/index.js.gz +0 -0
  196. package/omni/index.js +19 -16
  197. package/omni/with-schemas/index.js +19 -16
  198. package/package.json +118 -2
  199. package/persisters/index.js +6 -4
  200. package/persisters/persister-automerge/index.js +2 -2
  201. package/persisters/persister-automerge/with-schemas/index.js +2 -2
  202. package/persisters/persister-browser/index.js +3 -3
  203. package/persisters/persister-browser/with-schemas/index.js +3 -3
  204. package/persisters/persister-cr-sqlite-wasm/index.js +6 -4
  205. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +6 -4
  206. package/persisters/persister-durable-object-sql-storage/index.js +6 -4
  207. package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +6 -4
  208. package/persisters/persister-durable-object-storage/index.js +3 -3
  209. package/persisters/persister-durable-object-storage/with-schemas/index.js +3 -3
  210. package/persisters/persister-electric-sql/index.js +6 -4
  211. package/persisters/persister-electric-sql/with-schemas/index.js +6 -4
  212. package/persisters/persister-expo-sqlite/index.js +6 -4
  213. package/persisters/persister-expo-sqlite/with-schemas/index.js +6 -4
  214. package/persisters/persister-file/index.js +3 -3
  215. package/persisters/persister-file/with-schemas/index.js +3 -3
  216. package/persisters/persister-indexed-db/index.js +2 -2
  217. package/persisters/persister-indexed-db/with-schemas/index.js +2 -2
  218. package/persisters/persister-libsql/index.js +6 -4
  219. package/persisters/persister-libsql/with-schemas/index.js +6 -4
  220. package/persisters/persister-partykit-client/index.js +2 -2
  221. package/persisters/persister-partykit-client/with-schemas/index.js +2 -2
  222. package/persisters/persister-pglite/index.js +3 -3
  223. package/persisters/persister-pglite/with-schemas/index.js +3 -3
  224. package/persisters/persister-postgres/index.js +3 -3
  225. package/persisters/persister-postgres/with-schemas/index.js +3 -3
  226. package/persisters/persister-powersync/index.js +6 -4
  227. package/persisters/persister-powersync/with-schemas/index.js +6 -4
  228. package/persisters/persister-react-native-mmkv/index.js +4 -4
  229. package/persisters/persister-react-native-mmkv/with-schemas/index.js +4 -4
  230. package/persisters/persister-react-native-sqlite/index.js +6 -4
  231. package/persisters/persister-react-native-sqlite/with-schemas/index.js +6 -4
  232. package/persisters/persister-remote/index.js +2 -2
  233. package/persisters/persister-remote/with-schemas/index.js +2 -2
  234. package/persisters/persister-sqlite-bun/index.js +6 -4
  235. package/persisters/persister-sqlite-bun/with-schemas/index.js +6 -4
  236. package/persisters/persister-sqlite-wasm/index.js +6 -4
  237. package/persisters/persister-sqlite-wasm/with-schemas/index.js +6 -4
  238. package/persisters/persister-sqlite3/index.js +6 -4
  239. package/persisters/persister-sqlite3/with-schemas/index.js +6 -4
  240. package/persisters/persister-yjs/index.js +2 -2
  241. package/persisters/persister-yjs/with-schemas/index.js +2 -2
  242. package/persisters/with-schemas/index.js +6 -4
  243. package/queries/index.js +1 -1
  244. package/queries/with-schemas/index.js +1 -1
  245. package/readme.md +1 -1
  246. package/relationships/index.js +2 -2
  247. package/relationships/with-schemas/index.js +2 -2
  248. package/schematizers/schematizer-arktype/index.js +163 -0
  249. package/schematizers/schematizer-arktype/with-schemas/index.js +163 -0
  250. package/schematizers/schematizer-effect/index.js +137 -0
  251. package/schematizers/schematizer-effect/with-schemas/index.js +137 -0
  252. package/schematizers/schematizer-typebox/index.js +3 -2
  253. package/schematizers/schematizer-typebox/with-schemas/index.js +3 -2
  254. package/schematizers/schematizer-valibot/index.js +4 -4
  255. package/schematizers/schematizer-valibot/with-schemas/index.js +4 -4
  256. package/schematizers/schematizer-yup/index.js +100 -0
  257. package/schematizers/schematizer-yup/with-schemas/index.js +100 -0
  258. package/schematizers/schematizer-zod/index.js +2 -2
  259. package/schematizers/schematizer-zod/with-schemas/index.js +2 -2
  260. package/store/index.js +2 -2
  261. package/store/with-schemas/index.js +2 -2
  262. package/synchronizers/index.js +2 -2
  263. package/synchronizers/synchronizer-broadcast-channel/index.js +2 -2
  264. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +2 -2
  265. package/synchronizers/synchronizer-local/index.js +2 -2
  266. package/synchronizers/synchronizer-local/with-schemas/index.js +2 -2
  267. package/synchronizers/synchronizer-ws-client/index.js +3 -3
  268. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +3 -3
  269. package/synchronizers/synchronizer-ws-server/index.js +3 -3
  270. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +3 -3
  271. package/synchronizers/synchronizer-ws-server-durable-object/index.js +3 -3
  272. package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +3 -3
  273. package/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
  274. package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
  275. package/synchronizers/with-schemas/index.js +2 -2
  276. package/ui-react-dom/index.js +11 -8
  277. package/ui-react-dom/with-schemas/index.js +11 -8
  278. package/ui-react-inspector/index.js +14 -11
  279. package/ui-react-inspector/with-schemas/index.js +14 -11
  280. package/with-schemas/index.js +6 -4
@@ -22,6 +22,8 @@ const stopInterval = clearInterval;
22
22
  const isNullish = (thing) => thing == null;
23
23
  const isUndefined = (thing) => thing === void 0;
24
24
  const isNull = (thing) => thing === null;
25
+ const isTrue = (thing) => thing === true;
26
+ const isFalse = (thing) => thing === false;
25
27
  const ifNotNullish = getIfNotFunction(isNullish);
26
28
  const ifNotUndefined = getIfNotFunction(isUndefined);
27
29
  const isString = (thing) => getTypeOf(thing) == STRING;
@@ -140,7 +142,7 @@ const mapForEach = (map, cb) =>
140
142
  const mapMap = (coll, cb) =>
141
143
  arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
142
144
  const mapSet = (map, key, value) =>
143
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
145
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
144
146
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
145
147
  if (!collHas(map, key)) {
146
148
  mapSet(map, key, getDefaultValue());
@@ -300,7 +302,7 @@ const getConfigStructures = (configOrStoreTableName) => {
300
302
  const jsonString = JSON.stringify;
301
303
  const jsonParse = JSON.parse;
302
304
  const jsonStringWithUndefined = (obj) =>
303
- jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
305
+ jsonString(obj, (_key, value) => (isUndefined(value) ? UNDEFINED : value));
304
306
  const jsonParseWithUndefined = (str) =>
305
307
  jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
306
308
 
@@ -323,7 +325,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
323
325
  const deep = (node, p) =>
324
326
  p == size(path)
325
327
  ? arrayPush(leaves, node)
326
- : path[p] === null
328
+ : isNull(path[p])
327
329
  ? collForEach(node, (node2) => deep(node2, p + 1))
328
330
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
329
331
  deep(deepIdSet, 0);
@@ -1171,7 +1173,7 @@ const createCustomSqlitePersister = (
1171
1173
  EMPTY_STRING,
1172
1174
  upsert,
1173
1175
  (cellOrValue) =>
1174
- cellOrValue === true ? 1 : cellOrValue === false ? 0 : cellOrValue,
1176
+ isTrue(cellOrValue) ? 1 : isFalse(cellOrValue) ? 0 : cellOrValue,
1175
1177
  void 0,
1176
1178
  );
1177
1179
  };
@@ -68,7 +68,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
68
68
  const mapNew = (entries) => new Map(entries);
69
69
  const mapGet = (map, key) => map?.get(key);
70
70
  const mapSet = (map, key, value) =>
71
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
71
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
72
72
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
73
73
  if (!collHas(map, key)) {
74
74
  mapSet(map, key, getDefaultValue());
@@ -126,7 +126,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
126
126
  const deep = (node, p) =>
127
127
  p == size(path)
128
128
  ? arrayPush(leaves, node)
129
- : path[p] === null
129
+ : isNull(path[p])
130
130
  ? collForEach(node, (node2) => deep(node2, p + 1))
131
131
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
132
132
  deep(deepIdSet, 0);
@@ -68,7 +68,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
68
68
  const mapNew = (entries) => new Map(entries);
69
69
  const mapGet = (map, key) => map?.get(key);
70
70
  const mapSet = (map, key, value) =>
71
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
71
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
72
72
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
73
73
  if (!collHas(map, key)) {
74
74
  mapSet(map, key, getDefaultValue());
@@ -126,7 +126,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
126
126
  const deep = (node, p) =>
127
127
  p == size(path)
128
128
  ? arrayPush(leaves, node)
129
- : path[p] === null
129
+ : isNull(path[p])
130
130
  ? collForEach(node, (node2) => deep(node2, p + 1))
131
131
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
132
132
  deep(deepIdSet, 0);
@@ -91,7 +91,7 @@ const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
91
91
  const jsonString = JSON.stringify;
92
92
  const jsonParse = JSON.parse;
93
93
  const jsonStringWithUndefined = (obj) =>
94
- jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
94
+ jsonString(obj, (_key, value) => (isUndefined(value) ? UNDEFINED : value));
95
95
  const jsonParseWithUndefined = (str) =>
96
96
  jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
97
97
 
@@ -113,7 +113,7 @@ const mapForEach = (map, cb) =>
113
113
  const mapMap = (coll, cb) =>
114
114
  arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
115
115
  const mapSet = (map, key, value) =>
116
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
116
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
117
117
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
118
118
  if (!collHas(map, key)) {
119
119
  mapSet(map, key, getDefaultValue());
@@ -330,7 +330,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
330
330
  const deep = (node, p) =>
331
331
  p == size(path)
332
332
  ? arrayPush(leaves, node)
333
- : path[p] === null
333
+ : isNull(path[p])
334
334
  ? collForEach(node, (node2) => deep(node2, p + 1))
335
335
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
336
336
  deep(deepIdSet, 0);
@@ -91,7 +91,7 @@ const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
91
91
  const jsonString = JSON.stringify;
92
92
  const jsonParse = JSON.parse;
93
93
  const jsonStringWithUndefined = (obj) =>
94
- jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
94
+ jsonString(obj, (_key, value) => (isUndefined(value) ? UNDEFINED : value));
95
95
  const jsonParseWithUndefined = (str) =>
96
96
  jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
97
97
 
@@ -113,7 +113,7 @@ const mapForEach = (map, cb) =>
113
113
  const mapMap = (coll, cb) =>
114
114
  arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
115
115
  const mapSet = (map, key, value) =>
116
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
116
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
117
117
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
118
118
  if (!collHas(map, key)) {
119
119
  mapSet(map, key, getDefaultValue());
@@ -330,7 +330,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
330
330
  const deep = (node, p) =>
331
331
  p == size(path)
332
332
  ? arrayPush(leaves, node)
333
- : path[p] === null
333
+ : isNull(path[p])
334
334
  ? collForEach(node, (node2) => deep(node2, p + 1))
335
335
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
336
336
  deep(deepIdSet, 0);
@@ -90,7 +90,7 @@ const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
90
90
  const jsonString = JSON.stringify;
91
91
  const jsonParse = JSON.parse;
92
92
  const jsonStringWithUndefined = (obj) =>
93
- jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
93
+ jsonString(obj, (_key, value) => (isUndefined(value) ? UNDEFINED : value));
94
94
  const jsonParseWithUndefined = (str) =>
95
95
  jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
96
96
 
@@ -112,7 +112,7 @@ const mapForEach = (map, cb) =>
112
112
  const mapMap = (coll, cb) =>
113
113
  arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
114
114
  const mapSet = (map, key, value) =>
115
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
115
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
116
116
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
117
117
  if (!collHas(map, key)) {
118
118
  mapSet(map, key, getDefaultValue());
@@ -329,7 +329,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
329
329
  const deep = (node, p) =>
330
330
  p == size(path)
331
331
  ? arrayPush(leaves, node)
332
- : path[p] === null
332
+ : isNull(path[p])
333
333
  ? collForEach(node, (node2) => deep(node2, p + 1))
334
334
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
335
335
  deep(deepIdSet, 0);
@@ -90,7 +90,7 @@ const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
90
90
  const jsonString = JSON.stringify;
91
91
  const jsonParse = JSON.parse;
92
92
  const jsonStringWithUndefined = (obj) =>
93
- jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
93
+ jsonString(obj, (_key, value) => (isUndefined(value) ? UNDEFINED : value));
94
94
  const jsonParseWithUndefined = (str) =>
95
95
  jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
96
96
 
@@ -112,7 +112,7 @@ const mapForEach = (map, cb) =>
112
112
  const mapMap = (coll, cb) =>
113
113
  arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
114
114
  const mapSet = (map, key, value) =>
115
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
115
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
116
116
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
117
117
  if (!collHas(map, key)) {
118
118
  mapSet(map, key, getDefaultValue());
@@ -329,7 +329,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
329
329
  const deep = (node, p) =>
330
330
  p == size(path)
331
331
  ? arrayPush(leaves, node)
332
- : path[p] === null
332
+ : isNull(path[p])
333
333
  ? collForEach(node, (node2) => deep(node2, p + 1))
334
334
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
335
335
  deep(deepIdSet, 0);
@@ -22,6 +22,8 @@ const stopInterval = clearInterval;
22
22
  const isNullish = (thing) => thing == null;
23
23
  const isUndefined = (thing) => thing === void 0;
24
24
  const isNull = (thing) => thing === null;
25
+ const isTrue = (thing) => thing === true;
26
+ const isFalse = (thing) => thing === false;
25
27
  const ifNotNullish = getIfNotFunction(isNullish);
26
28
  const ifNotUndefined = getIfNotFunction(isUndefined);
27
29
  const isString = (thing) => getTypeOf(thing) == STRING;
@@ -149,7 +151,7 @@ const mapForEach = (map, cb) =>
149
151
  const mapMap = (coll, cb) =>
150
152
  arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
151
153
  const mapSet = (map, key, value) =>
152
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
154
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
153
155
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
154
156
  if (!collHas(map, key)) {
155
157
  mapSet(map, key, getDefaultValue());
@@ -301,7 +303,7 @@ const getConfigStructures = (configOrStoreTableName) => {
301
303
  const jsonString = JSON.stringify;
302
304
  const jsonParse = JSON.parse;
303
305
  const jsonStringWithUndefined = (obj) =>
304
- jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
306
+ jsonString(obj, (_key, value) => (isUndefined(value) ? UNDEFINED : value));
305
307
  const jsonParseWithUndefined = (str) =>
306
308
  jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
307
309
 
@@ -324,7 +326,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
324
326
  const deep = (node, p) =>
325
327
  p == size(path)
326
328
  ? arrayPush(leaves, node)
327
- : path[p] === null
329
+ : isNull(path[p])
328
330
  ? collForEach(node, (node2) => deep(node2, p + 1))
329
331
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
330
332
  deep(deepIdSet, 0);
@@ -1172,7 +1174,7 @@ const createCustomSqlitePersister = (
1172
1174
  EMPTY_STRING,
1173
1175
  upsert,
1174
1176
  (cellOrValue) =>
1175
- cellOrValue === true ? 1 : cellOrValue === false ? 0 : cellOrValue,
1177
+ isTrue(cellOrValue) ? 1 : isFalse(cellOrValue) ? 0 : cellOrValue,
1176
1178
  void 0,
1177
1179
  );
1178
1180
  };
@@ -22,6 +22,8 @@ const stopInterval = clearInterval;
22
22
  const isNullish = (thing) => thing == null;
23
23
  const isUndefined = (thing) => thing === void 0;
24
24
  const isNull = (thing) => thing === null;
25
+ const isTrue = (thing) => thing === true;
26
+ const isFalse = (thing) => thing === false;
25
27
  const ifNotNullish = getIfNotFunction(isNullish);
26
28
  const ifNotUndefined = getIfNotFunction(isUndefined);
27
29
  const isString = (thing) => getTypeOf(thing) == STRING;
@@ -149,7 +151,7 @@ const mapForEach = (map, cb) =>
149
151
  const mapMap = (coll, cb) =>
150
152
  arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
151
153
  const mapSet = (map, key, value) =>
152
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
154
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
153
155
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
154
156
  if (!collHas(map, key)) {
155
157
  mapSet(map, key, getDefaultValue());
@@ -301,7 +303,7 @@ const getConfigStructures = (configOrStoreTableName) => {
301
303
  const jsonString = JSON.stringify;
302
304
  const jsonParse = JSON.parse;
303
305
  const jsonStringWithUndefined = (obj) =>
304
- jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
306
+ jsonString(obj, (_key, value) => (isUndefined(value) ? UNDEFINED : value));
305
307
  const jsonParseWithUndefined = (str) =>
306
308
  jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
307
309
 
@@ -324,7 +326,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
324
326
  const deep = (node, p) =>
325
327
  p == size(path)
326
328
  ? arrayPush(leaves, node)
327
- : path[p] === null
329
+ : isNull(path[p])
328
330
  ? collForEach(node, (node2) => deep(node2, p + 1))
329
331
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
330
332
  deep(deepIdSet, 0);
@@ -1172,7 +1174,7 @@ const createCustomSqlitePersister = (
1172
1174
  EMPTY_STRING,
1173
1175
  upsert,
1174
1176
  (cellOrValue) =>
1175
- cellOrValue === true ? 1 : cellOrValue === false ? 0 : cellOrValue,
1177
+ isTrue(cellOrValue) ? 1 : isFalse(cellOrValue) ? 0 : cellOrValue,
1176
1178
  void 0,
1177
1179
  );
1178
1180
  };
@@ -54,7 +54,7 @@ const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
54
54
  const mapNew = (entries) => new Map(entries);
55
55
  const mapGet = (map, key) => map?.get(key);
56
56
  const mapSet = (map, key, value) =>
57
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
57
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
58
58
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
59
59
  if (!collHas(map, key)) {
60
60
  mapSet(map, key, getDefaultValue());
@@ -112,7 +112,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
112
112
  const deep = (node, p) =>
113
113
  p == size(path)
114
114
  ? arrayPush(leaves, node)
115
- : path[p] === null
115
+ : isNull(path[p])
116
116
  ? collForEach(node, (node2) => deep(node2, p + 1))
117
117
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
118
118
  deep(deepIdSet, 0);
@@ -426,12 +426,12 @@ const createReactNativeMmkvPersister = (
426
426
  ) => {
427
427
  const getPersisted = async () => {
428
428
  const data = storage.getString(storageName);
429
- const value = data === void 0 ? void 0 : JSON.parse(data);
429
+ const value = isUndefined(data) ? void 0 : JSON.parse(data);
430
430
  return Promise.resolve(value);
431
431
  };
432
432
  const setPersisted = async (getContent) => {
433
433
  const content = getContent();
434
- if (content !== void 0) {
434
+ if (!isUndefined(content)) {
435
435
  storage.set(storageName, JSON.stringify(content));
436
436
  }
437
437
  };
@@ -54,7 +54,7 @@ const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
54
54
  const mapNew = (entries) => new Map(entries);
55
55
  const mapGet = (map, key) => map?.get(key);
56
56
  const mapSet = (map, key, value) =>
57
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
57
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
58
58
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
59
59
  if (!collHas(map, key)) {
60
60
  mapSet(map, key, getDefaultValue());
@@ -112,7 +112,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
112
112
  const deep = (node, p) =>
113
113
  p == size(path)
114
114
  ? arrayPush(leaves, node)
115
- : path[p] === null
115
+ : isNull(path[p])
116
116
  ? collForEach(node, (node2) => deep(node2, p + 1))
117
117
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
118
118
  deep(deepIdSet, 0);
@@ -426,12 +426,12 @@ const createReactNativeMmkvPersister = (
426
426
  ) => {
427
427
  const getPersisted = async () => {
428
428
  const data = storage.getString(storageName);
429
- const value = data === void 0 ? void 0 : JSON.parse(data);
429
+ const value = isUndefined(data) ? void 0 : JSON.parse(data);
430
430
  return Promise.resolve(value);
431
431
  };
432
432
  const setPersisted = async (getContent) => {
433
433
  const content = getContent();
434
- if (content !== void 0) {
434
+ if (!isUndefined(content)) {
435
435
  storage.set(storageName, JSON.stringify(content));
436
436
  }
437
437
  };
@@ -22,6 +22,8 @@ const stopInterval = clearInterval;
22
22
  const isNullish = (thing) => thing == null;
23
23
  const isUndefined = (thing) => thing === void 0;
24
24
  const isNull = (thing) => thing === null;
25
+ const isTrue = (thing) => thing === true;
26
+ const isFalse = (thing) => thing === false;
25
27
  const ifNotNullish = getIfNotFunction(isNullish);
26
28
  const ifNotUndefined = getIfNotFunction(isUndefined);
27
29
  const isString = (thing) => getTypeOf(thing) == STRING;
@@ -140,7 +142,7 @@ const mapForEach = (map, cb) =>
140
142
  const mapMap = (coll, cb) =>
141
143
  arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
142
144
  const mapSet = (map, key, value) =>
143
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
145
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
144
146
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
145
147
  if (!collHas(map, key)) {
146
148
  mapSet(map, key, getDefaultValue());
@@ -300,7 +302,7 @@ const getConfigStructures = (configOrStoreTableName) => {
300
302
  const jsonString = JSON.stringify;
301
303
  const jsonParse = JSON.parse;
302
304
  const jsonStringWithUndefined = (obj) =>
303
- jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
305
+ jsonString(obj, (_key, value) => (isUndefined(value) ? UNDEFINED : value));
304
306
  const jsonParseWithUndefined = (str) =>
305
307
  jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
306
308
 
@@ -323,7 +325,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
323
325
  const deep = (node, p) =>
324
326
  p == size(path)
325
327
  ? arrayPush(leaves, node)
326
- : path[p] === null
328
+ : isNull(path[p])
327
329
  ? collForEach(node, (node2) => deep(node2, p + 1))
328
330
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
329
331
  deep(deepIdSet, 0);
@@ -1163,7 +1165,7 @@ const createCustomSqlitePersister = (
1163
1165
  EMPTY_STRING,
1164
1166
  upsert,
1165
1167
  (cellOrValue) =>
1166
- cellOrValue === true ? 1 : cellOrValue === false ? 0 : cellOrValue,
1168
+ isTrue(cellOrValue) ? 1 : isFalse(cellOrValue) ? 0 : cellOrValue,
1167
1169
  void 0,
1168
1170
  );
1169
1171
  };
@@ -22,6 +22,8 @@ const stopInterval = clearInterval;
22
22
  const isNullish = (thing) => thing == null;
23
23
  const isUndefined = (thing) => thing === void 0;
24
24
  const isNull = (thing) => thing === null;
25
+ const isTrue = (thing) => thing === true;
26
+ const isFalse = (thing) => thing === false;
25
27
  const ifNotNullish = getIfNotFunction(isNullish);
26
28
  const ifNotUndefined = getIfNotFunction(isUndefined);
27
29
  const isString = (thing) => getTypeOf(thing) == STRING;
@@ -140,7 +142,7 @@ const mapForEach = (map, cb) =>
140
142
  const mapMap = (coll, cb) =>
141
143
  arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
142
144
  const mapSet = (map, key, value) =>
143
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
145
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
144
146
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
145
147
  if (!collHas(map, key)) {
146
148
  mapSet(map, key, getDefaultValue());
@@ -300,7 +302,7 @@ const getConfigStructures = (configOrStoreTableName) => {
300
302
  const jsonString = JSON.stringify;
301
303
  const jsonParse = JSON.parse;
302
304
  const jsonStringWithUndefined = (obj) =>
303
- jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
305
+ jsonString(obj, (_key, value) => (isUndefined(value) ? UNDEFINED : value));
304
306
  const jsonParseWithUndefined = (str) =>
305
307
  jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
306
308
 
@@ -323,7 +325,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
323
325
  const deep = (node, p) =>
324
326
  p == size(path)
325
327
  ? arrayPush(leaves, node)
326
- : path[p] === null
328
+ : isNull(path[p])
327
329
  ? collForEach(node, (node2) => deep(node2, p + 1))
328
330
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
329
331
  deep(deepIdSet, 0);
@@ -1163,7 +1165,7 @@ const createCustomSqlitePersister = (
1163
1165
  EMPTY_STRING,
1164
1166
  upsert,
1165
1167
  (cellOrValue) =>
1166
- cellOrValue === true ? 1 : cellOrValue === false ? 0 : cellOrValue,
1168
+ isTrue(cellOrValue) ? 1 : isFalse(cellOrValue) ? 0 : cellOrValue,
1167
1169
  void 0,
1168
1170
  );
1169
1171
  };
@@ -67,7 +67,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
67
67
  const mapNew = (entries) => new Map(entries);
68
68
  const mapGet = (map, key) => map?.get(key);
69
69
  const mapSet = (map, key, value) =>
70
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
70
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
71
71
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
72
72
  if (!collHas(map, key)) {
73
73
  mapSet(map, key, getDefaultValue());
@@ -125,7 +125,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
125
125
  const deep = (node, p) =>
126
126
  p == size(path)
127
127
  ? arrayPush(leaves, node)
128
- : path[p] === null
128
+ : isNull(path[p])
129
129
  ? collForEach(node, (node2) => deep(node2, p + 1))
130
130
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
131
131
  deep(deepIdSet, 0);
@@ -67,7 +67,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
67
67
  const mapNew = (entries) => new Map(entries);
68
68
  const mapGet = (map, key) => map?.get(key);
69
69
  const mapSet = (map, key, value) =>
70
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
70
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
71
71
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
72
72
  if (!collHas(map, key)) {
73
73
  mapSet(map, key, getDefaultValue());
@@ -125,7 +125,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
125
125
  const deep = (node, p) =>
126
126
  p == size(path)
127
127
  ? arrayPush(leaves, node)
128
- : path[p] === null
128
+ : isNull(path[p])
129
129
  ? collForEach(node, (node2) => deep(node2, p + 1))
130
130
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
131
131
  deep(deepIdSet, 0);
@@ -22,6 +22,8 @@ const stopInterval = clearInterval;
22
22
  const isNullish = (thing) => thing == null;
23
23
  const isUndefined = (thing) => thing === void 0;
24
24
  const isNull = (thing) => thing === null;
25
+ const isTrue = (thing) => thing === true;
26
+ const isFalse = (thing) => thing === false;
25
27
  const ifNotNullish = getIfNotFunction(isNullish);
26
28
  const ifNotUndefined = getIfNotFunction(isUndefined);
27
29
  const isString = (thing) => getTypeOf(thing) == STRING;
@@ -140,7 +142,7 @@ const mapForEach = (map, cb) =>
140
142
  const mapMap = (coll, cb) =>
141
143
  arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
142
144
  const mapSet = (map, key, value) =>
143
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
145
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
144
146
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
145
147
  if (!collHas(map, key)) {
146
148
  mapSet(map, key, getDefaultValue());
@@ -300,7 +302,7 @@ const getConfigStructures = (configOrStoreTableName) => {
300
302
  const jsonString = JSON.stringify;
301
303
  const jsonParse = JSON.parse;
302
304
  const jsonStringWithUndefined = (obj) =>
303
- jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
305
+ jsonString(obj, (_key, value) => (isUndefined(value) ? UNDEFINED : value));
304
306
  const jsonParseWithUndefined = (str) =>
305
307
  jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
306
308
 
@@ -323,7 +325,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
323
325
  const deep = (node, p) =>
324
326
  p == size(path)
325
327
  ? arrayPush(leaves, node)
326
- : path[p] === null
328
+ : isNull(path[p])
327
329
  ? collForEach(node, (node2) => deep(node2, p + 1))
328
330
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
329
331
  deep(deepIdSet, 0);
@@ -1171,7 +1173,7 @@ const createCustomSqlitePersister = (
1171
1173
  EMPTY_STRING,
1172
1174
  upsert,
1173
1175
  (cellOrValue) =>
1174
- cellOrValue === true ? 1 : cellOrValue === false ? 0 : cellOrValue,
1176
+ isTrue(cellOrValue) ? 1 : isFalse(cellOrValue) ? 0 : cellOrValue,
1175
1177
  void 0,
1176
1178
  );
1177
1179
  };
@@ -22,6 +22,8 @@ const stopInterval = clearInterval;
22
22
  const isNullish = (thing) => thing == null;
23
23
  const isUndefined = (thing) => thing === void 0;
24
24
  const isNull = (thing) => thing === null;
25
+ const isTrue = (thing) => thing === true;
26
+ const isFalse = (thing) => thing === false;
25
27
  const ifNotNullish = getIfNotFunction(isNullish);
26
28
  const ifNotUndefined = getIfNotFunction(isUndefined);
27
29
  const isString = (thing) => getTypeOf(thing) == STRING;
@@ -140,7 +142,7 @@ const mapForEach = (map, cb) =>
140
142
  const mapMap = (coll, cb) =>
141
143
  arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
142
144
  const mapSet = (map, key, value) =>
143
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
145
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
144
146
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
145
147
  if (!collHas(map, key)) {
146
148
  mapSet(map, key, getDefaultValue());
@@ -300,7 +302,7 @@ const getConfigStructures = (configOrStoreTableName) => {
300
302
  const jsonString = JSON.stringify;
301
303
  const jsonParse = JSON.parse;
302
304
  const jsonStringWithUndefined = (obj) =>
303
- jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
305
+ jsonString(obj, (_key, value) => (isUndefined(value) ? UNDEFINED : value));
304
306
  const jsonParseWithUndefined = (str) =>
305
307
  jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
306
308
 
@@ -323,7 +325,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
323
325
  const deep = (node, p) =>
324
326
  p == size(path)
325
327
  ? arrayPush(leaves, node)
326
- : path[p] === null
328
+ : isNull(path[p])
327
329
  ? collForEach(node, (node2) => deep(node2, p + 1))
328
330
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
329
331
  deep(deepIdSet, 0);
@@ -1171,7 +1173,7 @@ const createCustomSqlitePersister = (
1171
1173
  EMPTY_STRING,
1172
1174
  upsert,
1173
1175
  (cellOrValue) =>
1174
- cellOrValue === true ? 1 : cellOrValue === false ? 0 : cellOrValue,
1176
+ isTrue(cellOrValue) ? 1 : isFalse(cellOrValue) ? 0 : cellOrValue,
1175
1177
  void 0,
1176
1178
  );
1177
1179
  };
@@ -22,6 +22,8 @@ const stopInterval = clearInterval;
22
22
  const isNullish = (thing) => thing == null;
23
23
  const isUndefined = (thing) => thing === void 0;
24
24
  const isNull = (thing) => thing === null;
25
+ const isTrue = (thing) => thing === true;
26
+ const isFalse = (thing) => thing === false;
25
27
  const ifNotNullish = getIfNotFunction(isNullish);
26
28
  const ifNotUndefined = getIfNotFunction(isUndefined);
27
29
  const isString = (thing) => getTypeOf(thing) == STRING;
@@ -140,7 +142,7 @@ const mapForEach = (map, cb) =>
140
142
  const mapMap = (coll, cb) =>
141
143
  arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
142
144
  const mapSet = (map, key, value) =>
143
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
145
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
144
146
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
145
147
  if (!collHas(map, key)) {
146
148
  mapSet(map, key, getDefaultValue());
@@ -300,7 +302,7 @@ const getConfigStructures = (configOrStoreTableName) => {
300
302
  const jsonString = JSON.stringify;
301
303
  const jsonParse = JSON.parse;
302
304
  const jsonStringWithUndefined = (obj) =>
303
- jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
305
+ jsonString(obj, (_key, value) => (isUndefined(value) ? UNDEFINED : value));
304
306
  const jsonParseWithUndefined = (str) =>
305
307
  jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
306
308
 
@@ -323,7 +325,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
323
325
  const deep = (node, p) =>
324
326
  p == size(path)
325
327
  ? arrayPush(leaves, node)
326
- : path[p] === null
328
+ : isNull(path[p])
327
329
  ? collForEach(node, (node2) => deep(node2, p + 1))
328
330
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
329
331
  deep(deepIdSet, 0);
@@ -1171,7 +1173,7 @@ const createCustomSqlitePersister = (
1171
1173
  EMPTY_STRING,
1172
1174
  upsert,
1173
1175
  (cellOrValue) =>
1174
- cellOrValue === true ? 1 : cellOrValue === false ? 0 : cellOrValue,
1176
+ isTrue(cellOrValue) ? 1 : isFalse(cellOrValue) ? 0 : cellOrValue,
1175
1177
  void 0,
1176
1178
  );
1177
1179
  };
@@ -22,6 +22,8 @@ const stopInterval = clearInterval;
22
22
  const isNullish = (thing) => thing == null;
23
23
  const isUndefined = (thing) => thing === void 0;
24
24
  const isNull = (thing) => thing === null;
25
+ const isTrue = (thing) => thing === true;
26
+ const isFalse = (thing) => thing === false;
25
27
  const ifNotNullish = getIfNotFunction(isNullish);
26
28
  const ifNotUndefined = getIfNotFunction(isUndefined);
27
29
  const isString = (thing) => getTypeOf(thing) == STRING;
@@ -140,7 +142,7 @@ const mapForEach = (map, cb) =>
140
142
  const mapMap = (coll, cb) =>
141
143
  arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
142
144
  const mapSet = (map, key, value) =>
143
- value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
145
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
144
146
  const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
145
147
  if (!collHas(map, key)) {
146
148
  mapSet(map, key, getDefaultValue());
@@ -300,7 +302,7 @@ const getConfigStructures = (configOrStoreTableName) => {
300
302
  const jsonString = JSON.stringify;
301
303
  const jsonParse = JSON.parse;
302
304
  const jsonStringWithUndefined = (obj) =>
303
- jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
305
+ jsonString(obj, (_key, value) => (isUndefined(value) ? UNDEFINED : value));
304
306
  const jsonParseWithUndefined = (str) =>
305
307
  jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
306
308
 
@@ -323,7 +325,7 @@ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
323
325
  const deep = (node, p) =>
324
326
  p == size(path)
325
327
  ? arrayPush(leaves, node)
326
- : path[p] === null
328
+ : isNull(path[p])
327
329
  ? collForEach(node, (node2) => deep(node2, p + 1))
328
330
  : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
329
331
  deep(deepIdSet, 0);
@@ -1171,7 +1173,7 @@ const createCustomSqlitePersister = (
1171
1173
  EMPTY_STRING,
1172
1174
  upsert,
1173
1175
  (cellOrValue) =>
1174
- cellOrValue === true ? 1 : cellOrValue === false ? 0 : cellOrValue,
1176
+ isTrue(cellOrValue) ? 1 : isFalse(cellOrValue) ? 0 : cellOrValue,
1175
1177
  void 0,
1176
1178
  );
1177
1179
  };