Open Brooooooklyn opened 1 year ago
crdt ops in yjs
can be divided into two categories: map
and list
.
YMap
/YXmlElement
YArray
/ YXmlFragment
YText
/ YXmlText
Both map
and set
use item.left
and item.right
to form a series of items into a linked list.
The difference is that the map
does not care about the key order and contains parentSub(key), while the list
does not.
YText
and YXmlText
are implemented slightly different from list
to increase support for Format
, but the final operation logic is similar.