'use strict'; /** * A empty function. * * @return {Function} * @public */ exports.noop = function noop() {}; /** * Get a function parameter's names. * * @param {Function} func * @param {Boolean} [useCache], default is true * @return {Array} names */ exports.getParamNames = function getParamNames(func, cache) { cache = cache !== false; if (cache && func.__cache_names) { return func.__cache_names; } var str = func.toString(); var names = str.slice(str.indexOf('(') + 1, str.indexOf(')')).match(/([^\s,]+)/g) || []; func.__cache_names = names; return names; };