node-paginate-anything

1.0.0 • Public • Published

node-paginate-anything

Build Status Dependency Status devDependency Status

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.

Readme

Keywords

none

Package Sidebar

Install

npm i node-paginate-anything

Weekly Downloads

1,909

Version

1.0.0

License

none

Last publish

Collaborators

  • polo2ro