Projekt

Obecné

Profil

Stáhnout (804 Bajtů) Statistiky
| Větev: | Revize:
1
var arrayMap = require('./_arrayMap'),
2
    copyArray = require('./_copyArray'),
3
    isArray = require('./isArray'),
4
    isSymbol = require('./isSymbol'),
5
    stringToPath = require('./_stringToPath'),
6
    toKey = require('./_toKey'),
7
    toString = require('./toString');
8

    
9
/**
10
 * Converts `value` to a property path array.
11
 *
12
 * @static
13
 * @memberOf _
14
 * @since 4.0.0
15
 * @category Util
16
 * @param {*} value The value to convert.
17
 * @returns {Array} Returns the new property path array.
18
 * @example
19
 *
20
 * _.toPath('a.b.c');
21
 * // => ['a', 'b', 'c']
22
 *
23
 * _.toPath('a[0].b.c');
24
 * // => ['a', '0', 'b', 'c']
25
 */
26
function toPath(value) {
27
  if (isArray(value)) {
28
    return arrayMap(value, toKey);
29
  }
30
  return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));
31
}
32

    
33
module.exports = toPath;
(589-589/634)