RxDBBackupArchiveWriter
Defined in: packages/rxdb/src/backup/backup-archive.ts:135
流式归档写入器。
Remarks
调用顺序固定:writeManifest → 若干(beginEntry → writeData*)→ finish。
违反顺序、路径不安全或写入字节与声明不符都报 invalid_state——这些是生产方的 bug,
不能写出一个读取方必然拒绝的归档。写入器不关闭底层流,close() / abort() 由调用方决定。
任何一步失败后写入器作废,后续调用一律 invalid_state。
Example
const writer = new RxDBBackupArchiveWriter(sink.getWriter(), signal);
await writer.writeManifest(manifest);
await writer.beginEntry({ path: 'PG_VERSION', kind: 'file', size: bytes.length });
await writer.writeData(bytes);
const trailer = await writer.finish();
Constructors
Constructor
new RxDBBackupArchiveWriter(sink, signal?): RxDBBackupArchiveWriter;
Defined in: packages/rxdb/src/backup/backup-archive.ts:145
Parameters
| Parameter | Type |
|---|---|
sink | WritableStreamDefaultWriter<Uint8Array<ArrayBufferLike>> |
signal? | AbortSignal |
Returns
RxDBBackupArchiveWriter
Methods
beginEntry()
beginEntry(header): Promise<void>;
Defined in: packages/rxdb/src/backup/backup-archive.ts:170
开始一个条目。上一个文件必须已写满声明的字节数。
Parameters
| Parameter | Type | Description |
|---|---|---|
header | RxDBBackupEntryHeader | 条目头 |
Returns
Promise<void>
finish()
finish(): Promise<RxDBBackupTrailer>;
Defined in: packages/rxdb/src/backup/backup-archive.ts:209
写结束标记。结束标记本身不进摘要。
Returns
Promise<RxDBBackupTrailer>
结束标记内容
writeData()
writeData(bytes): Promise<void>;
Defined in: packages/rxdb/src/backup/backup-archive.ts:192
写当前文件的一段数据;超过 RXDB_BACKUP_CHUNK_SIZE 的输入会被切成多帧。 输入缓冲区只读不改,返回后调用方可以复用。
Parameters
| Parameter | Type | Description |
|---|---|---|
bytes | Uint8Array | 数据 |
Returns
Promise<void>
writeManifest()
writeManifest(manifest): Promise<void>;
Defined in: packages/rxdb/src/backup/backup-archive.ts:155
写魔数与 manifest。必须是第一次调用。
Parameters
| Parameter | Type | Description |
|---|---|---|
manifest | RxDBBackupManifest | 归档元数据 |
Returns
Promise<void>