Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 15 additions & 4 deletions src/pages/docs/liveobjects/concepts/operations.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -329,16 +329,27 @@ The `operation` field of an `ObjectMessage` contains an `ObjectOperation` with t
|----------|-------------|
| **action** | The operation action. One of: `'map.create'`, `'map.set'`, `'map.remove'`, `'counter.create'`, `'counter.inc'`, or `'object.delete'` |
| **objectId** | The ID of the object the operation was applied to |
| **mapCreate** | Present for `'map.create'` operations. Defines the initial value of the map object with `semantics` (conflict-resolution strategy) and `entries` (initial key-value pairs) |
| **mapSet** | Present for `'map.set'` operations. Contains `key` (the key that was set) and `value` (an `ObjectData` representing the value assigned to the key) |
| **mapCreate** | Present for `'map.create'` operations. Defines the initial value of the map object with `semantics` (conflict-resolution strategy, one of: `'lww'`) and `entries` (initial key-value pairs as a record of [`ObjectsMapEntry`](#objects-map-entry) objects) |
| **mapSet** | Present for `'map.set'` operations. Contains `key` (the key that was set) and `value` (an [`ObjectData`](#object-data) representing the value assigned to the key) |
| **mapRemove** | Present for `'map.remove'` operations. Contains `key` (the key that was removed) |
| **counterCreate** | Present for `'counter.create'` operations. Defines the initial value of the counter object with `count` (initial counter value) |
| **counterInc** | Present for `'counter.inc'` operations. Contains `number` (the value added to the counter) |
| **objectDelete** | Present for `'object.delete'` operations. Empty object with no operation-specific data |

#### ObjectData
#### ObjectsMapEntry <a id="objects-map-entry"/>

The `value` field in `mapSet` is an `ObjectData` object that represents the value assigned to a map key. Exactly one property is set, indicating the type of data:
An `ObjectsMapEntry` describes a value at a specific key in a map object. It has the following properties:

| Property | Description |
|----------|-------------|
| **tombstone** | Indicates whether the map entry has been removed |
| **timeserial** | The `serial` value of the last operation applied to the map entry |
| **serialTimestamp** | A timestamp derived from the `timeserial` field. Present only if `tombstone` is `true` |
| **data** | An [`ObjectData`](#object-data) representing the value associated with this map entry |

#### ObjectData <a id="object-data"/>

An `ObjectData` object represents a value assigned to a map key. It is used as the `value` in `mapSet` operations and as the `data` in each [`ObjectsMapEntry`](#objects-map-entry) within `mapCreate.entries`. Exactly one property is set, indicating the type of data:

| Property | Description |
|----------|-------------|
Expand Down