You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**`TransitionState<T>`** wraps user state with a non-enumerable `transitions` list (via `Object.defineProperties` — hidden from serializers and spreads)
271
270
-**`transitionStateFactory`** returns the previous state object when both `state` and `transitions` are referentially equal (preserves memoization)
272
-
-**`selectOptimistic`**is closed over the bound reducer — no global state needed
271
+
-**`selectors`**are returned as a grouped object from `optimistron()`— no standalone exports, each slice is self-contained
273
272
-**Action types** use `namespace::operation` format, matching uses `startsWith`
274
273
275
274
---
@@ -290,7 +289,7 @@ These are non-negotiable — the library design depends on them:
|`config`|`ReducerConfig`| CRUD action map or reducer function |
301
300
|`options.sanitizeAction`|`(action) => action`| Optional action transform before sanitization |
302
301
303
-
### `selectOptimistic(selector)`
302
+
### `selectors`
304
303
305
-
Returned from `optimistron()`. Replays pending transitions before applying the selector. Always wrap with `createSelector`:
304
+
Returned from `optimistron()` as a grouped object. No selectors are exported from the library — they are all bound to the slice's `TransitionState<S>`.
305
+
306
+
#### `selectors.selectOptimistic(selector)`
307
+
308
+
Replays pending transitions before applying the selector. Always wrap with `createSelector`:
0 commit comments