1
0
mirror of https://github.com/Ylianst/MeshAgent synced 2025-12-15 07:43:50 +00:00
Files
MeshAgent/modules/dbTool.js
Ylian Saint-Hilaire 4b5c77b4fd Many improvements.
2018-02-11 21:11:58 -08:00

66 lines
2.1 KiB
JavaScript

var db;
if (process.platform == 'win32')
{
db = require('SimpleDataStore').Create(process.execPath.replace('.exe', '.db'));
}
else
{
db = require('SimpleDataStore').Create(process.execPath + '.db');
}
if (process.argv.length > 1)
{
switch(process.argv[1])
{
case 'put':
console.log('PUT ' + process.argv[2] + ' = ' + process.argv[3]);
db.Put(process.argv[2], process.argv[3]);
process.exit();
break;
case 'get':
console.log('GET ' + process.argv[2] + ' = ');
var val = db.Get(process.argv[2]);
if (process.argv[2] == 'CoreModule') { val = val.slice(4); }
console.log(val);
process.exit();
break;
case 'keys':
console.log('KEYS = ' + db.Keys);
process.exit();
break;
case 'delete':
console.log('Deleting ' + process.argv[2]);
db.Delete(process.argv[2]);
process.exit();
break;
case 'export':
if (process.argv[2] == 'CoreModule')
{
db.target = require('fs').createWriteStream('CoreModule.js', { flags: 'wb' });
db.target.write(db.Get(process.argv[2]).slice(4), function () { console.log('finished exporting'); process.exit(); });
}
else
{
db.target = require('fs').createWriteStream(process.argv[2], 'wb');
db.target.write(db.Get(process.argv[2]), function () { console.log('finished exporting'); process.exit(); });
}
break;
case 'import':
if (process.argv[2] == 'CoreModule')
{
var src = require('fs').readFileSync('CoreModule.js', 'rb');
var src2 = Buffer.concat([Buffer.alloc(4), src]);
db.Put(process.argv[2], src2);
console.log('CoreModule imported');
}
process.exit();
break;
default:
console.log('unknown command "' + process.argv[1] + '"');
process.exit();
break;
}
}