All files / domains/arg error.ts

83.33% Statements 20/24
46.15% Branches 6/13
71.43% Functions 5/7
90.91% Lines 20/22
1 2 3 4 5 6 7 8 9 10 11 12 13 14  9x 9x     9x 9x 9x 9x     9x 9x 9x
import { BaseError } from 'services/error';
 
import { getParameterNames } from 'services/utils';

export class ArgError extends BaseError {
  constructor(target: Function, fieldName: string, argIndex: number, msg: string) {
    const paramNames = getParameterNames(target.prototype[fieldName]);
    const paramName = paramNames[argIndex];
    const fullMsg = `@Type ${target.name}.${fieldName}(${paramName} <-------): ${msg}`;
    super(fullMsg);
    this.message = fullMsg;
  }
}