跳至正文
Wener Notes

automerge

约 1 分钟阅读
    • MIT, JS, Rust, WASM
    • 2.3 MB, 865.9kB
  • 参考
  • @automerge/automerge-wasm
    • Rust -> WASM
  • @automerge/automerge-repo-storage-indexeddb
  • @automerge/automerge-repo-storage-nodefs
  • @automerge/automerge-repo-network-websocket
  • @automerge/automerge-repo-network-messagechannel
  • @automerge/automerge-repo-network-broadcastchannel
bash
pnpm add @automerge/automerge @automerge/automerge-repo
TypeScript
// NodeJS
import { next as A } from "@automerge/automerge"


// 自定义初始化逻辑
import wasmUrl from "@automerge/automerge/automerge.wasm?url";
// import { automergeWasmBase64 } from "@automerge/automerge/automerge.wasm.base64.js";
import { next as Automerge } from "@automerge/automerge/slim";
import { Repo } from `@automerge/automerge-repo/slim`;

await next.initializeWasm(wasmUrl)
const repo = new Repo({})

StorageAdapter

TypeScript
export type StorageKey = string[];

export abstract class StorageAdapter {
  abstract load(key: StorageKey): Promise<Uint8Array | undefined>;
  abstract save(key: StorageKey, data: Uint8Array): Promise<void>;
  abstract remove(key: StorageKey): Promise<void>;
  abstract loadRange(keyPrefix: StorageKey): Promise<{ key: StorageKey; data: Uint8Array }[]>;
  abstract removeRange(keyPrefix: StorageKey): Promise<void>;
}
  • [<document ID>, <chunk type>, <chunk identifier>]
    • chunk type -> snapshot, incremental

Rich Text

关联信息

反向链接、本文链接的其他页面和外部资料。

参考资料

GitHub1 条
其他外链2 条
最近更新commit e15cc1a编辑