all repos — h3 @ 2f752ccce57c904ff1272be4b6bcc3215374a413

A tiny, extremely minimalist JavaScript microframework.

example/assets/js/store.js

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
import { createStore } from "./h3.js";

const todos = (store) => {
  store.on("init", () => ({ todos: [], filteredTodos: [], filter: "" }));
};

const flags = (store) => {
  store.on("init", () => ({ displayEmptyTodoError: false }));
  store.on("emptyTodoError.clear", (state) => ({ displayEmptyTodoError: false }));
  store.on("emptyTodoError.set", (state) => ({ displayEmptyTodoError: true }));
};

const pages = (store) => {
  store.on("init", () => ({ pagesize: 10, page: 1 }));
};

const store = createStore([todos, flags, pages]);

store.dispatch("init");

export default store;