UNPKG

@gecogvidanto/plugin-nedb

Version:

Nebd local database management plugin for ĞecoĞvidanto

73 lines 2.61 kB
"use strict"; /* * This file is part of @gecogvidanto/plugin-nedb. * Copyright (C) 2020 Stéphane Veyret * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <https://www.gnu.org/licenses/>. */ Object.defineProperty(exports, "__esModule", { value: true }); /** * Convert Nedb datastore calls into promises. */ class NedbPromiseDatastore { constructor(db) { this.db = db; } loadDatabase() { return new Promise((resolve, reject) => this.db.loadDatabase(this.voidCallback(resolve, reject))); } ensureIndex(options) { return new Promise((resolve, reject) => { this.db.ensureIndex(options, this.voidCallback(resolve, reject)); }); } insert(newDoc) { return new Promise((resolve, reject) => { this.db.insert(newDoc, this.callback(resolve, reject)); }); } count(query) { return new Promise((resolve, reject) => { this.db.count(query, this.callback(resolve, reject)); }); } find(query, projection) { return new Promise((resolve, reject) => { this.db.find(query, projection, this.callback(resolve, reject)); }); } findOne(query, projection) { return new Promise((resolve, reject) => { this.db.findOne(query, projection, this.callback(resolve, reject)); }); } update(query, updateQuery, options = {}) { return new Promise((resolve, reject) => { this.db.update(query, updateQuery, options, this.callback(resolve, reject)); }); } remove(query, options = {}) { return new Promise((resolve, reject) => { this.db.remove(query, options, this.callback(resolve, reject)); }); } voidCallback(resolve, reject) { return err => (err ? reject(err) : resolve()); } callback(resolve, reject) { return (err, value) => (err ? reject(err) : resolve(value)); } } exports.default = NedbPromiseDatastore; //# sourceMappingURL=NedbPromiseDatastore.js.map