gristlabs_grist-core/app/common/ErrorWithCode.ts

23 lines
602 B
TypeScript
Raw Permalink Normal View History

import {OpenDocMode} from 'app/common/DocListAPI';
interface ErrorDetails {
status?: number;
accessMode?: OpenDocMode;
memos?: string[];
}
/**
*
* An error with a human-readable message and a machine-readable code.
* Makes it easier to change the human-readable message without breaking
* error handlers.
*
*/
export class ErrorWithCode extends Error {
constructor(public code: string, message: string, public details: ErrorDetails = {}) {
super(message);
}
public get accessMode() { return this.details?.accessMode; }
public get status() { return this.details?.status; }
}