Files
Hyperia/server/db/model/OrderedObject.js
2025-11-22 23:12:01 -06:00

29 lines
714 B
JavaScript

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]]
}
}
}