# 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
    2120x
    20x

    20x
    20x
    20x
    20x

    20x
    20x
    20x
    20x
    20x

    4x
    4x
    4x
    4x
    4ximport { 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;
      }
    }