UNPKG

foop

Version:

interfaces that describe their intentions.

45 lines (40 loc) 3.53 kB
var isTrue = require('../is/true') var preAllocate = require('../array/preAllocate') var toKey = require('./toKey') /** * Converts `set` to its value-value pairs (_or index/key-value with useIndex_). * @since 5.0.0-beta.7 * @memberOf cast * * @param {Set} set The set to convert. * @param {boolean} [useIndex=false] use [index, value] rather than [value, value] * @return {Array} Returns the value-value pairs. * * @name setToArray * @alias setToArr * @alias fromSetToArray * * {@link https://github.com/lodash/lodash/blob/master/.internal/setToPairs.js lodash-settopairs} * @see {@link lodash-settopairs} * @see cast/set * @see cast/toKey * * @example * * setToPairs(new Set(['eh', 'oh'])) * //=> [['eh', 'eh'], ['oh', 'oh']] * * setToPairs(new Set(['eh', 'oh']), true) * //=> [['0', 'eh'], ['1', 'oh']] * */ function setToPairs(set, useIndex) { var index = -1 var result = preAllocate(set) set.forEach(function (value) { result[++index] = [isTrue(useIndex) ? toKey(index) : value, value] }) return result } module.exports = setToPairs //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0VG9QYWlycy5qcyIsInNvdXJjZXMiOlsic2V0VG9QYWlycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBpc1RydWUgPSByZXF1aXJlKCcuLi9pcy90cnVlJylcbmNvbnN0IHByZUFsbG9jYXRlID0gcmVxdWlyZSgnLi4vYXJyYXkvcHJlQWxsb2NhdGUnKVxuY29uc3QgdG9LZXkgPSByZXF1aXJlKCcuL3RvS2V5JylcblxuLyoqXG4gKiBDb252ZXJ0cyBgc2V0YCB0byBpdHMgdmFsdWUtdmFsdWUgcGFpcnMgKF9vciBpbmRleC9rZXktdmFsdWUgd2l0aCB1c2VJbmRleF8pLlxuICogQHNpbmNlIDUuMC4wLWJldGEuN1xuICogQG1lbWJlck9mIGNhc3RcbiAqXG4gKiBAcGFyYW0ge1NldH0gc2V0IFRoZSBzZXQgdG8gY29udmVydC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3VzZUluZGV4PWZhbHNlXSB1c2UgW2luZGV4LCB2YWx1ZV0gcmF0aGVyIHRoYW4gW3ZhbHVlLCB2YWx1ZV1cbiAqIEByZXR1cm4ge0FycmF5fSBSZXR1cm5zIHRoZSB2YWx1ZS12YWx1ZSBwYWlycy5cbiAqXG4gKiBAbmFtZSBzZXRUb0FycmF5XG4gKiBAYWxpYXMgc2V0VG9BcnJcbiAqIEBhbGlhcyBmcm9tU2V0VG9BcnJheVxuICpcbiAqIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbG9kYXNoL2xvZGFzaC9ibG9iL21hc3Rlci8uaW50ZXJuYWwvc2V0VG9QYWlycy5qcyBsb2Rhc2gtc2V0dG9wYWlyc31cbiAqIEBzZWUge0BsaW5rIGxvZGFzaC1zZXR0b3BhaXJzfVxuICogQHNlZSBjYXN0L3NldFxuICogQHNlZSBjYXN0L3RvS2V5XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgICBzZXRUb1BhaXJzKG5ldyBTZXQoWydlaCcsICdvaCddKSlcbiAqICAgIC8vPT4gW1snZWgnLCAnZWgnXSwgWydvaCcsICdvaCddXVxuICpcbiAqICAgIHNldFRvUGFpcnMobmV3IFNldChbJ2VoJywgJ29oJ10pLCB0cnVlKVxuICogICAgLy89PiBbWycwJywgJ2VoJ10sIFsnMScsICdvaCddXVxuICpcbiAqL1xuZnVuY3Rpb24gc2V0VG9QYWlycyhzZXQsIHVzZUluZGV4KSB7XG4gIGxldCBpbmRleCA9IC0xXG4gIGNvbnN0IHJlc3VsdCA9IHByZUFsbG9jYXRlKHNldClcblxuICBzZXQuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgcmVzdWx0WysraW5kZXhdID0gW2lzVHJ1ZSh1c2VJbmRleCkgPyB0b0tleShpbmRleCkgOiB2YWx1ZSwgdmFsdWVdXG4gIH0pXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHNldFRvUGFpcnNcbiJdLCJuYW1lcyI6WyJjb25zdCIsImxldCJdLCJtYXBwaW5ncyI6IkFBQUFBLEdBQUssQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztBQUNwQ0EsR0FBSyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUM7QUFDbkRBLEdBQUssQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2QmhDLFNBQVMsVUFBVSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUU7RUFDakNDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0VBQ2RELEdBQUssQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQzs7RUFFL0IsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFBLEtBQUssQ0FBQSxDQUFDLEFBQUc7SUFDbkIsTUFBTSxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssRUFBRSxLQUFLLENBQUM7R0FDbkUsQ0FBQzs7RUFFRixPQUFPLE1BQU07Q0FDZDs7QUFFRCxNQUFNLENBQUMsT0FBTyxHQUFHLFVBQVU7In0=