Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

sequelizejs-cursor-pagination

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sequelizejs-cursor-pagination

Sequelize model decorator which provides cursor based pagination queries

  • 2.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Sequelize Cursor Pagination

Build Status

Sequelize model decorator which provides cursor based pagination queries. Some motivation and background.

The original repostory is here, but it seems not maintained (not sure).

Install

npm

npm install sequelizejs-cursor-pagination

yarn

yarn add sequelizejs-cursor-pagination

How to use

Define a sequelize model:

// ...
const withPagination = require('sequelize-cursor-pagination');

const Counter = sequelize.define('counter', {
  id: { type:  Sequelize.INTEGER, primaryKey: true, autoIncrement: true },
  value: Sequelize.INTEGER,
});

const options = {
  methodName: 'paginate',
  primaryKey: 'id',
};

withPagination(options)(Counter);

The withPagination function has the following options:

  • methodName, the name of the pagination method. The default value is paginate.
  • primaryKey, the primary key field of the model. The default value is id.

Call the paginate (default method name) method:

// ...
Counter.paginate({ 
  where: { value: { $gt: 2 } },
  limit: 10,
});

The paginate method returns an object with following properties:

  • results, the results of the query
  • count, number of rows that match the query condition, only if rowCount is set to true, or it will be null
  • cursors, object containing the cursors' related data
    • cursors.before, the first record in the result serialized
    • cursors.after, the last record in the result serialized
    • cursors.hasNext, true or false depending on whether there are records after the after cursor
    • cursors.hasPrevious, true or false depending on whether there are records before the before cursor

The paginate method has the following options:

  • where, the query applied to findAll call
  • attributes, the query applied to findAll and select only some attributes
  • include, applied to findAll for eager loading
  • limit, limit the number of records returned
  • rowCount, If set to true, it will use findAndCountAll instead of findAll. The default value is false.
  • desc, whether to sort in descending order. The default value is false.
  • before, the before cursor
  • after, the after curosr
  • paginationField, the field to be used for the pagination. The default value is the primaryKeyField option value.

Run tests

yarn test

Keywords

FAQs

Package last updated on 17 Oct 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc