mirror of
https://github.com/orbitdb/orbitdb.git
synced 2025-06-03 12:46:37 +00:00
150 lines
4.3 KiB
JSON
150 lines
4.3 KiB
JSON
// Data set grouped and sorted
|
|
"A" : [
|
|
{ "id": "A", "seq": 0, "ver": 0, "prev": null},
|
|
{ "id": "A", "seq": 0, "ver": 1, "prev": "A0.0"},
|
|
{ "id": "A", "seq": 0, "ver": 2, "prev": "A0.1"},
|
|
{ "id": "A", "seq": 0, "ver": 3, "prev": "A0.2"},
|
|
{ "id": "A", "seq": 0, "ver": 4, "prev": "A0.3"},
|
|
{ "id": "A", "seq": 2, "ver": 0, "prev": ["A0.4", "B1.1"]}
|
|
],
|
|
"B" : [
|
|
{ "id": "B", "seq": 1, "ver": 0, "prev": ["A0.4", "C0.2"]},
|
|
{ "id": "B", "seq": 1, "ver": 1, "prev": "B1.0"}
|
|
],
|
|
"C" : [
|
|
{ "id": "C", "seq": 0, "ver": 0, "prev": null},
|
|
{ "id": "C", "seq": 0, "ver": 1, "prev": "C0.0"},
|
|
{ "id": "C", "seq": 0, "ver": 2, "prev": "C0.1"},
|
|
{ "id": "C", "seq": 3, "ver": 0, "prev": ["C0.2", "A2.0]"]}
|
|
]
|
|
|
|
A B C
|
|
|
|
|
0.0
|
|
|
|
|
0.1
|
|
|
|
|
0.2 0.0
|
|
| |
|
|
0.3 0.1
|
|
| |
|
|
0.4 0.2
|
|
| \ / |
|
|
| 1.0 |
|
|
| | |
|
|
| 1.1 |
|
|
| / |
|
|
2.0 |
|
|
\ |
|
|
\ |
|
|
\ |
|
|
3.0
|
|
|
|
// expected order A
|
|
{ "id": "A", "seq": 0, "ver": 0, "prev": null},
|
|
{ "id": "A", "seq": 0, "ver": 1, "prev": "A0.0"},
|
|
{ "id": "A", "seq": 0, "ver": 2, "prev": "A0.1"},
|
|
{ "id": "A", "seq": 0, "ver": 3, "prev": "A0.2"},
|
|
{ "id": "A", "seq": 0, "ver": 4, "prev": "A0.3"},
|
|
{ "id": "C", "seq": 0, "ver": 0, "prev": null},
|
|
{ "id": "C", "seq": 0, "ver": 1, "prev": "C0.0"},
|
|
{ "id": "C", "seq": 0, "ver": 2, "prev": "C0.1"},
|
|
{ "id": "B", "seq": 1, "ver": 0, "prev": ["A0.4", "C0.2"]},
|
|
{ "id": "B", "seq": 1, "ver": 1, "prev": "B1.0"}
|
|
{ "id": "A", "seq": 2, "ver": 0, "prev": ["A0.4", "B1.1"]}
|
|
{ "id": "C", "seq": 3, "ver": 0, "prev": ["C0.2", "A2.0]"]}
|
|
|
|
"VersionClock": {
|
|
"seq": 0,
|
|
"ver": 0
|
|
}
|
|
|
|
"Item": {
|
|
"id": "",
|
|
"VersionClock": "<VersionClock>",
|
|
"prev": []
|
|
}
|
|
|
|
"List": {
|
|
"items": ["<Item>"]
|
|
}
|
|
|
|
|
|
A B C
|
|
0.0
|
|
|
|
|
0.0 0.1
|
|
| |
|
|
0.1 0.2
|
|
\ / |
|
|
1.0 |
|
|
| |
|
|
1.1 |
|
|
/ |
|
|
2.0 |
|
|
\ |
|
|
\ |
|
|
\ |
|
|
3.0
|
|
|
|
// Sequence, --> syncs to
|
|
listA.add("mango") // { "id": "A", "seq": 0, "ver": 0, "prev": null}
|
|
listA.add("banana") // { "id": "A", "seq": 0, "ver": 1, "prev": "A.0.0"}
|
|
--> B
|
|
|
|
// A
|
|
// { "id": "A", "seq": 0, "ver": 0, "prev": null}
|
|
// { "id": "A", "seq": 0, "ver": 1, "prev": "A.0.0"}
|
|
|
|
listC.add("apple") // { "id": "C", "seq": 0, "ver": 0, "prev": null}
|
|
listC.add("strawberry") // { "id": "C", "seq": 0, "ver": 1, "prev": "C.0.0"}
|
|
listC.add("orange") // { "id": "C", "seq": 0, "ver": 2, "prev": "C.0.1"}
|
|
--> A,B
|
|
|
|
// A
|
|
// { "id": "A", "seq": 0, "ver": 0, "prev": null}
|
|
// { "id": "A", "seq": 0, "ver": 1, "prev": "A.0.0"}
|
|
// { "id": "C", "seq": 0, "ver": 0, "prev": null}
|
|
// { "id": "C", "seq": 0, "ver": 1, "prev": "C.0.0"}
|
|
// { "id": "C", "seq": 0, "ver": 2, "prev": "C.0.1"}
|
|
|
|
listB.add("pineapple") // { "id": "B", "seq": 1, "ver": 0, "prev": ["A.0.1", "C.0.2"]}
|
|
listB.add("papaya") // { "id": "B", "seq": 1, "ver": 1, "prev": "B.1.0"}
|
|
--> A
|
|
|
|
// A
|
|
// { "id": "A", "seq": 0, "ver": 0, "prev": null}
|
|
// { "id": "A", "seq": 0, "ver": 1, "prev": "A.0.0"}
|
|
// { "id": "C", "seq": 0, "ver": 0, "prev": null}
|
|
// { "id": "C", "seq": 0, "ver": 1, "prev": "C.0.0"}
|
|
// { "id": "C", "seq": 0, "ver": 2, "prev": "C.0.1"}
|
|
// { "id": "B", "seq": 1, "ver": 0, "prev": ["A.0.1", "C.0.2"]}
|
|
// { "id": "B", "seq": 1, "ver": 1, "prev": "B.1.0"}
|
|
|
|
listA.add("kiwi") // { "id": "A", "seq": 2, "ver": 0, "prev": ["A.0.1", "B1.1", "C0.2"]}
|
|
--> C
|
|
|
|
// A
|
|
// { "id": "A", "seq": 0, "ver": 0, "prev": null}
|
|
// { "id": "A", "seq": 0, "ver": 1, "prev": "A.0.0"}
|
|
// { "id": "C", "seq": 0, "ver": 0, "prev": null}
|
|
// { "id": "C", "seq": 0, "ver": 1, "prev": "C.0.0"}
|
|
// { "id": "C", "seq": 0, "ver": 2, "prev": "C.0.1"}
|
|
// { "id": "B", "seq": 1, "ver": 0, "prev": ["A.0.0", "C.0.2"]}
|
|
// { "id": "B", "seq": 1, "ver": 1, "prev": "B.1.0"}
|
|
// { "id": "A", "seq": 2, "ver": 0, "prev": ["A.0.1", "B1.1", "C0.2"]}
|
|
|
|
listC.add("blueberry") // { "id": "C", "seq": 3, "ver": 0, "prev": ["A.2.0", "C.0.2"]}
|
|
--> A,B
|
|
|
|
// A
|
|
// { "id": "A", "seq": 0, "ver": 0, "prev": null}
|
|
// { "id": "A", "seq": 0, "ver": 1, "prev": "A.0.0"}
|
|
// { "id": "C", "seq": 0, "ver": 0, "prev": null}
|
|
// { "id": "C", "seq": 0, "ver": 1, "prev": "C.0.0"}
|
|
// { "id": "C", "seq": 0, "ver": 2, "prev": "C.0.1"}
|
|
// { "id": "B", "seq": 1, "ver": 0, "prev": ["A.0.0", "C.0.2"]}
|
|
// { "id": "B", "seq": 1, "ver": 1, "prev": "B.1.0"}
|
|
// { "id": "A", "seq": 2, "ver": 0, "prev": ["A.0.1", "B1.1", "C0.2"]}
|
|
// { "id": "C", "seq": 3, "ver": 0, "prev": ["A.2.0", "C.0.2"]}
|