Spaces:
Runtime error
Runtime error
var baseToPairs = require('./_baseToPairs'), | |
getTag = require('./_getTag'), | |
mapToArray = require('./_mapToArray'), | |
setToPairs = require('./_setToPairs'); | |
/** `Object#toString` result references. */ | |
var mapTag = '[object Map]', | |
setTag = '[object Set]'; | |
/** | |
* Creates a `_.toPairs` or `_.toPairsIn` function. | |
* | |
* @private | |
* @param {Function} keysFunc The function to get the keys of a given object. | |
* @returns {Function} Returns the new pairs function. | |
*/ | |
function createToPairs(keysFunc) { | |
return function(object) { | |
var tag = getTag(object); | |
if (tag == mapTag) { | |
return mapToArray(object); | |
} | |
if (tag == setTag) { | |
return setToPairs(object); | |
} | |
return baseToPairs(object, keysFunc(object)); | |
}; | |
} | |
module.exports = createToPairs; | |