simple-jn-db
Version:
A Simple FS Orientated Database Package
58 lines (52 loc) • 1.69 kB
JavaScript
var fs = require('fs');
exports.working = function() {
console.log("Yes, the DB is still working!");
}
exports.createDb = function (name) {
var dir = `./${name}`;
if (!fs.existsSync(dir)){
fs.mkdirSync(dir);
} else {
throw new Error("A database with that name already exists.");
}
console.log(`A database with the name ${name} has been created.`);
}
exports.createTable = function (dbname, tbname) {
var writeStream = fs.createWriteStream(`./${dbname}/${tbname}.txt`);
writeStream.end();
var tb = `./${tbname}`;
if (!fs.existsSync(tb)){
var writeStream = fs.createWriteStream(`./${dbname}/${tbname}.txt`);
console.log(`A table named ${tbname} inside ${dbname} has been created. `);
} else {
throw new Error("A table with that name already exists.");
}
}
exports.insert = function (dbname, tbname, key, value) {
var tb = `./${dbname}/${tbname}.txt`;
if (fs.existsSync(tb)){
var writeStream = fs.createWriteStream(`./${dbname}/${tbname}.txt`);
writeStream.write(`${key}:${value}\n`);
writeStream.end();
} else {
throw new Error("The table and or database with that name already exists.");
}
}
exports.get = function (dbname, tbname, key) {
var tb = `./${dbname}/${tbname}.txt`;
if (fs.existsSync(tb)){
var content;
var contentfix;
// First I want to read the file
fs.readFile(tb, 'utf8', function read(err, data) {
if (err) {
throw err;
}
content = data;
contentfix = content.slice(key.length+1);
return contentfix;
});
} else {
throw new Error("The table and or database with that name already exists.");
}
}