EntityGraphSnapshot.fromData constructor

EntityGraphSnapshot.fromData({
  1. required Map<String, Map<String, Map<String, Object?>>> entities,
  2. required Map<String, Map<String, Map<String, Object?>>> patches,
  3. required Map<String, EntityState> entityStates,
  4. required Map<String, EntitySyncMetadata> syncMetadata,
  5. required Map<String, ListState> lists,
  6. Map<String, String> listTypes = const {},
})

Create a snapshot from already validated graph data.

Implementation

factory EntityGraphSnapshot.fromData({
  required Map<String, Map<String, Map<String, Object?>>> entities,
  required Map<String, Map<String, Map<String, Object?>>> patches,
  required Map<String, EntityState> entityStates,
  required Map<String, EntitySyncMetadata> syncMetadata,
  required Map<String, ListState> lists,
  Map<String, String> listTypes = const {},
}) => EntityGraphSnapshot._(
  entities: Map<String, Map<String, Map<String, Object?>>>.unmodifiable({
    for (final type in entities.entries)
      type.key: Map<String, Map<String, Object?>>.unmodifiable({
        for (final entity in type.value.entries)
          entity.key: Map<String, Object?>.unmodifiable({
            for (final field in entity.value.entries)
              field.key: EntityGraph._copySnapshotValue(field.value),
          }),
      }),
  }),
  patches: Map<String, Map<String, Map<String, Object?>>>.unmodifiable({
    for (final type in patches.entries)
      type.key: Map<String, Map<String, Object?>>.unmodifiable({
        for (final patch in type.value.entries)
          patch.key: Map<String, Object?>.unmodifiable({
            for (final field in patch.value.entries)
              field.key: EntityGraph._copySnapshotValue(field.value),
          }),
      }),
  }),
  entityStates: Map<String, EntityState>.unmodifiable(entityStates),
  syncMetadata: Map<String, EntitySyncMetadata>.unmodifiable(syncMetadata),
  lists: Map<String, ListState>.unmodifiable({
    for (final entry in lists.entries)
      entry.key: EntityGraph._copyListState(entry.value),
  }),
  listTypes: Map<String, String>.unmodifiable(listTypes),
);