v0.15.148 - 51.5 / 38.2

Stores

Utilities to make and modify reactive objects

# Snippet

# mutable

mutable replaces all object properties with setters and getters, returning a proxy, making both existing and new properties trackable and mutable. This process occurs recursively.

mutable modifies the object passed to it, preserving references and ensuring identity methods function as expected. To prevent changes to the original object, you can pass true to make a copy before making it mutable

# signalify

signalify is similar to mutable but only applies to the first level of an object. It's lightweight and allows you to selectively choose which properties of the object to track or mutate. This process doesn't happen recursively.

All already defined properties become reactive
Only `lala` property becomes reactive

# Reconcile

Reconciling data can be very confusing. There are three APIs to separate the use cases and make the process as clear and simple as possible. In all cases, the references to the properties are kept.

# merge

Merges `source` into `target`

As keys for the array were not provided, it merged with the keys it had
Merge using keys appends the data when the key is not found

# replace

Merges `source` into `target` and removes from `target` keys not present in `source`

Same example as before, but everything was replaced.

# reset

Resets from `target` whats defined in `source`.

Creating a mutable from a defaultState and then reseting a portion of the mutable with data coming from defaultState. Note the use of true on the mutable call to not modify the original object when making it mutable.