https://github.com/writetome51/page-load-access
A TypeScript/Javascript class that loads a batch (array) of data from a larger set too big to be loaded all at once.
https://github.com/writetome51/page-load-access
batch class data javascript load loader typescript
Last synced: 11 months ago
JSON representation
A TypeScript/Javascript class that loads a batch (array) of data from a larger set too big to be loaded all at once.
- Host: GitHub
- URL: https://github.com/writetome51/page-load-access
- Owner: writetome51
- License: mit
- Created: 2019-05-02T23:35:18.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-07-05T07:46:23.000Z (over 5 years ago)
- Last Synced: 2025-02-20T13:20:05.602Z (11 months ago)
- Topics: batch, class, data, javascript, load, loader, typescript
- Language: TypeScript
- Homepage:
- Size: 28.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PageLoadAccess
A TypeScript/Javascript class intended to be used by a paginator. Its methods
return a load (array) of data from a larger set that is too big to be loaded
all at once. Each load can contain multiple pages of data.
## Constructor
view constructor
```ts
constructor(
__dataSource: {
// The number of items `getLoad()` returns must match `itemsPerLoad`.
// If `isLastLoad` is true, it must only return the remaining items
// in the dataset and ignore itemsPerLoad.
getLoad: (
loadNumber: number, itemsPerLoad: number, isLastLoad: boolean
) => Promise
},
__loadInfo: {
getCurrentLoadNumber: () => number,
setCurrentLoadNumber: (num: number) => void,
getItemsPerLoad: () => number,
currentLoadIsLast: () => boolean
},
__load2pgTranslator: LoadToPageTranslator
)
```
## Methods
view methods
```ts
async getLoadContainingPage(pageNumber): Promise
async getRefreshedLoadContainingPage(pageNumber): Promise
// Even if the current load already contains requested
// `pageNumber`, that load is re-retrieved from the data source.
```
## Installation
`npm i @writetome51/page-load-access`
## Loading
```ts
// if using TypeScript:
import { PageLoadAccess } from '@writetome51/page-load-access';
// if using ES5 JavaScript:
var PageLoadAccess = require('@writetome51/page-load-access').PageLoadAccess;
```
## License
[MIT](https://choosealicense.com/licenses/mit/)