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