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