sm-db-json
Version:
basic lightweight database for beginners
1 lines • 677 B
JavaScript
var fs=require("fs"),lzstring=require("lz-string");function write(e,i){fs.writeFileSync(e,lzstring.compress(JSON.stringify(i)))}function read(e){return JSON.parse(lzstring.decompress(fs.readFileSync(e).toString()))}class SDB{constructor(e){this.filename=e;var i=fs.readFileSync(this.filename).toString();null!=i&&""!=i&&lzstring.decompress(i).includes("{")&&lzstring.decompress(i).includes("}")||write(this.filename,{})}empty(){write(this.filename,{})}getDb(){return read(this.filename)}set(e,i){var r=read(this.filename);r[e]=i,write(this.filename,r)}del(e){var i=read(this.filename);delete i[e],write(this.filename,i)}get(e){return read(this.filename)[e]}}module.exports=SDB;