Licence
—
Version
1.0.0
Deps
0
Size
19 kB
Vulns
0
Weekly
0
todo-memory-store
This implements a basic in-memory store for building demo Todo list apps for bicycle. It includes two default todos so you don't have to start with the empty state.
Installation
yarn add todo-memory-store
Types
interface Todo {
id: string;
title: string;
completed: boolean;
}
interface TodoInput {
title: string;
completed: boolean;
}
API
import * as store from 'todo-memory-store';
store.addTodo(todo: TodoInput): Promise<void>store.toggleAll(checked: boolean): Promise<void>store.toggle(id: string, checked: boolean): Promie<void>store.destroy(id: string): Promie<void>store.setTitle(id: string, title: string): Promie<void>store.clearCompleted(): Promie<void>store.getTodos(): Promise<Array<Todo>>store.getTodo(id: string): Promise<Todo | null>
Testing
The following methods are exposed for use in tests:
store.getTodosSync()- get the TODO entries in the store synchronouslystore.reset()- reset to the two default TODO entriesstore.setLatency(latencyMilliseconds: number)- change the artificial latency, defaults to 200msstore.enableDeterminsticIDs()- make the UUIDs generated for newly created TODOs deterministic, rather than randomstore.disbaleDeterminsticIDs()- undoenableDeterminsticIDsuuid- generate a uuid, or get the next deterministic id