TableSnapshot.fromMap constructor

TableSnapshot.fromMap(
  1. String name,
  2. Map<String, dynamic> data
)

Creates a table snapshot from a map.

Implementation

factory TableSnapshot.fromMap(String name, Map<String, dynamic> data) {
  _checkKeys(
    data,
    context: 'table "$name"',
    requiredKeys: const {'name', 'columns'},
    optionalKeys: const {'checks'},
  );
  final columnsData = data['columns'] as Map<String, dynamic>;
  return TableSnapshot(
    name: name,
    columns: columnsData.map(
      (key, value) => MapEntry(
        key,
        ColumnSnapshot.fromMap(key, value as Map<String, dynamic>),
      ),
    ),
    // Materialize (not a lazy `.cast` view): these end up in DiffOperation
    // maps sent over an isolate SendPort, which rejects CastMap instances.
    checks: Map<String, String>.from(
      data['checks'] as Map<String, dynamic>? ?? {},
    ),
  );
}