eval method

  1. @override
Object? eval(
  1. Map<String, Object?> row
)
override

Evaluate this expression in the context of row (column name -> value).

Implementation

@override
Object? eval(Map<String, Object?> row) {
  if (scopeStack.isEmpty) {
    throw StateError(
      'Bind parameter $spelling used but no bindings are active. '
      'Use Database.prepare(sql).execute(params) to bind.',
    );
  }
  final scope = scopeStack.last;
  if (index != null) return scope.lookupPositional(index!, spelling);
  return scope.lookupNamed(name!, spelling);
}