1var baseToPairs = require('./_baseToPairs'), 2 getTag = require('./_getTag'), 3 mapToArray = require('./_mapToArray'), 4 setToPairs = require('./_setToPairs'); 5 6/** `Object#toString` result references. */ 7var mapTag = '[object Map]', 8 setTag = '[object Set]'; 9 10/** 11 * Creates a `_.toPairs` or `_.toPairsIn` function. 12 * 13 * @private 14 * @param {Function} keysFunc The function to get the keys of a given object. 15 * @returns {Function} Returns the new pairs function. 16 */ 17function createToPairs(keysFunc) { 18 return function(object) { 19 var tag = getTag(object); 20 if (tag == mapTag) { 21 return mapToArray(object); 22 } 23 if (tag == setTag) { 24 return setToPairs(object); 25 } 26 return baseToPairs(object, keysFunc(object)); 27 }; 28} 29 30module.exports = createToPairs; 31