UNPKG

@mdfriday/foundry

Version:

The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.

69 lines 2.01 kB
import { Page, PageGroups, Pager, PagerManager, Pages } from "../../../domain/content"; /** * TypeScript implementation of Go's Paginator */ export declare class PaginatorImpl { private paginatedElements; private _pagers; private base; private total; private size; constructor(paginatedElements: any[][], total: number, size: number, base: string); totalPages(): number; pagers(): PagerImpl[]; getElement(pageNumber: number): any[]; getBase(): string; getPagers(): PagerImpl[]; } /** * TypeScript implementation of Go's Pager - implements the existing Pager interface */ declare class PagerImpl implements Pager { private number; private paginator; constructor(number: number, paginator: PaginatorImpl); pageNumber(): number; totalPages(): number; url(): string; pages(): Pages; pagers(): Pager[]; first(): Pager; last(): Pager; hasPrev(): boolean; prev(): Pager | null; hasNext(): boolean; next(): Pager | null; private element; private pathJoin; } /** * PagerManager service interface */ export interface PagerSvc { pageSize(): number; globalRegularPages(): Promise<any[]>; } /** * TypeScript implementation of Go's Paginator entity - implements existing PagerManager interface */ export declare class PaginatorManagerImpl implements PagerManager { private currentPager; private initialized; private svc; private page; constructor(svc: PagerSvc, page: Page); current(): Promise<Pager>; setCurrent(current: Pager): void; paginate(groups: PageGroups): Promise<Pager>; paginator(): Promise<Pager>; /** * Initialize paginator - TypeScript equivalent of golang's init.Do() * This matches the exact logic from golang's Paginator.Paginator() method */ private initializePaginator; private newPaginatorFromPages; private newPaginatorFromPageGroups; private splitPages; } export {}; //# sourceMappingURL=paginator.d.ts.map