Aller au contenu principal

@w5s/error

W5S Error module (@w5s/error)

NPM Version License

Installation

npm install @w5s/error

Usage

import { ErrorClass, Error, TypeError } from '@w5s/error';

export class MyError extends ErrorClass({ errorName: 'MyError' })<{
foo: string;
bar: boolean;
}> {}

const myError = new MyError({
foo: 'this is foo',
bar: true,
cause: TypeError('this is the cause'),
});
console.log(myError instanceof Error); // true

License

MIT © Julien Polo julien.polo@gmail.com

Index

Constructor

CustomError

CustomError: CustomErrorConstructor

Return a new CustomError

@example
const parentError: Error;
const error = new CustomError({
name: 'FooError' as const, // this is required
message: 'my custom message', // customize message (optional)
cause: parentError, // Error that caused this error (optional)
})
@param

initial properties

Other

CustomError

CustomError<Properties>: Readonly<globalThis.Error & { cause: unknown; message: string; name: Properties[name]; stack: string } & Properties>

A Standard extendable error type


Type parameters

  • Properties: CustomErrorRequiredProperties = CustomErrorRequiredProperties

ErrorClassParameters

ErrorClassParameters<Properties>: RequiredKeysOf<Omit<Properties, name | stack | message | cause>> extends never ? [properties?: ErrorClassProperties<Properties>] : [properties: ErrorClassProperties<Properties>]

Extract all parameters to create a new CustomError


Type parameters

  • Properties: object

ErrorClassProperties

ErrorClassProperties<Properties>: Omit<Properties, name | stack | message | cause> & { cause?: unknown; message?: string }

Extract all properties passed to constructor


Type parameters

  • Properties: object

ErrorType

ErrorType<Name, Properties>: CustomError<{ name: Name } & Properties>

Type parameters

  • Name: string
  • Properties