@@ -10,6 +10,7 @@ const eachAsync = require('../helpers/cursor/eachAsync');
1010const  helpers  =  require ( '../queryhelpers' ) ; 
1111const  immediate  =  require ( '../helpers/immediate' ) ; 
1212const  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');
3637function  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      } ) ; 
0 commit comments