@yanit/jsondb 0.1.1
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/README.md +903 -0
- package/dist/bin/cli-export.d.ts +7 -0
- package/dist/bin/cli-export.d.ts.map +1 -0
- package/dist/bin/cli-export.js +318 -0
- package/dist/bin/cli-export.js.map +1 -0
- package/dist/bin/cli-import.d.ts +7 -0
- package/dist/bin/cli-import.d.ts.map +1 -0
- package/dist/bin/cli-import.js +298 -0
- package/dist/bin/cli-import.js.map +1 -0
- package/dist/bin/server.d.ts +7 -0
- package/dist/bin/server.d.ts.map +1 -0
- package/dist/bin/server.js +92 -0
- package/dist/bin/server.js.map +1 -0
- package/dist/examples/sql-example.d.ts +7 -0
- package/dist/examples/sql-example.d.ts.map +1 -0
- package/dist/examples/sql-example.js +131 -0
- package/dist/examples/sql-example.js.map +1 -0
- package/dist/src/BulkOp.d.ts +74 -0
- package/dist/src/BulkOp.d.ts.map +1 -0
- package/dist/src/BulkOp.js +143 -0
- package/dist/src/BulkOp.js.map +1 -0
- package/dist/src/Collection.d.ts +232 -0
- package/dist/src/Collection.d.ts.map +1 -0
- package/dist/src/Collection.js +705 -0
- package/dist/src/Collection.js.map +1 -0
- package/dist/src/Cursor.d.ts +94 -0
- package/dist/src/Cursor.d.ts.map +1 -0
- package/dist/src/Cursor.js +259 -0
- package/dist/src/Cursor.js.map +1 -0
- package/dist/src/Database.d.ts +98 -0
- package/dist/src/Database.d.ts.map +1 -0
- package/dist/src/Database.js +198 -0
- package/dist/src/Database.js.map +1 -0
- package/dist/src/Operators.d.ts +73 -0
- package/dist/src/Operators.d.ts.map +1 -0
- package/dist/src/Operators.js +339 -0
- package/dist/src/Operators.js.map +1 -0
- package/dist/src/QueryCache.d.ts +87 -0
- package/dist/src/QueryCache.d.ts.map +1 -0
- package/dist/src/QueryCache.js +155 -0
- package/dist/src/QueryCache.js.map +1 -0
- package/dist/src/SQLExecutor.d.ts +60 -0
- package/dist/src/SQLExecutor.d.ts.map +1 -0
- package/dist/src/SQLExecutor.js +317 -0
- package/dist/src/SQLExecutor.js.map +1 -0
- package/dist/src/SQLParser.d.ts +181 -0
- package/dist/src/SQLParser.d.ts.map +1 -0
- package/dist/src/SQLParser.js +640 -0
- package/dist/src/SQLParser.js.map +1 -0
- package/dist/src/Schema.d.ts +92 -0
- package/dist/src/Schema.d.ts.map +1 -0
- package/dist/src/Schema.js +253 -0
- package/dist/src/Schema.js.map +1 -0
- package/dist/src/Transaction.d.ts +118 -0
- package/dist/src/Transaction.d.ts.map +1 -0
- package/dist/src/Transaction.js +233 -0
- package/dist/src/Transaction.js.map +1 -0
- package/dist/src/Utils.d.ts +68 -0
- package/dist/src/Utils.d.ts.map +1 -0
- package/dist/src/Utils.js +187 -0
- package/dist/src/Utils.js.map +1 -0
- package/dist/src/errors.d.ts +58 -0
- package/dist/src/errors.d.ts.map +1 -0
- package/dist/src/errors.js +85 -0
- package/dist/src/errors.js.map +1 -0
- package/dist/src/index.d.ts +39 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +44 -0
- package/dist/src/index.js.map +1 -0
- package/dist/test/basic.test.d.ts +5 -0
- package/dist/test/basic.test.d.ts.map +1 -0
- package/dist/test/basic.test.js +283 -0
- package/dist/test/basic.test.js.map +1 -0
- package/dist/test/index.test.d.ts +5 -0
- package/dist/test/index.test.d.ts.map +1 -0
- package/dist/test/index.test.js +126 -0
- package/dist/test/index.test.js.map +1 -0
- package/dist/test/jsonb.test.d.ts +5 -0
- package/dist/test/jsonb.test.d.ts.map +1 -0
- package/dist/test/jsonb.test.js +165 -0
- package/dist/test/jsonb.test.js.map +1 -0
- package/dist/test/optimization.test.d.ts +6 -0
- package/dist/test/optimization.test.d.ts.map +1 -0
- package/dist/test/optimization.test.js +196 -0
- package/dist/test/optimization.test.js.map +1 -0
- package/dist/test/schema.test.d.ts +5 -0
- package/dist/test/schema.test.d.ts.map +1 -0
- package/dist/test/schema.test.js +197 -0
- package/dist/test/schema.test.js.map +1 -0
- package/dist/test/sql.test.d.ts +7 -0
- package/dist/test/sql.test.d.ts.map +1 -0
- package/dist/test/sql.test.js +21 -0
- package/dist/test/sql.test.js.map +1 -0
- package/package.json +73 -0
- package/src/BulkOp.js +181 -0
- package/src/BulkOp.ts +191 -0
- package/src/Collection.js +843 -0
- package/src/Collection.ts +896 -0
- package/src/Cursor.js +315 -0
- package/src/Cursor.ts +319 -0
- package/src/Database.js +244 -0
- package/src/Database.ts +268 -0
- package/src/Operators.js +382 -0
- package/src/Operators.ts +375 -0
- package/src/QueryCache.js +190 -0
- package/src/QueryCache.ts +208 -0
- package/src/SQLExecutor.ts +391 -0
- package/src/SQLParser.ts +814 -0
- package/src/Schema.js +292 -0
- package/src/Schema.ts +317 -0
- package/src/Transaction.js +291 -0
- package/src/Transaction.ts +313 -0
- package/src/Utils.js +205 -0
- package/src/Utils.ts +205 -0
- package/src/errors.js +93 -0
- package/src/errors.ts +93 -0
- package/src/index.js +90 -0
- package/src/index.ts +106 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 集合类 - 管理文档集合
|
|
3
|
+
* 支持 async/await 异步操作
|
|
4
|
+
* 支持 JSONB 二进制存储模式
|
|
5
|
+
* 支持 Schema 验证
|
|
6
|
+
* 支持内存缓存优化
|
|
7
|
+
*/
|
|
8
|
+
import { Cursor } from './Cursor.js';
|
|
9
|
+
import type { Database } from './Database.js';
|
|
10
|
+
import type { Schema } from './Schema.js';
|
|
11
|
+
import type { SQLExecutionResult } from './SQLExecutor.js';
|
|
12
|
+
/**
|
|
13
|
+
* 集合统计信息接口
|
|
14
|
+
*/
|
|
15
|
+
interface CollectionStats {
|
|
16
|
+
ns: string;
|
|
17
|
+
count: number;
|
|
18
|
+
size: number;
|
|
19
|
+
avgObjSize: number;
|
|
20
|
+
indexes: number;
|
|
21
|
+
jsonb: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 索引信息接口
|
|
25
|
+
*/
|
|
26
|
+
export interface IndexInfo {
|
|
27
|
+
key: Record<string, number>;
|
|
28
|
+
name: string;
|
|
29
|
+
unique: boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 集合数据接口
|
|
33
|
+
*/
|
|
34
|
+
interface CollectionData {
|
|
35
|
+
_meta: {
|
|
36
|
+
name: string;
|
|
37
|
+
count: number;
|
|
38
|
+
indexes: IndexInfo[];
|
|
39
|
+
};
|
|
40
|
+
_documents: Array<Record<string, unknown>>;
|
|
41
|
+
_indexes: Record<string, Record<string, string[]>>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Collection 类
|
|
45
|
+
* 表示一个文档集合,提供 CRUD 操作
|
|
46
|
+
*/
|
|
47
|
+
export declare class Collection {
|
|
48
|
+
db: Database;
|
|
49
|
+
name: string;
|
|
50
|
+
private _filePath;
|
|
51
|
+
_data: CollectionData | null;
|
|
52
|
+
private _lock;
|
|
53
|
+
jsonb: boolean;
|
|
54
|
+
private _schema;
|
|
55
|
+
_validateOnInsert: boolean;
|
|
56
|
+
_validateOnUpdate: boolean;
|
|
57
|
+
_cache: CollectionData | null;
|
|
58
|
+
_cacheTime: number;
|
|
59
|
+
private _cacheTTL;
|
|
60
|
+
private _dirty;
|
|
61
|
+
/**
|
|
62
|
+
* @param db - 数据库实例
|
|
63
|
+
* @param name - 集合名称
|
|
64
|
+
*/
|
|
65
|
+
constructor(db: Database, name: string);
|
|
66
|
+
/**
|
|
67
|
+
* 设置 Schema
|
|
68
|
+
*/
|
|
69
|
+
setSchema(schema: Schema, options?: {
|
|
70
|
+
validateOnInsert?: boolean;
|
|
71
|
+
validateOnUpdate?: boolean;
|
|
72
|
+
}): Collection;
|
|
73
|
+
/**
|
|
74
|
+
* 获取 Schema
|
|
75
|
+
*/
|
|
76
|
+
getSchema(): Schema | null;
|
|
77
|
+
/**
|
|
78
|
+
* 验证文档
|
|
79
|
+
*/
|
|
80
|
+
_validate(doc: Record<string, unknown>): void;
|
|
81
|
+
/**
|
|
82
|
+
* 加载集合数据(带缓存)
|
|
83
|
+
*/
|
|
84
|
+
_load(): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* 保存集合数据(带缓存失效)
|
|
87
|
+
*/
|
|
88
|
+
_save(): Promise<void>;
|
|
89
|
+
/**
|
|
90
|
+
* JSONB 编码 - 将数据编码为二进制 Buffer
|
|
91
|
+
*/
|
|
92
|
+
_encodeJsonb(): Buffer;
|
|
93
|
+
/**
|
|
94
|
+
* JSONB 解码 - 将二进制 Buffer 解码为数据
|
|
95
|
+
*/
|
|
96
|
+
_decodeJsonb(buffer: Buffer): CollectionData;
|
|
97
|
+
/**
|
|
98
|
+
* 获取锁
|
|
99
|
+
*/
|
|
100
|
+
_acquireLock(): Promise<void>;
|
|
101
|
+
/**
|
|
102
|
+
* 释放锁
|
|
103
|
+
*/
|
|
104
|
+
_releaseLock(): void;
|
|
105
|
+
/**
|
|
106
|
+
* 获取所有文档
|
|
107
|
+
*/
|
|
108
|
+
_getDocuments(): Promise<Array<Record<string, unknown>>>;
|
|
109
|
+
/**
|
|
110
|
+
* 插入单个文档
|
|
111
|
+
*/
|
|
112
|
+
insertOne(doc: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
113
|
+
/**
|
|
114
|
+
* 插入多个文档(优化版 - 单次写入)
|
|
115
|
+
*/
|
|
116
|
+
insertMany(docs: Array<Record<string, unknown>>, options?: Record<string, unknown>): Promise<{
|
|
117
|
+
acknowledged: boolean;
|
|
118
|
+
insertedCount: number;
|
|
119
|
+
insertedIds: Record<number, string>;
|
|
120
|
+
}>;
|
|
121
|
+
/**
|
|
122
|
+
* 更新索引
|
|
123
|
+
*/
|
|
124
|
+
private _updateIndexes;
|
|
125
|
+
/**
|
|
126
|
+
* 查询文档
|
|
127
|
+
*/
|
|
128
|
+
find(query?: Record<string, unknown>, options?: Record<string, unknown>): Cursor;
|
|
129
|
+
/**
|
|
130
|
+
* 查询单个文档
|
|
131
|
+
*/
|
|
132
|
+
findOne(query?: Record<string, unknown>, options?: Record<string, unknown>): Promise<Record<string, unknown> | null>;
|
|
133
|
+
/**
|
|
134
|
+
* 更新单个文档
|
|
135
|
+
*/
|
|
136
|
+
updateOne(query: Record<string, unknown>, update: Record<string, unknown>, options?: {
|
|
137
|
+
upsert?: boolean;
|
|
138
|
+
}): Promise<{
|
|
139
|
+
acknowledged: boolean;
|
|
140
|
+
matchedCount: number;
|
|
141
|
+
modifiedCount: number;
|
|
142
|
+
upsertedId?: string;
|
|
143
|
+
}>;
|
|
144
|
+
/**
|
|
145
|
+
* 更新多个文档
|
|
146
|
+
*/
|
|
147
|
+
updateMany(query: Record<string, unknown>, update: Record<string, unknown>, options?: {
|
|
148
|
+
upsert?: boolean;
|
|
149
|
+
}): Promise<{
|
|
150
|
+
acknowledged: boolean;
|
|
151
|
+
matchedCount: number;
|
|
152
|
+
modifiedCount: number;
|
|
153
|
+
upsertedId?: string;
|
|
154
|
+
}>;
|
|
155
|
+
/**
|
|
156
|
+
* 替换单个文档
|
|
157
|
+
*/
|
|
158
|
+
replaceOne(query: Record<string, unknown>, doc: Record<string, unknown>, options?: {
|
|
159
|
+
upsert?: boolean;
|
|
160
|
+
}): Promise<{
|
|
161
|
+
acknowledged: boolean;
|
|
162
|
+
matchedCount: number;
|
|
163
|
+
modifiedCount: number;
|
|
164
|
+
upsertedId?: string;
|
|
165
|
+
}>;
|
|
166
|
+
/**
|
|
167
|
+
* 删除单个文档
|
|
168
|
+
*/
|
|
169
|
+
deleteOne(query: Record<string, unknown>): Promise<{
|
|
170
|
+
acknowledged: boolean;
|
|
171
|
+
deletedCount: number;
|
|
172
|
+
}>;
|
|
173
|
+
/**
|
|
174
|
+
* 删除多个文档
|
|
175
|
+
*/
|
|
176
|
+
deleteMany(query: Record<string, unknown>): Promise<{
|
|
177
|
+
acknowledged: boolean;
|
|
178
|
+
deletedCount: number;
|
|
179
|
+
}>;
|
|
180
|
+
/**
|
|
181
|
+
* 计数文档
|
|
182
|
+
*/
|
|
183
|
+
countDocuments(query?: Record<string, unknown>): Promise<number>;
|
|
184
|
+
/**
|
|
185
|
+
* 获取不同值
|
|
186
|
+
*/
|
|
187
|
+
distinct(key: string, query?: Record<string, unknown>): Promise<unknown[]>;
|
|
188
|
+
/**
|
|
189
|
+
* 聚合查询
|
|
190
|
+
*/
|
|
191
|
+
aggregate(pipeline: Array<Record<string, unknown>>): Promise<Array<Record<string, unknown>>>;
|
|
192
|
+
/**
|
|
193
|
+
* 应用聚合阶段
|
|
194
|
+
*/
|
|
195
|
+
private _applyAggregationStage;
|
|
196
|
+
/**
|
|
197
|
+
* 应用分组
|
|
198
|
+
*/
|
|
199
|
+
private _applyGroup;
|
|
200
|
+
/**
|
|
201
|
+
* 创建索引
|
|
202
|
+
*/
|
|
203
|
+
createIndex(keys: Record<string, number>, options?: {
|
|
204
|
+
unique?: boolean;
|
|
205
|
+
}): Promise<IndexInfo>;
|
|
206
|
+
/**
|
|
207
|
+
* 构建索引数据
|
|
208
|
+
*/
|
|
209
|
+
private _buildIndex;
|
|
210
|
+
/**
|
|
211
|
+
* 删除索引
|
|
212
|
+
*/
|
|
213
|
+
dropIndex(name: string): Promise<{
|
|
214
|
+
acknowledged: boolean;
|
|
215
|
+
}>;
|
|
216
|
+
/**
|
|
217
|
+
* 列出所有索引
|
|
218
|
+
*/
|
|
219
|
+
listIndexes(): Promise<IndexInfo[]>;
|
|
220
|
+
/**
|
|
221
|
+
* 获取集合统计信息
|
|
222
|
+
*/
|
|
223
|
+
stats(): Promise<CollectionStats>;
|
|
224
|
+
/**
|
|
225
|
+
* 执行 SQL 语句
|
|
226
|
+
* @param sql - SQL 语句
|
|
227
|
+
* @returns SQL 执行结果
|
|
228
|
+
*/
|
|
229
|
+
sql(sqlStr: string): Promise<SQLExecutionResult>;
|
|
230
|
+
}
|
|
231
|
+
export {};
|
|
232
|
+
//# sourceMappingURL=Collection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../src/Collection.ts"],"names":[],"mappings":"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"}
|