Jonny Borges
Committed by GitHub

Merge pull request #2096 from jonataslaw/sm-refactor

Sm refactor
... ... @@ -112,7 +112,7 @@ class GetPageRoute<T> extends PageRoute<T> //MaterialPageRoute<T>
final bindingsToBind = middlewareRunner
.runOnBindingsStart(binding != null ? localbindings : localbinds);
/// Retrocompatibility workaround, remove this when Bindings api
/// Retrocompatibility workaround, remove this when Bindings api
/// have been removed
if (bindingsToBind != null &&
bindingsToBind is! List<Bind> &&
... ...
... ... @@ -225,5 +225,5 @@
// typedef RemoveSubscription<T> = FutureOr<bool?> Function(
// LightSubscription<T> subs);
// typedef AddSubscription<T> =
// typedef AddSubscription<T> =
//FutureOr<void> Function(LightSubscription<T> subs);
... ...
... ... @@ -34,8 +34,8 @@ class RxSet<E> extends GetListenable<Set<E>>
}
@override
bool add(E value) {
final hasAdded = value.add(value);
bool add(E val) {
final hasAdded = value.add(val);
if (hasAdded) {
refresh();
}
... ...
... ... @@ -5,13 +5,10 @@ import '../../../get_core/get_core.dart';
import '../../../get_instance/src/get_instance.dart';
import '../../../get_instance/src/lifecycle.dart';
import '../simple/list_notifier.dart';
import '../simple/simple_builder.dart';
typedef GetXControllerBuilder<T extends GetLifeCycleMixin> = Widget Function(
T controller);
class StatefulObserverComponent = StatefulElement with ObserverComponent;
class GetX<T extends GetLifeCycleMixin> extends StatefulWidget {
final GetXControllerBuilder<T> builder;
final bool global;
... ... @@ -128,7 +125,7 @@ class GetXState<T extends GetLifeCycleMixin> extends State<GetX<T>> {
final disposers = <Disposer>[];
@override
Widget build(BuildContext context) => TaskManager.instance
Widget build(BuildContext context) => NotifierManager.instance
.exchange(disposers, _update, () => widget.builder(controller!));
@override
... ...
... ... @@ -361,7 +361,6 @@ class BindWrapper<T> extends InheritedWidget {
this.didUpdateWidget,
}) : super(key: key, child: child);
final InitBuilder<T>? init;
final bool global;
final Object? id;
... ...
... ... @@ -44,12 +44,12 @@ mixin ListNotifierSingleMixin on Listenable {
@protected
void reportRead() {
TaskManager.instance.notify(this);
NotifierManager.instance.notify(this);
}
@protected
void reportAdd(VoidCallback disposer) {
TaskManager.instance.reportAdd(disposer);
NotifierManager.instance.reportAdd(disposer);
}
void _notifyUpdate() {
... ... @@ -96,7 +96,7 @@ mixin ListNotifierGroupMixin on Listenable {
@protected
void notifyGroupChildrens(Object id) {
assert(_debugAssertNotDisposed());
TaskManager.instance.notify(_updatersGroupIds![id]!);
NotifierManager.instance.notify(_updatersGroupIds![id]!);
}
bool containsId(Object id) {
... ... @@ -148,12 +148,12 @@ mixin ListNotifierGroupMixin on Listenable {
}
}
class TaskManager {
TaskManager._();
class NotifierManager {
NotifierManager._();
static TaskManager? _instance;
static NotifierManager? _instance;
static TaskManager get instance => _instance ??= TaskManager._();
static NotifierManager get instance => _instance ??= NotifierManager._();
GetStateUpdate? _setter;
List<VoidCallback>? _remove;
... ... @@ -176,9 +176,7 @@ class TaskManager {
T Function() builder) {
_remove = disposers;
_setter = setState;
final result = builder();
print(disposers.isEmpty);
if (disposers.isEmpty) {
throw ObxError();
}
... ...
... ... @@ -101,7 +101,7 @@ mixin ObserverComponent on ComponentElement {
@override
Widget build() =>
TaskManager.instance.exchange(disposers, markNeedsBuild, super.build);
NotifierManager.instance.exchange(disposers, markNeedsBuild, super.build);
@override
void unmount() {
... ...
... ... @@ -158,7 +158,7 @@ GetValue is ${calculePercentage(dart, getx).round()}% faster than Default ValueN
print('============================================');
print('DART STREAM X GET_STREAM X GET_MINI_STREAM TEST');
print('-----------');
// var getx = await getStream();
// var getx = await getStream();
var mini = await miniStream();
var dart = await stream();
print('-----------');
... ... @@ -168,16 +168,16 @@ GetStream is ${calculePercentage(dart, mini).round()}% faster than Default Strea
times = 30000;
dart = await stream();
// getx = await getStream();
// getx = await getStream();
mini = await miniStream();
times = 60000;
dart = await stream();
// getx = await getStream();
// getx = await getStream();
mini = await miniStream();
print('-----------');
print('dart_stream delay $dart ms to made $times requests');
// print('getx_stream delay $getx ms to made $times requests');
// print('getx_stream delay $getx ms to made $times requests');
print('getx_mini_stream delay $mini ms to made $times requests');
print('-----------');
print('''
... ...