The Wayback Machine - https://web.archive.org/web/20170626184205/https://github.com/lodash/lodash/blob/master/toPath.js
Skip to content
Permalink
bb059c0 Apr 18, 2017
@jdalton @falsyvalues
30 lines (27 sloc) 695 Bytes
import map from './map.js'
import copyArray from './.internal/copyArray.js'
import isSymbol from './isSymbol.js'
import stringToPath from './.internal/stringToPath.js'
import toKey from './.internal/toKey.js'
/**
* Converts `value` to a property path array.
*
* @since 4.0.0
* @category Util
* @param {*} value The value to convert.
* @returns {Array} Returns the new property path array.
* @example
*
* toPath('a.b.c')
* // => ['a', 'b', 'c']
*
* toPath('a[0].b.c')
* // => ['a', '0', 'b', 'c']
*/
function toPath(value) {
if (Array.isArray(value)) {
return map(value, toKey)
}
return isSymbol(value) ? [value] : copyArray(stringToPath(value))
}
export default toPath
You can't perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.