mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
24 lines
592 B
TypeScript
24 lines
592 B
TypeScript
|
import {OpenDocMode} from 'app/common/DocListAPI';
|
||
|
|
||
|
interface ErrorDetails {
|
||
|
status?: number;
|
||
|
accessMode?: OpenDocMode;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
*
|
||
|
* 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 {
|
||
|
public accessMode?: OpenDocMode;
|
||
|
public status?: number;
|
||
|
constructor(public code: string, message: string, details: ErrorDetails = {}) {
|
||
|
super(message);
|
||
|
this.status = details.status;
|
||
|
this.accessMode = details.accessMode;
|
||
|
}
|
||
|
}
|