@pumped-fn/lite 1.3.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @pumped-fn/lite
2
2
 
3
+ ## 1.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - bbcada9: feat(lite): add Controller.set() and Controller.update() for direct value mutation
8
+
9
+ Adds two new methods to Controller for pushing values directly without re-running the factory:
10
+
11
+ - `controller.set(value)` - Replace value directly
12
+ - `controller.update(fn)` - Transform value using a function
13
+
14
+ Both methods:
15
+
16
+ - Use the same invalidation queue as `invalidate()`
17
+ - Run cleanups in LIFO order before applying new value
18
+ - Transition through `resolving → resolved` states
19
+ - Notify all subscribed listeners
20
+
21
+ This enables patterns like WebSocket updates pushing values directly into atoms without triggering factory re-execution.
22
+
23
+ BREAKING CHANGE: `DataStore.get()` now always returns `T | undefined` (Map-like semantics). Use `getOrSet()` to access default values from tags. This aligns DataStore behavior with standard Map semantics where `get()` is purely a lookup operation.
24
+
3
25
  ## 1.3.1
4
26
 
5
27
  ### Patch Changes