execute method

Future<bool> execute(
  1. Observable? observable
)

Implementation

Future<bool> execute(Observable? observable) async {
  bool ok = true;
  if (observable == null) return ok;

  // get expression
  String? expression = (observable.isEval)
      ? observable.value
      : (observable.signature ?? observable.value);
  if (isNullOrEmpty(expression)) return ok;

  // replace 'this' pointer with the parent model id
  if (expression!.contains(thisDot)) {
    expression = expression.replaceAll(thisDot, "${model.id}.");
  }

  // get variables from observable
  Map<String, dynamic> variables = observable.getVariables();

  // execute the expression
  return executeExpression(expression, variables);
}