14 lines
719 B
JavaScript
14 lines
719 B
JavaScript
// https://stackoverflow.com/a/46971044/970769
|
|
// "Breaking changes in Typescript 2.1"
|
|
// "Extending built-ins like Error, Array, and Map may no longer work."
|
|
// "As a recommendation, you can manually adjust the prototype immediately after any super(...) calls."
|
|
// https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work
|
|
export default class ParseError extends Error {
|
|
constructor(code) {
|
|
super(code)
|
|
// Set the prototype explicitly.
|
|
// Any subclass of FooError will have to manually set the prototype as well.
|
|
Object.setPrototypeOf(this, ParseError.prototype)
|
|
this.name = this.constructor.name
|
|
}
|
|
} |