Skip to content

Commit 22e9b3b

Browse files
committed
[gh-10902 v5] Add node major version to utils
1 parent 5468642 commit 22e9b3b

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

lib/cursor/AggregationCursor.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ const promiseOrCallback = require('../helpers/promiseOrCallback');
1010
const eachAsync = require('../helpers/cursor/eachAsync');
1111
const immediate = require('../helpers/immediate');
1212
const util = require('util');
13+
const utils = require('../../lib/utils');
1314

1415
/**
1516
* An AggregationCursor is a concurrency primitive for processing aggregation
@@ -38,7 +39,7 @@ const util = require('util');
3839
function AggregationCursor(agg) {
3940
const streamOpts = { objectMode: true };
4041
// for node < 12 we will emit 'close' event after 'end'
41-
if (parseInt(process.versions.node.split('.')[0]) >= 12) {
42+
if (utils.nodeMajorVersion >= 12) {
4243
// set autoDestroy=true because on node 12 it's by default false
4344
// gh-10902 need autoDestroy to destroy correctly and emit 'close' event for node >= 12
4445
streamOpts.autoDestroy = true;
@@ -94,7 +95,7 @@ AggregationCursor.prototype._read = function() {
9495
return _this.emit('error', error);
9596
}
9697
// for node >= 12 the autoDestroy will emit the 'close' event
97-
if (parseInt(process.versions.node.split('.')[0]) < 12) {
98+
if (utils.nodeMajorVersion < 12) {
9899
_this.on('end', () => _this.emit('close'));
99100
}
100101
});

lib/cursor/QueryCursor.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ const eachAsync = require('../helpers/cursor/eachAsync');
1010
const helpers = require('../queryhelpers');
1111
const immediate = require('../helpers/immediate');
1212
const util = require('util');
13+
const utils = require('../../lib/utils');
1314

1415
/**
1516
* A QueryCursor is a concurrency primitive for processing query results
@@ -36,7 +37,7 @@ const util = require('util');
3637
function QueryCursor(query, options) {
3738
const streamOpts = { objectMode: true };
3839
// for node < 12 we will emit 'close' event after 'end'
39-
if (parseInt(process.versions.node.split('.')[0]) >= 12) {
40+
if (utils.nodeMajorVersion >= 12) {
4041
// set autoDestroy=true because on node 12 it's by default false
4142
// gh-10902 need autoDestroy to destroy correctly and emit 'close' event for node >= 12
4243
streamOpts.autoDestroy = true;
@@ -103,7 +104,7 @@ QueryCursor.prototype._read = function() {
103104
return _this.emit('error', error);
104105
}
105106
// for node >= 12 the autoDestroy will emit the 'close' event
106-
if (parseInt(process.versions.node.split('.')[0]) < 12) {
107+
if (utils.nodeMajorVersion < 12) {
107108
_this.on('end', () => _this.emit('close'));
108109
}
109110
});

lib/utils.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -934,4 +934,6 @@ exports.errorToPOJO = function errorToPOJO(error) {
934934
ret[properyName] = error[properyName];
935935
}
936936
return ret;
937-
};
937+
};
938+
939+
exports.nodeMajorVersion = parseInt(process.versions.node.split('.')[0]);

0 commit comments

Comments
 (0)