Comparing version 2.5.0 to 2.6.0
@@ -0,0 +0,0 @@ var Database = require('./lib/database') |
@@ -0,0 +0,0 @@ var mongodb = require('mongodb') |
@@ -0,0 +0,0 @@ var mongodb = require('mongodb') |
@@ -5,2 +5,6 @@ var util = require('util') | ||
try { | ||
var hooks = require('async_hooks') | ||
} catch (err) {} | ||
var Cursor = function (getCursor) { | ||
@@ -12,2 +16,5 @@ Readable.call(this, {objectMode: true, highWaterMark: 0}) | ||
var self = this | ||
this._destroyed = false | ||
this._hook = hooks && new hooks.AsyncResource('mongojs:cursor') | ||
this._get = thunky(function (cb) { | ||
@@ -32,2 +39,6 @@ getCursor(function (err, cursor) { | ||
Cursor.prototype.next = function (cb) { | ||
if (this._hook) cb = wrapHook(this, cb) | ||
var self = this | ||
this._get(function (err, cursor) { | ||
@@ -37,2 +48,3 @@ if (err) return cb(err) | ||
if (cursor.cursorState.dead || cursor.cursorState.killed) { | ||
destroy(self) | ||
return cb(null, null) | ||
@@ -48,2 +60,4 @@ } else { | ||
Cursor.prototype.rewind = function (cb) { | ||
if (this._hook) cb = wrapHook(this, cb) | ||
this._get(function (err, cursor) { | ||
@@ -123,2 +137,4 @@ if (err) return cb(err) | ||
Cursor.prototype.count = function (cb) { | ||
if (this._hook) cb = wrapHook(this, cb) | ||
var self = this | ||
@@ -133,2 +149,4 @@ | ||
Cursor.prototype.size = function (cb) { | ||
if (this._hook) cb = wrapHook(this, cb) | ||
var self = this | ||
@@ -143,2 +161,4 @@ | ||
Cursor.prototype.explain = function (cb) { | ||
if (this._hook) cb = wrapHook(this, cb) | ||
this._get(function (err, cursor) { | ||
@@ -153,9 +173,12 @@ if (err) { return cb(err) } | ||
this._get(function (err, cursor) { | ||
if (err) return self.emit('error', err) | ||
if (err) return done(err) | ||
if (cursor.close) { | ||
cursor.close(function (err) { | ||
if (err) { self.emit('error', err) } | ||
}) | ||
cursor.close(done) | ||
} | ||
}) | ||
function done (err) { | ||
if (err) { self.emit('error', err) } | ||
destroy(self) | ||
} | ||
} | ||
@@ -172,1 +195,23 @@ | ||
module.exports = Cursor | ||
function destroy (self) { | ||
if (self._destroyed) return | ||
self._destroyed = true | ||
if (self._hook) self._hook.emitDestroy() | ||
} | ||
function runInAsyncScope (self, cb, err, val) { | ||
if (self._hook.runInAsyncScope) { | ||
self._hook.runInAsyncScope(cb, null, err, val) | ||
} else { | ||
self._hook.emitBefore() | ||
cb(err, val) | ||
self._hook.emitAfter() | ||
} | ||
} | ||
function wrapHook (self, cb) { | ||
return function (err, val) { | ||
runInAsyncScope(self, cb, err, val) | ||
} | ||
} |
@@ -0,0 +0,0 @@ var Collection = require('./collection') |
@@ -9,3 +9,3 @@ { | ||
], | ||
"version": "2.5.0", | ||
"version": "2.6.0", | ||
"repository": "git://github.com/mafintosh/mongojs.git", | ||
@@ -12,0 +12,0 @@ "author": "Mathias Buus Madsen <mathiasbuus@gmail.com>", |
@@ -0,0 +0,0 @@ # mongojs |
@@ -0,0 +0,0 @@ var mongojs = require('../index') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var test = require('tape') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var test = require('tape') |
@@ -0,0 +0,0 @@ var test = require('tape') |
@@ -0,0 +0,0 @@ var test = require('tape') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var test = require('tape') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var test = require('tape') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var mongojs = require('../') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var insert = require('./insert') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
@@ -0,0 +0,0 @@ var test = require('./tape') |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2261
168575
2