import "package:fast_immutable_collections/fast_immutable_collections.dart"; import "package:freezed_annotation/freezed_annotation.dart"; import "package:nexus/models/room.dart"; import "package:nexus/models/space_edge.dart"; part "sync_data.freezed.dart"; part "sync_data.g.dart"; @Freezed(toJson: false, fromJson: false) @JsonSerializable() class const SyncData({ final bool clearState = false, final IMap> accountData = const IMap.empty(), final IMap rooms = const IMap.empty(), final ISet leftRooms = const ISet.empty(), final IMap>? spaceEdges, final IList? topLevelSpaces, }) with _$SyncData { Map toJson() => _$SyncDataToJson(this); factory SyncData.fromJson(Map json) => _$SyncDataFromJson(json); }