UNPKG

levelui

Version:

A LevelDB GUI based on atom-shell.

47 lines (35 loc) 1.06 kB
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); };