levelui
Version:
A LevelDB GUI based on atom-shell.
47 lines (35 loc) • 1.06 kB
JavaScript
var level = require('levelup');
var net = require('net');
var multilevel = require('multilevel');
var remote = require('remote');
var dialog = remote.require('dialog');
module.exports = function(path, config) {
if (path && path.indexOf(':') > -1) {
var opts = {
title: 'Connected',
message: 'Connection successful...',
buttons: ['OK']
};
var win = remote.getCurrentWindow();
var db = multilevel.client();
var connection = path.split(':');
var port = connection[connection.length-1];
var host = connection[connection.length-2];
if (!port || !host) {
opts.title = 'Error';
opts.message = 'A port and host are required';
return dialog.showMessageBox(win, opts);
}
var con = net.connect(parseInt(port));
con.on('connect', function(err) {
if (err) {
opts.title = 'Error';
opts.message = err;
}
dialog.showMessageBox(win, opts);
});
con.pipe(db.createRpcStream()).pipe(con);
return db;
}
return level(path, config);
};