UNPKG

bbo

Version:

bbo is a utility library of zero dependencies for javascript.

35 lines (26 loc) 773 B
'use strict'; 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;