# All files / services/utils getParameterNames.ts

100% Statements 8/8
100% Branches 2/2
100% Functions 1/1
100% Lines 8/8

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
    1820x
    20x
    20x
    20x

    73x

    73x

    73x

    20x

     var COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;
    var DEFAULT_PARAMS = /=[^,]+/gm;
    var FAT_ARROWS = /=>.*$/gm;

    export function getParameterNames(fn: Function): string[] {
      var code = fn
        .toString()
        .replace(COMMENTS, '')
        .replace(FAT_ARROWS, '')
        .replace(DEFAULT_PARAMS, '');

      var result = code
        .slice(code.indexOf('(') + 1, code.indexOf(')'))
        .match(/([^\s,]+)/g);

      return result === null ? [] : result;
    }