Not Preposterously Macho

    arrpag
    TypeScript icon, indicating that this package has built-in type declarations

    2.1.2 • Public • Published

    Build Status Coverage Status GitHub issues GitHub forks GitHub stars GitHub license

    simple-pagination

    Simple pagination module for arrays.

    Usage

    1. Instalation

    npm install arrpag --save
    yarn add arrpag
    bower install arrpag --save

    2. Return object

    The return object is an object of this format:

    /**
     * @property currentPage - the current page - number
     * @property nextPage - the next page - number
     * @property prevPage - the previous page - number
     * @property perPage - number of elements per page
     * @property pages - total number of available pages
     * @property results - the paginated sub-array from the given array
     * @property totalCurrentResults - total number of current paginated items
     * @property totalResults - total number of results -> should be the initial array lengt
     */
    export interface IPaginationResult {
      totalResults: number;
      results: any[];
      pages: number;
      currentPage: number;
      prevPage: number;
      nextPage: number;
      perPage: number;
      totalCurrentResults: number;
    }

    3. Usage

    Javascript

    const paginator = require("arrpag");
     
    // ...
     
    const arr = [1, 2, 3, 4, 5];
     
    const paginationResult = paginator.paginate(arr, 2, 3);

    Typescript

    import { paginate } from "arrapg";
     
    // ...
     
    const arr = [1, 2, 3, 4, 5];
     
    const paginationResult = paginate(arr, 2, 3);

    AMD

    define(function(require, exports, module) {
      var paginate = require("arrpag");
    });

    For the previous example the output should be:

    {
      totalResults: 5,
      results: [ 4, 5 ],
      pages: 2,
      currentPage: 2,
      prevPage: 1,
      nextPage: 2,
      perPage: 3,
      totalCurrentResults: 2
    }

    4. Test

    npm run test

    Install

    npm i arrpag

    DownloadsWeekly Downloads

    9

    Version

    2.1.2

    License

    AGPL-3.0-only

    Unpacked Size

    55.5 kB

    Total Files

    16

    Last publish

    Collaborators

    • andreilucaci