@stateloom/immer
v1.0.0-alpha.0
Published
Immer integration for mutable draft syntax in StateLoom store `set()` calls.
Readme
@stateloom/immer
Immer integration for mutable draft syntax in StateLoom store set() calls.
Install
pnpm add @stateloom/immer immerQuick Start
import { immer } from '@stateloom/immer';
import { createStore } from '@stateloom/store';
const store = createStore(
immer((set) => ({
todos: [] as Array<{ id: number; text: string; done: boolean }>,
addTodo: (text: string) =>
set((draft) => {
draft.todos.push({ id: Date.now(), text, done: false });
}),
toggleTodo: (id: number) =>
set((draft) => {
const todo = draft.todos.find((t) => t.id === id);
if (todo) todo.done = !todo.done;
}),
})),
);Exports
| Export | Description |
| ----------------------------- | ------------------------------------------------------------ |
| immer(creator) | Wrap a state creator to enable Immer draft syntax in set() |
| produceState(store, recipe) | Apply an Immer recipe to any existing store |
Documentation
Full documentation with API reference, patterns, and nested update examples: docs/api/immer
License
MIT
