2017-03-04 16:23:34 +00:00
|
|
|
'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()) {
|
2017-03-04 16:45:25 +00:00
|
|
|
// log not always working here- investigate
|
2017-03-04 16:23:34 +00:00
|
|
|
if (siOptions.log) siOptions.log.info('closing...')
|
|
|
|
}
|
|
|
|
if (siOptions.indexes.isClosed()) {
|
|
|
|
if (siOptions.log) siOptions.log.info('closed...')
|
|
|
|
callback(err)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
return siUtil
|
|
|
|
}
|