|                                |  | 'use strict';
var assert = require('assert');
/** * 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) {  var type = typeof func;  assert(type === 'function', 'The "func" must be a function. Received type "' + type + '"');
  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;};
 |