'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 }