bbo
Version:
bbo is a utility library of zero dependencies for javascript.
35 lines (26 loc) • 773 B
JavaScript
;
require('./is_object.js');
require('./get_tag.js');
var is_array = require('./is_array.js');
require('./is_function.js');
var is_string = require('./is_string.js');
var clone = require('./clone.js');
var is_symbol = require('./is_symbol.js');
var map = require('./map.js');
var string_to_path = require('./string_to_path.js');
/* eslint-disable eqeqeq */
var INFINITY = 1 / 0;
function toKey(value) {
if (is_string(value) || is_symbol(value)) {
return value;
}
var result = `${value}`;
return result == '0' && 1 / value == -INFINITY ? '-0' : result;
}
function toPath(value) {
if (is_array(value)) {
return map(value, toKey);
}
return is_symbol(value) ? [value] : clone(string_to_path(String(value)));
}
module.exports = toPath;