@based/db 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) hide show
  1. package/basedDbNative.cjs +26 -0
  2. package/dist/lib/darwin_aarch64/libdeflate.dylib +0 -0
  3. package/dist/lib/darwin_aarch64/libjemalloc_selva.2.dylib +0 -0
  4. package/dist/lib/darwin_aarch64/libnode-v20.11.1.node +0 -0
  5. package/dist/lib/darwin_aarch64/{libnode-v22.13.1.node → libnode-v20.18.1.node} +0 -0
  6. package/dist/lib/darwin_aarch64/libnode-v22.13.0.node +0 -0
  7. package/dist/lib/darwin_aarch64/libnode-v22.8.0.node +0 -0
  8. package/dist/lib/darwin_aarch64/libselva.dylib +0 -0
  9. package/dist/lib/linux_aarch64/include/cdefs.h +317 -0
  10. package/dist/lib/linux_aarch64/include/jemalloc.h +468 -0
  11. package/dist/lib/linux_aarch64/include/libdeflate.h +322 -0
  12. package/dist/lib/linux_aarch64/include/libdeflate_strings.h +35 -0
  13. package/dist/lib/linux_aarch64/include/linker_set.h +109 -0
  14. package/dist/lib/linux_aarch64/include/queue.h +627 -0
  15. package/dist/lib/linux_aarch64/include/selva/_export.h +7 -0
  16. package/dist/lib/linux_aarch64/include/selva/align.h +9 -0
  17. package/dist/lib/linux_aarch64/include/selva/backoff_timeout.h +29 -0
  18. package/dist/lib/linux_aarch64/include/selva/base64.h +59 -0
  19. package/dist/lib/linux_aarch64/include/selva/base64url.h +59 -0
  20. package/dist/lib/linux_aarch64/include/selva/bitmap.h +95 -0
  21. package/dist/lib/linux_aarch64/include/selva/crc32c.h +17 -0
  22. package/dist/lib/linux_aarch64/include/selva/ctime.h +135 -0
  23. package/dist/lib/linux_aarch64/include/selva/db.h +284 -0
  24. package/dist/lib/linux_aarch64/include/selva/endian.h +301 -0
  25. package/dist/lib/linux_aarch64/include/selva/fast_linear_search.h +23 -0
  26. package/dist/lib/linux_aarch64/include/selva/fast_memmem.h +11 -0
  27. package/dist/lib/linux_aarch64/include/selva/fast_parsei.h +36 -0
  28. package/dist/lib/linux_aarch64/include/selva/fields.h +338 -0
  29. package/dist/lib/linux_aarch64/include/selva/find.h +47 -0
  30. package/dist/lib/linux_aarch64/include/selva/lpf.h +28 -0
  31. package/dist/lib/linux_aarch64/include/selva/node_id_set.h +43 -0
  32. package/dist/lib/linux_aarch64/include/selva/poptop.h +114 -0
  33. package/dist/lib/linux_aarch64/include/selva/queue_r.h +190 -0
  34. package/dist/lib/linux_aarch64/include/selva/selva_hash128.h +39 -0
  35. package/dist/lib/linux_aarch64/include/selva/selva_lang.h +105 -0
  36. package/dist/lib/linux_aarch64/include/selva/selva_math.h +37 -0
  37. package/dist/lib/linux_aarch64/include/selva/selva_string.h +674 -0
  38. package/dist/lib/linux_aarch64/include/selva/sort.h +119 -0
  39. package/dist/lib/linux_aarch64/include/selva/strsearch.h +43 -0
  40. package/dist/lib/linux_aarch64/include/selva/timestamp.h +25 -0
  41. package/dist/lib/linux_aarch64/include/selva/traverse.h +65 -0
  42. package/dist/lib/linux_aarch64/include/selva/types.h +110 -0
  43. package/dist/lib/linux_aarch64/include/selva/vector.h +14 -0
  44. package/dist/lib/linux_aarch64/include/selva/worker_ctx.h +13 -0
  45. package/dist/lib/linux_aarch64/include/selva_error.h +137 -0
  46. package/dist/lib/linux_aarch64/include/selva_lang_code.h +157 -0
  47. package/dist/lib/linux_aarch64/include/tree.h +852 -0
  48. package/dist/lib/linux_aarch64/libdeflate.so +0 -0
  49. package/dist/lib/linux_aarch64/libjemalloc_selva.so.2 +0 -0
  50. package/dist/lib/linux_aarch64/libnode-v20.11.1.node +0 -0
  51. package/dist/lib/linux_aarch64/libnode-v20.18.1.node +0 -0
  52. package/dist/lib/linux_aarch64/libnode-v22.13.0.node +0 -0
  53. package/dist/lib/linux_aarch64/libselva.so +0 -0
  54. package/dist/lib/linux_aarch64/libxxhash.so +0 -0
  55. package/dist/lib/linux_aarch64/libxxhash.so.0 +0 -0
  56. package/dist/lib/linux_aarch64/libxxhash.so.0.8.2 +0 -0
  57. package/dist/lib/linux_x86_64/include/cdefs.h +317 -0
  58. package/dist/lib/linux_x86_64/include/jemalloc.h +468 -0
  59. package/dist/lib/linux_x86_64/include/libdeflate.h +322 -0
  60. package/dist/lib/linux_x86_64/include/libdeflate_strings.h +35 -0
  61. package/dist/lib/linux_x86_64/include/linker_set.h +109 -0
  62. package/dist/lib/linux_x86_64/include/queue.h +627 -0
  63. package/dist/lib/linux_x86_64/include/selva/_export.h +7 -0
  64. package/dist/lib/linux_x86_64/include/selva/align.h +9 -0
  65. package/dist/lib/linux_x86_64/include/selva/backoff_timeout.h +29 -0
  66. package/dist/lib/linux_x86_64/include/selva/base64.h +59 -0
  67. package/dist/lib/linux_x86_64/include/selva/base64url.h +59 -0
  68. package/dist/lib/linux_x86_64/include/selva/bitmap.h +95 -0
  69. package/dist/lib/linux_x86_64/include/selva/crc32c.h +17 -0
  70. package/dist/lib/linux_x86_64/include/selva/ctime.h +135 -0
  71. package/dist/lib/linux_x86_64/include/selva/db.h +284 -0
  72. package/dist/lib/linux_x86_64/include/selva/endian.h +301 -0
  73. package/dist/lib/linux_x86_64/include/selva/fast_linear_search.h +23 -0
  74. package/dist/lib/linux_x86_64/include/selva/fast_memmem.h +11 -0
  75. package/dist/lib/linux_x86_64/include/selva/fast_parsei.h +36 -0
  76. package/dist/lib/linux_x86_64/include/selva/fields.h +338 -0
  77. package/dist/lib/linux_x86_64/include/selva/find.h +47 -0
  78. package/dist/lib/linux_x86_64/include/selva/lpf.h +28 -0
  79. package/dist/lib/linux_x86_64/include/selva/node_id_set.h +43 -0
  80. package/dist/lib/linux_x86_64/include/selva/poptop.h +114 -0
  81. package/dist/lib/linux_x86_64/include/selva/queue_r.h +190 -0
  82. package/dist/lib/linux_x86_64/include/selva/selva_hash128.h +39 -0
  83. package/dist/lib/linux_x86_64/include/selva/selva_lang.h +105 -0
  84. package/dist/lib/linux_x86_64/include/selva/selva_math.h +37 -0
  85. package/dist/lib/linux_x86_64/include/selva/selva_string.h +674 -0
  86. package/dist/lib/linux_x86_64/include/selva/sort.h +119 -0
  87. package/dist/lib/linux_x86_64/include/selva/strsearch.h +43 -0
  88. package/dist/lib/linux_x86_64/include/selva/timestamp.h +25 -0
  89. package/dist/lib/linux_x86_64/include/selva/traverse.h +65 -0
  90. package/dist/lib/linux_x86_64/include/selva/types.h +110 -0
  91. package/dist/lib/linux_x86_64/include/selva/vector.h +14 -0
  92. package/dist/lib/linux_x86_64/include/selva/worker_ctx.h +13 -0
  93. package/dist/lib/linux_x86_64/include/selva_error.h +137 -0
  94. package/dist/lib/linux_x86_64/include/selva_lang_code.h +157 -0
  95. package/dist/lib/linux_x86_64/include/tree.h +852 -0
  96. package/dist/lib/linux_x86_64/libdeflate.so +0 -0
  97. package/dist/lib/linux_x86_64/libjemalloc_selva.so.2 +0 -0
  98. package/dist/lib/linux_x86_64/libnode-v20.11.1.node +0 -0
  99. package/dist/lib/linux_x86_64/libnode-v20.18.1.node +0 -0
  100. package/dist/lib/linux_x86_64/libnode-v22.13.0.node +0 -0
  101. package/dist/lib/linux_x86_64/libselva.so +0 -0
  102. package/dist/lib/linux_x86_64/libxxhash.so +0 -0
  103. package/dist/lib/linux_x86_64/libxxhash.so.0 +0 -0
  104. package/dist/lib/linux_x86_64/libxxhash.so.0.8.2 +0 -0
  105. package/package.json +6 -5
  106. package/dist/src/client/bitWise.js.map +0 -1
  107. package/dist/src/client/crc32.js.map +0 -1
  108. package/dist/src/client/index.js.map +0 -1
  109. package/dist/src/client/modify/ModifyRes.js.map +0 -1
  110. package/dist/src/client/modify/alias.js.map +0 -1
  111. package/dist/src/client/modify/binary.js.map +0 -1
  112. package/dist/src/client/modify/create.js.map +0 -1
  113. package/dist/src/client/modify/fixed.js.map +0 -1
  114. package/dist/src/client/modify/hll.js.map +0 -1
  115. package/dist/src/client/modify/index.js.map +0 -1
  116. package/dist/src/client/modify/modify.js.map +0 -1
  117. package/dist/src/client/modify/references/edge.js.map +0 -1
  118. package/dist/src/client/modify/references/reference.js.map +0 -1
  119. package/dist/src/client/modify/references/references.js.map +0 -1
  120. package/dist/src/client/modify/remove.js.map +0 -1
  121. package/dist/src/client/modify/setCursor.js.map +0 -1
  122. package/dist/src/client/modify/string.js.map +0 -1
  123. package/dist/src/client/modify/text.js.map +0 -1
  124. package/dist/src/client/modify/types.js.map +0 -1
  125. package/dist/src/client/modify/update.js.map +0 -1
  126. package/dist/src/client/modify/upsert.js.map +0 -1
  127. package/dist/src/client/modify/vector.js.map +0 -1
  128. package/dist/src/client/operations.js.map +0 -1
  129. package/dist/src/client/query/BasedDbQuery.js.map +0 -1
  130. package/dist/src/client/query/BasedIterable.js.map +0 -1
  131. package/dist/src/client/query/debug.js.map +0 -1
  132. package/dist/src/client/query/display.js.map +0 -1
  133. package/dist/src/client/query/filter/FilterBranch.js.map +0 -1
  134. package/dist/src/client/query/filter/createFixedFilterBuffer.js.map +0 -1
  135. package/dist/src/client/query/filter/createReferenceFilter.js.map +0 -1
  136. package/dist/src/client/query/filter/createVariableFilterBuffer.js.map +0 -1
  137. package/dist/src/client/query/filter/filter.js.map +0 -1
  138. package/dist/src/client/query/filter/operators.js.map +0 -1
  139. package/dist/src/client/query/filter/parseFilterValue.js.map +0 -1
  140. package/dist/src/client/query/filter/primitiveFilter.js.map +0 -1
  141. package/dist/src/client/query/filter/toBuffer.js.map +0 -1
  142. package/dist/src/client/query/filter/types.js.map +0 -1
  143. package/dist/src/client/query/include/props.js.map +0 -1
  144. package/dist/src/client/query/include/toBuffer.js.map +0 -1
  145. package/dist/src/client/query/include/utils.js.map +0 -1
  146. package/dist/src/client/query/include/walk.js.map +0 -1
  147. package/dist/src/client/query/query.js.map +0 -1
  148. package/dist/src/client/query/queryDef.js.map +0 -1
  149. package/dist/src/client/query/read/read.js.map +0 -1
  150. package/dist/src/client/query/registerQuery.js.map +0 -1
  151. package/dist/src/client/query/search/index.js.map +0 -1
  152. package/dist/src/client/query/sort.js.map +0 -1
  153. package/dist/src/client/query/subscription/index.js.map +0 -1
  154. package/dist/src/client/query/subscription/markers.js.map +0 -1
  155. package/dist/src/client/query/subscription/run.js.map +0 -1
  156. package/dist/src/client/query/subscription/types.js.map +0 -1
  157. package/dist/src/client/query/thresholds.js.map +0 -1
  158. package/dist/src/client/query/toBuffer.js.map +0 -1
  159. package/dist/src/client/query/types.js.map +0 -1
  160. package/dist/src/client/query/validation.js.map +0 -1
  161. package/dist/src/client/string.js.map +0 -1
  162. package/dist/src/client/tree.js.map +0 -1
  163. package/dist/src/index.js.map +0 -1
  164. package/dist/src/native.js.map +0 -1
  165. package/dist/src/server/csmt/draw-dot.js.map +0 -1
  166. package/dist/src/server/csmt/index.js.map +0 -1
  167. package/dist/src/server/csmt/match.js.map +0 -1
  168. package/dist/src/server/csmt/memebership-proof.js.map +0 -1
  169. package/dist/src/server/csmt/tree-utils.js.map +0 -1
  170. package/dist/src/server/csmt/tree.js.map +0 -1
  171. package/dist/src/server/csmt/types.js.map +0 -1
  172. package/dist/src/server/index.js.map +0 -1
  173. package/dist/src/server/migrate/index.js.map +0 -1
  174. package/dist/src/server/migrate/worker.js.map +0 -1
  175. package/dist/src/server/save.js.map +0 -1
  176. package/dist/src/server/schema/schema.js.map +0 -1
  177. package/dist/src/server/schema/selvaBuffer.js.map +0 -1
  178. package/dist/src/server/schema/typeDef.js.map +0 -1
  179. package/dist/src/server/schema/types.js.map +0 -1
  180. package/dist/src/server/schema/utils.js.map +0 -1
  181. package/dist/src/server/start.js.map +0 -1
  182. package/dist/src/server/tree.js.map +0 -1
  183. package/dist/src/server/worker.js.map +0 -1
  184. package/dist/test/alias.d.ts +0 -1
  185. package/dist/test/alias.js +0 -232
  186. package/dist/test/alias.js.map +0 -1
  187. package/dist/test/binary.d.ts +0 -1
  188. package/dist/test/binary.js +0 -45
  189. package/dist/test/binary.js.map +0 -1
  190. package/dist/test/boolean.d.ts +0 -1
  191. package/dist/test/boolean.js +0 -43
  192. package/dist/test/boolean.js.map +0 -1
  193. package/dist/test/clientServer.d.ts +0 -1
  194. package/dist/test/clientServer.js +0 -64
  195. package/dist/test/clientServer.js.map +0 -1
  196. package/dist/test/concurrency.d.ts +0 -1
  197. package/dist/test/concurrency.js +0 -61
  198. package/dist/test/concurrency.js.map +0 -1
  199. package/dist/test/csmt.d.ts +0 -1
  200. package/dist/test/csmt.js +0 -365
  201. package/dist/test/csmt.js.map +0 -1
  202. package/dist/test/edges.d.ts +0 -1
  203. package/dist/test/edges.js +0 -295
  204. package/dist/test/edges.js.map +0 -1
  205. package/dist/test/edgesReference.d.ts +0 -1
  206. package/dist/test/edgesReference.js +0 -179
  207. package/dist/test/edgesReference.js.map +0 -1
  208. package/dist/test/edgesReferences.d.ts +0 -1
  209. package/dist/test/edgesReferences.js +0 -472
  210. package/dist/test/edgesReferences.js.map +0 -1
  211. package/dist/test/enum.d.ts +0 -1
  212. package/dist/test/enum.js +0 -44
  213. package/dist/test/enum.js.map +0 -1
  214. package/dist/test/filter.d.ts +0 -1
  215. package/dist/test/filter.js +0 -512
  216. package/dist/test/filter.js.map +0 -1
  217. package/dist/test/filterString.d.ts +0 -1
  218. package/dist/test/filterString.js +0 -482
  219. package/dist/test/filterString.js.map +0 -1
  220. package/dist/test/flush.d.ts +0 -1
  221. package/dist/test/flush.js +0 -44
  222. package/dist/test/flush.js.map +0 -1
  223. package/dist/test/hll.d.ts +0 -1
  224. package/dist/test/hll.js +0 -32
  225. package/dist/test/hll.js.map +0 -1
  226. package/dist/test/migration.d.ts +0 -1
  227. package/dist/test/migration.js +0 -112
  228. package/dist/test/migration.js.map +0 -1
  229. package/dist/test/number.d.ts +0 -1
  230. package/dist/test/number.js +0 -172
  231. package/dist/test/number.js.map +0 -1
  232. package/dist/test/range.d.ts +0 -1
  233. package/dist/test/range.js +0 -70
  234. package/dist/test/range.js.map +0 -1
  235. package/dist/test/references.d.ts +0 -1
  236. package/dist/test/references.js +0 -350
  237. package/dist/test/references.js.map +0 -1
  238. package/dist/test/referencesIndex.d.ts +0 -1
  239. package/dist/test/referencesIndex.js +0 -151
  240. package/dist/test/referencesIndex.js.map +0 -1
  241. package/dist/test/referencesModify.d.ts +0 -1
  242. package/dist/test/referencesModify.js +0 -79
  243. package/dist/test/referencesModify.js.map +0 -1
  244. package/dist/test/remove.d.ts +0 -1
  245. package/dist/test/remove.js +0 -61
  246. package/dist/test/remove.js.map +0 -1
  247. package/dist/test/rootProps.d.ts +0 -1
  248. package/dist/test/rootProps.js +0 -53
  249. package/dist/test/rootProps.js.map +0 -1
  250. package/dist/test/save.d.ts +0 -1
  251. package/dist/test/save.js +0 -43
  252. package/dist/test/save.js.map +0 -1
  253. package/dist/test/saveRange.d.ts +0 -1
  254. package/dist/test/saveRange.js +0 -230
  255. package/dist/test/saveRange.js.map +0 -1
  256. package/dist/test/search.d.ts +0 -1
  257. package/dist/test/search.js +0 -322
  258. package/dist/test/search.js.map +0 -1
  259. package/dist/test/shared/assert.d.ts +0 -5
  260. package/dist/test/shared/assert.js +0 -75
  261. package/dist/test/shared/assert.js.map +0 -1
  262. package/dist/test/shared/examples.d.ts +0 -6
  263. package/dist/test/shared/examples.js +0 -1323
  264. package/dist/test/shared/examples.js.map +0 -1
  265. package/dist/test/shared/playground.d.ts +0 -1
  266. package/dist/test/shared/playground.js +0 -250
  267. package/dist/test/shared/playground.js.map +0 -1
  268. package/dist/test/shared/test.d.ts +0 -11
  269. package/dist/test/shared/test.js +0 -112
  270. package/dist/test/shared/test.js.map +0 -1
  271. package/dist/test/shared/worker.d.ts +0 -1
  272. package/dist/test/shared/worker.js +0 -127
  273. package/dist/test/shared/worker.js.map +0 -1
  274. package/dist/test/simpleQuery.d.ts +0 -1
  275. package/dist/test/simpleQuery.js +0 -43
  276. package/dist/test/simpleQuery.js.map +0 -1
  277. package/dist/test/singleRef.d.ts +0 -1
  278. package/dist/test/singleRef.js +0 -572
  279. package/dist/test/singleRef.js.map +0 -1
  280. package/dist/test/singleRefQuery.d.ts +0 -1
  281. package/dist/test/singleRefQuery.js +0 -136
  282. package/dist/test/singleRefQuery.js.map +0 -1
  283. package/dist/test/sort.d.ts +0 -1
  284. package/dist/test/sort.js +0 -401
  285. package/dist/test/sort.js.map +0 -1
  286. package/dist/test/sortIds.d.ts +0 -1
  287. package/dist/test/sortIds.js +0 -104
  288. package/dist/test/sortIds.js.map +0 -1
  289. package/dist/test/sortNumber.d.ts +0 -1
  290. package/dist/test/sortNumber.js +0 -76
  291. package/dist/test/sortNumber.js.map +0 -1
  292. package/dist/test/sortString.d.ts +0 -1
  293. package/dist/test/sortString.js +0 -118
  294. package/dist/test/sortString.js.map +0 -1
  295. package/dist/test/string.d.ts +0 -1
  296. package/dist/test/string.js +0 -310
  297. package/dist/test/string.js.map +0 -1
  298. package/dist/test/subscription.d.ts +0 -1
  299. package/dist/test/subscription.js +0 -336
  300. package/dist/test/subscription.js.map +0 -1
  301. package/dist/test/text.d.ts +0 -1
  302. package/dist/test/text.js +0 -87
  303. package/dist/test/text.js.map +0 -1
  304. package/dist/test/timestamp.d.ts +0 -1
  305. package/dist/test/timestamp.js +0 -50
  306. package/dist/test/timestamp.js.map +0 -1
  307. package/dist/test/update.d.ts +0 -1
  308. package/dist/test/update.js +0 -223
  309. package/dist/test/update.js.map +0 -1
  310. package/dist/test/validation.d.ts +0 -1
  311. package/dist/test/validation.js +0 -90
  312. package/dist/test/validation.js.map +0 -1
  313. package/dist/test/vector.d.ts +0 -1
  314. package/dist/test/vector.js +0 -47
  315. package/dist/test/vector.js.map +0 -1
@@ -1,350 +0,0 @@
1
- import { BasedDb } from '../src/index.js';
2
- import test from './shared/test.js';
3
- import { deepEqual } from './shared/assert.js';
4
- await test('references', 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
- flap: 'uint32',
17
- name: 'string',
18
- articles: {
19
- items: {
20
- ref: 'article',
21
- prop: 'contributors',
22
- },
23
- },
24
- },
25
- },
26
- article: {
27
- props: {
28
- name: 'string',
29
- contributors: {
30
- items: {
31
- ref: 'user',
32
- prop: 'articles',
33
- },
34
- },
35
- },
36
- },
37
- },
38
- });
39
- const mrSnurp = db.create('user', {
40
- name: 'Mr snurp',
41
- flap: 10,
42
- });
43
- const flippie = db.create('user', {
44
- name: 'Flippie',
45
- flap: 20,
46
- });
47
- await db.drain();
48
- const strudelArticle = db.create('article', {
49
- name: 'The wonders of Strudel',
50
- contributors: [mrSnurp],
51
- });
52
- const piArticle = db.create('article', {
53
- name: 'Apple Pie is a Lie',
54
- contributors: [mrSnurp, flippie],
55
- });
56
- await db.drain();
57
- deepEqual((await db.query('article').include('contributors.name').get()).toObject(), [
58
- {
59
- id: strudelArticle.tmpId,
60
- contributors: [{ id: mrSnurp.tmpId, name: 'Mr snurp' }],
61
- },
62
- {
63
- id: piArticle.tmpId,
64
- contributors: [
65
- { id: mrSnurp.tmpId, name: 'Mr snurp' },
66
- { id: flippie.tmpId, name: 'Flippie' },
67
- ],
68
- },
69
- ]);
70
- deepEqual((await db.query('user').include('articles.name').get()).toObject(), [
71
- {
72
- id: 1,
73
- articles: [
74
- { id: 1, name: 'The wonders of Strudel' },
75
- { id: 2, name: 'Apple Pie is a Lie' },
76
- ],
77
- },
78
- { id: 2, articles: [{ id: 2, name: 'Apple Pie is a Lie' }] },
79
- ]);
80
- });
81
- await test('one to many', async (t) => {
82
- const db = new BasedDb({
83
- path: t.tmp,
84
- });
85
- await db.start({ clean: true });
86
- t.after(() => {
87
- return db.destroy();
88
- });
89
- await db.putSchema({
90
- types: {
91
- user: {
92
- props: {
93
- uid: { type: 'uint32' },
94
- name: { type: 'string' },
95
- resources: {
96
- items: {
97
- ref: 'resource',
98
- prop: 'owner',
99
- },
100
- },
101
- },
102
- },
103
- resource: {
104
- props: {
105
- type: { type: 'uint32' },
106
- name: { type: 'string' },
107
- owner: {
108
- ref: 'user',
109
- prop: 'resources',
110
- },
111
- },
112
- },
113
- },
114
- });
115
- const ownerId = db.create('user', {
116
- uid: 10,
117
- name: 'toor',
118
- });
119
- await db.drain();
120
- for (let i = 0; i < 4; i++) {
121
- db.create('resource', {
122
- type: i % 2,
123
- name: `thing ${i}`,
124
- owner: ownerId,
125
- });
126
- }
127
- await db.drain();
128
- deepEqual((await db.query('user').include('resources').get()).toObject(), [
129
- {
130
- id: 1,
131
- resources: [
132
- {
133
- id: 1,
134
- type: 0,
135
- name: 'thing 0',
136
- },
137
- {
138
- id: 2,
139
- type: 1,
140
- name: 'thing 1',
141
- },
142
- {
143
- id: 3,
144
- type: 0,
145
- name: 'thing 2',
146
- },
147
- {
148
- id: 4,
149
- type: 1,
150
- name: 'thing 3',
151
- },
152
- ],
153
- },
154
- ]);
155
- deepEqual((await db.query('user').include('resources.name').get()).toObject(), [
156
- {
157
- id: 1,
158
- resources: [
159
- {
160
- id: 1,
161
- name: 'thing 0',
162
- },
163
- {
164
- id: 2,
165
- name: 'thing 1',
166
- },
167
- {
168
- id: 3,
169
- name: 'thing 2',
170
- },
171
- {
172
- id: 4,
173
- name: 'thing 3',
174
- },
175
- ],
176
- },
177
- ]);
178
- });
179
- await test('update', async (t) => {
180
- const db = new BasedDb({
181
- path: t.tmp,
182
- });
183
- await db.start({ clean: true });
184
- t.after(() => {
185
- return db.destroy();
186
- });
187
- await db.putSchema({
188
- types: {
189
- user: {
190
- props: {
191
- flap: { type: 'uint32' },
192
- name: { type: 'string' },
193
- articles: {
194
- items: {
195
- ref: 'article',
196
- prop: 'contributors',
197
- },
198
- },
199
- },
200
- },
201
- article: {
202
- props: {
203
- name: { type: 'string' },
204
- contributors: {
205
- items: {
206
- ref: 'user',
207
- prop: 'articles',
208
- },
209
- },
210
- },
211
- },
212
- },
213
- });
214
- const mrSnurp = db.create('user', {
215
- name: 'Mr snurp',
216
- flap: 10,
217
- });
218
- const flippie = db.create('user', {
219
- name: 'Flippie',
220
- flap: 20,
221
- });
222
- await db.drain();
223
- const strudelArticle = db.create('article', {
224
- name: 'The wonders of Strudel',
225
- contributors: [mrSnurp],
226
- });
227
- await db.drain();
228
- db.update('article', strudelArticle, {
229
- contributors: [flippie],
230
- });
231
- await db.drain();
232
- deepEqual((await db.query('article').include('contributors.name').get()).toObject(), [
233
- {
234
- id: 1,
235
- contributors: [
236
- {
237
- name: 'Flippie',
238
- id: +flippie,
239
- },
240
- ],
241
- },
242
- ]);
243
- });
244
- await test('filter', async (t) => {
245
- const db = new BasedDb({
246
- path: t.tmp,
247
- });
248
- await db.start({ clean: true });
249
- t.after(() => {
250
- return db.destroy();
251
- });
252
- await db.putSchema({
253
- types: {
254
- user: {
255
- props: {
256
- flap: { type: 'uint32' },
257
- name: { type: 'string' },
258
- articles: {
259
- items: {
260
- ref: 'article',
261
- prop: 'contributors',
262
- },
263
- },
264
- },
265
- },
266
- article: {
267
- props: {
268
- name: { type: 'string' },
269
- contributors: {
270
- items: {
271
- ref: 'user',
272
- prop: 'articles',
273
- },
274
- },
275
- },
276
- },
277
- },
278
- });
279
- const mrSnurp = db.create('user', {
280
- name: 'Mr snurp',
281
- flap: 10,
282
- });
283
- const flippie = db.create('user', {
284
- name: 'Flippie',
285
- flap: 20,
286
- });
287
- const derpie = db.create('user', {
288
- name: 'Derpie',
289
- flap: 30,
290
- });
291
- const dinkelDoink = db.create('user', {
292
- name: 'Dinkel Doink',
293
- flap: 40,
294
- });
295
- await db.drain();
296
- const strudelArticle = db.create('article', {
297
- name: 'The wonders of Strudel',
298
- contributors: [mrSnurp, flippie, derpie, dinkelDoink],
299
- });
300
- await db.drain();
301
- deepEqual((await db.query('article', strudelArticle).include('contributors').get()).toObject(), {
302
- id: 1,
303
- contributors: [
304
- { id: 1, flap: 10, name: 'Mr snurp' },
305
- { id: 2, flap: 20, name: 'Flippie' },
306
- { id: 3, flap: 30, name: 'Derpie' },
307
- { id: 4, flap: 40, name: 'Dinkel Doink' },
308
- ],
309
- }, 'Get reference one get by id');
310
- deepEqual((await db
311
- .query('article', strudelArticle)
312
- .include((q) => q('contributors').include('name').filter('flap', '>', 25))
313
- .get()).toObject(), {
314
- id: 1,
315
- contributors: [
316
- { id: 3, name: 'Derpie' },
317
- { id: 4, name: 'Dinkel Doink' },
318
- ],
319
- }, 'Filter references');
320
- deepEqual((await db
321
- .query('article', strudelArticle)
322
- .include((q) => {
323
- q('contributors').include('flap');
324
- q('contributors').include('name');
325
- q('contributors').filter('flap', '>', 25);
326
- q('contributors').filter('flap', '<', 35);
327
- })
328
- .get()).toObject(), {
329
- id: 1,
330
- contributors: [{ id: 3, name: 'Derpie', flap: 30 }],
331
- }, 'Filter references multi select');
332
- deepEqual((await db
333
- .query('article', strudelArticle)
334
- .include((select) => {
335
- select('contributors')
336
- .include('name')
337
- .include('flap')
338
- .filter('flap', '>', 25)
339
- .sort('flap', 'desc');
340
- })
341
- .get()).toObject(), {
342
- id: 1,
343
- contributors: [
344
- { id: 4, name: 'Dinkel Doink', flap: 40 },
345
- { id: 3, name: 'Derpie', flap: 30 },
346
- ],
347
- }, 'Filter references and sort');
348
- deepEqual((await db.query('article').include('name', 'contributors[0].name').get()).toObject(), [{ id: 1, name: 'The wonders of Strudel' }], 'Access rederences by using an array index');
349
- });
350
- //# sourceMappingURL=references.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"references.js","sourceRoot":"","sources":["../../test/references.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,151 +0,0 @@
1
- import { BasedDb } from '../src/index.js';
2
- import test from './shared/test.js';
3
- import { deepEqual } from './shared/assert.js';
4
- await test('references modify', 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
- name: 'string',
17
- friends: {
18
- items: {
19
- ref: 'user',
20
- prop: 'friends',
21
- },
22
- },
23
- },
24
- },
25
- },
26
- });
27
- const bob = db.create('user', {
28
- name: 'bob',
29
- });
30
- const marie = db.create('user', {
31
- name: 'marie',
32
- });
33
- const john = db.create('user', {
34
- name: 'john',
35
- friends: [bob, marie],
36
- });
37
- await db.drain();
38
- deepEqual((await db.query('user', john).include('*', 'friends').get()).toObject(), {
39
- id: 3,
40
- name: 'john',
41
- friends: [
42
- { id: 1, name: 'bob' },
43
- { id: 2, name: 'marie' },
44
- ],
45
- });
46
- await db.update('user', john, {
47
- friends: {
48
- add: [
49
- {
50
- id: bob,
51
- $index: -1,
52
- },
53
- ],
54
- },
55
- });
56
- deepEqual((await db.query('user', john).include('*', 'friends').get()).toObject(), {
57
- id: 3,
58
- name: 'john',
59
- friends: [
60
- { id: 2, name: 'marie' },
61
- { id: 1, name: 'bob' },
62
- ],
63
- });
64
- const billy = db.create('user', {
65
- name: 'billy',
66
- });
67
- await db.update('user', john, {
68
- friends: {
69
- add: [
70
- {
71
- id: billy,
72
- $index: 0,
73
- },
74
- ],
75
- },
76
- });
77
- deepEqual((await db.query('user', john).include('*', 'friends').get()).toObject(), {
78
- id: 3,
79
- name: 'john',
80
- friends: [
81
- { id: 4, name: 'billy' },
82
- { id: 2, name: 'marie' },
83
- { id: 1, name: 'bob' },
84
- ],
85
- });
86
- const malcolm = db.create('user', {
87
- name: 'malcolm',
88
- });
89
- await db.update('user', john, {
90
- friends: {
91
- add: [
92
- {
93
- id: malcolm,
94
- $index: 2,
95
- },
96
- ],
97
- },
98
- });
99
- deepEqual((await db.query('user', john).include('*', 'friends').get()).toObject(), {
100
- id: 3,
101
- name: 'john',
102
- friends: [
103
- { id: 4, name: 'billy' },
104
- { id: 2, name: 'marie' },
105
- { id: 5, name: 'malcolm' },
106
- { id: 1, name: 'bob' },
107
- ],
108
- });
109
- await db.update('user', john, {
110
- friends: {
111
- add: [
112
- {
113
- id: malcolm,
114
- $index: -1,
115
- },
116
- ],
117
- },
118
- });
119
- deepEqual((await db.query('user', john).include('*', 'friends').get()).toObject(), {
120
- id: 3,
121
- name: 'john',
122
- friends: [
123
- { id: 4, name: 'billy' },
124
- { id: 2, name: 'marie' },
125
- { id: 1, name: 'bob' },
126
- { id: 5, name: 'malcolm' },
127
- ],
128
- });
129
- await db.update('user', john, {
130
- friends: {
131
- delete: [marie, malcolm],
132
- },
133
- });
134
- deepEqual((await db.query('user', john).include('*', 'friends').get()).toObject(), {
135
- id: 3,
136
- name: 'john',
137
- friends: [
138
- { id: 4, name: 'billy' },
139
- { id: 1, name: 'bob' },
140
- ],
141
- });
142
- await db.update('user', john, {
143
- friends: null,
144
- });
145
- deepEqual((await db.query('user', john).include('*', 'friends').get()).toObject(), {
146
- id: 3,
147
- name: 'john',
148
- friends: [],
149
- });
150
- });
151
- //# sourceMappingURL=referencesIndex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"referencesIndex.js","sourceRoot":"","sources":["../../test/referencesIndex.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,79 +0,0 @@
1
- import { BasedDb } from '../src/index.js';
2
- import test from './shared/test.js';
3
- import { deepEqual } from './shared/assert.js';
4
- await test('references modify', 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
- name: 'string',
17
- friends: {
18
- items: {
19
- ref: 'user',
20
- prop: 'friends',
21
- },
22
- },
23
- },
24
- },
25
- },
26
- });
27
- const bob = db.create('user', {
28
- name: 'bob',
29
- });
30
- await db.drain();
31
- const marie = db.create('user', {
32
- name: 'marie',
33
- });
34
- await db.drain();
35
- const john = db.create('user', {
36
- name: 'john',
37
- friends: [bob],
38
- });
39
- await db.drain();
40
- await db.update('user', john, {
41
- friends: {
42
- delete: [bob],
43
- add: [marie],
44
- },
45
- });
46
- await db.drain();
47
- deepEqual((await db.query('user').include('*', 'friends').get()).toObject(), [
48
- { id: 1, name: 'bob', friends: [] },
49
- { id: 2, name: 'marie', friends: [{ id: 3, name: 'john' }] },
50
- { id: 3, name: 'john', friends: [{ id: 2, name: 'marie' }] },
51
- ], 'add/delete');
52
- await db.update('user', john, {
53
- friends: {
54
- add: [bob],
55
- },
56
- });
57
- await db.drain();
58
- deepEqual((await db.query('user').include('*', 'friends').get()).toObject(), [
59
- { id: 1, name: 'bob', friends: [{ id: 3, name: 'john' }] },
60
- { id: 2, name: 'marie', friends: [{ id: 3, name: 'john' }] },
61
- {
62
- id: 3,
63
- name: 'john',
64
- friends: [
65
- { id: 2, name: 'marie' },
66
- { id: 1, name: 'bob' },
67
- ],
68
- },
69
- ], 'add');
70
- await db.update('user', john, {
71
- friends: null,
72
- });
73
- deepEqual((await db.query('user').include('*', 'friends').get()).toObject(), [
74
- { id: 1, name: 'bob', friends: [] },
75
- { id: 2, name: 'marie', friends: [] },
76
- { id: 3, name: 'john', friends: [] },
77
- ], 'delete');
78
- });
79
- //# sourceMappingURL=referencesModify.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"referencesModify.js","sourceRoot":"","sources":["../../test/referencesModify.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,61 +0,0 @@
1
- import { BasedDb } from '../src/index.js';
2
- import test from './shared/test.js';
3
- import { deepEqual } from './shared/assert.js';
4
- await test('remove', 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
- nurp: {
15
- props: {
16
- email: { type: 'string' },
17
- },
18
- },
19
- user: {
20
- props: {
21
- name: { type: 'string' },
22
- age: { type: 'uint32' },
23
- email: { type: 'string' },
24
- },
25
- },
26
- },
27
- });
28
- const simple = db.create('user', {
29
- name: 'mr snurp',
30
- age: 99,
31
- email: 'snurp@snurp.snurp',
32
- });
33
- await db.drain();
34
- db.remove('user', simple);
35
- await db.drain();
36
- deepEqual((await db.query('user').get()).toObject(), []);
37
- const nurp = db.create('nurp', {});
38
- await db.drain();
39
- deepEqual((await db.query('nurp').include('email').get()).toObject(), [
40
- {
41
- email: '',
42
- id: 1,
43
- },
44
- ]);
45
- db.remove('nurp', nurp);
46
- await db.drain();
47
- deepEqual((await db.query('user').include('email').get()).toObject(), []);
48
- const nurp2 = db.create('nurp', { email: 'flippie' });
49
- await db.drain();
50
- db.update('nurp', nurp2, {
51
- email: null,
52
- });
53
- await db.drain();
54
- deepEqual((await db.query('nurp').include('email').get()).toObject(), [
55
- {
56
- email: '',
57
- id: 2,
58
- },
59
- ]);
60
- });
61
- //# sourceMappingURL=remove.js.map