Jonatas

added value to RxInterface

@@ -13,12 +13,6 @@ class _RxImpl<T> implements RxInterface<T> { @@ -13,12 +13,6 @@ class _RxImpl<T> implements RxInterface<T> {
13 HashMap<Stream<T>, StreamSubscription>(); 13 HashMap<Stream<T>, StreamSubscription>();
14 14
15 T _value; 15 T _value;
16 - T get value {  
17 - if (getObs != null) {  
18 - getObs.addListener(subject.stream);  
19 - }  
20 - return _value;  
21 - }  
22 16
23 /// Common to all Types [T], this operator overloading is using for 17 /// Common to all Types [T], this operator overloading is using for
24 /// assignment, same as rx.value 18 /// assignment, same as rx.value
@@ -143,6 +137,13 @@ class _RxImpl<T> implements RxInterface<T> { @@ -143,6 +137,13 @@ class _RxImpl<T> implements RxInterface<T> {
143 subject.add(_value); 137 subject.add(_value);
144 } 138 }
145 139
  140 + T get value {
  141 + if (getObs != null) {
  142 + getObs.addListener(subject.stream);
  143 + }
  144 + return _value;
  145 + }
  146 +
146 Stream<T> get stream => subject.stream; 147 Stream<T> get stream => subject.stream;
147 148
148 StreamSubscription<T> listen(void Function(T) onData, 149 StreamSubscription<T> listen(void Function(T) onData,
@@ -17,6 +17,10 @@ abstract class RxInterface<T> { @@ -17,6 +17,10 @@ abstract class RxInterface<T> {
17 17
18 bool get canUpdate; 18 bool get canUpdate;
19 19
  20 + set value(T val);
  21 +
  22 + T get value;
  23 +
20 /// Closes the stream 24 /// Closes the stream
21 void close() => subject?.close(); 25 void close() => subject?.close();
22 26
@@ -75,7 +79,7 @@ abstract class DisposableInterface { @@ -75,7 +79,7 @@ abstract class DisposableInterface {
75 /// Or dispose objects that can potentially create some memory leaks, 79 /// Or dispose objects that can potentially create some memory leaks,
76 /// like TextEditingControllers, AnimationControllers. 80 /// like TextEditingControllers, AnimationControllers.
77 /// Might be useful as well to persist some data on disk. 81 /// Might be useful as well to persist some data on disk.
78 - void onClose() async {} 82 + Future<void> onClose() async {}
79 } 83 }
80 84
81 /// Used like [SingleTickerProviderMixin] but only with Get Controllers. 85 /// Used like [SingleTickerProviderMixin] but only with Get Controllers.
@@ -48,7 +48,7 @@ class GetxController extends DisposableInterface { @@ -48,7 +48,7 @@ class GetxController extends DisposableInterface {
48 void onReady() async {} 48 void onReady() async {}
49 49
50 @override 50 @override
51 - void onClose() async {} 51 + Future<void> onClose() async {}
52 } 52 }
53 53
54 class GetBuilder<T extends GetxController> extends StatefulWidget { 54 class GetBuilder<T extends GetxController> extends StatefulWidget {