@yydb/light-db 0.0.0 → 0.0.11
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/api/database.d.ts +48 -0
- package/dist/api/database.d.ts.map +1 -0
- package/dist/api/database.js +120 -0
- package/dist/api/database.js.map +1 -0
- package/dist/api/index.d.ts +7 -22
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +5 -52
- package/dist/api/index.js.map +1 -1
- package/dist/api/schema.d.ts +33 -0
- package/dist/api/schema.d.ts.map +1 -0
- package/dist/api/schema.js +80 -0
- package/dist/api/schema.js.map +1 -0
- package/dist/api/transaction.d.ts +26 -0
- package/dist/api/transaction.d.ts.map +1 -0
- package/dist/api/transaction.js +52 -0
- package/dist/api/transaction.js.map +1 -0
- package/dist/api/types.d.ts +55 -148
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/types.js +6 -5
- package/dist/api/types.js.map +1 -1
- package/dist/codec/binary.d.ts +196 -0
- package/dist/codec/binary.d.ts.map +1 -0
- package/dist/codec/binary.js +342 -0
- package/dist/codec/binary.js.map +1 -0
- package/dist/codec/checksum.d.ts +21 -0
- package/dist/codec/checksum.d.ts.map +1 -0
- package/dist/codec/checksum.js +46 -0
- package/dist/codec/checksum.js.map +1 -0
- package/dist/codec/index.d.ts +12 -0
- package/dist/codec/index.d.ts.map +1 -0
- package/dist/codec/index.js +10 -0
- package/dist/codec/index.js.map +1 -0
- package/dist/codec/page.d.ts +114 -0
- package/dist/codec/page.d.ts.map +1 -0
- package/dist/codec/page.js +225 -0
- package/dist/codec/page.js.map +1 -0
- package/dist/codec/record.d.ts +62 -0
- package/dist/codec/record.d.ts.map +1 -0
- package/dist/codec/record.js +82 -0
- package/dist/codec/record.js.map +1 -0
- package/dist/core/broadcast.d.ts +39 -0
- package/dist/core/broadcast.d.ts.map +1 -0
- package/dist/core/broadcast.js +54 -0
- package/dist/core/broadcast.js.map +1 -0
- package/dist/core/checkpoint.d.ts +23 -0
- package/dist/core/checkpoint.d.ts.map +1 -0
- package/dist/core/checkpoint.js +49 -0
- package/dist/core/checkpoint.js.map +1 -0
- package/dist/core/engine.d.ts +142 -0
- package/dist/core/engine.d.ts.map +1 -0
- package/dist/core/engine.js +304 -0
- package/dist/core/engine.js.map +1 -0
- package/dist/core/index.d.ts +17 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +13 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/lease.d.ts +32 -0
- package/dist/core/lease.d.ts.map +1 -0
- package/dist/core/lease.js +81 -0
- package/dist/core/lease.js.map +1 -0
- package/dist/core/records.d.ts +49 -0
- package/dist/core/records.d.ts.map +1 -0
- package/dist/core/records.js +70 -0
- package/dist/core/records.js.map +1 -0
- package/dist/core/recovery.d.ts +43 -0
- package/dist/core/recovery.d.ts.map +1 -0
- package/dist/core/recovery.js +99 -0
- package/dist/core/recovery.js.map +1 -0
- package/dist/core/wal.d.ts +50 -0
- package/dist/core/wal.d.ts.map +1 -0
- package/dist/core/wal.js +114 -0
- package/dist/core/wal.js.map +1 -0
- package/dist/errors/index.d.ts +44 -66
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +43 -128
- package/dist/errors/index.js.map +1 -1
- package/dist/index.d.ts +14 -215
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -724
- package/dist/index.js.map +1 -1
- package/dist/storage/StorageAdapter.d.ts +97 -0
- package/dist/storage/StorageAdapter.d.ts.map +1 -0
- package/dist/storage/StorageAdapter.js +9 -0
- package/dist/storage/StorageAdapter.js.map +1 -0
- package/dist/storage/index.d.ts +9 -8
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +8 -151
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/indexeddb/IndexedDbStorageAdapter.d.ts +140 -0
- package/dist/storage/indexeddb/IndexedDbStorageAdapter.d.ts.map +1 -0
- package/dist/storage/indexeddb/IndexedDbStorageAdapter.js +403 -0
- package/dist/storage/indexeddb/IndexedDbStorageAdapter.js.map +1 -0
- package/dist/storage/memory/MemoryStorageAdapter.d.ts +76 -0
- package/dist/storage/memory/MemoryStorageAdapter.d.ts.map +1 -0
- package/dist/storage/memory/MemoryStorageAdapter.js +212 -0
- package/dist/storage/memory/MemoryStorageAdapter.js.map +1 -0
- package/dist/storage/opfs/OpfsStorageAdapter.d.ts +141 -0
- package/dist/storage/opfs/OpfsStorageAdapter.d.ts.map +1 -0
- package/dist/storage/opfs/OpfsStorageAdapter.js +400 -0
- package/dist/storage/opfs/OpfsStorageAdapter.js.map +1 -0
- package/package.json +48 -36
- package/readme.md +80 -94
- package/dist/api/LightDB.d.ts +0 -194
- package/dist/api/LightDB.d.ts.map +0 -1
- package/dist/api/LightDB.js +0 -299
- package/dist/api/LightDB.js.map +0 -1
- package/dist/api/Transaction.d.ts +0 -100
- package/dist/api/Transaction.d.ts.map +0 -1
- package/dist/api/Transaction.js +0 -263
- package/dist/api/Transaction.js.map +0 -1
- package/dist/collection/Collection.d.ts +0 -235
- package/dist/collection/Collection.d.ts.map +0 -1
- package/dist/collection/Collection.js +0 -671
- package/dist/collection/Collection.js.map +0 -1
- package/dist/collection/QueryBuilder.d.ts +0 -225
- package/dist/collection/QueryBuilder.d.ts.map +0 -1
- package/dist/collection/QueryBuilder.js +0 -475
- package/dist/collection/QueryBuilder.js.map +0 -1
- package/dist/collection/QueryParser.d.ts +0 -117
- package/dist/collection/QueryParser.d.ts.map +0 -1
- package/dist/collection/QueryParser.js +0 -438
- package/dist/collection/QueryParser.js.map +0 -1
- package/dist/collection/index.d.ts +0 -42
- package/dist/collection/index.d.ts.map +0 -1
- package/dist/collection/index.js +0 -41
- package/dist/collection/index.js.map +0 -1
- package/dist/collection/types.d.ts +0 -365
- package/dist/collection/types.d.ts.map +0 -1
- package/dist/collection/types.js +0 -7
- package/dist/collection/types.js.map +0 -1
- package/dist/constants/index.d.ts +0 -51
- package/dist/constants/index.d.ts.map +0 -1
- package/dist/constants/index.js +0 -68
- package/dist/constants/index.js.map +0 -1
- package/dist/indexes/BPlusTree.d.ts +0 -181
- package/dist/indexes/BPlusTree.d.ts.map +0 -1
- package/dist/indexes/BPlusTree.js +0 -528
- package/dist/indexes/BPlusTree.js.map +0 -1
- package/dist/indexes/IndexManager.d.ts +0 -236
- package/dist/indexes/IndexManager.d.ts.map +0 -1
- package/dist/indexes/IndexManager.js +0 -502
- package/dist/indexes/IndexManager.js.map +0 -1
- package/dist/indexes/PrimaryIndex.d.ts +0 -240
- package/dist/indexes/PrimaryIndex.d.ts.map +0 -1
- package/dist/indexes/PrimaryIndex.js +0 -354
- package/dist/indexes/PrimaryIndex.js.map +0 -1
- package/dist/indexes/SecondaryIndex.d.ts +0 -204
- package/dist/indexes/SecondaryIndex.d.ts.map +0 -1
- package/dist/indexes/SecondaryIndex.js +0 -480
- package/dist/indexes/SecondaryIndex.js.map +0 -1
- package/dist/indexes/errors.d.ts +0 -66
- package/dist/indexes/errors.d.ts.map +0 -1
- package/dist/indexes/errors.js +0 -117
- package/dist/indexes/errors.js.map +0 -1
- package/dist/indexes/index.d.ts +0 -52
- package/dist/indexes/index.d.ts.map +0 -1
- package/dist/indexes/index.js +0 -131
- package/dist/indexes/index.js.map +0 -1
- package/dist/indexes/types.d.ts +0 -246
- package/dist/indexes/types.d.ts.map +0 -1
- package/dist/indexes/types.js +0 -30
- package/dist/indexes/types.js.map +0 -1
- package/dist/performance/BatchWALWriter.d.ts +0 -185
- package/dist/performance/BatchWALWriter.d.ts.map +0 -1
- package/dist/performance/BatchWALWriter.js +0 -490
- package/dist/performance/BatchWALWriter.js.map +0 -1
- package/dist/performance/ColumnarStorage.d.ts +0 -138
- package/dist/performance/ColumnarStorage.d.ts.map +0 -1
- package/dist/performance/ColumnarStorage.js +0 -875
- package/dist/performance/ColumnarStorage.js.map +0 -1
- package/dist/performance/LazyQuery.d.ts +0 -307
- package/dist/performance/LazyQuery.d.ts.map +0 -1
- package/dist/performance/LazyQuery.js +0 -588
- package/dist/performance/LazyQuery.js.map +0 -1
- package/dist/performance/OptimizedBuffer.d.ts +0 -375
- package/dist/performance/OptimizedBuffer.d.ts.map +0 -1
- package/dist/performance/OptimizedBuffer.js +0 -730
- package/dist/performance/OptimizedBuffer.js.map +0 -1
- package/dist/performance/RWLock.d.ts +0 -260
- package/dist/performance/RWLock.d.ts.map +0 -1
- package/dist/performance/RWLock.js +0 -570
- package/dist/performance/RWLock.js.map +0 -1
- package/dist/performance/index.d.ts +0 -41
- package/dist/performance/index.d.ts.map +0 -1
- package/dist/performance/index.js +0 -162
- package/dist/performance/index.js.map +0 -1
- package/dist/performance/types.d.ts +0 -247
- package/dist/performance/types.d.ts.map +0 -1
- package/dist/performance/types.js +0 -26
- package/dist/performance/types.js.map +0 -1
- package/dist/storage/Checkpoint.d.ts +0 -128
- package/dist/storage/Checkpoint.d.ts.map +0 -1
- package/dist/storage/Checkpoint.js +0 -251
- package/dist/storage/Checkpoint.js.map +0 -1
- package/dist/storage/LightFile.d.ts +0 -227
- package/dist/storage/LightFile.d.ts.map +0 -1
- package/dist/storage/LightFile.js +0 -526
- package/dist/storage/LightFile.js.map +0 -1
- package/dist/storage/Recovery.d.ts +0 -172
- package/dist/storage/Recovery.d.ts.map +0 -1
- package/dist/storage/Recovery.js +0 -399
- package/dist/storage/Recovery.js.map +0 -1
- package/dist/storage/SHMFile.d.ts +0 -243
- package/dist/storage/SHMFile.d.ts.map +0 -1
- package/dist/storage/SHMFile.js +0 -436
- package/dist/storage/SHMFile.js.map +0 -1
- package/dist/storage/StorageEngine.d.ts +0 -146
- package/dist/storage/StorageEngine.d.ts.map +0 -1
- package/dist/storage/StorageEngine.js +0 -353
- package/dist/storage/StorageEngine.js.map +0 -1
- package/dist/storage/WALFile.d.ts +0 -248
- package/dist/storage/WALFile.d.ts.map +0 -1
- package/dist/storage/WALFile.js +0 -597
- package/dist/storage/WALFile.js.map +0 -1
- package/dist/types/index.d.ts +0 -220
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -7
- package/dist/types/index.js.map +0 -1
- package/dist/utils/binary.d.ts +0 -271
- package/dist/utils/binary.d.ts.map +0 -1
- package/dist/utils/binary.js +0 -454
- package/dist/utils/binary.js.map +0 -1
- package/dist/utils/file.d.ts +0 -166
- package/dist/utils/file.d.ts.map +0 -1
- package/dist/utils/file.js +0 -346
- package/dist/utils/file.js.map +0 -1
- package/dist/utils/index.d.ts +0 -6
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -39
- package/dist/utils/index.js.map +0 -1
package/dist/api/types.d.ts
CHANGED
|
@@ -1,154 +1,61 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import type {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
*/
|
|
11
|
-
export interface
|
|
12
|
-
/**
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*/
|
|
35
|
-
export interface
|
|
36
|
-
/**
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
export interface TransactionOptions {
|
|
55
|
-
/** 事务超时时间(毫秒),默认 5000 */
|
|
56
|
-
timeout?: number;
|
|
57
|
-
/** 事务隔离级别 */
|
|
58
|
-
isolationLevel?: "read_committed" | "repeatable_read" | "serializable";
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* 事务状态
|
|
62
|
-
*/
|
|
63
|
-
export type TransactionState = "active" | "committed" | "rolled_back" | "failed";
|
|
64
|
-
/**
|
|
65
|
-
* 事务结果
|
|
66
|
-
*/
|
|
67
|
-
export interface TransactionResult {
|
|
68
|
-
/** 事务是否成功 */
|
|
69
|
-
success: boolean;
|
|
70
|
-
/** 事务状态 */
|
|
71
|
-
state: TransactionState;
|
|
72
|
-
/** 事务持续时间(毫秒) */
|
|
73
|
-
durationMs: number;
|
|
74
|
-
/** 错误信息(如果失败) */
|
|
75
|
-
error?: string;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* 数据库统计信息
|
|
79
|
-
*/
|
|
80
|
-
export interface DatabaseStats extends StorageStats {
|
|
81
|
-
/** 数据库名称 */
|
|
82
|
-
dbName: string;
|
|
83
|
-
/** 集合数量 */
|
|
84
|
-
collectionCount: number;
|
|
85
|
-
/** 集合统计信息列表 */
|
|
86
|
-
collections: Array<{
|
|
87
|
-
name: string;
|
|
88
|
-
documentCount: number;
|
|
89
|
-
indexCount: number;
|
|
90
|
-
}>;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* 数据库配置信息
|
|
94
|
-
*/
|
|
95
|
-
export interface DatabaseConfig {
|
|
96
|
-
/** 数据库名称 */
|
|
97
|
-
dbName: string;
|
|
98
|
-
/** 数据库路径 */
|
|
99
|
-
path: string;
|
|
100
|
-
/** 页面大小 */
|
|
101
|
-
pageSize: number;
|
|
102
|
-
/** WAL 阈值 */
|
|
103
|
-
walThreshold: number;
|
|
104
|
-
/** 是否启用自动检查点 */
|
|
105
|
-
autoCheckpoint: boolean;
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* LightDB 实例接口
|
|
109
|
-
* 定义 LightDB 的公共 API
|
|
110
|
-
*/
|
|
111
|
-
export interface ILightDB {
|
|
112
|
-
/** 获取数据库名称 */
|
|
113
|
-
readonly dbName: string;
|
|
114
|
-
/** 获取数据库路径 */
|
|
115
|
-
readonly path: string;
|
|
116
|
-
/** 检查数据库是否已打开 */
|
|
117
|
-
readonly isOpen: boolean;
|
|
118
|
-
/** 获取或创建集合 */
|
|
119
|
-
collection<T extends Record<string, unknown>>(name: string, options: CollectionCreateOptions<T>): Collection<T>;
|
|
120
|
-
/** 检查集合是否存在 */
|
|
121
|
-
hasCollection(name: string): boolean;
|
|
122
|
-
/** 删除集合 */
|
|
123
|
-
dropCollection(name: string): boolean;
|
|
124
|
-
/** 获取所有集合名称 */
|
|
125
|
-
getCollectionNames(): string[];
|
|
126
|
-
/** 执行事务 */
|
|
127
|
-
transaction(callback: TransactionCallback, options?: TransactionOptions): Promise<TransactionResult>;
|
|
2
|
+
* 浏览器数据库作者面类型
|
|
3
|
+
*
|
|
4
|
+
* 这些类型是 `@yydb/light-db` 的稳定合同:二进制一律 `Uint8Array`,
|
|
5
|
+
* 不出现本地路径、文件句柄或 Node 专属类型。
|
|
6
|
+
*/
|
|
7
|
+
import type { LeaseMode } from '../core/lease';
|
|
8
|
+
import type { CheckpointResult, StorageEngineStats } from '../core/engine';
|
|
9
|
+
import type { StorageAdapterFactory } from '../storage/StorageAdapter';
|
|
10
|
+
/** Schema 版本与文档,与 `@yydb/yydb` 同构 */
|
|
11
|
+
export interface SchemaVersion {
|
|
12
|
+
/** Schema 版本 */
|
|
13
|
+
version: number;
|
|
14
|
+
/** Schema 文档全文 */
|
|
15
|
+
document: string;
|
|
16
|
+
}
|
|
17
|
+
/** 打开数据库的选项 */
|
|
18
|
+
export interface LightDatabaseOptions {
|
|
19
|
+
/** 页大小,默认 4KB */
|
|
20
|
+
pageSize?: number;
|
|
21
|
+
/** WAL 字节阈值,超过后自动检查点,默认 16MB */
|
|
22
|
+
walThreshold?: number;
|
|
23
|
+
/** 是否自动检查点,默认 true */
|
|
24
|
+
autoCheckpoint?: boolean;
|
|
25
|
+
/** 写租约模式,默认 `web-locks` */
|
|
26
|
+
lease?: LeaseMode;
|
|
27
|
+
/** 存储后端,默认 OPFS */
|
|
28
|
+
storage?: StorageAdapterFactory;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* 浏览器数据库
|
|
32
|
+
*
|
|
33
|
+
* 与 `@yydb/yydb` 的 TypeScript 作者面保持同一调用形态与返回语义。
|
|
34
|
+
*/
|
|
35
|
+
export interface LightDatabase {
|
|
36
|
+
/** 数据库名 */
|
|
37
|
+
readonly name: string;
|
|
38
|
+
/** 读取已持久化的 schema */
|
|
39
|
+
schema(): Promise<SchemaVersion | null>;
|
|
40
|
+
/** 声明 schema 文档,文档是唯一真相 */
|
|
41
|
+
ensureSchema(document: string): Promise<void>;
|
|
42
|
+
/** 读取键 */
|
|
43
|
+
get(key: string): Promise<Uint8Array | null>;
|
|
44
|
+
/** 写入键 */
|
|
45
|
+
put(key: string, value: Uint8Array): Promise<void>;
|
|
46
|
+
/** 删除键,键存在时返回 true */
|
|
47
|
+
delete(key: string): Promise<boolean>;
|
|
48
|
+
/** 开启事务 */
|
|
49
|
+
begin(): Promise<void>;
|
|
50
|
+
/** 提交事务 */
|
|
51
|
+
commit(): Promise<void>;
|
|
52
|
+
/** 回滚事务 */
|
|
53
|
+
rollback(): Promise<void>;
|
|
128
54
|
/** 执行检查点 */
|
|
129
55
|
checkpoint(): Promise<CheckpointResult>;
|
|
130
|
-
/**
|
|
131
|
-
|
|
132
|
-
/** 获取数据库配置 */
|
|
133
|
-
getConfig(): DatabaseConfig;
|
|
134
|
-
/** 同步数据到磁盘 */
|
|
135
|
-
sync(): Promise<void>;
|
|
56
|
+
/** 数据库统计 */
|
|
57
|
+
stats(): StorageEngineStats;
|
|
136
58
|
/** 关闭数据库 */
|
|
137
59
|
close(): Promise<void>;
|
|
138
60
|
}
|
|
139
|
-
|
|
140
|
-
* 定义集合 Schema 的辅助类型
|
|
141
|
-
*/
|
|
142
|
-
export type DefineCollectionSchema<T extends Record<string, unknown>> = {
|
|
143
|
-
/** 文档类型 */
|
|
144
|
-
schema: T;
|
|
145
|
-
/** 主键字段 */
|
|
146
|
-
primaryKey: keyof T & string;
|
|
147
|
-
/** 二级索引配置 */
|
|
148
|
-
indexes?: IndexConfig<T>[];
|
|
149
|
-
};
|
|
150
|
-
/**
|
|
151
|
-
* 创建集合 Schema 的辅助函数返回类型
|
|
152
|
-
*/
|
|
153
|
-
export type CollectionSchema<T extends Record<string, unknown>> = DefineCollectionSchema<T>;
|
|
154
|
-
//# sourceMappingURL=types.d.ts.map
|
|
61
|
+
//# sourceMappingURL=types.d.ts.map
|
package/dist/api/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC1B,gBAAgB;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,eAAe;AACf,MAAM,WAAW,oBAAoB;IACjC,iBAAiB;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,mBAAmB;IACnB,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC1B,WAAW;IACX,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,qBAAqB;IACrB,MAAM,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAExC,2BAA2B;IAC3B,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,UAAU;IACV,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAE7C,UAAU;IACV,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD,sBAAsB;IACtB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC,WAAW;IACX,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB,WAAW;IACX,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB,WAAW;IACX,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B,YAAY;IACZ,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAExC,YAAY;IACZ,KAAK,IAAI,kBAAkB,CAAC;IAE5B,YAAY;IACZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B"}
|
package/dist/api/types.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* 浏览器数据库作者面类型
|
|
3
|
+
*
|
|
4
|
+
* 这些类型是 `@yydb/light-db` 的稳定合同:二进制一律 `Uint8Array`,
|
|
5
|
+
* 不出现本地路径、文件句柄或 Node 专属类型。
|
|
5
6
|
*/
|
|
6
|
-
|
|
7
|
-
//# sourceMappingURL=types.js.map
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=types.js.map
|
package/dist/api/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 浏览器原生二进制编解码
|
|
3
|
+
*
|
|
4
|
+
* 公共类型只用 `Uint8Array`,不依赖 Node `Buffer`。
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* 二进制辅助方法
|
|
8
|
+
*/
|
|
9
|
+
export declare class BinaryUtils {
|
|
10
|
+
/**
|
|
11
|
+
* 分配初始化为零的字节数组
|
|
12
|
+
* @param size 大小
|
|
13
|
+
*/
|
|
14
|
+
static alloc(size: number): Uint8Array;
|
|
15
|
+
/**
|
|
16
|
+
* 拼接多个字节数组
|
|
17
|
+
* @param parts 字节数组列表
|
|
18
|
+
*/
|
|
19
|
+
static concat(parts: readonly Uint8Array[]): Uint8Array;
|
|
20
|
+
/**
|
|
21
|
+
* 计算字符串的 UTF-8 字节长度
|
|
22
|
+
* @param value 字符串
|
|
23
|
+
*/
|
|
24
|
+
static byteLength(value: string): number;
|
|
25
|
+
/**
|
|
26
|
+
* 编码字符串为 UTF-8 字节
|
|
27
|
+
* @param value 字符串
|
|
28
|
+
*/
|
|
29
|
+
static encode(value: string): Uint8Array;
|
|
30
|
+
/**
|
|
31
|
+
* 解码 UTF-8 字节为字符串
|
|
32
|
+
* @param data 字节
|
|
33
|
+
* @param offset 起始偏移量
|
|
34
|
+
* @param length 长度
|
|
35
|
+
*/
|
|
36
|
+
static decode(data: Uint8Array, offset?: number, length?: number): string;
|
|
37
|
+
/**
|
|
38
|
+
* 判断两个字节数组内容是否相同
|
|
39
|
+
* @param a 第一个数组
|
|
40
|
+
* @param b 第二个数组
|
|
41
|
+
*/
|
|
42
|
+
static equals(a: Uint8Array, b: Uint8Array): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* 复制字节数组
|
|
45
|
+
* @param source 源数组
|
|
46
|
+
*/
|
|
47
|
+
static copy(source: Uint8Array): Uint8Array;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 顺序字节写入器
|
|
51
|
+
*
|
|
52
|
+
* 容量不足时自动扩展,写入 `data` 时返回已写区间视图。
|
|
53
|
+
*/
|
|
54
|
+
export declare class ByteWriter {
|
|
55
|
+
private buffer;
|
|
56
|
+
private view;
|
|
57
|
+
private offset;
|
|
58
|
+
/**
|
|
59
|
+
* 创建写入器
|
|
60
|
+
* @param size 初始容量
|
|
61
|
+
*/
|
|
62
|
+
constructor(size?: number);
|
|
63
|
+
/** 当前写入位置 */
|
|
64
|
+
get position(): number;
|
|
65
|
+
/** 已写入的数据视图 */
|
|
66
|
+
get data(): Uint8Array;
|
|
67
|
+
/**
|
|
68
|
+
* 确保容量
|
|
69
|
+
* @param additional 需要的额外字节数
|
|
70
|
+
*/
|
|
71
|
+
private ensureCapacity;
|
|
72
|
+
/**
|
|
73
|
+
* 写入 8 位无符号整数
|
|
74
|
+
* @param value 值
|
|
75
|
+
*/
|
|
76
|
+
writeUInt8(value: number): this;
|
|
77
|
+
/**
|
|
78
|
+
* 写入 16 位无符号整数(小端)
|
|
79
|
+
* @param value 值
|
|
80
|
+
*/
|
|
81
|
+
writeUInt16LE(value: number): this;
|
|
82
|
+
/**
|
|
83
|
+
* 写入 32 位无符号整数(小端)
|
|
84
|
+
* @param value 值
|
|
85
|
+
*/
|
|
86
|
+
writeUInt32LE(value: number): this;
|
|
87
|
+
/**
|
|
88
|
+
* 写入 64 位无符号整数(小端)
|
|
89
|
+
* @param value 值
|
|
90
|
+
*/
|
|
91
|
+
writeBigUInt64LE(value: bigint): this;
|
|
92
|
+
/**
|
|
93
|
+
* 写入原始字节
|
|
94
|
+
* @param value 字节
|
|
95
|
+
*/
|
|
96
|
+
writeBytes(value: Uint8Array): this;
|
|
97
|
+
/**
|
|
98
|
+
* 写入带 32 位长度前缀的字节
|
|
99
|
+
* @param value 字节
|
|
100
|
+
*/
|
|
101
|
+
writeBytesWithLength(value: Uint8Array): this;
|
|
102
|
+
/**
|
|
103
|
+
* 写入不带长度前缀的 UTF-8 字符串
|
|
104
|
+
* @param value 字符串
|
|
105
|
+
*/
|
|
106
|
+
writeStringRaw(value: string): this;
|
|
107
|
+
/**
|
|
108
|
+
* 写入带 32 位长度前缀的 UTF-8 字符串
|
|
109
|
+
* @param value 字符串
|
|
110
|
+
*/
|
|
111
|
+
writeString(value: string): this;
|
|
112
|
+
/**
|
|
113
|
+
* 写入从 `startOffset` 到当前位置的 CRC32 校验和
|
|
114
|
+
* @param startOffset 校验范围起点
|
|
115
|
+
*/
|
|
116
|
+
writeChecksum(startOffset?: number): this;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* 顺序字节读取器
|
|
120
|
+
*/
|
|
121
|
+
export declare class ByteReader {
|
|
122
|
+
private readonly buffer;
|
|
123
|
+
private readonly view;
|
|
124
|
+
private offset;
|
|
125
|
+
/**
|
|
126
|
+
* 创建读取器
|
|
127
|
+
* @param buffer 数据
|
|
128
|
+
* @param startOffset 起始偏移量
|
|
129
|
+
*/
|
|
130
|
+
constructor(buffer: Uint8Array, startOffset?: number);
|
|
131
|
+
/** 当前读取位置 */
|
|
132
|
+
get position(): number;
|
|
133
|
+
/** 设置读取位置 */
|
|
134
|
+
set position(value: number);
|
|
135
|
+
/** 剩余可读字节数 */
|
|
136
|
+
get remaining(): number;
|
|
137
|
+
/**
|
|
138
|
+
* 是否有足够的可读数据
|
|
139
|
+
* @param required 需要的字节数
|
|
140
|
+
*/
|
|
141
|
+
hasRemaining(required: number): boolean;
|
|
142
|
+
/**
|
|
143
|
+
* 读取 8 位无符号整数
|
|
144
|
+
*/
|
|
145
|
+
readUInt8(): number;
|
|
146
|
+
/**
|
|
147
|
+
* 读取 16 位无符号整数(小端)
|
|
148
|
+
*/
|
|
149
|
+
readUInt16LE(): number;
|
|
150
|
+
/**
|
|
151
|
+
* 读取 32 位无符号整数(小端)
|
|
152
|
+
*/
|
|
153
|
+
readUInt32LE(): number;
|
|
154
|
+
/**
|
|
155
|
+
* 读取 64 位无符号整数(小端)
|
|
156
|
+
*/
|
|
157
|
+
readBigUInt64LE(): bigint;
|
|
158
|
+
/**
|
|
159
|
+
* 读取指定长度的字节视图
|
|
160
|
+
* @param length 长度
|
|
161
|
+
*/
|
|
162
|
+
readBytes(length: number): Uint8Array;
|
|
163
|
+
/**
|
|
164
|
+
* 读取带 32 位长度前缀的字节
|
|
165
|
+
*/
|
|
166
|
+
readBytesWithLength(): Uint8Array;
|
|
167
|
+
/**
|
|
168
|
+
* 读取带 32 位长度前缀的 UTF-8 字符串
|
|
169
|
+
*/
|
|
170
|
+
readString(): string;
|
|
171
|
+
/**
|
|
172
|
+
* 读取 32 位校验和并校验 `[startOffset, 校验和之前)` 的区间
|
|
173
|
+
* @param startOffset 校验范围起点
|
|
174
|
+
*/
|
|
175
|
+
readAndVerifyChecksum(startOffset: number): number;
|
|
176
|
+
/**
|
|
177
|
+
* 跳过指定字节数
|
|
178
|
+
* @param bytes 字节数
|
|
179
|
+
*/
|
|
180
|
+
skip(bytes: number): this;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* 校验和不匹配
|
|
184
|
+
*
|
|
185
|
+
* codec 层不依赖具体错误模型,由上层转换成稳定错误码。
|
|
186
|
+
*/
|
|
187
|
+
export declare class ChecksumMismatchError extends Error {
|
|
188
|
+
/** 期望的校验和 */
|
|
189
|
+
readonly expected: number;
|
|
190
|
+
/** 实际计算出的校验和 */
|
|
191
|
+
readonly actual: number;
|
|
192
|
+
/** 校验区间起点 */
|
|
193
|
+
readonly position: number;
|
|
194
|
+
constructor(expected: number, actual: number, position: number);
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=binary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../src/codec/binary.ts"],"names":[],"mappings":"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"}
|