(expr, scope)
| 143283 | expressionFunction("vlSelectionResolve", (0, _vegaSelections.selectionResolve), (0, _vegaSelections.selectionVisitor)); |
| 143284 | expressionFunction("vlSelectionTuples", (0, _vegaSelections.selectionTuples)); |
| 143285 | function parser(expr, scope) { |
| 143286 | const params = {}; // parse the expression to an abstract syntax tree (ast) |
| 143287 | let ast; |
| 143288 | try { |
| 143289 | expr = (0, _vegaUtil.isString)(expr) ? expr : (0, _vegaUtil.stringValue)(expr) + ""; |
| 143290 | ast = (0, _vegaExpression.parseExpression)(expr); |
| 143291 | } catch (err) { |
| 143292 | (0, _vegaUtil.error)("Expression parse error: " + expr); |
| 143293 | } // analyze ast function calls for dependencies |
| 143294 | ast.visit((node)=>{ |
| 143295 | if (node.type !== (0, _vegaExpression.CallExpression)) return; |
| 143296 | const name = node.callee.name, visit = codegenParams.visitors[name]; |
| 143297 | if (visit) visit(name, node.arguments, scope, params); |
| 143298 | }); // perform code generation |
| 143299 | const gen = codeGenerator(ast); // collect signal dependencies |
| 143300 | gen.globals.forEach((name)=>{ |
| 143301 | const signalName = SignalPrefix + name; |
| 143302 | if (!(0, _vegaUtil.hasOwnProperty)(params, signalName) && scope.getSignal(name)) params[signalName] = scope.signalRef(name); |
| 143303 | }); // return generated expression code and dependencies |
| 143304 | return { |
| 143305 | $expr: (0, _vegaUtil.extend)({ |
| 143306 | code: gen.code |
| 143307 | }, scope.options.ast ? { |
| 143308 | ast |
| 143309 | } : null), |
| 143310 | $fields: gen.fields, |
| 143311 | $params: params |
| 143312 | }; |
| 143313 | } |
| 143314 | |
| 143315 | },{"vega-util":"dPFAY","vega-expression":"ic0a8","d3-geo":"1UFrq","d3-color":"2I9cJ","vega-dataflow":"4kvYg","vega-scale":"evQIv","vega-scenegraph":"gIB0Z","vega-selections":"7uoGs","vega-statistics":"hZmG3","vega-time":"hDlOp","d3-array":"8JMcC","@parcel/transformer-js/src/esmodule-helpers.js":"jA2du"}],"ic0a8":[function(require,module,exports) { |
| 143316 | var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js"); |
no test coverage detected