Crate cw_paginate_storage
source ·Expand description
CosmWasm Map Pagination
This package provides generic convienence methods for paginating keys
and values in a CosmWasm Map
or SnapshotMap
. If you use these
methods to paginate the maps in your contract you may make larry0x
happy.
Example
Given a map like:
use cw_storage_plus::Map;
pub const ITEMS: Map<String, String> = Map::new("items");
You can use this package to write a query to list it’s contents like:
use cosmwasm_std::{Deps, Binary, to_binary, StdResult};
use cw_storage_plus::Map;
use cw_paginate_storage::paginate_map;
pub const ITEMS: Map<String, String> = Map::new("items");
pub fn query_list_items(
deps: Deps,
start_after: Option<String>,
limit: Option<u32>,
) -> StdResult<Binary> {
to_binary(&paginate_map(
deps,
&ITEMS,
start_after,
limit,
cosmwasm_std::Order::Descending,
)?)
}
Functions
- Generic function for paginating a list of (K, V) pairs in a CosmWasm Map.
- Same as
paginate_map
but only returns the keys. - Same as
paginate_map
but only returns the values. - Same as
paginate_map
but for use withSnapshotMap
. - Same as
paginate_map
but only returns the keys. For use withSnaphotMap
.