All files / util errors.ts

100% Statements 6/6
100% Branches 0/0
100% Functions 2/2
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 5032x                                                                       32x 864x       157x 157x         864x    
const CUSTOM_ERRORS = [
  'CliInputError',
  'ManifestValidationError',
  'InputValidationError',
  'InvalidGroupingError',
  'WriteFileError',
  /** More specific errors */
  'ParseCliParamsError',
  'CliSourceFileError',
  'CliTargetFileError',
  'InvalidAggregationMethodError',
  'MissingAggregationParamError',
  'MissingPluginMethodError',
  'MissingPluginPathError',
  'PluginInitializationError',
  'InvalidExhaustPluginError',
  /** Plugins */
  'GlobalConfigError',
  'MissingInputDataError',
  'ProcessExecutionError',
  'RegexMismatchError',
  'FetchingFileError',
  'ReadFileError',
  'MissingCSVColumnError',
  'QueryDataNotFoundError',
  'InvalidDateInInputError',
  'InvalidPaddingError',
  'InvalidInputError',
  'ExhaustOutputArgError',
  'CSVParseError',
] as const;
 
type CustomErrors = {
  [K in (typeof CUSTOM_ERRORS)[number]]: ErrorConstructor;
};
 
export const ERRORS = CUSTOM_ERRORS.reduce((acc, className) => {
  acc = {
    ...acc,
    [className]: class extends Error {
      constructor(message: string) {
        super(message);
        this.name = this.constructor.name;
      }
    },
  };
 
  return acc;
}, {} as CustomErrors);