46 lines
1.6 KiB
JavaScript
46 lines
1.6 KiB
JavaScript
"use strict";
|
|
exports.__esModule = true;
|
|
exports.cd = void 0;
|
|
function cd(args, curdir, socket, filesystem, curdirx) {
|
|
var buf = "";
|
|
if (args.length == 0) {
|
|
buf += "Please specify a directory.\n";
|
|
}
|
|
else {
|
|
if (args[0] == "..") {
|
|
if (curdirx[socket.id].length > 0) {
|
|
var sync = "filesystem[socket.id]";
|
|
for (var i = 0; i < curdirx[socket.id].length; i++) {
|
|
sync += "['" + curdirx[socket.id][i] + "']";
|
|
}
|
|
sync += " = curdir[socket.id];";
|
|
console.log(sync);
|
|
eval(sync);
|
|
curdirx[socket.id].pop();
|
|
var cmdexec = "curdir[socket.id] = filesystem[socket.id]";
|
|
for (var i = 0; i < curdirx[socket.id].length; i++) {
|
|
cmdexec += "[(curdirx[socket.id][" + i + "])]";
|
|
}
|
|
eval(cmdexec);
|
|
}
|
|
}
|
|
else {
|
|
if (curdir[socket.id][args[0]] != undefined) {
|
|
if (typeof curdir[socket.id][args[0]] == "object") {
|
|
curdir[socket.id] = curdir[socket.id][args[0]];
|
|
buf += "Changed directory to " + args[0] + "\n";
|
|
curdirx[socket.id].push(args[0]);
|
|
}
|
|
else {
|
|
buf += "cd: " + args[0] + ": Is not a directory\n";
|
|
}
|
|
}
|
|
else {
|
|
buf += "Directory " + args[0] + " does not exist.\n";
|
|
}
|
|
}
|
|
}
|
|
return buf;
|
|
}
|
|
exports.cd = cd;
|
|
//# sourceMappingURL=cd.js.map
|