create method
Implementation
PaginationStoreFlowable<DATA> create(final PARAM param) {
return StoreFlowableImpl(
param: param,
flowableDataStateManager: getFlowableDataStateManager(),
cacheDataManager: AnyCacheDataManager(
loadFunc: () => loadDataFromCache(param),
saveFunc: (newData) => saveDataToCache(newData, param),
saveNextFunc: (cachedData, newData) => saveNextDataToCache(cachedData, newData, param),
savePrevFunc: (cachedData, newData) => throw UnimplementedError(),
),
originDataManager: AnyOriginDataManager(
fetchFunc: () async {
final result = await fetchDataFromOrigin(param);
return InternalFetched(data: result.data, nextKey: result.nextKey, prevKey: null);
},
fetchNextFunc: (nextKey) async {
final result = await fetchNextDataFromOrigin(nextKey, param);
return InternalFetched(data: result.data, nextKey: result.nextKey, prevKey: null);
},
fetchPrevFunc: (prevKey) => throw UnimplementedError(),
),
needRefresh: (cachedData) => needRefresh(cachedData, param),
);
}