addVariable method

AppContext addVariable(
  1. String scope,
  2. String name,
  3. dynamic value
)

Adds a variable to a specific scope

Implementation

AppContext addVariable(String scope, String name, dynamic value) {
  final newScopes = Map<String, dynamic>.from(scopes);
  newScopes[scope] = Map<String, dynamic>.from(newScopes[scope] ?? {});
  newScopes[scope][name] = value;

  switch (scope) {
    case 'session':
      return copyWith(
        session: {...session, name: value},
        scopes: newScopes,
      );
    case 'execution':
      return copyWith(
        execution: {...execution, name: value},
        scopes: newScopes,
      );
    default:
      return copyWith(scopes: newScopes);
  }
}