basant307/AI_Governance_Project
045
1var Symbol = require('./_Symbol'),2 copyArray = require('./_copyArray'),3 getTag = require('./_getTag'),4 isArrayLike = require('./isArrayLike'),5 isString = require('./isString'),6 iteratorToArray = require('./_iteratorToArray'),7 mapToArray = require('./_mapToArray'),8 setToArray = require('./_setToArray'),9 stringToArray = require('./_stringToArray'),10 values = require('./values');11 12/** `Object#toString` result references. */13var mapTag = '[object Map]',14 setTag = '[object Set]';15 16/** Built-in value references. */17var symIterator = Symbol ? Symbol.iterator : undefined;18 19/**20 * Converts `value` to an array.21 *22 * @static23 * @since 0.1.024 * @memberOf _25 * @category Lang26 * @param {*} value The value to convert.27 * @returns {Array} Returns the converted array.28 * @example29 *30 * _.toArray({ 'a': 1, 'b': 2 });31 * // => [1, 2]32 *33 * _.toArray('abc');34 * // => ['a', 'b', 'c']35 *36 * _.toArray(1);37 * // => []38 *39 * _.toArray(null);40 * // => []41 */42function toArray(value) {43 if (!value) {44 return [];45 }46 if (isArrayLike(value)) {47 return isString(value) ? stringToArray(value) : copyArray(value);48 }49 if (symIterator && value[symIterator]) {50 return iteratorToArray(value[symIterator]());51 }52 var tag = getTag(value),53 func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);54 55 return func(value);56}57 58module.exports = toArray;59 