Created
July 31, 2023 09:21
-
-
Save Albert221/c0da244cec07f7f2de317d19d9a56a27 to your computer and use it in GitHub Desktop.
Revisions
-
Albert221 created this gist
Jul 31, 2023 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,37 @@ import 'package:async/async.dart'; import 'package:rxdart/rxdart.dart'; class MapValueStream<T, U> extends DelegatingStream<U> implements ValueStream<U> { MapValueStream(this._source, this._mapper) : super(_source.map(_mapper)); final ValueStream<T> _source; final U Function(T) _mapper; @override U get value => _mapper(_source.value); @override U? get valueOrNull { if (_source.value case final value?) { return _mapper(value); } return null; } @override bool get hasValue => _source.hasValue; @override Object get error => _source.error; @override Object? get errorOrNull => _source.errorOrNull; @override bool get hasError => _source.hasError; @override StackTrace? get stackTrace => _source.stackTrace; }