node-paginate-anything

nodejs server side module for angular-pagninate-anything

Downloads
10.4K
Stars
17
Committers
5

node-paginate-anything

nodejs server side module for angular-paginate-anything

This nodejs module add the required headers in the http response to paginate the items. This is a rewrite of clean_pagination

Install

  npm install node-paginate-anything

Usage

  var paginate = require('node-paginate-anything');
  
  var queryParameters = paginate(ClientRequest, ServerResponse, totalItems, maxRangeSize);
  
  mongooseQuery.limit(queryParameters.limit);
  mongooseQuery.skip(queryParameters.skip);
parameter Description
ClientRequest clientRequest object from the native http module or from an express app.
ServerResponse ServerResponse object to modify before sending the http response.
totalItems total number of items in the result set.
maxRangeSize angular-paginate-anything send is own requested range in the request, this parameter specify the maximum value.

Benefits

  • HTTP Content-Type agnoticism. Information about total items,
    selected ranges, and next- previous-links are sent through headers.
    It works without modifying your API payload in any way.
  • Graceful degredation. Both client and server specify the maximum
    page size they accept and communication gracefully degrades to
    accomodate the lesser.
  • Expressive retrieval. This approach, unlike the use of per_page and
    page parameters, allows the client to request any (possibly unbounded)
    interval of items.
  • Semantic HTTP. Built in strict conformance to RFCs 2616 and 5988.