Changes
The Changes
class is responsible for managing changes in a store. It provides methods for changing components, retrieving values, resetting changes, and updating or inserting components.
Example Usage
const store = new Storage();const changes = new Changes(store);
// Change a componentchanges.changeComponent('componentId', 'propertyKey', 'newValue', 'prevValue');
// Retrieve the changes of a valueconst diffs = changes.getValue('componentId', 'propertyKey', 'storedValue');
// Reset the changeschanges.reset();
// Update or insert a componentchanges.upsertComponent('componentId', 'propertyKey', 'newValue', '_prevValue');
Methods
changeComponent(id, key, newValue, prevValue, isAsyncStorage)
: Changes a component in the current store. Returns a promise that resolves to the new value.getValue(id, key, storedValue)
: Retrieves the changes of a value. Returns the diffs.reset(changes)
: Resets the changes to a new set of changes or an empty object if no changes are provided. Returns the instance of the Changes class.upsertComponent(id, key, newValue, _prevValue, isAsyncStorage)
: Updates an existing component or inserts a new one if it doesn’t exist in the current store. Returns a promise that resolves to the new value.
Fields
store: StorageInterface
: The store in which changes are to be managed.diffs: Record<string, any>
: The diffs of the changes.