fox-slack-block-builder
Version:
Maintainable code for interactive Slack messages, modals, home tabs, and workflow steps. A must-have for the Slack Block Kit framework.
27 lines (26 loc) • 803 B
TypeScript
export interface PaginatorStateManagerParams {
page: number;
perPage: number;
totalItems: number;
}
export interface PaginatorState extends PaginatorStateManagerParams {
totalPages: number;
offset: number;
}
export declare class PaginatorStateManager {
private readonly page;
private readonly perPage;
private readonly totalItems;
private readonly totalPages;
private readonly offset;
constructor(params: PaginatorStateManagerParams);
private static calculateState;
private static calculatePage;
getPage(): number;
getTotalPages(): number;
getTotalItems(): number;
getStateByPage(page: number): PaginatorState;
getNextPageState(): PaginatorState;
getPreviousPageState(): PaginatorState;
extractItems<T>(items: T[]): T[];
}