package
0.0.0-20190930002912-917641f8ea70
Repository: https://github.com/dotchain/dot.git
Documentation: pkg.go.dev

# Packages

Package crdt implements CRDT types and associated changes The main CRDT types are Dict and Seq which implement map-like and list-like container types.
Package diff compares two values and returns the changes.
Package run implements a custom change that applies to a sequence of array elements.
Package table implements a loose 2d collection of values.
Package types implements OT-compatible immutable values.

# Functions

Merge is effectively c1.Merge(c2) except that c1 can be nil.
MetaValue fetches the meta value and the previous context associated with the current change context.
Simplify converts a change to a simpler form if possible.

# Variables

Nil represents an empty value.

# Structs

Atomic is an atomic Value.
Meta wraps a change with some metadata that is maintained as the change is merged.
Move represents a shuffling of some elements (specified by Offset and Count) over to a different spot (specified by Distance, which can be negative to indicate a move over to the left).
PathChange represents a change at the provided "path" which can consist of strings (for map-like objects) and integers for array-like objects.
Replace represents create, delete and update of a value based on whether Before is Nil, After is Nil and both are non-Nil respectively.
Splice represents an array edit change.

# Interfaces

Change represents an OT-compatible mutation The methods provided here are the core methods.
Collection represents an immutable array-like value.
Context defines the context in which a change is being applied.
Custom is the interface that custom change types should implement.
Value represents an immutable JSON object that can apply changes.

# Type aliases

ChangeSet represents a collection of changes.