1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 9x 9x 9x 9x 26x 26x 26x 9x | 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; } |