todo-board
Demo128 credits used
import { createStore } from "./store";
import { validateTitle } from "./utils/validate";
const store = createStore();
export function addTodo(title: string) {
const clean = validateTitle(title);
if (!clean.ok) {
throw new Error(clean.reason);
}
return store.add({ title: clean.value, done: false });
}
export function toggleTodo(id: number) {
const item = store.get(id);
if (!item) return null;
return store.update(id, { done: !item.done });
}
export function listTodos() {
return store.all();
}
TypeScriptLn 1, Col 1
Terminal
npm install
added 214 packages in 6s
npm test
> todo-board@0.1.0 test
> vitest run
✓ src/utils/validate.test.ts (4 tests) 3ms
✓ src/app.test.ts (6 tests) 5ms
Test Files 2 passed (2)
Tests 10 passed (10)