Spaces:
Runtime error
Runtime error
| const rx = require('./rx') | |
| module.exports = parse | |
| function parse ({ paths }) { | |
| const wildcards = [] | |
| var wcLen = 0 | |
| const secret = paths.reduce(function (o, strPath, ix) { | |
| var path = strPath.match(rx).map((p) => p.replace(/'|"|`/g, '')) | |
| const leadingBracket = strPath[0] === '[' | |
| path = path.map((p) => { | |
| if (p[0] === '[') return p.substr(1, p.length - 2) | |
| else return p | |
| }) | |
| const star = path.indexOf('*') | |
| if (star > -1) { | |
| const before = path.slice(0, star) | |
| const beforeStr = before.join('.') | |
| const after = path.slice(star + 1, path.length) | |
| const nested = after.length > 0 | |
| wcLen++ | |
| wildcards.push({ | |
| before, | |
| beforeStr, | |
| after, | |
| nested | |
| }) | |
| } else { | |
| o[strPath] = { | |
| path: path, | |
| val: undefined, | |
| precensored: false, | |
| circle: '', | |
| escPath: JSON.stringify(strPath), | |
| leadingBracket: leadingBracket | |
| } | |
| } | |
| return o | |
| }, {}) | |
| return { wildcards, wcLen, secret } | |
| } | |