UNPKG

molly-db

Version:

Molly-db is a free and open source library for nodejs that allow you create a lightweight encrypted database using Json files

44 lines (33 loc) 2.49 kB
/*--────────────────────────────────────────────────────────────────────────────────────────────--*/ const memory = require('./memory_handler'); const worker = require('worker_threads'); const init = require('./init_handler'); const app = require('./api_handler'); const {Buffer} = require('buffer'); const utils = require('./utils'); const http = require('http'); /*--────────────────────────────────────────────────────────────────────────────────────────────--*/ function Error(error){ console.log(`worker error: ${error}`); } function Exit(code){ console.log(`worker exit code: ${code}`); } /*--────────────────────────────────────────────────────────────────────────────────────────────--*/ function saveInterval(data,db){ setInterval(() => { if( db._update_ ){ db._update_ = false; utils.saveAll(data,db); } }, data.time * 3600 * 1000 ); } /*--────────────────────────────────────────────────────────────────────────────────────────────--*/ module.exports = (arg)=>{ init( arg ).then((db)=>{ process.env.MOLLY_DB_arg = JSON.stringify(arg); const server = http.createServer((req,res)=>app(db,req,res,arg)); server.listen( arg.port, arg.host, ()=>{ console.log(JSON.stringify({ name: 'molly-db', protocol: 'HTTP', port: arg.port, host: arg.host, })); }); saveInterval( arg, db ); }).catch((e)=>{ console.log(e) }); } /*--────────────────────────────────────────────────────────────────────────────────────────────--*/