Skip to content

aromano272/BlazingPaging

Repository files navigation

BlazingPaging

A paging library aimed at providing what Jetpack's Paging 2 and 3 are missing, while keeping most of the functionality they offer.

Main features:

  • Network pagination
  • DB pagination with support for database invalidation updates(such as when using Room)
  • DB+Network approach offers offline support
  • Custom error Type, you're no longer constrained to using Exception for error handling
  • PagedList(val state: Flow<State>) get loading, error and idle states directly from PagedList, none of that Paging 3 mess of going through the adapter
  • PagedList operators allow changing the paged data after it has been fetched but before it reaches the adapter
    • PagedList<T>.map(transform: (T) -> R): PagedList<R>
    • PagedList<T>.filter(predicate: (T) -> Boolean): PagedList<T>
    • PagedList<T1>.combine(with: Flow<T2>, transform: (T1, T2) -> R): PagedList<R>
      • Combine your PagedList with a Flow of loading ids and you can show loading indicators in each item, check out sample.
      • Combine with a filter Flow and you can filter our paged items in reactively.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages