archbase_flutter_getx 0.2.0 copy "archbase_flutter_getx: ^0.2.0" to clipboard
archbase_flutter_getx: ^0.2.0 copied to clipboard

Adapter GetX para archbase_flutter — bindings para registrar singletons no Get container, ArchbaseGetController base com guard() e bridge ValueNotifier→Rx.

archbase_flutter_getx #

Adapter GetX para a archbase_flutter.

O que tem aqui #

ArchbaseGetBindings #

Registra os singletons do ArchbaseBootstrap no container do Get para que controllers possam fazer Get.find<T>():

GetMaterialApp(
  initialBinding: ArchbaseGetBindings(),
  getPages: [...],
);

Disponibiliza:

  • ArchbaseConfig, ArchbaseStorageService, ArchbaseCacheService
  • ArchbaseApiClient, ArchbaseConnectivityService
  • ArchbaseOfflineSyncQueue, ArchbaseAuthService (se setado)

ArchbaseGetController #

GetxController base com guard() automatizando loading + erro:

class VisitasController extends ArchbaseGetController {
  final visitas = <Visita>[].obs;
  final _repo = Get.find<VisitasRepository>();

  Future<void> load() => guard(() async {
    visitas.assignAll(await _repo.list());
  });
}

Expõe:

  • isLoading: RxBool
  • error: RxnString + hasError
  • guard<T>(action) — captura exceptions e mapeia para mensagem amigável
  • clearError()

ValueListenable<T>.asRx() #

Bridge para usar ValueNotifiers dos services da lib com Obx:

class HomeController extends ArchbaseGetController {
  late final isOnline =
      Get.find<ArchbaseConnectivityService>().isConnected.asRx();

  @override
  void onClose() {
    isOnline.disposeBridge();
    super.onClose();
  }
}

// No widget:
Obx(() => Text(controller.isOnline.value ? 'online' : 'offline'));

Lembre de chamar disposeBridge() no onClose do controller para evitar listener pendurado.

Setup #

dependencies:
  archbase_flutter:
    path: ../archbase-flutter
  archbase_flutter_getx:
    path: ../archbase-flutter/packages/archbase_flutter_getx
  get: ^4.6.6
Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await ArchbaseBootstrap.init(config: ArchbaseConfig(...));
  // (configurar AuthService etc.)
  runApp(GetMaterialApp(
    initialBinding: ArchbaseGetBindings(),
    home: const HomePage(),
  ));
}

Por que adapter em vez de embutir GetX na lib mãe #

A archbase_flutter é agnóstica de state mgmt por desenho. Esse pacote opcional dá ergonomia para quem escolheu GetX, sem forçar o resto.

0
likes
150
points
144
downloads

Documentation

Documentation
API reference

Publisher

unverified uploader

Weekly Downloads

Adapter GetX para archbase_flutter — bindings para registrar singletons no Get container, ArchbaseGetController base com guard() e bridge ValueNotifier→Rx.

Homepage
Repository (GitHub)
View/report issues
Contributing

Topics

#getx #state-management #framework #bindings

License

MIT (license)

Dependencies

archbase_flutter, flutter, get

More

Packages that depend on archbase_flutter_getx