initializeDataSources static method

void initializeDataSources(
  1. Map<String, dynamic> dataSources,
  2. Map<String, dynamic> state,
  3. Map<String, dynamic> data
)

Implementation

static void initializeDataSources(
  Map<String, dynamic> dataSources,
  Map<String, dynamic> state,
  Map<String, dynamic> data,
) {
  if (!state.containsKey(r'$data')) {
    state[r'$data'] = <String, dynamic>{};
  }
  final dollarData = state[r'$data'] as Map<String, dynamic>;

  for (final entry in dataSources.entries) {
    final name = entry.key;
    final config = entry.value;

    if (config is List) {
      data[name] = config;
      dollarData[name] = {
        'status': 'ready',
        'rows': config,
        'total': config.length,
        'error': null,
      };
    } else if (config is Map && config.containsKey(r'$query')) {
      dollarData[name] = {
        'status': 'idle',
        'rows': [],
        'total': 0,
        'error': null,
      };
    }
  }
}