Add initial stab at annotating error

This commit is contained in:
Danila Fedorin 2021-08-10 09:35:27 -07:00
parent 69ab345a89
commit a31f6a2c52

View File

@ -18,7 +18,10 @@ limitations under the License.
import { StorageError } from "../common";
export class IDBError extends StorageError {
constructor(message, source, cause) {
storeName: string
databaseName: string
constructor(message: string, source, cause: DOMException | null) {
const storeName = source?.name || "<unknown store>";
const databaseName = source?.transaction?.db?.name || "<unknown db>";
let fullMessage = `${message} on ${databaseName}.${storeName}`;
@ -34,14 +37,14 @@ export class IDBError extends StorageError {
if (cause) {
fullMessage += cause.message;
}
super(fullMessage, cause);
super(fullMessage, cause || undefined);
this.storeName = storeName;
this.databaseName = databaseName;
}
}
export class IDBRequestError extends IDBError {
constructor(request, message = "IDBRequest failed") {
constructor(request: IDBRequest, message: string = "IDBRequest failed") {
const source = request.source;
const cause = request.error;
super(message, source, cause);
@ -49,7 +52,7 @@ export class IDBRequestError extends IDBError {
}
export class IDBRequestAttemptError extends IDBError {
constructor(method, source, cause, params) {
constructor(method: string, source, cause: DOMException, params: any[]) {
super(`${method}(${params.map(p => JSON.stringify(p)).join(", ")}) failed`, source, cause);
}
}