UNPKG

csv-database

Version:

lightweight CSV database

23 lines (22 loc) 796 B
const csv = require("../csv-editor"); const create = require("./crud/create"); const erase = require("./crud/delete"); const get = require("./crud/read"); const update = require("./crud/update"); const init = require("./init"); const DEFAULT_DELIM = ";"; const database = (editor, delimiter) => { return { get: (filter) => get(editor, filter), add: (data) => create(editor, data), edit: (filter, data) => update(editor, filter, data), delete: (predicate) => erase(editor, predicate) }; }; const csvdb = async (filename, model, delim) => { const delimiter = delim ? delim : DEFAULT_DELIM; const editor = csv(filename, delimiter); await init(filename, model, delimiter, editor); return database(editor, delimiter); }; module.exports = csvdb;