"use strict"; exports.__esModule = true; var http = require('http'); var express = require('express'); var app = express(); var server = http.createServer(app); var port = process.env.PORT || 8480; var Server = require("socket.io").Server; var io = new Server(server); var commands_1 = require("./commands/commands"); app.get('/', function (req, res) { res.sendFile(__dirname + '/website/index.html'); }); app.get("/script.js", function (req, res) { res.sendFile(__dirname + '/website/script.js'); }); app.get("/style.css", function (req, res) { res.sendFile(__dirname + '/website/style.css'); }); var buffer = {}; var filesystem = {}; var curdir = {}; var sessions = {}; var curdirx = {}; function sendbuffer(socket, bufferx, forcefulload) { var bufx = bufferx[socket.id]; bufx += "\u2588"; if (forcefulload) { socket.emit('buffer', bufx); } else { socket.emit('bufferx', bufx); } } io.on('connection', function (socket) { console.log('a user connected'); buffer[socket.id] = ""; filesystem[socket.id] = {}; curdir[socket.id] = filesystem[socket.id]; curdirx[socket.id] = []; buffer[socket.id] = "Welcome to the console!\n"; buffer[socket.id] += "Type 'help' to see the available commands.\n"; buffer[socket.id] += "#"; sendbuffer(socket, buffer, true); socket.on('keypress', function (data) { console.log('a key was pressed'); var key = String.fromCharCode(data); key = key.toLowerCase(); console.log(data); if (data == 8) { var lines = buffer[socket.id].split("\n"); if (lines[lines.length - 1] != "#") { lines[lines.length - 1] = lines[lines.length - 1].slice(0, -1); socket.emit("lastline", lines[lines.length - 1]); buffer[socket.id] = lines.join("\n"); } } else if (data == 13) { var lines_1 = buffer[socket.id].split('\n'); var command = lines_1[lines_1.length - 1]; command = command.substring(1); command = command.substring(command.indexOf('\n'), command.length); var args = command.split(' '); var commandName = args[0]; var commandArgs = args.slice(1); commandArgs = commandArgs.map(function (arg) { return arg.trim(); }); buffer[socket.id] += "\n"; console.log("Executing command: \"" + commandName + "\" with arguments: \"" + commandArgs + "\""); var bufko = "\n" + (0, commands_1.resolveCommand)(commandName, socket, commandArgs, buffer, sessions, filesystem, curdir, curdirx); console.log("This command \"" + commandName + "\" with args:\"" + commandArgs + "\" returned \"" + bufko + "\""); bufko += "#"; socket.emit("bufferx", "\n" + bufko + '\u2588'); buffer[socket.id] += bufko; } else { buffer[socket.id] += key; socket.emit("bufferx", key + "\u2588"); } }); }); io.on('disconnect', function (socket) { console.log('user disconnected'); buffer[socket.id] = ""; }); server.listen(port, function () { console.log('Server listening at port %d', port); }); //# sourceMappingURL=index.js.map