ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
24 lines (20 loc) • 675 B
JavaScript
;
var stringToPath = require('./internals/stringToPath.js');
var isArray = require('./isArray.js');
var isNil = require('./isNil.js');
var isObject = require('./isObject.js');
var isSymbol = require('./isSymbol.js');
var toString = require('./toString.js');
function toKey(value) {
return isSymbol(value) ? value : isNil(value) ? value + '' : toString(value);
}
function toPath(value, object) {
if (isArray(value)) {
return value.map(toKey);
}
if (isSymbol(value) || (typeof value === 'string' && isObject(object) && value in object)) {
return [value];
}
return stringToPath(toString(value));
}
module.exports = toPath;