@ssense/node-paginator
TypeScript icon, indicating that this package has built-in type declarations

1.1.2 • Public • Published

Paginator

Paginator library in NodeJS to facilitate REST pagination

Build Status Coverage Status Latest Stable Version Known Vulnerabilities

Table of Contents

Installation

npm install --save @ssense/node-paginator

Usage

import { Paginator } from '@ssense/node-paginator';

const items = ['item1', 'item2', 'item3']; // from your DB returned collection...
const perPage = 1;
const currentPage = 2;
const paginator: Paginator = new Paginator(items, items.length, perPage, currentPage);

// Transform paginator to object, use this as rour REST response
const paginated = paginator.transform();

console.log(paginated);
/*
output
{
    total: 3,
    per_page: 1,
    current_page: 2,
    last_page: 3,
    from: 2,
    to: 4,
    links:{
        previous: '/?page=1&foo=bar#foobar',
        current: '/?page=2&foo=bar#foobar',
        next: '/?page=3&foo=bar#foobar'
    },
    data: [ 'item1', 'item2', 'item3' ]
}
*/

Tips and tricks

Append queries string to URL

// Append one query string to URL
paginator.append('key', 'value');

// Appends multiple queries to URL
paginator.appends({
    foo: 'bar'
});

Add fragment to URL

// Add foobar fragment to URL
paginator.fragment('foobar');

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.1.2
    1
    • latest

Version History

Package Sidebar

Install

npm i @ssense/node-paginator

Weekly Downloads

1

Version

1.1.2

License

MIT

Last publish

Collaborators

  • cmoroney
  • alessandro.commodari
  • jeegna.patel
  • jamesslomka
  • ssenses-agupta
  • expense_ssense
  • toya.okeke
  • quinnlangille
  • ssense-admin
  • kaiz
  • maxime.servonnet.ssense
  • ephremsaour
  • non-senses
  • sam-nicolai.johnston
  • carlossense
  • npm1
  • vijayrajasekar
  • dimitrios.nicolacopoulos
  • sikkavarun
  • lclemence
  • nodir.fayzullaev
  • alexnorms
  • mahdieft