123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- declare namespace PluginError {
- interface Constructor {
- /**
- * @param plugin Plugin name
- * @param error Base error
- * @param options Error options
- */
- new <E extends Error>(plugin: string, error: E, options?: Options): PluginError<E>;
- /**
- * @param plugin Plugin name
- * @param error Base error or error message
- * @param options Error options
- */
- new <E extends Error = Error>(plugin: string, error: E | string, options: Options): PluginError<E | {[K in keyof E]: undefined}>;
- /**
- * @param plugin Plugin name
- * @param error Base error, error message, or options with message
- */
- new <E extends Error = Error>(plugin: string, error: E | string | (Options & {message: string})): PluginError<E | {[K in keyof E]: undefined}>;
- /**
- * @param options Options with plugin name and message
- */
- new(options: Options & {plugin: string, message: string}): PluginError;
- }
- interface Options {
- /**
- * Error name
- */
- name?: string;
- /**
- * Error message
- */
- message?: any;
- /**
- * File name where the error occurred
- */
- fileName?: string;
- /**
- * Line number where the error occurred
- */
- lineNumber?: number;
- /**
- * Error properties will be included in err.toString(). Can be omitted by
- * setting this to false.
- *
- * Default: `true`
- */
- showProperties?: boolean;
- /**
- * By default the stack will not be shown. Set this to true if you think the
- * stack is important for your error.
- *
- * Default: `false`
- */
- showStack?: boolean;
- /**
- * Error stack to use for `err.toString()` if `showStack` is `true`.
- * By default it uses the `stack` of the original error if you used one, otherwise it captures a new stack.
- */
- stack?: string;
- }
- /**
- * The `SimplePluginError` interface defines the properties available on all the the instances of `PluginError`.
- *
- * @internal
- */
- interface SimplePluginError extends Error {
- /**
- * Plugin name
- */
- plugin: string;
- /**
- * Boolean controlling if the stack will be shown in `err.toString()`.
- */
- showStack: boolean;
- /**
- * Boolean controlling if properties will be shown in `err.toString()`.
- */
- showProperties: boolean;
- /**
- * File name where the error occurred
- */
- fileName?: string;
- /**
- * Line number where the error occurred
- */
- lineNumber?: number;
- }
- }
- /**
- * Abstraction for error handling for Vinyl plugins
- */
- type PluginError<T = {}> = PluginError.SimplePluginError & T;
- declare const PluginError: PluginError.Constructor;
- export = PluginError;
|