LCOV - code coverage report
Current view: top level - src/database - hive_client.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 23 25 92.0 %
Date: 2020-12-04 18:41:24 Functions: 0 0 -

          Line data    Source code
       1             : import 'dart:io';
       2             : 
       3             : import 'package:flutter/cupertino.dart';
       4             : import 'package:hive/hive.dart';
       5             : import 'package:pal/src/database/entity/helper/helper_trigger_type.dart';
       6             : import 'entity/helper/helper_entity.dart';
       7             : import 'entity/helper/helper_group_entity.dart';
       8             : import 'entity/helper/helper_type.dart';
       9             : import 'entity/helper/schema_entity.dart';
      10             : import 'entity/page_user_visit_entity.dart';
      11             : import 'entity/page_entity.dart';
      12             : import 'package:hive_flutter/hive_flutter.dart';
      13             : 
      14             : typedef Future<Box<T>> LocalDbOpener<T>();
      15             : 
      16             : class HiveClient {
      17             : 
      18           4 :   HiveClient({bool shouldInit = true}) {
      19             :     if(!shouldInit)
      20             :       return;
      21           2 :     init();
      22             :   }
      23             : 
      24             :   @visibleForTesting
      25           2 :   init() async {
      26           6 :     await Hive.initFlutter();
      27           0 :     initAdapters();
      28             :   }
      29             : 
      30           2 :   @visibleForTesting
      31             :   initLocal()  {
      32           4 :     Hive.init('localstorage');
      33           2 :     initAdapters();
      34             :   }
      35             : 
      36           2 :   @visibleForTesting
      37             :   initAdapters() {
      38           6 :     Hive.registerAdapter(SchemaEntityAdapter());
      39           6 :     Hive.registerAdapter(HelperGroupEntityAdapter());
      40           6 :     Hive.registerAdapter(HelperEntityAdapter());
      41           6 :     Hive.registerAdapter(PageEntityAdapter());
      42           6 :     Hive.registerAdapter(HelperGroupUserVisitEntityAdapter());
      43           6 :     Hive.registerAdapter(HelperTypeAdapter());
      44           6 :     Hive.registerAdapter(HelperTriggerTypeAdapter());
      45           6 :     Hive.registerAdapter(HelperTextEntityAdapter());
      46           6 :     Hive.registerAdapter(HelperImageEntityAdapter());
      47           6 :     Hive.registerAdapter(HelperBorderEntityAdapter());
      48           6 :     Hive.registerAdapter(HelperBoxEntityAdapter());
      49             :   }
      50             : 
      51           4 :   LocalDbOpener<SchemaEntity> get openSchemaBox =>
      52           6 :       () => Hive.openBox<SchemaEntity>('schema');
      53             : 
      54           4 :   LocalDbOpener<HelperGroupUserVisitEntity> get openVisitsBox =>
      55           6 :       () => Hive.openBox<HelperGroupUserVisitEntity>('visits');
      56             : 
      57             : 
      58           0 :   close() => Hive.close();
      59             : }

Generated by: LCOV version 1.14