bloc_infinite_list 0.0.6 copy "bloc_infinite_list: ^0.0.6" to clipboard
bloc_infinite_list: ^0.0.6 copied to clipboard

Serves pre-made infinite list cubit and bloc to reduce boilerplate and provide concrete immutable bloc implementation.

How to use #

Cubit #

Default state #

class PlayerCubit extends DefaultInfiniteListCubit<Player> {
  PlayerCubit(
    PlayerRepository playerRepository,
  ) : super(
    initialState: DefaultInfiniteListState(),
    fetch: (page, size, cancelToken, state) => 
                                  playerRepository.getAll(
                                    page: page,
                                    size: size,
                                    cancelToken: cancelToken,
                                  ),
    );
}

Custom state #

class PlayerState extends InfiniteListState<Player, PlayerState> {
  final int id;

  PlayerState({
    super.infList,
    required this.id,
  });

  ...
}

class PlayerCubit extends InfiniteListCubit<Player, PlayerState> {
  PlayerCubit(
    PlayerRepository playerRepository,
  ) : super(
    initialState: DefaultInfiniteListState(),
    fetch: (page, size, cancelToken, state) => 
                                  playerRepository.getAll(
                                    page: page,
                                    size: size,
                                    cancelToken: cancelToken,
                                  ),
    );
}

Bloc #

Default event & state #

class FoodBloc extends DefaultInfiniteListBloc<Food> {
    ...same as cubit
}

add(InfiniteListEvent.fetchNext());

Custom event & state #


abstract class FoodEvent extends InfiniteListEvent<Food> {
  const FoodEvent();
}

abstract class FoodEventHadForLaunch extends InfiniteListEvent<Food> {
  const FoodEventHadForLaunch();
}

---

class FoodBloc extends InfiniteListBloc<Food, FoodEvent, FoodState> {
  FoodBloc(){
    ... other default events are automatically registered by library.
    on<FoodEventHadForLaunch>(_onHadForLaunch)
  }

  _onHadForLaunch(event, emit);
}

add(InfiniteListEvent.fetchNext());
add(FoodEventHadForLaunch());
7
likes
0
pub points
3%
popularity

Publisher

unverified uploader

Serves pre-made infinite list cubit and bloc to reduce boilerplate and provide concrete immutable bloc implementation.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

bloc, bloc_concurrency, collection, dio, equatable, json_annotation, meta

More

Packages that depend on bloc_infinite_list