@yydb/light-db 0.0.18 → 0.1.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/api/index.d.ts +4 -9
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +3 -6
- package/dist/api/index.js.map +1 -1
- package/dist/api/types.d.ts +71 -42
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/types.js +5 -3
- package/dist/api/types.js.map +1 -1
- package/dist/api/wasm-database.d.ts +134 -27
- package/dist/api/wasm-database.d.ts.map +1 -1
- package/dist/api/wasm-database.js +172 -28
- package/dist/api/wasm-database.js.map +1 -1
- package/dist/index.d.ts +14 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -11
- package/dist/index.js.map +1 -1
- package/dist/shared/micro.d.ts +86 -0
- package/dist/shared/micro.d.ts.map +1 -0
- package/dist/shared/micro.js +194 -0
- package/dist/shared/micro.js.map +1 -0
- package/dist/shared/udf-types.d.ts +31 -0
- package/dist/shared/udf-types.d.ts.map +1 -0
- package/dist/shared/udf-types.js +12 -0
- package/dist/shared/udf-types.js.map +1 -0
- package/package.json +5 -7
- package/readme.md +60 -63
- package/dist/api/database.d.ts +0 -101
- package/dist/api/database.d.ts.map +0 -1
- package/dist/api/database.js +0 -149
- package/dist/api/database.js.map +0 -1
- package/dist/api/schema.d.ts +0 -33
- package/dist/api/schema.d.ts.map +0 -1
- package/dist/api/schema.js +0 -80
- package/dist/api/schema.js.map +0 -1
- package/dist/api/transaction.d.ts +0 -26
- package/dist/api/transaction.d.ts.map +0 -1
- package/dist/api/transaction.js +0 -52
- package/dist/api/transaction.js.map +0 -1
- package/dist/codec/binary.d.ts +0 -196
- package/dist/codec/binary.d.ts.map +0 -1
- package/dist/codec/binary.js +0 -342
- package/dist/codec/binary.js.map +0 -1
- package/dist/codec/checksum.d.ts +0 -21
- package/dist/codec/checksum.d.ts.map +0 -1
- package/dist/codec/checksum.js +0 -46
- package/dist/codec/checksum.js.map +0 -1
- package/dist/codec/index.d.ts +0 -12
- package/dist/codec/index.d.ts.map +0 -1
- package/dist/codec/index.js +0 -10
- package/dist/codec/index.js.map +0 -1
- package/dist/codec/page.d.ts +0 -114
- package/dist/codec/page.d.ts.map +0 -1
- package/dist/codec/page.js +0 -225
- package/dist/codec/page.js.map +0 -1
- package/dist/codec/record.d.ts +0 -62
- package/dist/codec/record.d.ts.map +0 -1
- package/dist/codec/record.js +0 -82
- package/dist/codec/record.js.map +0 -1
- package/dist/core/broadcast.d.ts +0 -39
- package/dist/core/broadcast.d.ts.map +0 -1
- package/dist/core/broadcast.js +0 -54
- package/dist/core/broadcast.js.map +0 -1
- package/dist/core/checkpoint.d.ts +0 -23
- package/dist/core/checkpoint.d.ts.map +0 -1
- package/dist/core/checkpoint.js +0 -49
- package/dist/core/checkpoint.js.map +0 -1
- package/dist/core/engine.d.ts +0 -142
- package/dist/core/engine.d.ts.map +0 -1
- package/dist/core/engine.js +0 -304
- package/dist/core/engine.js.map +0 -1
- package/dist/core/index.d.ts +0 -17
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -13
- package/dist/core/index.js.map +0 -1
- package/dist/core/lease.d.ts +0 -32
- package/dist/core/lease.d.ts.map +0 -1
- package/dist/core/lease.js +0 -81
- package/dist/core/lease.js.map +0 -1
- package/dist/core/records.d.ts +0 -49
- package/dist/core/records.d.ts.map +0 -1
- package/dist/core/records.js +0 -70
- package/dist/core/records.js.map +0 -1
- package/dist/core/recovery.d.ts +0 -43
- package/dist/core/recovery.d.ts.map +0 -1
- package/dist/core/recovery.js +0 -99
- package/dist/core/recovery.js.map +0 -1
- package/dist/core/wal.d.ts +0 -50
- package/dist/core/wal.d.ts.map +0 -1
- package/dist/core/wal.js +0 -114
- package/dist/core/wal.js.map +0 -1
- package/dist/storage/StorageAdapter.d.ts +0 -97
- package/dist/storage/StorageAdapter.d.ts.map +0 -1
- package/dist/storage/StorageAdapter.js +0 -9
- package/dist/storage/StorageAdapter.js.map +0 -1
- package/dist/storage/index.d.ts +0 -11
- package/dist/storage/index.d.ts.map +0 -1
- package/dist/storage/index.js +0 -10
- package/dist/storage/index.js.map +0 -1
- package/dist/storage/indexeddb/IndexedDbStorageAdapter.d.ts +0 -140
- package/dist/storage/indexeddb/IndexedDbStorageAdapter.d.ts.map +0 -1
- package/dist/storage/indexeddb/IndexedDbStorageAdapter.js +0 -403
- package/dist/storage/indexeddb/IndexedDbStorageAdapter.js.map +0 -1
- package/dist/storage/memory/MemoryStorageAdapter.d.ts +0 -76
- package/dist/storage/memory/MemoryStorageAdapter.d.ts.map +0 -1
- package/dist/storage/memory/MemoryStorageAdapter.js +0 -212
- package/dist/storage/memory/MemoryStorageAdapter.js.map +0 -1
- package/dist/storage/opfs/OpfsStorageAdapter.d.ts +0 -141
- package/dist/storage/opfs/OpfsStorageAdapter.d.ts.map +0 -1
- package/dist/storage/opfs/OpfsStorageAdapter.js +0 -400
- package/dist/storage/opfs/OpfsStorageAdapter.js.map +0 -1
package/dist/codec/binary.js
DELETED
|
@@ -1,342 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 浏览器原生二进制编解码
|
|
3
|
-
*
|
|
4
|
-
* 公共类型只用 `Uint8Array`,不依赖 Node `Buffer`。
|
|
5
|
-
*/
|
|
6
|
-
import { crc32 } from './checksum';
|
|
7
|
-
/** 宿主提供的 UTF-8 编解码器构造器 */
|
|
8
|
-
const HOST_TEXT_CODEC = globalThis;
|
|
9
|
-
/** UTF-8 编码器 */
|
|
10
|
-
const TEXT_ENCODER = new HOST_TEXT_CODEC.TextEncoder();
|
|
11
|
-
/** UTF-8 解码器 */
|
|
12
|
-
const TEXT_DECODER = new HOST_TEXT_CODEC.TextDecoder('utf-8');
|
|
13
|
-
/**
|
|
14
|
-
* 二进制辅助方法
|
|
15
|
-
*/
|
|
16
|
-
export class BinaryUtils {
|
|
17
|
-
/**
|
|
18
|
-
* 分配初始化为零的字节数组
|
|
19
|
-
* @param size 大小
|
|
20
|
-
*/
|
|
21
|
-
static alloc(size) {
|
|
22
|
-
return new Uint8Array(size);
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* 拼接多个字节数组
|
|
26
|
-
* @param parts 字节数组列表
|
|
27
|
-
*/
|
|
28
|
-
static concat(parts) {
|
|
29
|
-
let total = 0;
|
|
30
|
-
for (const part of parts) {
|
|
31
|
-
total += part.length;
|
|
32
|
-
}
|
|
33
|
-
const result = new Uint8Array(total);
|
|
34
|
-
let offset = 0;
|
|
35
|
-
for (const part of parts) {
|
|
36
|
-
result.set(part, offset);
|
|
37
|
-
offset += part.length;
|
|
38
|
-
}
|
|
39
|
-
return result;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* 计算字符串的 UTF-8 字节长度
|
|
43
|
-
* @param value 字符串
|
|
44
|
-
*/
|
|
45
|
-
static byteLength(value) {
|
|
46
|
-
return TEXT_ENCODER.encode(value).length;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* 编码字符串为 UTF-8 字节
|
|
50
|
-
* @param value 字符串
|
|
51
|
-
*/
|
|
52
|
-
static encode(value) {
|
|
53
|
-
return TEXT_ENCODER.encode(value);
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* 解码 UTF-8 字节为字符串
|
|
57
|
-
* @param data 字节
|
|
58
|
-
* @param offset 起始偏移量
|
|
59
|
-
* @param length 长度
|
|
60
|
-
*/
|
|
61
|
-
static decode(data, offset = 0, length) {
|
|
62
|
-
const end = length === undefined ? data.length : offset + length;
|
|
63
|
-
return TEXT_DECODER.decode(data.subarray(offset, end));
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* 判断两个字节数组内容是否相同
|
|
67
|
-
* @param a 第一个数组
|
|
68
|
-
* @param b 第二个数组
|
|
69
|
-
*/
|
|
70
|
-
static equals(a, b) {
|
|
71
|
-
if (a.length !== b.length) {
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
for (let i = 0; i < a.length; i++) {
|
|
75
|
-
if (a[i] !== b[i]) {
|
|
76
|
-
return false;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return true;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* 复制字节数组
|
|
83
|
-
* @param source 源数组
|
|
84
|
-
*/
|
|
85
|
-
static copy(source) {
|
|
86
|
-
return new Uint8Array(source);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* 顺序字节写入器
|
|
91
|
-
*
|
|
92
|
-
* 容量不足时自动扩展,写入 `data` 时返回已写区间视图。
|
|
93
|
-
*/
|
|
94
|
-
export class ByteWriter {
|
|
95
|
-
buffer;
|
|
96
|
-
view;
|
|
97
|
-
offset;
|
|
98
|
-
/**
|
|
99
|
-
* 创建写入器
|
|
100
|
-
* @param size 初始容量
|
|
101
|
-
*/
|
|
102
|
-
constructor(size = 64) {
|
|
103
|
-
this.buffer = new Uint8Array(Math.max(1, size));
|
|
104
|
-
this.view = new DataView(this.buffer.buffer);
|
|
105
|
-
this.offset = 0;
|
|
106
|
-
}
|
|
107
|
-
/** 当前写入位置 */
|
|
108
|
-
get position() {
|
|
109
|
-
return this.offset;
|
|
110
|
-
}
|
|
111
|
-
/** 已写入的数据视图 */
|
|
112
|
-
get data() {
|
|
113
|
-
return this.buffer.subarray(0, this.offset);
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* 确保容量
|
|
117
|
-
* @param additional 需要的额外字节数
|
|
118
|
-
*/
|
|
119
|
-
ensureCapacity(additional) {
|
|
120
|
-
const required = this.offset + additional;
|
|
121
|
-
if (required <= this.buffer.length) {
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
let capacity = this.buffer.length * 2;
|
|
125
|
-
while (capacity < required) {
|
|
126
|
-
capacity *= 2;
|
|
127
|
-
}
|
|
128
|
-
const next = new Uint8Array(capacity);
|
|
129
|
-
next.set(this.buffer.subarray(0, this.offset), 0);
|
|
130
|
-
this.buffer = next;
|
|
131
|
-
this.view = new DataView(next.buffer);
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* 写入 8 位无符号整数
|
|
135
|
-
* @param value 值
|
|
136
|
-
*/
|
|
137
|
-
writeUInt8(value) {
|
|
138
|
-
this.ensureCapacity(1);
|
|
139
|
-
this.buffer[this.offset++] = value & 0xff;
|
|
140
|
-
return this;
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* 写入 16 位无符号整数(小端)
|
|
144
|
-
* @param value 值
|
|
145
|
-
*/
|
|
146
|
-
writeUInt16LE(value) {
|
|
147
|
-
this.ensureCapacity(2);
|
|
148
|
-
this.view.setUint16(this.offset, value, true);
|
|
149
|
-
this.offset += 2;
|
|
150
|
-
return this;
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* 写入 32 位无符号整数(小端)
|
|
154
|
-
* @param value 值
|
|
155
|
-
*/
|
|
156
|
-
writeUInt32LE(value) {
|
|
157
|
-
this.ensureCapacity(4);
|
|
158
|
-
this.view.setUint32(this.offset, value >>> 0, true);
|
|
159
|
-
this.offset += 4;
|
|
160
|
-
return this;
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* 写入 64 位无符号整数(小端)
|
|
164
|
-
* @param value 值
|
|
165
|
-
*/
|
|
166
|
-
writeBigUInt64LE(value) {
|
|
167
|
-
this.ensureCapacity(8);
|
|
168
|
-
this.view.setBigUint64(this.offset, value, true);
|
|
169
|
-
this.offset += 8;
|
|
170
|
-
return this;
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* 写入原始字节
|
|
174
|
-
* @param value 字节
|
|
175
|
-
*/
|
|
176
|
-
writeBytes(value) {
|
|
177
|
-
this.ensureCapacity(value.length);
|
|
178
|
-
this.buffer.set(value, this.offset);
|
|
179
|
-
this.offset += value.length;
|
|
180
|
-
return this;
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* 写入带 32 位长度前缀的字节
|
|
184
|
-
* @param value 字节
|
|
185
|
-
*/
|
|
186
|
-
writeBytesWithLength(value) {
|
|
187
|
-
this.writeUInt32LE(value.length);
|
|
188
|
-
return this.writeBytes(value);
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* 写入不带长度前缀的 UTF-8 字符串
|
|
192
|
-
* @param value 字符串
|
|
193
|
-
*/
|
|
194
|
-
writeStringRaw(value) {
|
|
195
|
-
return this.writeBytes(BinaryUtils.encode(value));
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* 写入带 32 位长度前缀的 UTF-8 字符串
|
|
199
|
-
* @param value 字符串
|
|
200
|
-
*/
|
|
201
|
-
writeString(value) {
|
|
202
|
-
return this.writeBytesWithLength(BinaryUtils.encode(value));
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* 写入从 `startOffset` 到当前位置的 CRC32 校验和
|
|
206
|
-
* @param startOffset 校验范围起点
|
|
207
|
-
*/
|
|
208
|
-
writeChecksum(startOffset = 0) {
|
|
209
|
-
const checksum = crc32(this.buffer, startOffset, this.offset - startOffset);
|
|
210
|
-
return this.writeUInt32LE(checksum);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
* 顺序字节读取器
|
|
215
|
-
*/
|
|
216
|
-
export class ByteReader {
|
|
217
|
-
buffer;
|
|
218
|
-
view;
|
|
219
|
-
offset;
|
|
220
|
-
/**
|
|
221
|
-
* 创建读取器
|
|
222
|
-
* @param buffer 数据
|
|
223
|
-
* @param startOffset 起始偏移量
|
|
224
|
-
*/
|
|
225
|
-
constructor(buffer, startOffset = 0) {
|
|
226
|
-
this.buffer = buffer;
|
|
227
|
-
this.view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
228
|
-
this.offset = startOffset;
|
|
229
|
-
}
|
|
230
|
-
/** 当前读取位置 */
|
|
231
|
-
get position() {
|
|
232
|
-
return this.offset;
|
|
233
|
-
}
|
|
234
|
-
/** 设置读取位置 */
|
|
235
|
-
set position(value) {
|
|
236
|
-
this.offset = value;
|
|
237
|
-
}
|
|
238
|
-
/** 剩余可读字节数 */
|
|
239
|
-
get remaining() {
|
|
240
|
-
return this.buffer.length - this.offset;
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* 是否有足够的可读数据
|
|
244
|
-
* @param required 需要的字节数
|
|
245
|
-
*/
|
|
246
|
-
hasRemaining(required) {
|
|
247
|
-
return this.remaining >= required;
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* 读取 8 位无符号整数
|
|
251
|
-
*/
|
|
252
|
-
readUInt8() {
|
|
253
|
-
return this.buffer[this.offset++];
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* 读取 16 位无符号整数(小端)
|
|
257
|
-
*/
|
|
258
|
-
readUInt16LE() {
|
|
259
|
-
const value = this.view.getUint16(this.offset, true);
|
|
260
|
-
this.offset += 2;
|
|
261
|
-
return value;
|
|
262
|
-
}
|
|
263
|
-
/**
|
|
264
|
-
* 读取 32 位无符号整数(小端)
|
|
265
|
-
*/
|
|
266
|
-
readUInt32LE() {
|
|
267
|
-
const value = this.view.getUint32(this.offset, true);
|
|
268
|
-
this.offset += 4;
|
|
269
|
-
return value;
|
|
270
|
-
}
|
|
271
|
-
/**
|
|
272
|
-
* 读取 64 位无符号整数(小端)
|
|
273
|
-
*/
|
|
274
|
-
readBigUInt64LE() {
|
|
275
|
-
const value = this.view.getBigUint64(this.offset, true);
|
|
276
|
-
this.offset += 8;
|
|
277
|
-
return value;
|
|
278
|
-
}
|
|
279
|
-
/**
|
|
280
|
-
* 读取指定长度的字节视图
|
|
281
|
-
* @param length 长度
|
|
282
|
-
*/
|
|
283
|
-
readBytes(length) {
|
|
284
|
-
const value = this.buffer.subarray(this.offset, this.offset + length);
|
|
285
|
-
this.offset += length;
|
|
286
|
-
return value;
|
|
287
|
-
}
|
|
288
|
-
/**
|
|
289
|
-
* 读取带 32 位长度前缀的字节
|
|
290
|
-
*/
|
|
291
|
-
readBytesWithLength() {
|
|
292
|
-
return this.readBytes(this.readUInt32LE());
|
|
293
|
-
}
|
|
294
|
-
/**
|
|
295
|
-
* 读取带 32 位长度前缀的 UTF-8 字符串
|
|
296
|
-
*/
|
|
297
|
-
readString() {
|
|
298
|
-
return BinaryUtils.decode(this.readBytesWithLength());
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* 读取 32 位校验和并校验 `[startOffset, 校验和之前)` 的区间
|
|
302
|
-
* @param startOffset 校验范围起点
|
|
303
|
-
*/
|
|
304
|
-
readAndVerifyChecksum(startOffset) {
|
|
305
|
-
const expected = this.readUInt32LE();
|
|
306
|
-
const actual = crc32(this.buffer, startOffset, this.offset - startOffset - 4);
|
|
307
|
-
if (actual !== expected) {
|
|
308
|
-
throw new ChecksumMismatchError(expected, actual, startOffset);
|
|
309
|
-
}
|
|
310
|
-
return expected;
|
|
311
|
-
}
|
|
312
|
-
/**
|
|
313
|
-
* 跳过指定字节数
|
|
314
|
-
* @param bytes 字节数
|
|
315
|
-
*/
|
|
316
|
-
skip(bytes) {
|
|
317
|
-
this.offset += bytes;
|
|
318
|
-
return this;
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
/**
|
|
322
|
-
* 校验和不匹配
|
|
323
|
-
*
|
|
324
|
-
* codec 层不依赖具体错误模型,由上层转换成稳定错误码。
|
|
325
|
-
*/
|
|
326
|
-
export class ChecksumMismatchError extends Error {
|
|
327
|
-
/** 期望的校验和 */
|
|
328
|
-
expected;
|
|
329
|
-
/** 实际计算出的校验和 */
|
|
330
|
-
actual;
|
|
331
|
-
/** 校验区间起点 */
|
|
332
|
-
position;
|
|
333
|
-
constructor(expected, actual, position) {
|
|
334
|
-
super(`Checksum mismatch: expected ${expected}, got ${actual} at offset ${position}`);
|
|
335
|
-
this.name = 'ChecksumMismatchError';
|
|
336
|
-
this.expected = expected;
|
|
337
|
-
this.actual = actual;
|
|
338
|
-
this.position = position;
|
|
339
|
-
Object.setPrototypeOf(this, ChecksumMismatchError.prototype);
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
//# sourceMappingURL=binary.js.map
|
package/dist/codec/binary.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../../src/codec/binary.ts"],"names":[],"mappings":"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"}
|
package/dist/codec/checksum.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CRC32 校验和
|
|
3
|
-
*
|
|
4
|
-
* 只依赖 `Uint8Array`,浏览器与测试环境共用同一实现。
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* 计算 CRC32
|
|
8
|
-
* @param data 数据
|
|
9
|
-
* @param offset 起始偏移量
|
|
10
|
-
* @param length 计算长度,默认到数据末尾
|
|
11
|
-
*/
|
|
12
|
-
export declare function crc32(data: Uint8Array, offset?: number, length?: number): number;
|
|
13
|
-
/**
|
|
14
|
-
* 比较校验和
|
|
15
|
-
* @param data 数据
|
|
16
|
-
* @param expected 期望的校验和
|
|
17
|
-
* @param offset 起始偏移量
|
|
18
|
-
* @param length 计算长度
|
|
19
|
-
*/
|
|
20
|
-
export declare function checksumMatches(data: Uint8Array, expected: number, offset?: number, length?: number): boolean;
|
|
21
|
-
//# sourceMappingURL=checksum.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../src/codec/checksum.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoBH;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,GAAE,MAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CASnF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAEhH"}
|
package/dist/codec/checksum.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CRC32 校验和
|
|
3
|
-
*
|
|
4
|
-
* 只依赖 `Uint8Array`,浏览器与测试环境共用同一实现。
|
|
5
|
-
*/
|
|
6
|
-
/** CRC32 查找表 */
|
|
7
|
-
const CRC32_TABLE = buildTable();
|
|
8
|
-
/**
|
|
9
|
-
* 构建 CRC32 查找表
|
|
10
|
-
*/
|
|
11
|
-
function buildTable() {
|
|
12
|
-
const table = new Uint32Array(256);
|
|
13
|
-
for (let i = 0; i < 256; i++) {
|
|
14
|
-
let crc = i;
|
|
15
|
-
for (let j = 0; j < 8; j++) {
|
|
16
|
-
crc = crc & 1 ? 0xedb88320 ^ (crc >>> 1) : crc >>> 1;
|
|
17
|
-
}
|
|
18
|
-
table[i] = crc >>> 0;
|
|
19
|
-
}
|
|
20
|
-
return table;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* 计算 CRC32
|
|
24
|
-
* @param data 数据
|
|
25
|
-
* @param offset 起始偏移量
|
|
26
|
-
* @param length 计算长度,默认到数据末尾
|
|
27
|
-
*/
|
|
28
|
-
export function crc32(data, offset = 0, length) {
|
|
29
|
-
const end = length === undefined ? data.length : Math.min(data.length, offset + length);
|
|
30
|
-
let crc = 0xffffffff;
|
|
31
|
-
for (let i = offset; i < end; i++) {
|
|
32
|
-
crc = CRC32_TABLE[(crc ^ data[i]) & 0xff] ^ (crc >>> 8);
|
|
33
|
-
}
|
|
34
|
-
return (crc ^ 0xffffffff) >>> 0;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* 比较校验和
|
|
38
|
-
* @param data 数据
|
|
39
|
-
* @param expected 期望的校验和
|
|
40
|
-
* @param offset 起始偏移量
|
|
41
|
-
* @param length 计算长度
|
|
42
|
-
*/
|
|
43
|
-
export function checksumMatches(data, expected, offset = 0, length) {
|
|
44
|
-
return crc32(data, offset, length) === expected;
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=checksum.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checksum.js","sourceRoot":"","sources":["../../src/codec/checksum.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gBAAgB;AAChB,MAAM,WAAW,GAAgB,UAAU,EAAE,CAAC;AAE9C;;GAEG;AACH,SAAS,UAAU;IACf,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzB,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,IAAgB,EAAE,SAAiB,CAAC,EAAE,MAAe;IACvE,MAAM,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACxF,IAAI,GAAG,GAAG,UAAU,CAAC;IAErB,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,GAAG,GAAG,WAAW,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC,GAAG,IAAI,CAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAgB,EAAE,QAAgB,EAAE,SAAiB,CAAC,EAAE,MAAe;IACnG,OAAO,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,QAAQ,CAAC;AACpD,CAAC"}
|
package/dist/codec/index.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* codec 层导出
|
|
3
|
-
*
|
|
4
|
-
* 只处理浏览器可用的 `ArrayBuffer` / `Uint8Array`,不依赖宿主文件系统。
|
|
5
|
-
*/
|
|
6
|
-
export { crc32, checksumMatches } from './checksum';
|
|
7
|
-
export { BinaryUtils, ByteWriter, ByteReader, ChecksumMismatchError } from './binary';
|
|
8
|
-
export { SNAPSHOT_MAGIC, SNAPSHOT_VERSION, DEFAULT_PAGE_SIZE, SNAPSHOT_HEADER_SIZE, PAGE_HEADER_SIZE, PAGE_CHECKSUM_SIZE, RECORD_CHECKSUM_SIZE, RecordTooLargeError, SnapshotFormatError, recordSize, encodeHeader, decodeHeader, encodeRecord, encodePage, decodePage, packRecords, encodeSnapshot, decodeSnapshot, } from './page';
|
|
9
|
-
export type { SnapshotHeader, StoredRecord, Page } from './page';
|
|
10
|
-
export { WAL_RECORD_HEADER_SIZE, WAL_RECORD_CHECKSUM_SIZE, WalOperation, walRecordSize, encodeWalRecord, decodeWalRecord } from './record';
|
|
11
|
-
export type { WalRecord, WalDecodeResult } from './record';
|
|
12
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/codec/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,EACH,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,cAAc,GACjB,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3I,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/codec/index.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* codec 层导出
|
|
3
|
-
*
|
|
4
|
-
* 只处理浏览器可用的 `ArrayBuffer` / `Uint8Array`,不依赖宿主文件系统。
|
|
5
|
-
*/
|
|
6
|
-
export { crc32, checksumMatches } from './checksum';
|
|
7
|
-
export { BinaryUtils, ByteWriter, ByteReader, ChecksumMismatchError } from './binary';
|
|
8
|
-
export { SNAPSHOT_MAGIC, SNAPSHOT_VERSION, DEFAULT_PAGE_SIZE, SNAPSHOT_HEADER_SIZE, PAGE_HEADER_SIZE, PAGE_CHECKSUM_SIZE, RECORD_CHECKSUM_SIZE, RecordTooLargeError, SnapshotFormatError, recordSize, encodeHeader, decodeHeader, encodeRecord, encodePage, decodePage, packRecords, encodeSnapshot, decodeSnapshot, } from './page';
|
|
9
|
-
export { WAL_RECORD_HEADER_SIZE, WAL_RECORD_CHECKSUM_SIZE, WalOperation, walRecordSize, encodeWalRecord, decodeWalRecord } from './record';
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
package/dist/codec/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/codec/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,EACH,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,cAAc,GACjB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/codec/page.d.ts
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 页与快照编解码
|
|
3
|
-
*
|
|
4
|
-
* 快照由一个固定长度头部和若干固定长度页组成,全部基于 `Uint8Array`。
|
|
5
|
-
*/
|
|
6
|
-
/** 快照魔数:`LIGH` */
|
|
7
|
-
export declare const SNAPSHOT_MAGIC = 1279870792;
|
|
8
|
-
/** 快照格式版本 */
|
|
9
|
-
export declare const SNAPSHOT_VERSION = 1;
|
|
10
|
-
/** 默认页大小:4KB */
|
|
11
|
-
export declare const DEFAULT_PAGE_SIZE = 4096;
|
|
12
|
-
/** 快照头部长度:魔数(4) + 版本(4) + 页大小(4) + 最近快照 LSN(8) + 保留(16) */
|
|
13
|
-
export declare const SNAPSHOT_HEADER_SIZE = 36;
|
|
14
|
-
/** 页头部长度:页号(4) + 记录数(2) + 空闲空间(2) */
|
|
15
|
-
export declare const PAGE_HEADER_SIZE = 8;
|
|
16
|
-
/** 页尾校验和长度 */
|
|
17
|
-
export declare const PAGE_CHECKSUM_SIZE = 4;
|
|
18
|
-
/** 记录尾校验和长度 */
|
|
19
|
-
export declare const RECORD_CHECKSUM_SIZE = 4;
|
|
20
|
-
/** 快照头部 */
|
|
21
|
-
export interface SnapshotHeader {
|
|
22
|
-
/** 魔数 */
|
|
23
|
-
magic: number;
|
|
24
|
-
/** 格式版本 */
|
|
25
|
-
version: number;
|
|
26
|
-
/** 页大小 */
|
|
27
|
-
pageSize: number;
|
|
28
|
-
/** 最近一次快照覆盖到的 LSN */
|
|
29
|
-
lastSnapshotLsn: bigint;
|
|
30
|
-
}
|
|
31
|
-
/** 持久化记录 */
|
|
32
|
-
export interface StoredRecord {
|
|
33
|
-
/** 键 */
|
|
34
|
-
key: string;
|
|
35
|
-
/** 值 */
|
|
36
|
-
value: Uint8Array;
|
|
37
|
-
}
|
|
38
|
-
/** 页 */
|
|
39
|
-
export interface Page {
|
|
40
|
-
/** 页号 */
|
|
41
|
-
pageId: number;
|
|
42
|
-
/** 页内记录 */
|
|
43
|
-
records: StoredRecord[];
|
|
44
|
-
}
|
|
45
|
-
/** 单条记录超出页容量 */
|
|
46
|
-
export declare class RecordTooLargeError extends Error {
|
|
47
|
-
/** 记录所需字节数 */
|
|
48
|
-
readonly size: number;
|
|
49
|
-
/** 页可用字节数 */
|
|
50
|
-
readonly capacity: number;
|
|
51
|
-
constructor(size: number, capacity: number);
|
|
52
|
-
}
|
|
53
|
-
/** 快照格式错误 */
|
|
54
|
-
export declare class SnapshotFormatError extends Error {
|
|
55
|
-
/** 失败原因 */
|
|
56
|
-
readonly reason: string;
|
|
57
|
-
constructor(reason: string);
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* 计算记录编码后的字节数
|
|
61
|
-
* @param key 键
|
|
62
|
-
* @param value 值
|
|
63
|
-
*/
|
|
64
|
-
export declare function recordSize(key: string, value: Uint8Array): number;
|
|
65
|
-
/**
|
|
66
|
-
* 序列化快照头部
|
|
67
|
-
* @param header 头部
|
|
68
|
-
*/
|
|
69
|
-
export declare function encodeHeader(header: SnapshotHeader): Uint8Array;
|
|
70
|
-
/**
|
|
71
|
-
* 反序列化快照头部
|
|
72
|
-
* @param data 数据
|
|
73
|
-
*/
|
|
74
|
-
export declare function decodeHeader(data: Uint8Array): SnapshotHeader;
|
|
75
|
-
/**
|
|
76
|
-
* 序列化单条记录
|
|
77
|
-
* @param record 记录
|
|
78
|
-
*/
|
|
79
|
-
export declare function encodeRecord(record: StoredRecord): Uint8Array;
|
|
80
|
-
/**
|
|
81
|
-
* 序列化页
|
|
82
|
-
* @param page 页
|
|
83
|
-
* @param pageSize 页大小
|
|
84
|
-
*/
|
|
85
|
-
export declare function encodePage(page: Page, pageSize?: number): Uint8Array;
|
|
86
|
-
/**
|
|
87
|
-
* 反序列化页
|
|
88
|
-
* @param data 页数据
|
|
89
|
-
* @param pageId 期望页号
|
|
90
|
-
*/
|
|
91
|
-
export declare function decodePage(data: Uint8Array, pageId: number): Page;
|
|
92
|
-
/**
|
|
93
|
-
* 将记录打包成页
|
|
94
|
-
* @param records 记录映射
|
|
95
|
-
* @param pageSize 页大小
|
|
96
|
-
*/
|
|
97
|
-
export declare function packRecords(records: ReadonlyMap<string, Uint8Array>, pageSize?: number): Page[];
|
|
98
|
-
/**
|
|
99
|
-
* 序列化完整快照
|
|
100
|
-
* @param records 记录映射
|
|
101
|
-
* @param lastSnapshotLsn 最近快照 LSN
|
|
102
|
-
* @param pageSize 页大小
|
|
103
|
-
*/
|
|
104
|
-
export declare function encodeSnapshot(records: ReadonlyMap<string, Uint8Array>, lastSnapshotLsn: bigint, pageSize?: number): Uint8Array;
|
|
105
|
-
/**
|
|
106
|
-
* 反序列化完整快照
|
|
107
|
-
* @param data 数据
|
|
108
|
-
*/
|
|
109
|
-
export declare function decodeSnapshot(data: Uint8Array): {
|
|
110
|
-
header: SnapshotHeader;
|
|
111
|
-
records: Map<string, Uint8Array>;
|
|
112
|
-
pageCount: number;
|
|
113
|
-
};
|
|
114
|
-
//# sourceMappingURL=page.d.ts.map
|
package/dist/codec/page.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/codec/page.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,kBAAkB;AAClB,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC,aAAa;AACb,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,gBAAgB;AAChB,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,2DAA2D;AAC3D,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,qCAAqC;AACrC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,cAAc;AACd,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,eAAe;AACf,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,WAAW;AACX,MAAM,WAAW,cAAc;IAC3B,SAAS;IACT,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,YAAY;AACZ,MAAM,WAAW,YAAY;IACzB,QAAQ;IACR,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ;IACR,KAAK,EAAE,UAAU,CAAC;CACrB;AAED,QAAQ;AACR,MAAM,WAAW,IAAI;IACjB,SAAS;IACT,MAAM,EAAE,MAAM,CAAC;IACf,WAAW;IACX,OAAO,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,gBAAgB;AAChB,qBAAa,mBAAoB,SAAQ,KAAK;IAC1C,cAAc;IACd,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,aAAa;IACb,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBAErB,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAO7C;AAED,aAAa;AACb,qBAAa,mBAAoB,SAAQ,KAAK;IAC1C,WAAW;IACX,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,MAAM,EAAE,MAAM;CAM7B;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAEjE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,CAQ/D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CAoB7D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU,CAM7D;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAE,MAA0B,GAAG,UAAU,CAyBvF;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CA+BjE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,GAAE,MAA0B,GAAG,IAAI,EAAE,CA2BlH;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC1B,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,EACxC,eAAe,EAAE,MAAM,EACvB,QAAQ,GAAE,MAA0B,GACrC,UAAU,CAeZ;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG;IAC9C,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;CACrB,CAcA"}
|