export default class OrderedObject { entries = [] ids = {} add(id, data) { if(this.get(id)) { console.error(`Can't add item ${id}: id already exists`) throw new global.ServerError(400, `Member with this email already exists`) } this.entries.push(data) this.ids[id] = this.entries.length - 1 } delete(key) { if (typeof key === "number") { return this.entries[key] } else { return this.entries[this.ids[key]] } } get(key) { if (typeof key === "number") { return this.entries[key] } else { return this.entries[this.ids[key]] } } }