| 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;
 |