blob: 017e4c1b45d6c5f87678f649f36fcd1328aa9067 [file] [log] [blame]
Leo Repp58b9f112021-11-22 11:57:47 +01001var isArray = require('./isArray'),
2 isKey = require('./_isKey'),
3 stringToPath = require('./_stringToPath'),
4 toString = require('./toString');
5
6/**
7 * Casts `value` to a path array if it's not one.
8 *
9 * @private
10 * @param {*} value The value to inspect.
11 * @param {Object} [object] The object to query keys on.
12 * @returns {Array} Returns the cast property path array.
13 */
14function castPath(value, object) {
15 if (isArray(value)) {
16 return value;
17 }
18 return isKey(value, object) ? [value] : stringToPath(toString(value));
19}
20
21module.exports = castPath;