UNPKG

docutils-ts

Version:

Port of the Python Docutils library to TypeScript

87 lines (86 loc) 2.34 kB
/** * Custom error class to simulate Python's SystemExit */ export class ExitError extends Error { constructor(message, code = 0) { super(message); this.name = 'ExitError'; this.code = code; } } export class UnimplementedError extends Error { constructor(message) { super(message); if (Error.captureStackTrace) { Error.captureStackTrace(this, UnimplementedError); } this.message = message || ''; } } export class InvalidStateError extends Error { constructor(message) { super(message); if (Error.captureStackTrace) { Error.captureStackTrace(this, InvalidStateError); } this.message = message || ''; } } export class EOFError extends Error { constructor() { super(); if (Error.captureStackTrace) { Error.captureStackTrace(this, EOFError); } } } export class InvalidArgumentsError extends Error { constructor(message) { super(); this.message = message; if (Error.captureStackTrace) { Error.captureStackTrace(this, InvalidArgumentsError); } } } export const InvalidArgumentError = InvalidArgumentsError; export class SystemMessage extends Error { constructor(msg, level, ...params) { super(...params); this.message = msg.astext(); this.msg = msg; this.level = level; if (Error.captureStackTrace) { Error.captureStackTrace(this, SystemMessage); } } } export class ApplicationError extends Error { constructor(message, args = {}) { super(message); this.args = args; if (args !== undefined) { this.error = args.error; } if (Error.captureStackTrace) { Error.captureStackTrace(this, ApplicationError); } } } export class DataError extends ApplicationError { constructor(message, args) { super(message, args); if (Error.captureStackTrace) { Error.captureStackTrace(this, DataError); } } } export class AssertError extends Error { constructor(message) { super(message); if (Error.captureStackTrace) { Error.captureStackTrace(this, AssertError); } this.message = message; } }