/// <inheritdoc/> public virtual ValueTask <Page> GetPageAsync(PagedMenu menu) { var offset = menu.CurrentPageIndex * ItemsPerPage; var remainder = Array.Length - offset; var segment = new ArraySegment <T>(Array, offset, ItemsPerPage > remainder ? remainder : ItemsPerPage); var page = Formatter(menu, segment); return(new(page)); }
/// <inheritdoc/> public virtual ValueTask<Page> GetPageAsync(PagedMenu menu) { var page = Pages[menu.CurrentPageIndex]; return new(page); }
/// <inheritdoc/> public ValueTask <Page> GetPageAsync(PagedMenu menu) => new ValueTask <Page>(Pages[menu.CurrentPageIndex]);