LCOV - code coverage report
Current view: top level - src/rx - rx_obx.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 19 19 100.0 %
Date: 2020-06-02 18:55:34 Functions: 0 0 -

          Line data    Source code
       1             : import 'dart:async';
       2             : import 'package:flutter/widgets.dart';
       3             : import 'package:get/src/rx/rx_interface.dart';
       4             : import '../get_main.dart';
       5             : import 'rx_impl.dart';
       6             : 
       7           2 : Widget obx(Widget Function() builder) {
       8             :   final b = builder;
       9           2 :   return Obx(b);
      10             : }
      11             : 
      12             : class Obx extends StatefulWidget {
      13             :   final Widget Function() builder;
      14             : 
      15           2 :   const Obx(
      16             :     this.builder,
      17             :   );
      18           4 :   _ObxState createState() => _ObxState();
      19             : }
      20             : 
      21             : class _ObxState extends State<Obx> {
      22             :   RxInterface _observer;
      23             :   StreamSubscription _listenSubscription;
      24             :   bool isCreator = false;
      25             : 
      26           2 :   _ObxState() {
      27           4 :     _observer = ListX();
      28             :   }
      29             : 
      30           2 :   @override
      31             :   void initState() {
      32          12 :     _listenSubscription = _observer.subject.stream.listen((data) {
      33           4 :       setState(() {});
      34             :     });
      35           2 :     super.initState();
      36             :   }
      37             : 
      38           2 :   @override
      39             :   void dispose() {
      40           4 :     _observer.close();
      41           4 :     _listenSubscription?.cancel();
      42           2 :     super.dispose();
      43             :   }
      44             : 
      45           2 :   @override
      46             :   Widget build(BuildContext context) {
      47           2 :     final observer = Get.obs;
      48           4 :     Get.obs = this._observer;
      49           6 :     final result = widget.builder();
      50           2 :     Get.obs = observer;
      51             :     return result;
      52             :   }
      53             : }

Generated by: LCOV version 1.14