Interface ChangeSet<STATE, INPUTS>

Used for transactional state. This represents a single record change. This is used by transactional operations, undo/redo, version control, and distributed state. This also includes eventing but this is only for eventing for the final writes to the transaction store any local eventing needs to be handled by the record itself.

interface ChangeSet<STATE, INPUTS> {
    inputs?: INPUTS;
    prevState: STATE;
    state: STATE;
    uuid: string;
}

Type Parameters

  • STATE
  • INPUTS

Properties

inputs?: INPUTS

Inputs are values that are not part of the state but were used to calculate the state. This is done because we want to allow different for inputs. For example selection is considered an input because in a multi view environment we may not want to selection to change if another view updates the data/state.

prevState: STATE
state: STATE
uuid: string

Unique Identifier for the change