Svelte store dengan integrasi Redux DevTools + actions pattern.
npm install sveltekit-devtools-store
# atau
pnpm add sveltekit-devtools-store
# atau
yarn add sveltekit-devtools-store
// src/lib/stores/counter.ts
import { createDevtoolsStore } from "sveltekit-devtools-store";
export const counter = createDevtoolsStore(
{ name: "🔢 Counter" },
0,
({ set, update }) => ({
increment: () => update((n) => n + 1),
decrement: () => update((n) => n - 1),
reset: () => set(0),
set: (value: number) => set(value),
}),
);
<!-- +page.svelte -->
<script lang="ts">
import { counter } from '$lib/stores/counter';
</script>
<p>Count: {$counter}</p>
<button onclick={counter.increment}>+</button>
<button onclick={counter.decrement}>-</button>
createDevtoolsStore(name, initialState, buildActions)Creates a Svelte store with Redux DevTools integration.
Parameters:
name (string) - Nama store (muncul di DevTools)initialState (T) - State awal storebuildActions (function) - Fungsi yang menerima {set, update} dan mengembalikan actions objectReturns:
Readable<T> & A - Svelte store dengan tambahan actions