Обновлен , поскольку CustomErr
- это сторонняя библиотека, которую нельзя изменить, не смешивайте код вместе.
// third-party-lib.js
function CustomErr(message: string) {
var err = new Error(message)
Object.setPrototypeOf(err, CustomErr.prototype)
return err
}
CustomErr.prototype = Object.create(Error.prototype, {
name: { value: 'Custom Error', enumerable: false }
})
// third-party-lib.d.ts
declare class CustomErr extends Error {
constructor(message: string);
}
// my-code.ts
const err = new CustomErr("something went wrong") // no error now
console.log(err.message)