runFormula method

Future<FormulaResult> runFormula(
  1. FormulaRun request
)

Runs a single formula action, returning its result.

Implementation

Future<FormulaResult> runFormula(FormulaRun request) async {
  final formula = registry.byId(request.formula);
  if (formula == null) {
    return FormulaResult(
      formula: request.formula,
      action: request.action,
      success: false,
      message: 'unknown formula "${request.formula}"',
      finishedAt: clock.now(),
    );
  }
  final log = _runLog(request.formula, request.action);
  final result = await formula.run(
    request.action,
    _context(
      targetVersion: request.version,
      parameters: request.parameters,
      log: log.add,
    ),
  );
  return result.withLogs(log.lines);
}