override suspend fun load()

in app/src/main/java/co/elastic/apm/opbeans/modules/orders/data/paging/OrdersPagingSource.kt [30:42]


    override suspend fun load(params: LoadParams<Int>): LoadResult<Int, OrderStateItem> {
        val offset = params.key ?: 0
        val amount = params.loadSize
        val prevKey = if (offset == 0) null else max(0, offset - amount)

        return try {
            val orders = orderStateItemCase.getSetOfOrders(offset, amount)
            val nextKey = if (orders.size == amount) offset + amount else null
            LoadResult.Page(orders, prevKey, nextKey)
        } catch (e: Throwable) {
            LoadResult.Error(e)
        }
    }