tbdb 0.0.9 → 0.0.10
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/index.d.ts +1 -1
- package/dist/index.js +15 -8
- package/package.json +2 -1
package/dist/index.d.ts
CHANGED
|
@@ -4,4 +4,4 @@ export { SQLiteAdapter } from "./adapter/SQLite";
|
|
|
4
4
|
export { MongoDBAdapter } from "./adapter/MongoDB";
|
|
5
5
|
export { defineGlobalDBAdapter } from "./core/defineTable";
|
|
6
6
|
export { TableTree } from "./extension/tree";
|
|
7
|
-
export { TableJSON } from "fzz
|
|
7
|
+
export { TableJSON } from "fzz";
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import { EventHub, UID, dtoExtractMeta, eventDefineToEnum, useOfArgs } from "fzz";
|
|
1
|
+
import { EventHub, TableJSON, UID, dtoExtractMeta, eventDefineToEnum, isPlainObject as external_fzz_isPlainObject, useOfArgs } from "fzz";
|
|
2
2
|
import "stream";
|
|
3
3
|
import { createRequire as external_module_createRequire } from "module";
|
|
4
4
|
import { existsSync, mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "fs";
|
|
5
5
|
import { dirname, resolve } from "path";
|
|
6
|
-
import { compress as external_zstd_napi_compress, decompress as external_zstd_napi_decompress } from "zstd-napi";
|
|
7
6
|
import { get, has, isEqual, isPlainObject, set as compat_set, unset } from "es-toolkit/compat";
|
|
8
7
|
import { createRequire as external_node_module_createRequire } from "node:module";
|
|
9
8
|
import { Binary, MongoClient, ObjectId, UUID } from "mongodb";
|
|
10
|
-
import { isPlainObject as src_isPlainObject } from "fzz/src";
|
|
11
9
|
import { getIndexesBetween, getIndexesNext, getIndexesPrev, smartRebalance } from "indexless";
|
|
12
10
|
import { createRequire as __rspack_createRequire } from "node:module";
|
|
13
11
|
const __rspack_createRequire_require = __rspack_createRequire(import.meta.url);
|
|
@@ -3677,6 +3675,16 @@ function defineTable_defineTable(tableOptions, TableClass) {
|
|
|
3677
3675
|
function defineGlobalDBAdapter(adapter) {
|
|
3678
3676
|
Table.globalAdapter = adapter;
|
|
3679
3677
|
}
|
|
3678
|
+
const zstdHelper_require = external_module_createRequire(import.meta.url);
|
|
3679
|
+
let zstdCache = null;
|
|
3680
|
+
function getZstd() {
|
|
3681
|
+
if (!zstdCache) try {
|
|
3682
|
+
zstdCache = zstdHelper_require("zstd-napi");
|
|
3683
|
+
} catch (e) {
|
|
3684
|
+
throw new Error("[SQLiteAdapter] 无法加载可选依赖 zstd-napi,请确保该依赖已正确安装和编译。错误信息: " + e.message);
|
|
3685
|
+
}
|
|
3686
|
+
return zstdCache;
|
|
3687
|
+
}
|
|
3680
3688
|
function isZstdFile(filepath) {
|
|
3681
3689
|
if (!existsSync(filepath)) return false;
|
|
3682
3690
|
try {
|
|
@@ -3695,7 +3703,7 @@ function checkAndDecompressDb(filename) {
|
|
|
3695
3703
|
if (isZstdFile(resolvedPath)) try {
|
|
3696
3704
|
const tmpFile = `${resolvedPath}.tmp`;
|
|
3697
3705
|
const compressedBuf = readFileSync(resolvedPath);
|
|
3698
|
-
const decompressedBuf =
|
|
3706
|
+
const decompressedBuf = getZstd().decompress(compressedBuf);
|
|
3699
3707
|
writeFileSync(tmpFile, decompressedBuf);
|
|
3700
3708
|
renameSync(tmpFile, resolvedPath);
|
|
3701
3709
|
} catch (error) {
|
|
@@ -3712,7 +3720,7 @@ function compressFile(filename) {
|
|
|
3712
3720
|
try {
|
|
3713
3721
|
const tmpFile = `${resolvedPath}.tmp`;
|
|
3714
3722
|
const sourceBuf = readFileSync(resolvedPath);
|
|
3715
|
-
const compressedBuf =
|
|
3723
|
+
const compressedBuf = getZstd().compress(sourceBuf);
|
|
3716
3724
|
writeFileSync(tmpFile, compressedBuf);
|
|
3717
3725
|
renameSync(tmpFile, resolvedPath);
|
|
3718
3726
|
if (existsSync(`${resolvedPath}-wal`)) unlinkSync(`${resolvedPath}-wal`);
|
|
@@ -7144,7 +7152,7 @@ function collectMergeUpdates(doc, prefix = "", res = {
|
|
|
7144
7152
|
if (Array.isArray(val)) res.addToSet[newKey] = {
|
|
7145
7153
|
$each: val
|
|
7146
7154
|
};
|
|
7147
|
-
else if (
|
|
7155
|
+
else if (external_fzz_isPlainObject(val)) if (true === val.__overwrite__) {
|
|
7148
7156
|
const { __overwrite__, ...cleanObj } = val;
|
|
7149
7157
|
res.set[newKey] = cleanObj;
|
|
7150
7158
|
} else if (0 === Object.keys(val).length) res.set[newKey] = val;
|
|
@@ -9109,5 +9117,4 @@ class TableTree extends Table {
|
|
|
9109
9117
|
preOverwriteNodes = preOverwriteNodes;
|
|
9110
9118
|
presyncNodes = presyncNodes_presyncNodes;
|
|
9111
9119
|
}
|
|
9112
|
-
export { TableJSON
|
|
9113
|
-
export { MongoDBAdapter, SQLiteAdapter, Table, TableTree, defineGlobalDBAdapter, defineTable_defineTable as defineTable };
|
|
9120
|
+
export { MongoDBAdapter, SQLiteAdapter, Table, TableJSON, TableTree, defineGlobalDBAdapter, defineTable_defineTable as defineTable };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tbdb",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.10",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"build": "rslib build && npm run docs:build",
|
|
19
19
|
"dev": "rslib build --watch",
|
|
20
20
|
"test": "vitest",
|
|
21
|
+
"release": "npm run test && npm run build && npm publish && cnpm sync tbdb",
|
|
21
22
|
"bench:tree": "node --import tsx src/extension/tree/test/benchmark/table-tree.bench.ts",
|
|
22
23
|
"bench:tree:all": "TABLE_TREE_BENCH_ADAPTERS=sqlite,mongodb node --import tsx src/extension/tree/test/benchmark/table-tree.bench.ts",
|
|
23
24
|
"docs:dev": "starmap --rebuild --port=4811",
|