# @writetome51/pagination-page-info

> TypeScript/Javascript class intended to help a separate Paginator class paginate data. Specifically, this class contains the properties `itemsPerPage` and `totalPages`, which will be used by other classes, like the Paginator.

Latest version **0.0.1** (published 2019-05-07) · MIT license · 0 weekly downloads

## Install

```sh
npm install @writetome51/pagination-page-info
pnpm add @writetome51/pagination-page-info
yarn add @writetome51/pagination-page-info
bun add @writetome51/pagination-page-info
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.1 |
| Published | 2019-05-07 |
| First published | 2019-05-07 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 14.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Steve Thompson |
| Maintainers | writetome51 |
| Keywords | data, batch, batches, paginator, pagination, app, typescript, class |

## Links

- npm: https://www.npmjs.com/package/@writetome51/pagination-page-info
- Repository: https://github.com/writetome51/pagination-page-info
- Homepage: https://github.com/writetome51/pagination-page-info#readme
- Issues: https://github.com/writetome51/pagination-page-info/issues
- npm.io page: https://npm.io/package/@writetome51/pagination-page-info

## Dependencies (2)

- [@writetome51/base-class](https://npm.io/package/@writetome51/base-class.md) ~1.0.0
- [@writetome51/get-rounded-up-down](https://npm.io/package/@writetome51/get-rounded-up-down.md) ~1.0.11

## Alternatives

- [@openai/codex-sdk](https://npm.io/package/@openai/codex-sdk.md) — 731.4K weekly downloads
- [babel-plugin-transform-react-jsx](https://npm.io/package/babel-plugin-transform-react-jsx.md) — 565.0K weekly downloads
- [babel-helper-remove-or-void](https://npm.io/package/babel-helper-remove-or-void.md) — 508.5K weekly downloads
- [@pnpm/store-controller-types](https://npm.io/package/@pnpm/store-controller-types.md) — 186.9K weekly downloads
- [react-native-signature-canvas](https://npm.io/package/react-native-signature-canvas.md) — 155.6K weekly downloads

## Recent versions

- 0.0.1 (latest) — 2019-05-07

## README

# PaginationPageInfo

A TypeScript/Javascript class intended to help a separate Paginator class  
paginate data.  Specifically, this class contains the properties `itemsPerPage`  
and `totalPages`, which will be used by other classes, like the Paginator.


## Constructor
<details>
<summary>view constructor</summary>

```ts
constructor(

    dataSource: {

        dataTotal: number
            // Number of items in entire dataset, not the batch.
            // This must stay accurate after actions that change the total, 
            // such as searches.
    },
   	
    batchPaginator: { itemsPerPage: number }
        // Stores and paginates a batch (array) of data, which it assumes 
        // is the entire dataset.
) 
```
</details>


## Properties
<details>
<summary>view properties</summary>

```ts
itemsPerPage: number

totalPages: number // read-only

className: string // read-only
```
</details>


## Methods
<details>
<summary>view methods</summary>

The methods below are not important to know about in order to use this  
class.  They're inherited from [BaseClass](https://github.com/writetome51/typescript-base-class#baseclass) .
```ts
protected   _createGetterAndOrSetterForEach(
                  propertyNames: string[],
                  configuration: IGetterSetterConfiguration
            ) : void
     /*********************
     Use this method when you have a bunch of properties that need getter and/or 
     setter functions that all do the same thing. You pass in an array of string 
     names of those properties, and the method attaches the same getter and/or 
     setter function to each property.
     IGetterSetterConfiguration is this object:
     {
         get_setterFunction?: (
             propertyName: string, index?: number, propertyNames?: string[]
         ) => Function,
             // get_setterFunction takes the property name as first argument and 
             // returns the setter function.  The setter function must take one 
             // parameter and return void.
     
         get_getterFunction?: (
             propertyName: string, index?: number, propertyNames?: string[]
         ) => Function
             // get_getterFunction takes the property name as first argument and 
             // returns the getter function.  The getter function must return something.
     }
     *********************/ 
   
   
protected   _returnThis_after(voidExpression: any) : this
    // voidExpression is executed, then function returns this.
    // Even if voidExpression returns something, the returned data isn't used.
    
protected   _errorIfPropertyHasNoValue(
                property: string, // can contain dot-notation, i.e., 'property.subproperty'
                propertyNameInError? = ''
            ) : void
    // If value of this[property] is undefined or null, it triggers fatal error:
    // `The property "${propertyNameInError}" has no value.`
```
</details>


## Inheritance Chain

PaginationPageInfo<--[BaseClass](https://github.com/writetome51/typescript-base-class#baseclass)


## Installation

`npm install @writetome51/pagination-page-info`

## Loading
```ts
// if using TypeScript:
import { PaginationPageInfo } from '@writetome51/pagination-page-info';
// if using ES5 JavaScript:
var PaginationPageInfo = 
    require('@writetome51/pagination-page-info').PaginationPageInfo;
```

## License
[MIT](https://choosealicense.com/licenses/mit/)

---
_Source: https://npm.io/package/@writetome51/pagination-page-info · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
