0.0.2 |
|
---|---|
0.0.1 |
|
#8 in #received
47KB
1K SLoC
Automerge
这是Automerge在Rust中的一个非常早期、还在进行中的实现。目前它仅实现了接收到的操作的可读视图,并且几乎没有测试其是否正常工作。其目标是
- 完整的读写复制
no_std
支持,使其易于在WASM环境中使用- 基于模型的测试以确保与JS库的兼容性
如何使用
您需要将Automerge中的更改导出为JSON,而不是使用Automerge.save
使用的编码。所以首先这样做
const doc = <your automerge document>
const changes = Automerge.getHistory(doc).map(h => h.change)
console.log(JSON.stringify(changes, null, 4))
现在您可以这样将这些更改加载到Automerge中
extern crate automerge;
fn main() {
let changes: Vec<automerge::Change> = serde_json::from_str("<paste the changes JSON here>").unwrap();
let document = automerge::Document::load(changes).unwrap();
let state: serde_json::Value = document.state().unwrap();
println!("{:?}", state);
}
依赖项
~0.7–1.5MB
~34K SLoC