From f5115a1baf1302db12d6302c0d167c2e00bd27c0 Mon Sep 17 00:00:00 2001 From: Luis Burgos Date: Wed, 7 Sep 2022 20:29:44 -0500 Subject: [PATCH] feat: move in memory store to core package --- .../profile/data/profile_repository.dart | 2 +- .../buzz_ui/lib/in_memory_events_store.dart | 25 +------------------ example/packages/core/lib/core.dart | 7 +++--- .../core/lib/src/in_memory_store.dart | 24 ++++++++++++++++++ .../core/lib/{ => src}/json_reader.dart | 0 .../lib/{ => src}/managed_stream_builder.dart | 0 .../core/lib/{ => src}/named_page.dart | 0 7 files changed, 30 insertions(+), 28 deletions(-) create mode 100644 example/packages/core/lib/src/in_memory_store.dart rename example/packages/core/lib/{ => src}/json_reader.dart (100%) rename example/packages/core/lib/{ => src}/managed_stream_builder.dart (100%) rename example/packages/core/lib/{ => src}/named_page.dart (100%) diff --git a/example/lib/shared/modules/profile/data/profile_repository.dart b/example/lib/shared/modules/profile/data/profile_repository.dart index 01893f3..7a1a902 100644 --- a/example/lib/shared/modules/profile/data/profile_repository.dart +++ b/example/lib/shared/modules/profile/data/profile_repository.dart @@ -1,4 +1,4 @@ -import 'package:buzz_ui/in_memory_events_store.dart'; +import 'package:core/core.dart'; import '../model/profile.dart'; import '../model/profile_user_info.dart'; diff --git a/example/packages/buzz_ui/lib/in_memory_events_store.dart b/example/packages/buzz_ui/lib/in_memory_events_store.dart index 890fef7..5e185b9 100644 --- a/example/packages/buzz_ui/lib/in_memory_events_store.dart +++ b/example/packages/buzz_ui/lib/in_memory_events_store.dart @@ -1,4 +1,4 @@ -import 'package:rxdart/rxdart.dart'; +import 'package:core/core.dart'; abstract class EventRecord { String get name; @@ -32,26 +32,3 @@ class EventRecordsInMemoryStore { _state.value.add(event); } } - -/// An in-memory store backed by BehaviorSubject that can be used to -/// store the data for all the fake repositories in the app. -class InMemoryStore { - InMemoryStore(T initial) : _subject = BehaviorSubject.seeded(initial); - - /// The BehaviorSubject that holds the data - final BehaviorSubject _subject; - - bool get isWaiting => !_subject.hasValue && !_subject.hasError; - - /// The output stream that can be used to listen to the data - Stream get stream => _subject.stream; - - /// A synchronous getter for the current value - T get value => _subject.value; - - /// A setter for updating the value - set value(T value) => _subject.add(value); - - /// Don't forget to call this when done - void close() => _subject.close(); -} diff --git a/example/packages/core/lib/core.dart b/example/packages/core/lib/core.dart index 1a2f472..1646438 100644 --- a/example/packages/core/lib/core.dart +++ b/example/packages/core/lib/core.dart @@ -1,5 +1,6 @@ library core; -export 'json_reader.dart'; -export 'managed_stream_builder.dart'; -export 'named_page.dart'; +export 'src/in_memory_store.dart'; +export 'src/json_reader.dart'; +export 'src/managed_stream_builder.dart'; +export 'src/named_page.dart'; diff --git a/example/packages/core/lib/src/in_memory_store.dart b/example/packages/core/lib/src/in_memory_store.dart new file mode 100644 index 0000000..6637f73 --- /dev/null +++ b/example/packages/core/lib/src/in_memory_store.dart @@ -0,0 +1,24 @@ +import 'package:rxdart/rxdart.dart'; + +/// An in-memory store backed by BehaviorSubject that can be used to +/// store the data for all the fake repositories in the app. +class InMemoryStore { + InMemoryStore(T initial) : _subject = BehaviorSubject.seeded(initial); + + /// The BehaviorSubject that holds the data + final BehaviorSubject _subject; + + bool get isWaiting => !_subject.hasValue && !_subject.hasError; + + /// The output stream that can be used to listen to the data + Stream get stream => _subject.stream; + + /// A synchronous getter for the current value + T get value => _subject.value; + + /// A setter for updating the value + set value(T value) => _subject.add(value); + + /// Don't forget to call this when done + void close() => _subject.close(); +} diff --git a/example/packages/core/lib/json_reader.dart b/example/packages/core/lib/src/json_reader.dart similarity index 100% rename from example/packages/core/lib/json_reader.dart rename to example/packages/core/lib/src/json_reader.dart diff --git a/example/packages/core/lib/managed_stream_builder.dart b/example/packages/core/lib/src/managed_stream_builder.dart similarity index 100% rename from example/packages/core/lib/managed_stream_builder.dart rename to example/packages/core/lib/src/managed_stream_builder.dart diff --git a/example/packages/core/lib/named_page.dart b/example/packages/core/lib/src/named_page.dart similarity index 100% rename from example/packages/core/lib/named_page.dart rename to example/packages/core/lib/src/named_page.dart