Sha256: 7da550bec6fe2d22c8e2e68c82dad07ffdc5b3c863b7fbc88c42c101d7a7dc65
Contents?: true
Size: 806 Bytes
Versions: 153
Compression:
Stored size: 806 Bytes
Contents
var baseToString = require('./baseToString'), isArray = require('../lang/isArray'); /** Used to match property names within property paths. */ var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g; /** Used to match backslashes in property paths. */ var reEscapeChar = /\\(\\)?/g; /** * Converts `value` to property path array if it's not one. * * @private * @param {*} value The value to process. * @returns {Array} Returns the property path array. */ function toPath(value) { if (isArray(value)) { return value; } var result = []; baseToString(value).replace(rePropName, function(match, number, quote, string) { result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); }); return result; } module.exports = toPath;
Version data entries
153 entries across 80 versions & 8 rubygems