LCOV - code coverage report
Current view: top level - lib/src - analytics.dart Hit Total Coverage
Test: lcov.info Lines: 20 20 100.0 %
Date: 2020-11-11 18:24:22

          Line data    Source code
       1             : import 'package:meta/meta.dart';
       2             : 
       3             : import 'tree.dart';
       4             : 
       5             : abstract class AnalyticsTree {
       6             :   Set<Type> get supportedTypes;
       7             : 
       8           1 :   @protected
       9             :   bool isSupportedType(value) {
      10           2 :     return supportedTypes.contains(value);
      11             :   }
      12             : 
      13             :   @protected
      14             :   bool isSupportedEventName(String name);
      15             : 
      16             :   Future<void> performLogEvent(
      17             :       {@required String name, Map<String, dynamic> parameters});
      18             : 
      19             :   Future<void> timingEvent(String name);
      20             : 
      21             :   Future<void> setCurrentScreen(
      22             :       {@required String screenName, String screenClassOverride = 'Flutter'});
      23             : 
      24             :   Future<void> reset();
      25             : 
      26             :   Future<void> flush();
      27             : }
      28             : 
      29           3 : final _alphaNumeric = RegExp(r'^[a-zA-Z0-9_]*$');
      30             : 
      31             : extension StringX on String {
      32           1 :   bool get isAlphaNumeric {
      33           2 :     return _alphaNumeric.hasMatch(this);
      34             :   }
      35             : }
      36             : 
      37             : abstract class UserAnalyticsTree {
      38           1 :   String get emailProperty => 'email';
      39             : 
      40           1 :   String get phoneProperty => 'phone';
      41             : 
      42           1 :   String get userIdProperty => 'userId';
      43             : 
      44           1 :   String get uidProperty => 'uid';
      45             : 
      46           1 :   String get nameProperty => 'name';
      47             : 
      48             :   /// userId 설정
      49           1 :   Future<void> setUserId(String id) {
      50           2 :     return setUserProperty(userIdProperty, id);
      51             :   }
      52             : 
      53             :   /// email 설정
      54           1 :   Future<void> setEmail(String email) async {
      55           2 :     return setUserProperty(emailProperty, email);
      56             :   }
      57             : 
      58             :   /// 전화번호 설정
      59           1 :   Future<void> setPhone(String phone) async {
      60           2 :     return setUserProperty(phoneProperty, phone);
      61             :   }
      62             : 
      63             :   /// uid 설정
      64           1 :   Future<void> setUid(String uid) {
      65           2 :     return setUserProperty(uidProperty, uid);
      66             :   }
      67             : 
      68             :   Future<void> union(Map<String, List<dynamic>> properties);
      69             : 
      70             :   Future<void> setUserProperty(String name, dynamic value);
      71             : 
      72             :   Future<void> increment(Map<String, num> properties);
      73             : 
      74             :   Future<void> setOnce(Map<String, dynamic> properties);
      75             : 
      76           1 :   Future<void> setUserName(value) {
      77           2 :     return setUserProperty(nameProperty, value);
      78             :   }
      79             : 
      80             :   Future<void> reset();
      81             : 
      82             :   Future<void> flush();
      83             : }

Generated by: LCOV version 1.14