const Database = require('nedb-promises') const file = require('./file') const DB_FILEPATH = process.env.DB_FILEPATH || './scripts/channels.db' const nedb = Database.create({ filename: file.resolve(DB_FILEPATH), autoload: true, onload(err) { if (err) console.error(err) }, compareStrings: (a, b) => { a = a.replace(/\s/g, '_') b = b.replace(/\s/g, '_') return a.localeCompare(b, undefined, { sensitivity: 'accent', numeric: true }) } }) const db = {} db.removeIndex = function (field) { return nedb.removeIndex(field) } db.addIndex = function (options) { return nedb.ensureIndex(options) } db.compact = function () { return nedb.persistence.compactDatafile() } db.reset = function () { return file.clear(DB_FILEPATH) } db.count = function (query) { return nedb.count(query) } db.insert = function (doc) { return nedb.insert(doc) } db.update = function (query, update) { return nedb.update(query, update) } db.find = function (query) { return nedb.find(query) } db.remove = function (query, options) { return nedb.remove(query, options) } module.exports = db