import 'dart:async'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; import 'package:rxdart/rxdart.dart'; class PackHolder { final StreamController _streamController = StreamController.broadcast(); PackState? _state; PackHolder(); void setPacks(List packs) { _state = PackState( packs, ); _streamController.add(_state); } void clear() { _state = null; _streamController.add(_state); } PackState? get state => _state; Stream get asStream => _streamController.stream.startWith(_state); } class PackState { final List packsWithCards; PackState(this.packsWithCards); }