csv-database
Version:
lightweight CSV database
23 lines (22 loc) • 796 B
JavaScript
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;