Permalink
Cannot retrieve contributors at this time
| import copyArray from './.internal/copyArray.js' | |
| import getTag from './.internal/getTag.js' | |
| import isArrayLike from './isArrayLike.js' | |
| import isString from './isString.js' | |
| import iteratorToArray from './.internal/iteratorToArray.js' | |
| import mapToArray from './.internal/mapToArray.js' | |
| import setToArray from './.internal/setToArray.js' | |
| import stringToArray from './.internal/stringToArray.js' | |
| import values from './values.js' | |
| /** `Object#toString` result references. */ | |
| const mapTag = '[object Map]' | |
| const setTag = '[object Set]' | |
| /** Built-in value references. */ | |
| const symIterator = Symbol.iterator | |
| /** | |
| * Converts `value` to an array. | |
| * | |
| * @since 0.1.0 | |
| * @category Lang | |
| * @param {*} value The value to convert. | |
| * @returns {Array} Returns the converted array. | |
| * @example | |
| * | |
| * toArray({ 'a': 1, 'b': 2 }) | |
| * // => [1, 2] | |
| * | |
| * toArray('abc') | |
| * // => ['a', 'b', 'c'] | |
| * | |
| * toArray(1) | |
| * // => [] | |
| * | |
| * toArray(null) | |
| * // => [] | |
| */ | |
| function toArray(value) { | |
| if (!value) { | |
| return [] | |
| } | |
| if (isArrayLike(value)) { | |
| return isString(value) ? stringToArray(value) : copyArray(value) | |
| } | |
| if (symIterator && value[symIterator]) { | |
| return iteratorToArray(value[symIterator]()) | |
| } | |
| const tag = getTag(value) | |
| const func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values) | |
| return func(value) | |
| } | |
| export default toArray |

