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

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 2119x 19x     19x 19x 19x 19x     19x 19x 19x 19x 19x   4x 4x 4x 4x 4x
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;
  }
}