| 123456789101112131415161718192021222324252627282930313233343536 | 'use strict'module.exports = function (siOptions) {  var siUtil = {}  siUtil.countDocs = function (callback) {    var count = 0    const gte = 'DOCUMENT' + siOptions.keySeparator    const lte = 'DOCUMENT' + siOptions.keySeparator + siOptions.keySeparator    siOptions.indexes.createReadStream({gte: gte, lte: lte})      .on('data', function (data) {        count++      })      .on('error', function (err) {        return callback(err, null)      })      .on('end', function () {        return callback(null, count)      })  }  siUtil.close = function (callback) {    siOptions.indexes.close(function (err) {      while (!siOptions.indexes.isClosed()) {        // log not always working here- investigate        if (siOptions.log) siOptions.log.info('closing...')      }      if (siOptions.indexes.isClosed()) {        if (siOptions.log) siOptions.log.info('closed...')        callback(err)      }    })  }  return siUtil}
 |