CliSite/commands/cd.js

46 lines
1.6 KiB
JavaScript
Raw Permalink Normal View History

2022-06-12 09:38:38 +02:00
"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