Next Pizza's Mine

    @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.

    Keywords

    Install

    npm i @ssense/node-paginator

    DownloadsWeekly Downloads

    23

    Version

    1.1.2

    License

    MIT

    Last publish

    Collaborators

    • 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