@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,136 @@
1
+ import { deepEqual } from './shared/assert.js';
2
+ import { BasedDb } from '../src/index.js';
3
+ import test from './shared/test.js';
4
+ await test('single reference query', async (t) => {
5
+ const db = new BasedDb({
6
+ path: t.tmp,
7
+ });
8
+ await db.start({ clean: true });
9
+ t.after(() => {
10
+ return db.destroy();
11
+ });
12
+ await db.putSchema({
13
+ types: {
14
+ user: {
15
+ props: {
16
+ myBlup: {
17
+ ref: 'blup',
18
+ prop: 'user',
19
+ },
20
+ simple: {
21
+ ref: 'simple',
22
+ prop: 'user',
23
+ },
24
+ name: { type: 'string' },
25
+ },
26
+ },
27
+ blup: {
28
+ props: {
29
+ age: { type: 'uint32' },
30
+ name: { type: 'string' },
31
+ user: {
32
+ ref: 'user',
33
+ prop: 'myBlup',
34
+ },
35
+ simple: {
36
+ ref: 'simple',
37
+ prop: 'lilBlup',
38
+ },
39
+ // @ts-ignore
40
+ flap: { type: 'string', maxBytes: 1 },
41
+ },
42
+ },
43
+ simple: {
44
+ props: {
45
+ smurp: { type: 'uint32' },
46
+ user: {
47
+ ref: 'user',
48
+ prop: 'simple',
49
+ },
50
+ lilBlup: {
51
+ ref: 'blup',
52
+ prop: 'simple',
53
+ },
54
+ flap: {
55
+ props: {
56
+ power: { type: 'uint32' },
57
+ },
58
+ },
59
+ },
60
+ },
61
+ },
62
+ });
63
+ const blup = db.create('blup', {
64
+ flap: 'B',
65
+ age: 10,
66
+ name: 'mr blup',
67
+ });
68
+ const differentBlup = db.create('blup', {
69
+ flap: 'C',
70
+ age: 20,
71
+ name: 'mr blup 2',
72
+ });
73
+ const user = db.create('user', {
74
+ myBlup: blup,
75
+ });
76
+ const user2 = db.create('user', {
77
+ myBlup: differentBlup,
78
+ });
79
+ db.create('simple', {
80
+ flap: {
81
+ power: 10,
82
+ },
83
+ user,
84
+ });
85
+ db.create('simple', {
86
+ lilBlup: blup,
87
+ user: user2,
88
+ });
89
+ db.create('simple', {
90
+ lilBlup: blup,
91
+ flap: {
92
+ power: 10,
93
+ },
94
+ });
95
+ db.create('simple', {
96
+ lilBlup: differentBlup,
97
+ flap: {
98
+ power: 10,
99
+ },
100
+ });
101
+ await db.drain();
102
+ const result2 = await db
103
+ .query('simple')
104
+ .filter('user.myBlup.age', '=', 10)
105
+ .get();
106
+ deepEqual(result2.toObject(), [
107
+ {
108
+ id: 1,
109
+ smurp: 0,
110
+ flap: {
111
+ power: 10,
112
+ },
113
+ },
114
+ ]);
115
+ const result = await db
116
+ .query('simple')
117
+ .filter('lilBlup.age', '=', 20)
118
+ .filter('flap.power', '=', 10)
119
+ .include('lilBlup', 'flap')
120
+ .get();
121
+ deepEqual(result.toObject(), [
122
+ {
123
+ id: 4,
124
+ lilBlup: {
125
+ id: 2,
126
+ age: 20,
127
+ name: 'mr blup 2',
128
+ flap: 'C',
129
+ },
130
+ flap: {
131
+ power: 10,
132
+ },
133
+ },
134
+ ]);
135
+ });
136
+ //# sourceMappingURL=singleRefQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"singleRefQuery.js","sourceRoot":"","sources":["../../test/singleRefQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,IAAI,MAAM,kBAAkB,CAAA;AAEnC,MAAM,IAAI,CAAC,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC/C,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC;QACrB,IAAI,EAAE,CAAC,CAAC,GAAG;KACZ,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAE/B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACX,OAAO,EAAE,CAAC,OAAO,EAAE,CAAA;IACrB,CAAC,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,SAAS,CAAC;QACjB,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,MAAM,EAAE;wBACN,GAAG,EAAE,MAAM;wBACX,IAAI,EAAE,MAAM;qBACb;oBACD,MAAM,EAAE;wBACN,GAAG,EAAE,QAAQ;wBACb,IAAI,EAAE,MAAM;qBACb;oBACD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACzB;aACF;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,IAAI,EAAE;wBACJ,GAAG,EAAE,MAAM;wBACX,IAAI,EAAE,QAAQ;qBACf;oBACD,MAAM,EAAE;wBACN,GAAG,EAAE,QAAQ;wBACb,IAAI,EAAE,SAAS;qBAChB;oBACD,aAAa;oBACb,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE;iBACtC;aACF;YACD,MAAM,EAAE;gBACN,KAAK,EAAE;oBACL,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,IAAI,EAAE;wBACJ,GAAG,EAAE,MAAM;wBACX,IAAI,EAAE,QAAQ;qBACf;oBACD,OAAO,EAAE;wBACP,GAAG,EAAE,MAAM;wBACX,IAAI,EAAE,QAAQ;qBACf;oBACD,IAAI,EAAE;wBACJ,KAAK,EAAE;4BACL,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC1B;qBACF;iBACF;aACF;SACF;KACF,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QAC7B,IAAI,EAAE,GAAG;QACT,GAAG,EAAE,EAAE;QACP,IAAI,EAAE,SAAS;KAChB,CAAC,CAAA;IAEF,MAAM,aAAa,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QACtC,IAAI,EAAE,GAAG;QACT,GAAG,EAAE,EAAE;QACP,IAAI,EAAE,WAAW;KAClB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QAC7B,MAAM,EAAE,IAAI;KACb,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9B,MAAM,EAAE,aAAa;KACtB,CAAC,CAAA;IAEF,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE;QAClB,IAAI,EAAE;YACJ,KAAK,EAAE,EAAE;SACV;QACD,IAAI;KACL,CAAC,CAAA;IAEF,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE;QAClB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,KAAK;KACZ,CAAC,CAAA;IAEF,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE;QAClB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,KAAK,EAAE,EAAE;SACV;KACF,CAAC,CAAA;IAEF,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE;QAClB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE;YACJ,KAAK,EAAE,EAAE;SACV;KACF,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAEhB,MAAM,OAAO,GAAG,MAAM,EAAE;SACrB,KAAK,CAAC,QAAQ,CAAC;SACf,MAAM,CAAC,iBAAiB,EAAE,GAAG,EAAE,EAAE,CAAC;SAClC,GAAG,EAAE,CAAA;IAER,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;QAC5B;YACE,EAAE,EAAE,CAAC;YACL,KAAK,EAAE,CAAC;YACR,IAAI,EAAE;gBACJ,KAAK,EAAE,EAAE;aACV;SACF;KACF,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,KAAK,CAAC,QAAQ,CAAC;SACf,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC;SAC9B,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,CAAC;SAC7B,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;SAC1B,GAAG,EAAE,CAAA;IAER,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;QAC3B;YACE,EAAE,EAAE,CAAC;YACL,OAAO,EAAE;gBACP,EAAE,EAAE,CAAC;gBACL,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,GAAG;aACV;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,EAAE;aACV;SACF;KACF,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,401 @@
1
+ import { BasedDb } from '../src/index.js';
2
+ import test from './shared/test.js';
3
+ import { deepEqual, equal } from './shared/assert.js';
4
+ await test('1M', async (t) => {
5
+ const db = new BasedDb({
6
+ path: t.tmp,
7
+ });
8
+ await db.start({ clean: true });
9
+ t.after(() => {
10
+ return db.destroy();
11
+ });
12
+ await db.putSchema({
13
+ types: {
14
+ user: {
15
+ props: {
16
+ name: { type: 'string' },
17
+ email: { type: 'string' },
18
+ age: { type: 'uint32' },
19
+ },
20
+ },
21
+ },
22
+ });
23
+ for (let i = 0; i < 1e6; i++) {
24
+ db.create('user', {
25
+ name: 'mr z',
26
+ age: 1 + i,
27
+ email: i + '@z.z',
28
+ });
29
+ }
30
+ const dbTime = await db.drain();
31
+ console.log('db modify', dbTime, 'ms');
32
+ equal(dbTime < 1000, true, 'db modify should not take longer then 1s');
33
+ let d = Date.now();
34
+ let siTime = Date.now() - d;
35
+ console.log('create sort index (string)', siTime, 'ms');
36
+ equal(siTime < 500, true, 'creating string sort index should not take longer then 500ms');
37
+ const r = await db
38
+ .query('user')
39
+ .include('age', 'name', 'email')
40
+ .range(0, 1e5)
41
+ .sort('email')
42
+ .filter('age', '>', 1e6 - 1e5)
43
+ .get()
44
+ .then((v) => v.inspect());
45
+ deepEqual(r.node(0), {
46
+ id: 900001,
47
+ age: 900001,
48
+ name: 'mr z',
49
+ email: '900000@z.z',
50
+ }, 'first node is correct');
51
+ d = Date.now();
52
+ siTime = Date.now() - d;
53
+ console.log('create sort index (uint32)', siTime, 'ms');
54
+ equal(siTime < 250, true, 'creating string sort index should not take longer then 250s');
55
+ });
56
+ await test('basic', async (t) => {
57
+ const db = new BasedDb({
58
+ path: t.tmp,
59
+ });
60
+ await db.start({ clean: true });
61
+ t.after(() => {
62
+ return db.destroy();
63
+ });
64
+ await db.putSchema({
65
+ types: {
66
+ user: {
67
+ props: {
68
+ name: { type: 'string' },
69
+ email: { type: 'string' },
70
+ age: { type: 'uint32' },
71
+ },
72
+ },
73
+ },
74
+ });
75
+ db.create('user', {
76
+ age: 201,
77
+ name: 'mr blap',
78
+ email: 'blap@blap.blap.blap',
79
+ });
80
+ db.create('user', {
81
+ name: 'mr flap',
82
+ age: 50,
83
+ email: 'flap@flap.flap.flap',
84
+ });
85
+ db.create('user', {
86
+ name: 'mr snurp',
87
+ age: 99,
88
+ email: 'snurp@snurp.snurp.snurp',
89
+ });
90
+ await db.drain();
91
+ db.create('user', {
92
+ name: 'mr nurp',
93
+ age: 200,
94
+ email: 'nurp@nurp.nurp.nurp',
95
+ });
96
+ await db.drain();
97
+ const mrZ = db.create('user', {
98
+ name: 'mr z',
99
+ age: 1,
100
+ email: 'z@z.z',
101
+ });
102
+ await db.drain();
103
+ deepEqual((await db.query('user').sort('age', 'desc').include('email', 'age').get()).toObject(), [
104
+ { id: 1, email: 'blap@blap.blap.blap', age: 201 },
105
+ { id: 4, email: 'nurp@nurp.nurp.nurp', age: 200 },
106
+ { id: 3, email: 'snurp@snurp.snurp.snurp', age: 99 },
107
+ { id: 2, email: 'flap@flap.flap.flap', age: 50 },
108
+ { id: 5, email: 'z@z.z', age: 1 },
109
+ ], 'sort by age desc');
110
+ deepEqual((await db.query('user').sort('age', 'asc').include('email', 'age').get()).toObject(), [
111
+ { id: 5, email: 'z@z.z', age: 1 },
112
+ { id: 2, email: 'flap@flap.flap.flap', age: 50 },
113
+ { id: 3, email: 'snurp@snurp.snurp.snurp', age: 99 },
114
+ { id: 4, email: 'nurp@nurp.nurp.nurp', age: 200 },
115
+ { id: 1, email: 'blap@blap.blap.blap', age: 201 },
116
+ ], 'sort by age asc');
117
+ await db.drain();
118
+ deepEqual((await db
119
+ .query('user')
120
+ .sort('email', 'asc')
121
+ .include('email', 'age')
122
+ .get()
123
+ .then((v) => v.inspect())).toObject(), [
124
+ { id: 1, email: 'blap@blap.blap.blap', age: 201 },
125
+ { id: 2, email: 'flap@flap.flap.flap', age: 50 },
126
+ { id: 4, email: 'nurp@nurp.nurp.nurp', age: 200 },
127
+ { id: 3, email: 'snurp@snurp.snurp.snurp', age: 99 },
128
+ { id: 5, email: 'z@z.z', age: 1 },
129
+ ], 'sort by email asc');
130
+ deepEqual((await db.query('user').sort('email', 'desc').include('email', 'age').get()).toObject(), [
131
+ { id: 1, email: 'blap@blap.blap.blap', age: 201 },
132
+ { id: 2, email: 'flap@flap.flap.flap', age: 50 },
133
+ { id: 4, email: 'nurp@nurp.nurp.nurp', age: 200 },
134
+ { id: 3, email: 'snurp@snurp.snurp.snurp', age: 99 },
135
+ { id: 5, email: 'z@z.z', age: 1 },
136
+ ].reverse(), 'sort by email desc');
137
+ const mrX = db.create('user', {
138
+ name: 'mr x',
139
+ age: 999,
140
+ email: 'x@x.x',
141
+ });
142
+ await db.drain();
143
+ deepEqual((await db.query('user').sort('email').include('email', 'age').get()).toObject(), [
144
+ { id: 1, email: 'blap@blap.blap.blap', age: 201 },
145
+ { id: 2, email: 'flap@flap.flap.flap', age: 50 },
146
+ { id: 4, email: 'nurp@nurp.nurp.nurp', age: 200 },
147
+ { id: 3, email: 'snurp@snurp.snurp.snurp', age: 99 },
148
+ { id: 6, email: 'x@x.x', age: 999 },
149
+ { id: 5, email: 'z@z.z', age: 1 },
150
+ ], 'sort by email asc after adding new');
151
+ deepEqual((await db.query('user').sort('age').include('email', 'age').get()).toObject(), [
152
+ { id: 5, email: 'z@z.z', age: 1 },
153
+ { id: 2, email: 'flap@flap.flap.flap', age: 50 },
154
+ { id: 3, email: 'snurp@snurp.snurp.snurp', age: 99 },
155
+ { id: 4, email: 'nurp@nurp.nurp.nurp', age: 200 },
156
+ { id: 1, email: 'blap@blap.blap.blap', age: 201 },
157
+ { id: 6, email: 'x@x.x', age: 999 },
158
+ ], 'sort by age asc after adding new');
159
+ db.update('user', mrX, {
160
+ email: 'dd@dd.dd',
161
+ });
162
+ await db.drain();
163
+ deepEqual((await db.query('user').sort('email').include('email', 'age').get()).toObject(), [
164
+ { id: 1, email: 'blap@blap.blap.blap', age: 201 },
165
+ { id: 6, email: 'dd@dd.dd', age: 999 },
166
+ { id: 2, email: 'flap@flap.flap.flap', age: 50 },
167
+ { id: 4, email: 'nurp@nurp.nurp.nurp', age: 200 },
168
+ { id: 3, email: 'snurp@snurp.snurp.snurp', age: 99 },
169
+ { id: 5, email: 'z@z.z', age: 1 },
170
+ ], 'sort by email after updating email');
171
+ db.update('user', mrX, {
172
+ age: 1e6,
173
+ }, true);
174
+ await db.drain();
175
+ deepEqual((await db.query('user').sort('age').include('email', 'age').get()).toObject(), [
176
+ { id: 5, email: 'z@z.z', age: 1 },
177
+ { id: 2, email: 'flap@flap.flap.flap', age: 50 },
178
+ { id: 3, email: 'snurp@snurp.snurp.snurp', age: 99 },
179
+ { id: 4, email: 'nurp@nurp.nurp.nurp', age: 200 },
180
+ { id: 1, email: 'blap@blap.blap.blap', age: 201 },
181
+ { id: 6, email: 'dd@dd.dd', age: 1e6 },
182
+ ], 'sort by age after update');
183
+ db.update('user', mrX, {
184
+ age: 0,
185
+ });
186
+ await db.drain();
187
+ deepEqual((await db.query('user').sort('age').include('email', 'age').get()).toObject(), [
188
+ { id: 6, email: 'dd@dd.dd', age: 0 },
189
+ { id: 5, email: 'z@z.z', age: 1 },
190
+ { id: 2, email: 'flap@flap.flap.flap', age: 50 },
191
+ { id: 3, email: 'snurp@snurp.snurp.snurp', age: 99 },
192
+ { id: 4, email: 'nurp@nurp.nurp.nurp', age: 200 },
193
+ { id: 1, email: 'blap@blap.blap.blap', age: 201 },
194
+ ], 'update mrX to age 0');
195
+ deepEqual((await db.query('user').sort('age').include('email', 'age').get()).toObject(), [
196
+ { id: 6, email: 'dd@dd.dd', age: 0 },
197
+ { id: 5, email: 'z@z.z', age: 1 },
198
+ { id: 2, email: 'flap@flap.flap.flap', age: 50 },
199
+ { id: 3, email: 'snurp@snurp.snurp.snurp', age: 99 },
200
+ { id: 4, email: 'nurp@nurp.nurp.nurp', age: 200 },
201
+ { id: 1, email: 'blap@blap.blap.blap', age: 201 },
202
+ ]);
203
+ const ids = [];
204
+ for (let i = 0; i < 10; i++) {
205
+ ids.push(i + 1);
206
+ db.create('user', {
207
+ name: 'mr ' + i,
208
+ age: i + 300,
209
+ email: i + '@z.z',
210
+ });
211
+ }
212
+ await db.drain();
213
+ deepEqual((await db.query('user', ids).include('name', 'age').sort('age').get()).toObject(), [
214
+ { id: 6, name: 'mr x', age: 0 },
215
+ { id: 5, name: 'mr z', age: 1 },
216
+ { id: 2, name: 'mr flap', age: 50 },
217
+ { id: 3, name: 'mr snurp', age: 99 },
218
+ { id: 4, name: 'mr nurp', age: 200 },
219
+ { id: 1, name: 'mr blap', age: 201 },
220
+ { id: 7, name: 'mr 0', age: 300 },
221
+ { id: 8, name: 'mr 1', age: 301 },
222
+ { id: 9, name: 'mr 2', age: 302 },
223
+ { id: 10, name: 'mr 3', age: 303 },
224
+ ], 'Sort by ids after creation (asc)');
225
+ deepEqual((await db
226
+ .query('user', ids)
227
+ .include('name', 'age')
228
+ .sort('age', 'desc')
229
+ .get()).toObject(), [
230
+ { id: 10, name: 'mr 3', age: 303 },
231
+ { id: 9, name: 'mr 2', age: 302 },
232
+ { id: 8, name: 'mr 1', age: 301 },
233
+ { id: 7, name: 'mr 0', age: 300 },
234
+ { id: 1, name: 'mr blap', age: 201 },
235
+ { id: 4, name: 'mr nurp', age: 200 },
236
+ { id: 3, name: 'mr snurp', age: 99 },
237
+ { id: 2, name: 'mr flap', age: 50 },
238
+ { id: 5, name: 'mr z', age: 1 },
239
+ { id: 6, name: 'mr x', age: 0 },
240
+ ], 'Sort by ids after creation (desc)');
241
+ const ids2 = [];
242
+ for (let i = 1; i < 1000; i++) {
243
+ ids2.push(i);
244
+ }
245
+ deepEqual((await db
246
+ .query('user', ids2)
247
+ .include('name', 'age')
248
+ .sort('age', 'asc')
249
+ .get()).toObject(), [
250
+ { id: 6, name: 'mr x', age: 0 },
251
+ { id: 5, name: 'mr z', age: 1 },
252
+ { id: 2, name: 'mr flap', age: 50 },
253
+ { id: 3, name: 'mr snurp', age: 99 },
254
+ { id: 4, name: 'mr nurp', age: 200 },
255
+ { id: 1, name: 'mr blap', age: 201 },
256
+ { id: 7, name: 'mr 0', age: 300 },
257
+ { id: 8, name: 'mr 1', age: 301 },
258
+ { id: 9, name: 'mr 2', age: 302 },
259
+ { id: 10, name: 'mr 3', age: 303 },
260
+ { id: 11, name: 'mr 4', age: 304 },
261
+ { id: 12, name: 'mr 5', age: 305 },
262
+ { id: 13, name: 'mr 6', age: 306 },
263
+ { id: 14, name: 'mr 7', age: 307 },
264
+ { id: 15, name: 'mr 8', age: 308 },
265
+ { id: 16, name: 'mr 9', age: 309 },
266
+ ]);
267
+ db.remove('user', mrX);
268
+ await db.drain();
269
+ deepEqual((await db
270
+ .query('user', ids2)
271
+ .include('name', 'age')
272
+ .sort('age', 'asc')
273
+ .get()).toObject(), [
274
+ { id: 5, name: 'mr z', age: 1 },
275
+ { id: 2, name: 'mr flap', age: 50 },
276
+ { id: 3, name: 'mr snurp', age: 99 },
277
+ { id: 4, name: 'mr nurp', age: 200 },
278
+ { id: 1, name: 'mr blap', age: 201 },
279
+ { id: 7, name: 'mr 0', age: 300 },
280
+ { id: 8, name: 'mr 1', age: 301 },
281
+ { id: 9, name: 'mr 2', age: 302 },
282
+ { id: 10, name: 'mr 3', age: 303 },
283
+ { id: 11, name: 'mr 4', age: 304 },
284
+ { id: 12, name: 'mr 5', age: 305 },
285
+ { id: 13, name: 'mr 6', age: 306 },
286
+ { id: 14, name: 'mr 7', age: 307 },
287
+ { id: 15, name: 'mr 8', age: 308 },
288
+ { id: 16, name: 'mr 9', age: 309 },
289
+ ]);
290
+ const mrBlurp = db.create('user', {
291
+ age: 99,
292
+ });
293
+ await db.drain();
294
+ equal((await db.query('user', ids2).include('name', 'age', 'email').get()).length, 16, 'Check default query after remove');
295
+ equal((await db
296
+ .query('user', ids2)
297
+ .include('name', 'age', 'email')
298
+ .sort('email')
299
+ .get()).length, 16, 'Check email index len after removal');
300
+ equal((await db
301
+ .query('user', ids2)
302
+ .include('name', 'age', 'email')
303
+ .sort('name')
304
+ .get()).length, 16, 'Check name index len after removal');
305
+ db.remove('user', mrBlurp);
306
+ await db.drain();
307
+ equal((await db
308
+ .query('user', ids2)
309
+ .include('name', 'age', 'email')
310
+ .sort('name')
311
+ .get()).length, 15, 'Check name index len after removal (2)');
312
+ db.update('user', mrZ, {
313
+ email: '',
314
+ });
315
+ await db.drain();
316
+ equal((await db
317
+ .query('user', ids2)
318
+ .include('name', 'age', 'email')
319
+ .sort('email')
320
+ .get()).length, 15, 'Check email index len after removal (2)');
321
+ db.remove('user', mrZ);
322
+ await db.drain();
323
+ equal((await db
324
+ .query('user', ids2)
325
+ .include('name', 'age', 'email')
326
+ .sort('email')
327
+ .get()).length, 14, 'Check email index len after removal (3)');
328
+ });
329
+ await test('sort - from start (1M items)', async (t) => {
330
+ const db = new BasedDb({
331
+ path: t.tmp,
332
+ });
333
+ await db.start({ clean: true });
334
+ // db.blockSize = 1e5
335
+ await db.putSchema({
336
+ types: {
337
+ user: {
338
+ props: {
339
+ gender: { type: 'uint32' },
340
+ age: { type: 'uint32' },
341
+ name: { type: 'string' },
342
+ email: { type: 'string' },
343
+ },
344
+ },
345
+ },
346
+ });
347
+ db.create('user', {
348
+ name: 'mr blap',
349
+ age: 100,
350
+ email: 'blap@blap.blap.blap',
351
+ });
352
+ db.create('user', {
353
+ name: 'mr flap',
354
+ age: 50,
355
+ email: 'flap@flap.flap.flap',
356
+ });
357
+ for (let i = 0; i < 1000e3; i++) {
358
+ db.create('user', {
359
+ name: 'mr ' + i,
360
+ age: i + 101,
361
+ });
362
+ }
363
+ await db.drain();
364
+ deepEqual((await db.query('user').include('name').sort('age').range(0, 2).get()).toObject(), [
365
+ { id: 2, name: 'mr flap' },
366
+ { id: 1, name: 'mr blap' },
367
+ ]);
368
+ deepEqual((await db.query('user').include('name').sort('age').range(0, 2).get()).toObject(), [
369
+ { id: 2, name: 'mr flap' },
370
+ { id: 1, name: 'mr blap' },
371
+ ]);
372
+ deepEqual((await db.query('user').include('name').sort('name').range(0, 2).get()).toObject(), [
373
+ {
374
+ id: 3,
375
+ name: 'mr 0',
376
+ },
377
+ { id: 100003, name: 'mr 100000' },
378
+ ]);
379
+ await db.stop();
380
+ const newDb = new BasedDb({
381
+ path: t.tmp,
382
+ });
383
+ await newDb.start();
384
+ newDb.server.createSortIndex('user', 'age');
385
+ newDb.server.createSortIndex('user', 'name');
386
+ t.after(() => {
387
+ return newDb.destroy();
388
+ });
389
+ deepEqual((await newDb.query('user').include('name').sort('name').range(0, 2).get()).toObject(), [
390
+ {
391
+ id: 3,
392
+ name: 'mr 0',
393
+ },
394
+ {
395
+ id: 100003,
396
+ name: 'mr 100000',
397
+ },
398
+ ]);
399
+ newDb.server.destroySortIndex('user', 'age');
400
+ });
401
+ //# sourceMappingURL=sort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../test/sort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,IAAI,MAAM,kBAAkB,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAErD,MAAM,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC3B,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC;QACrB,IAAI,EAAE,CAAC,CAAC,GAAG;KACZ,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAE/B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACX,OAAO,EAAE,CAAC,OAAO,EAAE,CAAA;IACrB,CAAC,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,SAAS,CAAC;QACjB,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACxB;aACF;SACF;KACF,CAAC,CAAA;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;YAChB,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,CAAC,GAAG,CAAC;YACV,KAAK,EAAE,CAAC,GAAG,MAAM;SAClB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAC/B,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACtC,KAAK,CAAC,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,0CAA0C,CAAC,CAAA;IAEtE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAClB,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC3B,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACvD,KAAK,CACH,MAAM,GAAG,GAAG,EACZ,IAAI,EACJ,8DAA8D,CAC/D,CAAA;IAED,MAAM,CAAC,GAAG,MAAM,EAAE;SACf,KAAK,CAAC,MAAM,CAAC;SACb,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;SAC/B,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;SACb,IAAI,CAAC,OAAO,CAAC;SACb,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC;SAC7B,GAAG,EAAE;SACL,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IAE3B,SAAS,CACP,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EACT;QACE,EAAE,EAAE,MAAM;QACV,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,YAAY;KACpB,EACD,uBAAuB,CACxB,CAAA;IAED,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACd,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACvB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACvD,KAAK,CACH,MAAM,GAAG,GAAG,EACZ,IAAI,EACJ,6DAA6D,CAC9D,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,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,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAE/B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACX,OAAO,EAAE,CAAC,OAAO,EAAE,CAAA;IACrB,CAAC,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,SAAS,CAAC;QACjB,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACxB;aACF;SACF;KACF,CAAC,CAAA;IAEF,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QAChB,GAAG,EAAE,GAAG;QACR,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,qBAAqB;KAC7B,CAAC,CAAA;IAEF,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,EAAE;QACP,KAAK,EAAE,qBAAqB;KAC7B,CAAC,CAAA;IAEF,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,EAAE;QACP,KAAK,EAAE,yBAAyB;KACjC,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAEhB,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,qBAAqB;KAC7B,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAEhB,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QAC5B,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,OAAO;KACf,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAEhB,SAAS,CACP,CACE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CACzE,CAAC,QAAQ,EAAE,EACZ;QACE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;QACjD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;QACjD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,GAAG,EAAE,EAAE,EAAE;QACpD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAAE,EAAE;QAChD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KAClC,EACD,kBAAkB,CACnB,CAAA;IAED,SAAS,CACP,CACE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CACxE,CAAC,QAAQ,EAAE,EACZ;QACE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;QACjC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAAE,EAAE;QAChD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,GAAG,EAAE,EAAE,EAAE;QACpD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;QACjD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;KAClD,EACD,iBAAiB,CAClB,CAAA;IAED,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAEhB,SAAS,CACP,CACE,MAAM,EAAE;SACL,KAAK,CAAC,MAAM,CAAC;SACb,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC;SACvB,GAAG,EAAE;SACL,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAC5B,CAAC,QAAQ,EAAE,EACZ;QACE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;QACjD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAAE,EAAE;QAChD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;QACjD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,GAAG,EAAE,EAAE,EAAE;QACpD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KAClC,EACD,mBAAmB,CACpB,CAAA;IAED,SAAS,CACP,CACE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CAC3E,CAAC,QAAQ,EAAE,EACZ;QACE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;QACjD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAAE,EAAE;QAChD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;QACjD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,GAAG,EAAE,EAAE,EAAE;QACpD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KAClC,CAAC,OAAO,EAAE,EACX,oBAAoB,CACrB,CAAA;IAED,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QAC5B,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,OAAO;KACf,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAEhB,SAAS,CACP,CACE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CACnE,CAAC,QAAQ,EAAE,EACZ;QACE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;QACjD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAAE,EAAE;QAChD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;QACjD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,GAAG,EAAE,EAAE,EAAE;QACpD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE;QACnC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KAClC,EACD,oCAAoC,CACrC,CAAA;IAED,SAAS,CACP,CACE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CACjE,CAAC,QAAQ,EAAE,EACZ;QACE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;QACjC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAAE,EAAE;QAChD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,GAAG,EAAE,EAAE,EAAE;QACpD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;QACjD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;QACjD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE;KACpC,EACD,kCAAkC,CACnC,CAAA;IAED,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE;QACrB,KAAK,EAAE,UAAU;KAClB,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAEhB,SAAS,CACP,CACE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CACnE,CAAC,QAAQ,EAAE,EACZ;QACE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;QACjD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE;QACtC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAAE,EAAE;QAChD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;QACjD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,GAAG,EAAE,EAAE,EAAE;QACpD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KAClC,EACD,oCAAoC,CACrC,CAAA;IAED,EAAE,CAAC,MAAM,CACP,MAAM,EACN,GAAG,EACH;QACE,GAAG,EAAE,GAAG;KACT,EACD,IAAI,CACL,CAAA;IAED,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAEhB,SAAS,CACP,CACE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CACjE,CAAC,QAAQ,EAAE,EACZ;QACE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;QACjC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAAE,EAAE;QAChD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,GAAG,EAAE,EAAE,EAAE;QACpD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;QACjD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;QACjD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE;KACvC,EACD,0BAA0B,CAC3B,CAAA;IAED,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE;QACrB,GAAG,EAAE,CAAC;KACP,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAEhB,SAAS,CACP,CACE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CACjE,CAAC,QAAQ,EAAE,EACZ;QACE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE;QACpC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;QACjC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAAE,EAAE;QAChD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,GAAG,EAAE,EAAE,EAAE;QACpD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;QACjD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;KAClD,EACD,qBAAqB,CACtB,CAAA;IAED,SAAS,CACP,CACE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CACjE,CAAC,QAAQ,EAAE,EACZ;QACE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE;QACpC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;QACjC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAAE,EAAE;QAChD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,GAAG,EAAE,EAAE,EAAE;QACpD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;QACjD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE;KAClD,CACF,CAAA;IAED,MAAM,GAAG,GAAG,EAAE,CAAA;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACf,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;YAChB,IAAI,EAAE,KAAK,GAAG,CAAC;YACf,GAAG,EAAE,CAAC,GAAG,GAAG;YACZ,KAAK,EAAE,CAAC,GAAG,MAAM;SAClB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAEhB,SAAS,CACP,CACE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CACrE,CAAC,QAAQ,EAAE,EACZ;QACE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE;QAC/B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE;QAC/B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE;QACnC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE;QACpC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE;QACpC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE;QACpC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QACjC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QACjC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QACjC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;KACnC,EACD,kCAAkC,CACnC,CAAA;IAED,SAAS,CACP,CACE,MAAM,EAAE;SACL,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;SACtB,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;SACnB,GAAG,EAAE,CACT,CAAC,QAAQ,EAAE,EACZ;QACE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QAClC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QACjC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QACjC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QACjC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE;QACpC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE;QACpC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE;QACpC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE;QACnC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE;QAC/B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE;KAChC,EACD,mCAAmC,CACpC,CAAA;IAED,MAAM,IAAI,GAAG,EAAE,CAAA;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACd,CAAC;IAED,SAAS,CACP,CACE,MAAM,EAAE;SACL,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;SACnB,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;SACtB,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;SAClB,GAAG,EAAE,CACT,CAAC,QAAQ,EAAE,EACZ;QACE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE;QAC/B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE;QAC/B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE;QACnC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE;QACpC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE;QACpC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE;QACpC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QACjC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QACjC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QACjC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QAClC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QAClC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QAClC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QAClC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QAClC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QAClC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;KACnC,CACF,CAAA;IAED,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAEtB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAEhB,SAAS,CACP,CACE,MAAM,EAAE;SACL,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;SACnB,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;SACtB,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;SAClB,GAAG,EAAE,CACT,CAAC,QAAQ,EAAE,EACZ;QACE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE;QAC/B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE;QACnC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE;QACpC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE;QACpC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE;QACpC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QACjC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QACjC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QACjC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QAClC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QAClC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QAClC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QAClC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QAClC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;QAClC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;KACnC,CACF,CAAA;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QAChC,GAAG,EAAE,EAAE;KACR,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAEhB,KAAK,CACH,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAC3E,EAAE,EACF,kCAAkC,CACnC,CAAA;IAED,KAAK,CACH,CACE,MAAM,EAAE;SACL,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;SACnB,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;SAC/B,IAAI,CAAC,OAAO,CAAC;SACb,GAAG,EAAE,CACT,CAAC,MAAM,EACR,EAAE,EACF,qCAAqC,CACtC,CAAA;IAED,KAAK,CACH,CACE,MAAM,EAAE;SACL,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;SACnB,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;SAC/B,IAAI,CAAC,MAAM,CAAC;SACZ,GAAG,EAAE,CACT,CAAC,MAAM,EACR,EAAE,EACF,oCAAoC,CACrC,CAAA;IAED,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE1B,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAEhB,KAAK,CACH,CACE,MAAM,EAAE;SACL,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;SACnB,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;SAC/B,IAAI,CAAC,MAAM,CAAC;SACZ,GAAG,EAAE,CACT,CAAC,MAAM,EACR,EAAE,EACF,wCAAwC,CACzC,CAAA;IAED,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE;QACrB,KAAK,EAAE,EAAE;KACV,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAEhB,KAAK,CACH,CACE,MAAM,EAAE;SACL,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;SACnB,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;SAC/B,IAAI,CAAC,OAAO,CAAC;SACb,GAAG,EAAE,CACT,CAAC,MAAM,EACR,EAAE,EACF,yCAAyC,CAC1C,CAAA;IAED,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAEtB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAEhB,KAAK,CACH,CACE,MAAM,EAAE;SACL,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;SACnB,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;SAC/B,IAAI,CAAC,OAAO,CAAC;SACb,GAAG,EAAE,CACT,CAAC,MAAM,EACR,EAAE,EACF,yCAAyC,CAC1C,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,IAAI,CAAC,8BAA8B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACrD,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC;QACrB,IAAI,EAAE,CAAC,CAAC,GAAG;KACZ,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAE/B,qBAAqB;IAErB,MAAM,EAAE,CAAC,SAAS,CAAC;QACjB,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC1B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF;SACF;KACF,CAAC,CAAA;IAEF,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,qBAAqB;KAC7B,CAAC,CAAA;IAEF,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,EAAE;QACP,KAAK,EAAE,qBAAqB;KAC7B,CAAC,CAAA;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;YAChB,IAAI,EAAE,KAAK,GAAG,CAAC;YACf,GAAG,EAAE,CAAC,GAAG,GAAG;SACb,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAEhB,SAAS,CACP,CACE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CACrE,CAAC,QAAQ,EAAE,EACZ;QACE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;QAC1B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;KAC3B,CACF,CAAA;IAED,SAAS,CACP,CACE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CACrE,CAAC,QAAQ,EAAE,EACZ;QACE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;QAC1B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;KAC3B,CACF,CAAA;IAED,SAAS,CACP,CACE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CACtE,CAAC,QAAQ,EAAE,EACZ;QACE;YACE,EAAE,EAAE,CAAC;YACL,IAAI,EAAE,MAAM;SACb;QACD,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;KAClC,CACF,CAAA;IAED,MAAM,EAAE,CAAC,IAAI,EAAE,CAAA;IAEf,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC;QACxB,IAAI,EAAE,CAAC,CAAC,GAAG;KACZ,CAAC,CAAA;IAEF,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;IAEnB,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC3C,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5C,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACX,OAAO,KAAK,CAAC,OAAO,EAAE,CAAA;IACxB,CAAC,CAAC,CAAA;IAEF,SAAS,CACP,CACE,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CACzE,CAAC,QAAQ,EAAE,EACZ;QACE;YACE,EAAE,EAAE,CAAC;YACL,IAAI,EAAE,MAAM;SACb;QACD;YACE,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,WAAW;SAClB;KACF,CACF,CAAA;IAED,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAC9C,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};