@based/db 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/dist/lib/darwin_aarch64/include/jemalloc.h +468 -0
  2. package/dist/lib/darwin_aarch64/include/selva/selva_string.h +2 -0
  3. package/dist/lib/darwin_aarch64/libdeflate.dylib +0 -0
  4. package/dist/lib/darwin_aarch64/libjemalloc_selva.2.dylib +0 -0
  5. package/dist/lib/darwin_aarch64/libnode-v20.11.1.node +0 -0
  6. package/dist/lib/darwin_aarch64/libnode-v22.13.1.node +0 -0
  7. package/dist/lib/darwin_aarch64/libselva.dylib +0 -0
  8. package/dist/src/client/bitWise.d.ts +7 -0
  9. package/dist/src/client/bitWise.js +62 -0
  10. package/dist/src/client/bitWise.js.map +1 -0
  11. package/dist/src/client/crc32.js.map +1 -0
  12. package/dist/src/client/index.js.map +1 -0
  13. package/dist/src/client/modify/ModifyRes.js.map +1 -0
  14. package/dist/src/client/modify/alias.js.map +1 -0
  15. package/dist/src/client/modify/binary.js.map +1 -0
  16. package/dist/src/client/modify/create.js.map +1 -0
  17. package/dist/src/client/modify/fixed.js.map +1 -0
  18. package/dist/src/client/modify/hll.js.map +1 -0
  19. package/dist/src/client/modify/index.js.map +1 -0
  20. package/dist/src/client/modify/modify.js +5 -1
  21. package/dist/src/client/modify/modify.js.map +1 -0
  22. package/dist/src/client/modify/references/edge.js.map +1 -0
  23. package/dist/src/client/modify/references/reference.js.map +1 -0
  24. package/dist/src/client/modify/references/references.js.map +1 -0
  25. package/dist/src/client/modify/remove.js.map +1 -0
  26. package/dist/src/client/modify/setCursor.js.map +1 -0
  27. package/dist/src/client/modify/string.js.map +1 -0
  28. package/dist/src/client/modify/text.d.ts +4 -2
  29. package/dist/src/client/modify/text.js +1 -2
  30. package/dist/src/client/modify/text.js.map +1 -0
  31. package/dist/src/client/modify/types.js.map +1 -0
  32. package/dist/src/client/modify/update.js.map +1 -0
  33. package/dist/src/client/modify/upsert.js.map +1 -0
  34. package/dist/src/client/modify/vector.d.ts +4 -0
  35. package/dist/src/client/modify/vector.js +44 -0
  36. package/dist/src/client/modify/vector.js.map +1 -0
  37. package/dist/src/client/operations.js.map +1 -0
  38. package/dist/src/client/query/BasedDbQuery.d.ts +3 -1
  39. package/dist/src/client/query/BasedDbQuery.js +9 -7
  40. package/dist/src/client/query/BasedDbQuery.js.map +1 -0
  41. package/dist/src/client/query/BasedIterable.d.ts +2 -2
  42. package/dist/src/client/query/BasedIterable.js +10 -5
  43. package/dist/src/client/query/BasedIterable.js.map +1 -0
  44. package/dist/src/client/query/debug.js +4 -3
  45. package/dist/src/client/query/debug.js.map +1 -0
  46. package/dist/src/client/query/display.js +19 -4
  47. package/dist/src/client/query/display.js.map +1 -0
  48. package/dist/src/client/query/filter/FilterBranch.js.map +1 -0
  49. package/dist/src/client/query/filter/createFixedFilterBuffer.js.map +1 -0
  50. package/dist/src/client/query/filter/createReferenceFilter.js.map +1 -0
  51. package/dist/src/client/query/filter/createVariableFilterBuffer.d.ts +2 -1
  52. package/dist/src/client/query/filter/createVariableFilterBuffer.js +16 -7
  53. package/dist/src/client/query/filter/createVariableFilterBuffer.js.map +1 -0
  54. package/dist/src/client/query/filter/filter.js +17 -4
  55. package/dist/src/client/query/filter/filter.js.map +1 -0
  56. package/dist/src/client/query/filter/operators.js.map +1 -0
  57. package/dist/src/client/query/filter/parseFilterValue.js.map +1 -0
  58. package/dist/src/client/query/filter/primitiveFilter.d.ts +2 -1
  59. package/dist/src/client/query/filter/primitiveFilter.js +2 -2
  60. package/dist/src/client/query/filter/primitiveFilter.js.map +1 -0
  61. package/dist/src/client/query/filter/toBuffer.js.map +1 -0
  62. package/dist/src/client/query/filter/types.js.map +1 -0
  63. package/dist/src/client/query/include/props.js.map +1 -0
  64. package/dist/src/client/query/include/toBuffer.js.map +1 -0
  65. package/dist/src/client/query/include/utils.js +1 -0
  66. package/dist/src/client/query/include/utils.js.map +1 -0
  67. package/dist/src/client/query/include/walk.js +1 -0
  68. package/dist/src/client/query/include/walk.js.map +1 -0
  69. package/dist/src/client/query/query.js.map +1 -0
  70. package/dist/src/client/query/queryDef.js +2 -0
  71. package/dist/src/client/query/queryDef.js.map +1 -0
  72. package/dist/src/client/query/read/read.d.ts +2 -2
  73. package/dist/src/client/query/read/read.js +64 -38
  74. package/dist/src/client/query/read/read.js.map +1 -0
  75. package/dist/src/client/query/registerQuery.js.map +1 -0
  76. package/dist/src/client/query/search/index.js.map +1 -0
  77. package/dist/src/client/query/sort.js.map +1 -0
  78. package/dist/src/client/query/subscription/index.js +3 -3
  79. package/dist/src/client/query/subscription/index.js.map +1 -0
  80. package/dist/src/client/query/subscription/markers.js.map +1 -0
  81. package/dist/src/client/query/subscription/run.d.ts +1 -1
  82. package/dist/src/client/query/subscription/run.js +12 -2
  83. package/dist/src/client/query/subscription/run.js.map +1 -0
  84. package/dist/src/client/query/subscription/types.js.map +1 -0
  85. package/dist/src/client/query/thresholds.js.map +1 -0
  86. package/dist/src/client/query/toBuffer.js +3 -0
  87. package/dist/src/client/query/toBuffer.js.map +1 -0
  88. package/dist/src/client/query/types.d.ts +2 -0
  89. package/dist/src/client/query/types.js.map +1 -0
  90. package/dist/src/client/query/validation.js.map +1 -0
  91. package/dist/src/client/string.d.ts +3 -2
  92. package/dist/src/client/string.js +13 -7
  93. package/dist/src/client/string.js.map +1 -0
  94. package/dist/src/client/tree.js.map +1 -0
  95. package/dist/src/index.js.map +1 -0
  96. package/dist/src/native.d.ts +1 -1
  97. package/dist/src/native.js +2 -1
  98. package/dist/src/native.js.map +1 -0
  99. package/dist/src/server/csmt/draw-dot.js.map +1 -0
  100. package/dist/src/server/csmt/index.js.map +1 -0
  101. package/dist/src/server/csmt/match.js.map +1 -0
  102. package/dist/src/server/csmt/memebership-proof.js.map +1 -0
  103. package/dist/src/server/csmt/tree-utils.js.map +1 -0
  104. package/dist/src/server/csmt/tree.js.map +1 -0
  105. package/dist/src/server/csmt/types.js.map +1 -0
  106. package/dist/src/server/index.d.ts +1 -1
  107. package/dist/src/server/index.js +2 -1
  108. package/dist/src/server/index.js.map +1 -0
  109. package/dist/src/server/migrate/index.js.map +1 -0
  110. package/dist/src/server/migrate/worker.js.map +1 -0
  111. package/dist/src/server/save.js.map +1 -0
  112. package/dist/src/server/schema/schema.js.map +1 -0
  113. package/dist/src/server/schema/selvaBuffer.js +4 -3
  114. package/dist/src/server/schema/selvaBuffer.js.map +1 -0
  115. package/dist/src/server/schema/typeDef.js +4 -1
  116. package/dist/src/server/schema/typeDef.js.map +1 -0
  117. package/dist/src/server/schema/types.d.ts +3 -0
  118. package/dist/src/server/schema/types.js +5 -0
  119. package/dist/src/server/schema/types.js.map +1 -0
  120. package/dist/src/server/schema/utils.js.map +1 -0
  121. package/dist/src/server/start.js.map +1 -0
  122. package/dist/src/server/tree.js.map +1 -0
  123. package/dist/src/server/worker.js +1 -1
  124. package/dist/src/server/worker.js.map +1 -0
  125. package/dist/test/alias.d.ts +1 -0
  126. package/dist/test/alias.js +232 -0
  127. package/dist/test/alias.js.map +1 -0
  128. package/dist/test/binary.d.ts +1 -0
  129. package/dist/test/binary.js +45 -0
  130. package/dist/test/binary.js.map +1 -0
  131. package/dist/test/boolean.d.ts +1 -0
  132. package/dist/test/boolean.js +43 -0
  133. package/dist/test/boolean.js.map +1 -0
  134. package/dist/test/clientServer.d.ts +1 -0
  135. package/dist/test/clientServer.js +64 -0
  136. package/dist/test/clientServer.js.map +1 -0
  137. package/dist/test/concurrency.d.ts +1 -0
  138. package/dist/test/concurrency.js +61 -0
  139. package/dist/test/concurrency.js.map +1 -0
  140. package/dist/test/csmt.d.ts +1 -0
  141. package/dist/test/csmt.js +365 -0
  142. package/dist/test/csmt.js.map +1 -0
  143. package/dist/test/edges.d.ts +1 -0
  144. package/dist/test/edges.js +295 -0
  145. package/dist/test/edges.js.map +1 -0
  146. package/dist/test/edgesReference.d.ts +1 -0
  147. package/dist/test/edgesReference.js +179 -0
  148. package/dist/test/edgesReference.js.map +1 -0
  149. package/dist/test/edgesReferences.d.ts +1 -0
  150. package/dist/test/edgesReferences.js +472 -0
  151. package/dist/test/edgesReferences.js.map +1 -0
  152. package/dist/test/enum.d.ts +1 -0
  153. package/dist/test/enum.js +44 -0
  154. package/dist/test/enum.js.map +1 -0
  155. package/dist/test/filter.d.ts +1 -0
  156. package/dist/test/filter.js +512 -0
  157. package/dist/test/filter.js.map +1 -0
  158. package/dist/test/filterString.d.ts +1 -0
  159. package/dist/test/filterString.js +482 -0
  160. package/dist/test/filterString.js.map +1 -0
  161. package/dist/test/flush.d.ts +1 -0
  162. package/dist/test/flush.js +44 -0
  163. package/dist/test/flush.js.map +1 -0
  164. package/dist/test/hll.d.ts +1 -0
  165. package/dist/test/hll.js +32 -0
  166. package/dist/test/hll.js.map +1 -0
  167. package/dist/test/migration.d.ts +1 -0
  168. package/dist/test/migration.js +112 -0
  169. package/dist/test/migration.js.map +1 -0
  170. package/dist/test/number.d.ts +1 -0
  171. package/dist/test/number.js +172 -0
  172. package/dist/test/number.js.map +1 -0
  173. package/dist/test/range.d.ts +1 -0
  174. package/dist/test/range.js +70 -0
  175. package/dist/test/range.js.map +1 -0
  176. package/dist/test/references.d.ts +1 -0
  177. package/dist/test/references.js +350 -0
  178. package/dist/test/references.js.map +1 -0
  179. package/dist/test/referencesIndex.d.ts +1 -0
  180. package/dist/test/referencesIndex.js +151 -0
  181. package/dist/test/referencesIndex.js.map +1 -0
  182. package/dist/test/referencesModify.d.ts +1 -0
  183. package/dist/test/referencesModify.js +79 -0
  184. package/dist/test/referencesModify.js.map +1 -0
  185. package/dist/test/remove.d.ts +1 -0
  186. package/dist/test/remove.js +61 -0
  187. package/dist/test/remove.js.map +1 -0
  188. package/dist/test/rootProps.d.ts +1 -0
  189. package/dist/test/rootProps.js +53 -0
  190. package/dist/test/rootProps.js.map +1 -0
  191. package/dist/test/save.d.ts +1 -0
  192. package/dist/test/save.js +43 -0
  193. package/dist/test/save.js.map +1 -0
  194. package/dist/test/saveRange.d.ts +1 -0
  195. package/dist/test/saveRange.js +230 -0
  196. package/dist/test/saveRange.js.map +1 -0
  197. package/dist/test/search.d.ts +1 -0
  198. package/dist/test/search.js +322 -0
  199. package/dist/test/search.js.map +1 -0
  200. package/dist/test/shared/assert.d.ts +5 -0
  201. package/dist/test/shared/assert.js +75 -0
  202. package/dist/test/shared/assert.js.map +1 -0
  203. package/dist/test/shared/examples.d.ts +6 -0
  204. package/dist/test/shared/examples.js +1323 -0
  205. package/dist/test/shared/examples.js.map +1 -0
  206. package/dist/test/shared/playground.d.ts +1 -0
  207. package/dist/test/shared/playground.js +250 -0
  208. package/dist/test/shared/playground.js.map +1 -0
  209. package/dist/test/shared/test.d.ts +11 -0
  210. package/dist/test/shared/test.js +112 -0
  211. package/dist/test/shared/test.js.map +1 -0
  212. package/dist/test/shared/worker.d.ts +1 -0
  213. package/dist/test/shared/worker.js +127 -0
  214. package/dist/test/shared/worker.js.map +1 -0
  215. package/dist/test/simpleQuery.d.ts +1 -0
  216. package/dist/test/simpleQuery.js +43 -0
  217. package/dist/test/simpleQuery.js.map +1 -0
  218. package/dist/test/singleRef.d.ts +1 -0
  219. package/dist/test/singleRef.js +572 -0
  220. package/dist/test/singleRef.js.map +1 -0
  221. package/dist/test/singleRefQuery.d.ts +1 -0
  222. package/dist/test/singleRefQuery.js +136 -0
  223. package/dist/test/singleRefQuery.js.map +1 -0
  224. package/dist/test/sort.d.ts +1 -0
  225. package/dist/test/sort.js +401 -0
  226. package/dist/test/sort.js.map +1 -0
  227. package/dist/test/sortIds.d.ts +1 -0
  228. package/dist/test/sortIds.js +104 -0
  229. package/dist/test/sortIds.js.map +1 -0
  230. package/dist/test/sortNumber.d.ts +1 -0
  231. package/dist/test/sortNumber.js +76 -0
  232. package/dist/test/sortNumber.js.map +1 -0
  233. package/dist/test/sortString.d.ts +1 -0
  234. package/dist/test/sortString.js +118 -0
  235. package/dist/test/sortString.js.map +1 -0
  236. package/dist/test/string.d.ts +1 -0
  237. package/dist/test/string.js +310 -0
  238. package/dist/test/string.js.map +1 -0
  239. package/dist/test/subscription.d.ts +1 -0
  240. package/dist/test/subscription.js +336 -0
  241. package/dist/test/subscription.js.map +1 -0
  242. package/dist/test/text.d.ts +1 -0
  243. package/dist/test/text.js +87 -0
  244. package/dist/test/text.js.map +1 -0
  245. package/dist/test/timestamp.d.ts +1 -0
  246. package/dist/test/timestamp.js +50 -0
  247. package/dist/test/timestamp.js.map +1 -0
  248. package/dist/test/update.d.ts +1 -0
  249. package/dist/test/update.js +223 -0
  250. package/dist/test/update.js.map +1 -0
  251. package/dist/test/validation.d.ts +1 -0
  252. package/dist/test/validation.js +90 -0
  253. package/dist/test/validation.js.map +1 -0
  254. package/dist/test/vector.d.ts +1 -0
  255. package/dist/test/vector.js +47 -0
  256. package/dist/test/vector.js.map +1 -0
  257. package/package.json +4 -4
  258. package/dist/lib/darwin_aarch64/libnode-v20.18.1.node +0 -0
  259. package/dist/lib/darwin_aarch64/libnode-v22.13.0.node +0 -0
  260. package/dist/lib/darwin_aarch64/libnode-v22.8.0.node +0 -0
  261. package/dist/lib/linux_aarch64/include/cdefs.h +0 -317
  262. package/dist/lib/linux_aarch64/include/libdeflate.h +0 -322
  263. package/dist/lib/linux_aarch64/include/libdeflate_strings.h +0 -35
  264. package/dist/lib/linux_aarch64/include/linker_set.h +0 -109
  265. package/dist/lib/linux_aarch64/include/queue.h +0 -627
  266. package/dist/lib/linux_aarch64/include/selva/_export.h +0 -7
  267. package/dist/lib/linux_aarch64/include/selva/align.h +0 -9
  268. package/dist/lib/linux_aarch64/include/selva/backoff_timeout.h +0 -29
  269. package/dist/lib/linux_aarch64/include/selva/base64.h +0 -59
  270. package/dist/lib/linux_aarch64/include/selva/base64url.h +0 -59
  271. package/dist/lib/linux_aarch64/include/selva/bitmap.h +0 -95
  272. package/dist/lib/linux_aarch64/include/selva/crc32c.h +0 -17
  273. package/dist/lib/linux_aarch64/include/selva/ctime.h +0 -135
  274. package/dist/lib/linux_aarch64/include/selva/db.h +0 -284
  275. package/dist/lib/linux_aarch64/include/selva/endian.h +0 -301
  276. package/dist/lib/linux_aarch64/include/selva/fast_linear_search.h +0 -23
  277. package/dist/lib/linux_aarch64/include/selva/fast_memmem.h +0 -11
  278. package/dist/lib/linux_aarch64/include/selva/fast_parsei.h +0 -36
  279. package/dist/lib/linux_aarch64/include/selva/fields.h +0 -338
  280. package/dist/lib/linux_aarch64/include/selva/find.h +0 -47
  281. package/dist/lib/linux_aarch64/include/selva/lpf.h +0 -28
  282. package/dist/lib/linux_aarch64/include/selva/node_id_set.h +0 -43
  283. package/dist/lib/linux_aarch64/include/selva/poptop.h +0 -114
  284. package/dist/lib/linux_aarch64/include/selva/queue_r.h +0 -190
  285. package/dist/lib/linux_aarch64/include/selva/selva_hash128.h +0 -39
  286. package/dist/lib/linux_aarch64/include/selva/selva_lang.h +0 -105
  287. package/dist/lib/linux_aarch64/include/selva/selva_math.h +0 -37
  288. package/dist/lib/linux_aarch64/include/selva/selva_string.h +0 -672
  289. package/dist/lib/linux_aarch64/include/selva/sort.h +0 -119
  290. package/dist/lib/linux_aarch64/include/selva/strsearch.h +0 -43
  291. package/dist/lib/linux_aarch64/include/selva/timestamp.h +0 -25
  292. package/dist/lib/linux_aarch64/include/selva/traverse.h +0 -65
  293. package/dist/lib/linux_aarch64/include/selva/types.h +0 -110
  294. package/dist/lib/linux_aarch64/include/selva/vector.h +0 -14
  295. package/dist/lib/linux_aarch64/include/selva/worker_ctx.h +0 -13
  296. package/dist/lib/linux_aarch64/include/selva_error.h +0 -137
  297. package/dist/lib/linux_aarch64/include/selva_lang_code.h +0 -157
  298. package/dist/lib/linux_aarch64/include/tree.h +0 -852
  299. package/dist/lib/linux_aarch64/libdeflate.so +0 -0
  300. package/dist/lib/linux_aarch64/libjemalloc_selva.so.2 +0 -0
  301. package/dist/lib/linux_aarch64/libnode-v20.11.1.node +0 -0
  302. package/dist/lib/linux_aarch64/libnode-v20.18.1.node +0 -0
  303. package/dist/lib/linux_aarch64/libnode-v22.13.0.node +0 -0
  304. package/dist/lib/linux_aarch64/libselva.so +0 -0
  305. package/dist/lib/linux_aarch64/libxxhash.so +0 -0
  306. package/dist/lib/linux_aarch64/libxxhash.so.0 +0 -0
  307. package/dist/lib/linux_aarch64/libxxhash.so.0.8.2 +0 -0
  308. package/dist/lib/linux_x86_64/include/cdefs.h +0 -317
  309. package/dist/lib/linux_x86_64/include/libdeflate.h +0 -322
  310. package/dist/lib/linux_x86_64/include/libdeflate_strings.h +0 -35
  311. package/dist/lib/linux_x86_64/include/linker_set.h +0 -109
  312. package/dist/lib/linux_x86_64/include/queue.h +0 -627
  313. package/dist/lib/linux_x86_64/include/selva/_export.h +0 -7
  314. package/dist/lib/linux_x86_64/include/selva/align.h +0 -9
  315. package/dist/lib/linux_x86_64/include/selva/backoff_timeout.h +0 -29
  316. package/dist/lib/linux_x86_64/include/selva/base64.h +0 -59
  317. package/dist/lib/linux_x86_64/include/selva/base64url.h +0 -59
  318. package/dist/lib/linux_x86_64/include/selva/bitmap.h +0 -95
  319. package/dist/lib/linux_x86_64/include/selva/crc32c.h +0 -17
  320. package/dist/lib/linux_x86_64/include/selva/ctime.h +0 -135
  321. package/dist/lib/linux_x86_64/include/selva/db.h +0 -284
  322. package/dist/lib/linux_x86_64/include/selva/endian.h +0 -301
  323. package/dist/lib/linux_x86_64/include/selva/fast_linear_search.h +0 -23
  324. package/dist/lib/linux_x86_64/include/selva/fast_memmem.h +0 -11
  325. package/dist/lib/linux_x86_64/include/selva/fast_parsei.h +0 -36
  326. package/dist/lib/linux_x86_64/include/selva/fields.h +0 -338
  327. package/dist/lib/linux_x86_64/include/selva/find.h +0 -47
  328. package/dist/lib/linux_x86_64/include/selva/lpf.h +0 -28
  329. package/dist/lib/linux_x86_64/include/selva/node_id_set.h +0 -43
  330. package/dist/lib/linux_x86_64/include/selva/poptop.h +0 -114
  331. package/dist/lib/linux_x86_64/include/selva/queue_r.h +0 -190
  332. package/dist/lib/linux_x86_64/include/selva/selva_hash128.h +0 -39
  333. package/dist/lib/linux_x86_64/include/selva/selva_lang.h +0 -105
  334. package/dist/lib/linux_x86_64/include/selva/selva_math.h +0 -37
  335. package/dist/lib/linux_x86_64/include/selva/selva_string.h +0 -672
  336. package/dist/lib/linux_x86_64/include/selva/sort.h +0 -119
  337. package/dist/lib/linux_x86_64/include/selva/strsearch.h +0 -43
  338. package/dist/lib/linux_x86_64/include/selva/timestamp.h +0 -25
  339. package/dist/lib/linux_x86_64/include/selva/traverse.h +0 -65
  340. package/dist/lib/linux_x86_64/include/selva/types.h +0 -110
  341. package/dist/lib/linux_x86_64/include/selva/vector.h +0 -14
  342. package/dist/lib/linux_x86_64/include/selva/worker_ctx.h +0 -13
  343. package/dist/lib/linux_x86_64/include/selva_error.h +0 -137
  344. package/dist/lib/linux_x86_64/include/selva_lang_code.h +0 -157
  345. package/dist/lib/linux_x86_64/include/tree.h +0 -852
  346. package/dist/lib/linux_x86_64/libdeflate.so +0 -0
  347. package/dist/lib/linux_x86_64/libjemalloc_selva.so.2 +0 -0
  348. package/dist/lib/linux_x86_64/libnode-v20.11.1.node +0 -0
  349. package/dist/lib/linux_x86_64/libnode-v20.18.1.node +0 -0
  350. package/dist/lib/linux_x86_64/libnode-v22.13.0.node +0 -0
  351. package/dist/lib/linux_x86_64/libselva.so +0 -0
  352. package/dist/lib/linux_x86_64/libxxhash.so +0 -0
  353. package/dist/lib/linux_x86_64/libxxhash.so.0 +0 -0
  354. package/dist/lib/linux_x86_64/libxxhash.so.0.8.2 +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"examples.js","sourceRoot":"","sources":["../../../test/shared/examples.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,250 @@
1
+ import { wait } from '@saulx/utils';
2
+ import { homedir } from 'os';
3
+ import { fileURLToPath } from 'url';
4
+ import { BasedDb } from '../../src/index.js';
5
+ import { join, dirname, resolve } from 'path';
6
+ import fs from 'node:fs/promises';
7
+ import oldFs from 'node:fs';
8
+ import { deflate } from 'node:zlib';
9
+ import util from 'util';
10
+ const deflap = util.promisify(deflate);
11
+ import crypto from 'crypto';
12
+ function randU32() {
13
+ return crypto.randomBytes(4).readUInt32LE(0);
14
+ }
15
+ import { pipeline } from 'node:stream/promises';
16
+ import { hash } from '@saulx/hash';
17
+ var prev = [];
18
+ const indexOfSubstrings = function* (str, searchValue) {
19
+ let i = 0;
20
+ while (true) {
21
+ const r = str.indexOf(searchValue, i);
22
+ if (r !== -1) {
23
+ yield r;
24
+ i = r + 1;
25
+ }
26
+ else
27
+ return;
28
+ }
29
+ };
30
+ const __dirname = dirname(fileURLToPath(import.meta.url).replace('/dist/', '/'));
31
+ const relativePath = '../../tmp';
32
+ const dbFolder = resolve(join(__dirname, relativePath));
33
+ await wait(100);
34
+ try {
35
+ await fs.rm(dbFolder, { recursive: true });
36
+ }
37
+ catch (err) { }
38
+ // dbFolder
39
+ const makeDb = async (path) => {
40
+ const db = new BasedDb({
41
+ path,
42
+ });
43
+ await db.start({ clean: true });
44
+ console.log('\nJS GO DO BUT', Date.now(), path);
45
+ await db.putSchema({
46
+ types: {
47
+ bla: { props: { name: 'string', x: 'uint16', flap: 'binary' } },
48
+ user: {
49
+ props: {
50
+ uid: 'string',
51
+ firstName: 'string',
52
+ lastName: 'string',
53
+ articles: {
54
+ items: {
55
+ ref: 'article',
56
+ prop: 'author',
57
+ },
58
+ },
59
+ },
60
+ },
61
+ article: {
62
+ props: {
63
+ views: 'uint32',
64
+ lastView: 'timestamp',
65
+ headline: 'string',
66
+ abstract: 'string',
67
+ body: 'string',
68
+ publishDate: 'timestamp',
69
+ author: {
70
+ ref: 'user',
71
+ prop: 'articles',
72
+ },
73
+ },
74
+ },
75
+ },
76
+ });
77
+ await db.create('bla', {
78
+ name: 'DERP ',
79
+ x: 1,
80
+ });
81
+ var flap;
82
+ const users = new Map();
83
+ const handleChunk = (chunk, x) => {
84
+ if (flap) {
85
+ chunk = flap + chunk;
86
+ flap = '';
87
+ }
88
+ const indexes = [...indexOfSubstrings(chunk, '{"id":')];
89
+ for (let i = 0; i < indexes.length; i += 2) {
90
+ if (!indexes[i + 1]) {
91
+ flap = chunk.slice(indexes[i], -1);
92
+ }
93
+ else {
94
+ try {
95
+ var d = chunk.slice(indexes[i], indexes[i + 1] - 1);
96
+ if (d[d.length - 1] == ']') {
97
+ d = d.slice(0, -1);
98
+ }
99
+ const x = JSON.parse(d);
100
+ const { id, author, ...r } = x;
101
+ // exclude in create is nice
102
+ // const id = db.upsert('user', {
103
+ const userId = hash(author.firstName.toLowerCase() +
104
+ ':' +
105
+ author.lastName.toLowerCase());
106
+ if (!users.has(userId)) {
107
+ users.set(userId, db.create('user', {
108
+ uid: String(userId),
109
+ firstName: author.firstName,
110
+ lastName: author.lastName,
111
+ }).tmpId);
112
+ }
113
+ r.author = users.get(userId);
114
+ db.create('article', r);
115
+ }
116
+ catch (err) {
117
+ // console.log('derp', indexes[i], indexes[i + 1] - 1)
118
+ }
119
+ }
120
+ }
121
+ };
122
+ // @ts-ignore
123
+ await pipeline(oldFs.createReadStream(join(homedir(), 'Downloads/dump.json'), 'utf-8'), async function* (source, { signal }) {
124
+ source.setEncoding('utf-8'); // Work with strings rather than `Buffer`s.
125
+ for await (const chunk of source) {
126
+ yield await handleChunk(chunk, { signal });
127
+ }
128
+ });
129
+ console.log(db.query('bla').sort('x').get());
130
+ console.log('YO', Date.now(), path);
131
+ await wait(100);
132
+ console.log('CLOSE', Date.now(), path);
133
+ var d = Date.now();
134
+ console.log('DRAIN BOI', Date.now() - d, 'ms', await db.drain(), 'ms');
135
+ (await db
136
+ .query('article')
137
+ .range(0, 1e6)
138
+ .filter('publishDate', '>', '01/01/2024')
139
+ .sort('publishDate', 'desc')
140
+ .get()).inspect(2);
141
+ (await db
142
+ .query('article')
143
+ .range(0, 100)
144
+ .filter('publishDate', '>', '01/01/2024')
145
+ .sort('publishDate', 'desc')
146
+ .include('author', '*')
147
+ .get())
148
+ // .debug()
149
+ .inspect(2);
150
+ (await db
151
+ .query('article')
152
+ .range(0, 1e6)
153
+ // .filter('author', '=', 25)
154
+ .sort('publishDate', 'desc')
155
+ .include('author', '*')
156
+ .get())
157
+ // .debug()
158
+ .inspect(2);
159
+ // handle this in search split and make a loop
160
+ // const query = 'german rebuke'
161
+ // maybe levensthein
162
+ // const query = 'orban'
163
+ const query = 'class';
164
+ console.log('\nSEARCH FOR:', query);
165
+ await db
166
+ .query('article')
167
+ .range(0, 10)
168
+ .sort('publishDate', 'desc')
169
+ .include('id', 'headline', 'publishDate', 'abstract')
170
+ .search(query, {
171
+ headline: 0,
172
+ abstract: 1,
173
+ // body: 5,
174
+ })
175
+ .get()
176
+ .then((v) => {
177
+ // console.dir(v.toObject(), { depth: 10 })
178
+ v.inspect(4);
179
+ // v.debug()
180
+ });
181
+ const start = performance.now();
182
+ await db.stop(false);
183
+ const end = performance.now();
184
+ console.log('save took: ', end - start);
185
+ };
186
+ const makeDb1 = async (path) => {
187
+ const db = new BasedDb({
188
+ path,
189
+ });
190
+ await db.start({ clean: true });
191
+ console.log('\nJS GO DO BUT', Date.now(), path);
192
+ await db.putSchema({
193
+ types: {
194
+ financeBoi: {
195
+ props: {
196
+ x1: { type: 'uint32' },
197
+ x2: { type: 'uint32' },
198
+ x3: { type: 'uint32' },
199
+ x4: { type: 'uint32' },
200
+ x5: { type: 'uint32' },
201
+ x6: { type: 'uint32' },
202
+ },
203
+ },
204
+ },
205
+ });
206
+ for (let i = 0; i < 50_000_000; i++) {
207
+ db.create('financeBoi', {
208
+ x1: i,
209
+ x2: i,
210
+ x3: i,
211
+ x4: i,
212
+ x5: i,
213
+ x6: i,
214
+ });
215
+ }
216
+ const res = await db.drain();
217
+ console.error('created all nodes', res);
218
+ const start = performance.now();
219
+ await db.stop(false);
220
+ const end = performance.now();
221
+ console.log('save took: ', end - start);
222
+ };
223
+ await makeDb(dbFolder + '/1');
224
+ // await makeDb(dbFolder + '/1')
225
+ // await makeDb1(dbFolder + '/2')
226
+ // await Promise.all([makeDb(dbFolder + '/1'), makeDb(dbFolder + '/2')])
227
+ // const f = await fs.writeFile(dbFolder + '/file.txt', '')
228
+ // const d = Date.now()
229
+ // let bla = []
230
+ // const file = oldFs.openSync(dbFolder + '/file.txt', null)
231
+ // let b = 0
232
+ // for (let i = 0; i < 10e6; i++) {
233
+ // bla.push({
234
+ // name: 'bla',
235
+ // user: 'snur@gmail.com',
236
+ // derp: 'derp derp',
237
+ // i,
238
+ // })
239
+ // b++
240
+ // if (b === 10e3) {
241
+ // await fs.appendFile(
242
+ // dbFolder + '/file.txt',
243
+ // await deflap(Buffer.from(JSON.stringify(bla), 'utf-8')),
244
+ // )
245
+ // b = 0
246
+ // bla = []
247
+ // }
248
+ // }
249
+ // console.log('DONE', Date.now() - d, 'ms')
250
+ //# sourceMappingURL=playground.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playground.js","sourceRoot":"","sources":["../../../test/shared/playground.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare const counts: {
2
+ errors: number;
3
+ skipped: number;
4
+ success: number;
5
+ };
6
+ declare const test: {
7
+ (name: string, fn: (t?: any) => Promise<void>): Promise<void>;
8
+ skip(name: string, fn: (t?: any) => Promise<void>): Promise<void>;
9
+ };
10
+ export declare const printSummary: () => void;
11
+ export default test;
@@ -0,0 +1,112 @@
1
+ import picocolors from 'picocolors';
2
+ import { fileURLToPath } from 'url';
3
+ import { join, dirname, resolve } from 'path';
4
+ export const counts = {
5
+ errors: 0,
6
+ skipped: 0,
7
+ success: 0,
8
+ };
9
+ const __dirname = dirname(fileURLToPath(import.meta.url).replace('/dist/', '/'));
10
+ const relativePath = '../tmp';
11
+ const test = async (name, fn) => {
12
+ if (process.env.TEST_TO_RUN &&
13
+ !name.toLowerCase().includes(process.env.TEST_TO_RUN.toLowerCase())) {
14
+ counts.skipped++;
15
+ console.log('');
16
+ console.log(picocolors.gray('skip ' + name));
17
+ return;
18
+ }
19
+ console.log(picocolors.gray(`\nstart ${name}`));
20
+ const d = performance.now();
21
+ const afters = [];
22
+ const t = {
23
+ after: (fn) => {
24
+ afters.push(fn);
25
+ },
26
+ tmp: resolve(join(__dirname, relativePath)),
27
+ };
28
+ try {
29
+ await fn(t);
30
+ counts.success++;
31
+ console.log(picocolors.green(`✓ ${name}`), picocolors.gray(`${Math.round((performance.now() - d) * 100) / 100} ms`));
32
+ }
33
+ catch (err) {
34
+ counts.errors++;
35
+ console.log(picocolors.red(`! ${name}`), picocolors.gray(`${Math.round((performance.now() - d) * 100) / 100} ms`));
36
+ const msg = (err.stack ?? err.msg ?? err)
37
+ .replace(/\.js(?=\s|$)/g, '.ts')
38
+ .replaceAll('/dist/', '/')
39
+ .replace('Error: ', '\n') + '\n';
40
+ console.log(picocolors.red(msg));
41
+ }
42
+ await Promise.all(afters.map((f) => f()));
43
+ };
44
+ test.skip = async (name, fn) => {
45
+ counts.skipped++;
46
+ console.log('');
47
+ console.log(picocolors.gray('skip ' + name));
48
+ };
49
+ export const printSummary = () => {
50
+ const nuno = Math.random() * 100 > 97
51
+ ? `
52
+ ░██░
53
+ ▓█████████████▒
54
+ ▓▓██████████████████░
55
+ ▓██████████████████████▒░
56
+ ███████████████████████████░
57
+ ░██████████████▓▒▒▒░░░░░░░▓██▒
58
+ ███████████▓▓▒▒░░░░ ▒░
59
+ ▒███████████▓▒▒░░░░░ ░▓
60
+ ░███████████▓▒▒░░░░ ░░
61
+ ░███████████▒▒░░░░ ░
62
+ ▒█████████▓▒▒░░░░
63
+ ████████▓▒▒░░░░░░░░
64
+ ████▓▓▓▒▒░▒▒▒▓██████▓▒░ ░▒▒░▒░
65
+ █▓▓▓██▓▓▓▓█ ░ ░▒▒▓░░▓▒█░▒▒░░▒░ ░▒▓
66
+ ▒█████▓▓▒▓▓ ▒ ░▓░░ ░▓█▓ ▒
67
+ ░░▒▒░░░░░░░▒░░░ ░█▒░
68
+ ░░░░▒░░░░░░▒░ ░▓█▒░
69
+ ░▓▒░▓▒░░░░░░▒▒░░░ ░▒▓▓▒░
70
+ ▒▓██▓▒░░░░░░ ▓░░░
71
+ ▒████▒░░░░░ ░▓██░ ▒▓░
72
+ ▓████▓▒░░░░░░▓██████▓▒▒███▓░
73
+ ░███████▓▓███████▒▒░ ░▒███▓
74
+ ██████████████▒░░▒░ ████░
75
+ █████████████████▓███▓▒ ▒████
76
+ ▓████████████████████████░░▓███▓
77
+ ▒██████████████████████████▓▓██▓░
78
+ ░████████████████████████▓▒░░▒▒▒▓███████▒░
79
+ ░██████████████████████▓▒▒▒░ ░░▒▓████████████▓
80
+ ▒████▓▓▓██▓▓███████████▓▒░▒ ░░░▒▒▓███████████████▒
81
+ ▒████████▒▒▓▓▒▒░░▒███████████▒▒░▒▒▓▓▒▓██████████████████
82
+ ▒███████████░░░░░░░░░░░░▒▓█████▓▒▒▒▒▒░░░████████████████████▓
83
+ ▓██████████████▒░░ ░▒░▒▒░░░▒▒▒▒▒██████████████████████░
84
+ ███████████████████ ▓█████████████████████████████▓
85
+ ██████████████████████ ████████████████████████████████
86
+ ███████████████████████ █████████████████████████████████
87
+ █████████████████████████ ████████████████████████████████
88
+ ███████████████████████████ ▒███████████████████████████████
89
+ ███████████████████████████ ███████████████████████████████
90
+ █████████████████████████▓ ░██████████████████████████████
91
+ `
92
+ : '';
93
+ const msg =
94
+ // nuno +
95
+ `
96
+ Test result:
97
+ Errors: ${counts.errors}
98
+ Skipped: ${counts.skipped}
99
+ Good: ${counts.success}
100
+ `;
101
+ if (counts.errors > 0) {
102
+ console.log(picocolors.red(msg));
103
+ }
104
+ else if (counts.success) {
105
+ console.log(picocolors.green(msg));
106
+ }
107
+ else {
108
+ console.log(picocolors.gray(msg));
109
+ }
110
+ };
111
+ export default test;
112
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../test/shared/test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,127 @@
1
+ // import { wait } from '@saulx/utils'
2
+ // import { fileURLToPath } from 'url'
3
+ // import { BasedDb } from '../../src/index.js'
4
+ // import { join, dirname, resolve } from 'path'
5
+ // import { workerData } from 'node:worker_threads'
6
+ export {};
7
+ // console.log('start worker...')
8
+ // const __dirname = dirname(fileURLToPath(import.meta.url).replace('/dist/', '/'))
9
+ // // const nr = ~~(Math.random() * 999999)
10
+ // const relativePath = '../../tmp/'
11
+ // const dbFolder = resolve(join(__dirname, relativePath))
12
+ // console.log('WORKER DB', dbFolder)
13
+ // const db = new BasedDb({
14
+ // path: dbFolder,
15
+ // // maxModifySize: 1000000,
16
+ // })
17
+ // await db.start()
18
+ // await wait(100)
19
+ // // const user = nr + 'user'
20
+ // const user = 'user'
21
+ // db.putSchema({
22
+ // types: {
23
+ // [user]: {
24
+ // fields: {
25
+ // age: { type: 'integer' },
26
+ // myBlup: { type: 'reference', allowedType: 'blup' },
27
+ // name: { type: 'string' },
28
+ // flap: { type: 'integer' },
29
+ // email: { type: 'string', maxLength: 14 },
30
+ // snurp: { type: 'string' },
31
+ // location: {
32
+ // type: 'object',
33
+ // properties: {
34
+ // label: { type: 'string' },
35
+ // x: { type: 'integer' },
36
+ // y: { type: 'integer' },
37
+ // },
38
+ // },
39
+ // },
40
+ // },
41
+ // },
42
+ // })
43
+ // // if (workerData === 0) {
44
+ // // const users = []
45
+ // // const amount = 1e6
46
+ // // const d = Date.now()
47
+ // // for (let i = 0; i < amount; i++) {
48
+ // // // const blup = db.create('blup', {
49
+ // // // // name: 'blup ! ' + i,
50
+ // // // flap: 'A',
51
+ // // // })
52
+ // // users.push(
53
+ // // db.create(user, {
54
+ // // // myBlup: blup,
55
+ // // // age: amount - i
56
+ // // age: ~~(Math.random() * 99) + 1,
57
+ // // name: 'Mr ' + i,
58
+ // // // burp: 66,
59
+ // // // snurp: 'derp derp',
60
+ // // // email: 'merp_merp_' + i + '@once.net',
61
+ // // // location: {
62
+ // // // label: 'BLA BLA',
63
+ // // // },
64
+ // // }),
65
+ // // )
66
+ // // }
67
+ // // await db.drain()
68
+ // // console.log(
69
+ // // 'Write',
70
+ // // amount,
71
+ // // 'items',
72
+ // // 'total db time',
73
+ // // db.writeTime,
74
+ // // 'ms',
75
+ // // Date.now() - d,
76
+ // // 'ms\n',
77
+ // // )
78
+ // // }
79
+ // // console.log(
80
+ // // db.query('user').range(0, 1e4).include('name', 'age').sort('name').get(),
81
+ // // )
82
+ // // console.log(
83
+ // // db.query(user).range(0, 1e4).include('name', 'age').sort('age').get(),
84
+ // // )
85
+ // // console.log(
86
+ // // db.query(user).range(0, 1e4).include('name', 'age').sort('age').get(),
87
+ // // )
88
+ // // const ids: Set<number> = new Set()
89
+ // // for (let i = 1; i < 1e4; i++) {
90
+ // // ids.add(~~(Math.random() * 10e6))
91
+ // // // ids.add(i)
92
+ // // }
93
+ // // // console.log(
94
+ // // // db
95
+ // // // .query('user', [...ids.values()])
96
+ // // // .include('name', 'age')
97
+ // // // .filter('age', '>', 50)
98
+ // // // .sort('age')
99
+ // // // .get(),
100
+ // // // )
101
+ // // const ids2: Set<number> = new Set()
102
+ // // for (let i = 1; i < 5000; i++) {
103
+ // // ids2.add(~~(Math.random() * 10e6))
104
+ // // // ids2.add(i)
105
+ // // }
106
+ // if (workerData !== 0) {
107
+ // // .sort('age')
108
+ // // console.log(db.query(user).include('name', 'age').range(0, 1e5).get())
109
+ // }
110
+ // await wait(0)
111
+ // console.log('RDY')
112
+ // // await db.destroy()
113
+ // // console.log(
114
+ // // 'WORKER',
115
+ // // db
116
+ // // .query('user')
117
+ // // .range(0, 1e6)
118
+ // // .include('name', 'age')
119
+ // // // .sort('age')
120
+ // // .get(),
121
+ // // )
122
+ // db.query('user')
123
+ // .range(0, 1e6)
124
+ // // .include('name', 'age')
125
+ // // .sort('age')
126
+ // .get()
127
+ //# sourceMappingURL=worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../test/shared/worker.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,sCAAsC;AACtC,+CAA+C;AAC/C,gDAAgD;AAChD,mDAAmD;;AAEnD,iCAAiC;AAEjC,mFAAmF;AAEnF,2CAA2C;AAE3C,oCAAoC;AAEpC,0DAA0D;AAE1D,qCAAqC;AAErC,2BAA2B;AAC3B,oBAAoB;AACpB,iCAAiC;AACjC,KAAK;AAEL,mBAAmB;AAEnB,kBAAkB;AAElB,8BAA8B;AAE9B,sBAAsB;AAEtB,iBAAiB;AACjB,aAAa;AACb,gBAAgB;AAChB,kBAAkB;AAClB,oCAAoC;AACpC,8DAA8D;AAC9D,oCAAoC;AACpC,qCAAqC;AACrC,oDAAoD;AACpD,qCAAqC;AACrC,sBAAsB;AACtB,4BAA4B;AAC5B,0BAA0B;AAC1B,yCAAyC;AACzC,sCAAsC;AACtC,sCAAsC;AACtC,eAAe;AACf,aAAa;AACb,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AAEL,6BAA6B;AAC7B,wBAAwB;AAExB,0BAA0B;AAE1B,4BAA4B;AAE5B,0CAA0C;AAC1C,6CAA6C;AAC7C,sCAAsC;AACtC,yBAAyB;AACzB,eAAe;AAEf,qBAAqB;AACrB,6BAA6B;AAC7B,8BAA8B;AAC9B,gCAAgC;AAChC,8CAA8C;AAC9C,8BAA8B;AAC9B,0BAA0B;AAC1B,oCAAoC;AACpC,uDAAuD;AACvD,4BAA4B;AAC5B,kCAAkC;AAClC,mBAAmB;AACnB,eAAe;AACf,WAAW;AACX,SAAS;AAET,wBAAwB;AAExB,oBAAoB;AACpB,kBAAkB;AAClB,iBAAiB;AACjB,kBAAkB;AAClB,0BAA0B;AAC1B,uBAAuB;AACvB,eAAe;AACf,yBAAyB;AACzB,iBAAiB;AACjB,SAAS;AACT,OAAO;AAEP,kBAAkB;AAClB,iFAAiF;AACjF,OAAO;AAEP,kBAAkB;AAClB,8EAA8E;AAC9E,OAAO;AAEP,kBAAkB;AAClB,8EAA8E;AAC9E,OAAO;AAEP,wCAAwC;AACxC,qCAAqC;AACrC,yCAAyC;AACzC,qBAAqB;AACrB,OAAO;AAEP,qBAAqB;AACrB,aAAa;AACb,8CAA8C;AAC9C,oCAAoC;AACpC,oCAAoC;AACpC,yBAAyB;AACzB,oBAAoB;AACpB,UAAU;AAEV,yCAAyC;AACzC,sCAAsC;AACtC,0CAA0C;AAE1C,sBAAsB;AACtB,OAAO;AACP,0BAA0B;AAC1B,oBAAoB;AACpB,gFAAgF;AAChF,IAAI;AAEJ,gBAAgB;AAEhB,qBAAqB;AAErB,wBAAwB;AAExB,kBAAkB;AAClB,iBAAiB;AACjB,UAAU;AACV,wBAAwB;AACxB,wBAAwB;AACxB,iCAAiC;AACjC,yBAAyB;AACzB,iBAAiB;AACjB,OAAO;AAEP,mBAAmB;AACnB,mBAAmB;AACnB,+BAA+B;AAC/B,oBAAoB;AACpB,WAAW"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,43 @@
1
+ import { BasedDb } from '../src/index.js';
2
+ import test from './shared/test.js';
3
+ import { deepEqual } from './shared/assert.js';
4
+ await test('query', async (t) => {
5
+ const db = new BasedDb({
6
+ path: t.tmp,
7
+ });
8
+ t.after(() => {
9
+ return db.destroy();
10
+ });
11
+ await db.start({ clean: true });
12
+ await db.putSchema({
13
+ types: {
14
+ user: {
15
+ props: {
16
+ age: { type: 'uint32' },
17
+ name: { type: 'string' },
18
+ countryCode: { type: 'string', maxBytes: 2 },
19
+ location: {
20
+ props: {
21
+ long: { type: 'number', min: 0, max: 100, step: 'any' },
22
+ lat: { type: 'number', min: 0, max: 100, step: 'any' },
23
+ },
24
+ },
25
+ },
26
+ },
27
+ },
28
+ });
29
+ db.create('user', {
30
+ age: 50,
31
+ name: 'mr X',
32
+ countryCode: 'us',
33
+ location: {
34
+ long: 50.123,
35
+ lat: 51.213123,
36
+ },
37
+ });
38
+ await db.drain();
39
+ deepEqual((await db.query('user').include('id').get()).toObject(), [{ id: 1 }], 'Id only');
40
+ deepEqual((await db.query('user').filter('age', '<', 20).include('id', 'age').get()).toObject(), []);
41
+ deepEqual((await db.query('user').include('*').get()).toObject(), (await db.query('user').get()).toObject(), 'include * works as "get all fields"');
42
+ });
43
+ //# sourceMappingURL=simpleQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simpleQuery.js","sourceRoot":"","sources":["../../test/simpleQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,IAAI,MAAM,kBAAkB,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,MAAM,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9B,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC;QACrB,IAAI,EAAE,CAAC,CAAC,GAAG;KACZ,CAAC,CAAA;IAEF,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACX,OAAO,EAAE,CAAC,OAAO,EAAE,CAAA;IACrB,CAAC,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAE/B,MAAM,EAAE,CAAC,SAAS,CAAC;QACjB,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE;oBAC5C,QAAQ,EAAE;wBACR,KAAK,EAAE;4BACL,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;4BACvD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;yBACvD;qBACF;iBACF;aACF;SACF;KACF,CAAC,CAAA;IAEF,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QAChB,GAAG,EAAE,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,SAAS;SACf;KACF,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAEhB,SAAS,CACP,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EACvD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EACX,SAAS,CACV,CAAA;IAED,SAAS,CACP,CACE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CACzE,CAAC,QAAQ,EAAE,EACZ,EAAE,CACH,CAAA;IAED,SAAS,CACP,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EACtD,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EACzC,qCAAqC,CACtC,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};