trphoenix
2018-11-16 9227bda6464d8b80be475895973fca46bdc172d5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import 'github_search_api.dart';
import './SearchResult.dart';
import 'package:json_annotation/json_annotation.dart';
 
part 'SearchState.g.dart';
 
@JsonSerializable()
class SearchState extends Object with _$SearchStateSerializerMixin {
  final SearchResult result;
  final bool hasError;
  final bool isLoading;
 
  SearchState({
    this.result,
    this.hasError = false,
    this.isLoading = false,
  });
 
  factory SearchState.initial() =>
      new SearchState(result: SearchResult.noTerm());
 
  factory SearchState.loading() => SearchState(isLoading: true);
 
  factory SearchState.error() => SearchState(hasError: true);
}