@tokens-studio/sdk
Version:
The official SDK for Tokens Studio
14 lines • 794 B
TypeScript
import type { ApolloClient } from '@apollo/client/core/index.js';
/**
* Reusable utility to fetch paginated data
* where the response has a data and totalPages property
*/
declare type UnknownObject = Record<PropertyKey, unknown>;
declare interface Batch {
totalPages: number;
data: UnknownObject[];
}
export declare function fetchPaginatedData<T extends Batch, // this matches the query's paginated response data (output)
U extends UnknownObject>(client: ApolloClient<unknown>, query: (client: ApolloClient<unknown>, variables: U) => Promise<Batch>, variables?: Omit<U, 'page'>): Promise<(T["data"] extends infer T_1 ? T_1 extends T["data"] ? T_1 extends readonly (infer InnerArr)[] ? InnerArr : T_1 : never : never)[]>;
export {};
//# sourceMappingURL=fetch-paginated-data.d.ts.map