hydrogen-web/src/matrix/storage/common.js
Bruno Windels f5d3092031 WIP
2020-06-26 23:26:24 +02:00

37 lines
949 B
JavaScript

export const STORE_NAMES = Object.freeze([
"session",
"roomState",
"roomSummary",
"roomMembers",
"timelineEvents",
"timelineFragments",
"pendingEvents",
]);
export const STORE_MAP = Object.freeze(STORE_NAMES.reduce((nameMap, name) => {
nameMap[name] = name;
return nameMap;
}, {}));
export class StorageError extends Error {
constructor(message, cause, value) {
let fullMessage = message;
if (cause) {
fullMessage += ": ";
if (typeof cause.name === "string") {
fullMessage += `(name: ${cause.name}) `;
}
if (typeof cause.code === "number") {
fullMessage += `(code: ${cause.name}) `;
}
fullMessage += cause.message;
}
super(fullMessage);
if (cause) {
this.errcode = cause.name;
}
this.cause = cause;
this.value = value;
}
}