nimma
Version:
Scalable JSONPath engine.
40 lines (30 loc) • 890 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var parser = require('../../parser/parser.cjs');
require('../../parser/jsep.cjs');
function pickException([, ex]) {
return ex;
}
function pickExpression([expression]) {
return expression;
}
function parseExpressions(expressions) {
const mappedExpressions = [];
const erroredExpressions = [];
for (const expression of new Set(expressions)) {
try {
const parsed = parser.parser(expression);
mappedExpressions.push([expression, parsed]);
} catch (e) {
erroredExpressions.push([expression, e]);
}
}
if (erroredExpressions.length > 0) {
throw new AggregateError(
erroredExpressions.map(pickException),
`Error parsing ${erroredExpressions.map(pickExpression).join(', ')}`,
);
}
return mappedExpressions;
}
exports.default = parseExpressions;