Comment the scary regexp.

This commit is contained in:
John-David Dalton
2017-02-07 01:39:22 -08:00
parent cb7612aef6
commit 47abf76e88

View File

@@ -2,7 +2,20 @@ import memoizeCapped from './memoizeCapped.js'
/** Used to match property names within property paths. */
const reLeadingDot = /^\./
const rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g
const rePropName = RegExp([
// Match anything that isn't a dot or bracket.
'[^.[\\]]+',
// Or match property names within brackets.
'\\[(?:' +
// Match numbers.
'(-?\\d+(?:\\.\\d+)?)' + '|' +
// Or match strings (supports escaping quotation marks).
'(["\'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2' +
')\\]',
// Or match "" as the space between consecutive dots or empty brackets.
'(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))'
].join('|'), 'g')
/** Used to match backslashes in property paths. */
const reEscapeChar = /\\(\\)?/g