function matchKeys(obj, glob, options) {
  if (utils.typeOf(obj) !== 'object') {
    throw new TypeError(msg('matchKeys', 'first argument', 'an object'));
  }

  var fn = matcher(glob, options);
  var res = {};

  for (var key in obj) {
    if (obj.hasOwnProperty(key) && fn(key)) {
      res[key] = obj[key];
    }
  }
  return res;
}
function matchKeys(obj, glob, options) {
  if (utils.typeOf(obj) !== 'object') {
    throw new TypeError(msg('matchKeys', 'first argument', 'an object'));
  }

  var fn = matcher(glob, options);
  var res = {};

  for (var key in obj) {
    if (obj.hasOwnProperty(key) && fn(key)) {
      res[key] = obj[key];
    }
  }
  return res;
}
function matchKeys ( obj , glob , options ) { if ( utils . typeOf ( obj ) !== 'object' ) { throw new TypeError ( msg ( 'matchKeys' , 'first argument' , 'an object' ) ) ; } var fn = matcher ( glob , options ) ; var res = { } ; for ( var key in obj ) { if ( obj . hasOwnProperty ( key ) && fn ( key ) ) { res [ key ] = obj [ key ] ; } } return res ; }
Filter the keys of an object with the given `glob` pattern
and `options`

@param  {Object} `object`
@param  {Pattern} `object`
@return {Array}
Filter the keys of an object with the given glob pattern and options