overrideWithValue method
Implementation
Override overrideWithValue(AsyncValue<T> value) {
return ProviderOverride(
ValueProvider<Stream<T>, AsyncValue<T>>((ref) {
AsyncValue<T>? lastValue;
final controller = StreamController<T>();
ref.onDispose(controller.close);
ref.onChange = (newValue) {
newValue.when(
data: controller.add,
loading: () {
if (lastValue != null && lastValue is! AsyncLoading) {
ref.markMustRecomputeState();
}
},
error: controller.addError,
);
lastValue = newValue;
};
ref.onChange!(value);
return controller.stream.asBroadcastStream();
}, value),
this,
);
}