1.0.0 • Published 5 years ago
todo-memory-store v1.0.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()
- undoenableDeterminsticIDs
uuid
- generate a uuid, or get the next deterministic id
1.0.0
5 years ago