'use strict';

var _arrayPush = require('./_arrayPush.js');
var isArray$1 = require('./isArray.js');

var arrayPush = _arrayPush._arrayPush,
    isArray = isArray$1.isArray_1;

/**
 * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
 * `keysFunc` and `symbolsFunc` to get the enumerable property names and
 * symbols of `object`.
 *
 * @private
 * @param {Object} object The object to query.
 * @param {Function} keysFunc The function to get the keys of `object`.
 * @param {Function} symbolsFunc The function to get the symbols of `object`.
 * @returns {Array} Returns the array of property names and symbols.
 */
function baseGetAllKeys(object, keysFunc, symbolsFunc) {
  var result = keysFunc(object);
  return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
}

var _baseGetAllKeys = baseGetAllKeys;

exports._baseGetAllKeys = _baseGetAllKeys;
//# sourceMappingURL=_baseGetAllKeys.js.map
