VariableScope.fromSchemas constructor
VariableScope.fromSchemas(
- List<
VariableSchema> schemas, - Map<
String, dynamic> ? cepVars
Builds a scope by resolving each declared schemas entry against the
runtime CEP cepVars payload. The winning value follows the chain
CEP payload → fallbackValue → ""; number-typed variables are coerced
numerically so they can take part in {{ a + b }} arithmetic.
Implementation
factory VariableScope.fromSchemas(
List<VariableSchema> schemas,
Map<String, dynamic>? cepVars,
) {
final values = <String, dynamic>{};
final types = <String, String>{};
for (final schema in schemas) {
types[schema.name] = schema.type;
values[schema.name] = schema.type == 'number'
? _resolveNumber(cepVars?[schema.name], schema.fallbackValue)
: _resolveString(cepVars?[schema.name], schema.fallbackValue);
}
return VariableScope(values, types);
}