Event sourced, database agnostic tree data structure
- Browser (IndexedDB)
- Node.js (memory)
- init: async () : Promise<Optional>
- read: async (id: Id) : Promise<Optional>
- createAndAdd: async (data: Data, parentId: Id) : Promise<Optional>
- update: async (id: Id, data: Data) : Promise<Optional>
- remove: async (id: Id, parentId: Id, index: Index) : Promise<Optional>
- move: async (id: Id, oldParentId: Id, oldIndex: Index, parentId: Id, index: Index) : Promise<Optional>