ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
22 lines (19 loc) • 647 B
JavaScript
import stringToPath from './internals/stringToPath.js';
import isArray from './isArray.js';
import isNil from './isNil.js';
import isObject from './isObject.js';
import isSymbol from './isSymbol.js';
import toString from './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));
}
export { toPath as default };