🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

mongo-cursor-pagination

Package Overview
Dependencies
Maintainers
16
Versions
35
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mongo-cursor-pagination - npm Package Compare versions

Comparing version

to
6.0.1

dist/node/foo.js

11

dist/node/find.js
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
var _ = require('underscore');
var objectPath = require('object-path');
var config = require('./config');

@@ -150,13 +151,15 @@ var bsonUrlEncoding = require('./utils/bsonUrlEncoding');

if (response.previous) {
var previousPaginatedField = objectPath.get(response.previous, params.paginatedField);
if (shouldSecondarySortOnId) {
response.previous = bsonUrlEncoding.encode([response.previous[params.paginatedField], response.previous._id]);
response.previous = bsonUrlEncoding.encode([previousPaginatedField, response.previous._id]);
} else {
response.previous = bsonUrlEncoding.encode(response.previous[params.paginatedField]);
response.previous = bsonUrlEncoding.encode(previousPaginatedField);
}
}
if (response.next) {
var nextPaginatedField = objectPath.get(response.next, params.paginatedField);
if (shouldSecondarySortOnId) {
response.next = bsonUrlEncoding.encode([response.next[params.paginatedField], response.next._id]);
response.next = bsonUrlEncoding.encode([nextPaginatedField, response.next._id]);
} else {
response.next = bsonUrlEncoding.encode(response.next[params.paginatedField]);
response.next = bsonUrlEncoding.encode(nextPaginatedField);
}

@@ -163,0 +166,0 @@ }

{
"name": "mongo-cursor-pagination",
"version": "6.0.0",
"version": "6.0.1",
"description": "Make it easy to return cursor-paginated results from a Mongo collection",

@@ -15,2 +15,3 @@ "main": "index.js",

"babelBuild": "babel src -d dist/node",
"babelWatch": "babel --watch src -d dist/node",
"prepublish": "yarn run babelBuild"

@@ -40,2 +41,3 @@ },

"mongodb-extended-json": "^1.7.1",
"object-path": "^0.11.4",
"semver": "^5.4.1",

@@ -42,0 +44,0 @@ "underscore": "^1.8.3"

@@ -63,6 +63,6 @@ # mongo-cursor-pagination

```js
var mongoist = require('mongoist');
var MongoPaging = require('mongo-cursor-pagination');
const mongoist = require('mongoist');
const MongoPaging = require('mongo-cursor-pagination');
var db = mongoist('mongodb://localhost:27017/mydb');
const db = mongoist('mongodb://localhost:27017/mydb');

@@ -80,4 +80,4 @@ async function findExample() {

// Query the first page.
var result = await MongoPaging.find(db.collection('myobjects'), {
// Query the first page.
let result = await MongoPaging.find(db.collection('myobjects'), {
limit: 2

@@ -140,6 +140,6 @@ });

```js
var mongoist = require('mongoist');
var MongoPaging = require('mongo-cursor-pagination');
const mongoist = require('mongoist');
const MongoPaging = require('mongo-cursor-pagination');
var db = mongoist('mongodb://localhost:27017/mydb');
const db = mongoist('mongodb://localhost:27017/mydb');

@@ -160,3 +160,3 @@ async function searchExample() {

// Query the first page.
var result = await MongoPaging.search(db.collection('myobjects'), 'dogs', {
let result = await MongoPaging.search(db.collection('myobjects'), 'dogs', {
fields: {

@@ -200,3 +200,3 @@ mytext: 1

try {
var result = await MongoPaging.find(db.collection('myobjects'), {
const result = await MongoPaging.find(db.collection('myobjects'), {
query: {

@@ -226,3 +226,3 @@ userId: req.user._id

try {
var result = await MongoPaging.findWithReq(req, db.collection('myobjects'), {
const result = await MongoPaging.findWithReq(req, db.collection('myobjects'), {
query: {

@@ -255,3 +255,3 @@ userId: req.user._id

```
```js
MongoPaging.find(db.people, {

@@ -270,3 +270,3 @@ query: {

```
```js
db.people.ensureIndex({

@@ -285,2 +285,4 @@ name: 1,

* 6.0.1 Fix issue where calling `find` with a paginated field that has dot notation e.g. `start.dateTime` produces an invalid `next` token.
* 6.0.0 Breaking API change: `mongo-cursor-pagination` requires a Promise enabled mongodb instance from `mongoist` and returns Promises from `find`, `findWithReq`, and `search` rather than handling callbacks. *Note: Although the library now uses `async/await`, it is still useable in node >= 6.9.0.*

@@ -287,0 +289,0 @@

var _ = require('underscore');
var objectPath = require('object-path');
var config = require('./config');

@@ -149,13 +150,15 @@ var bsonUrlEncoding = require('./utils/bsonUrlEncoding');

if (response.previous) {
var previousPaginatedField = objectPath.get(response.previous, params.paginatedField);
if (shouldSecondarySortOnId) {
response.previous = bsonUrlEncoding.encode([response.previous[params.paginatedField], response.previous._id]);
response.previous = bsonUrlEncoding.encode([previousPaginatedField, response.previous._id]);
} else {
response.previous = bsonUrlEncoding.encode(response.previous[params.paginatedField]);
response.previous = bsonUrlEncoding.encode(previousPaginatedField);
}
}
if (response.next) {
var nextPaginatedField = objectPath.get(response.next, params.paginatedField);
if (shouldSecondarySortOnId) {
response.next = bsonUrlEncoding.encode([response.next[params.paginatedField], response.next._id]);
response.next = bsonUrlEncoding.encode([nextPaginatedField, response.next._id]);
} else {
response.next = bsonUrlEncoding.encode(response.next[params.paginatedField]);
response.next = bsonUrlEncoding.encode(nextPaginatedField);
}

@@ -162,0 +165,0 @@ }