CliSite/commands/loadsess.ts

32 lines
1.1 KiB
TypeScript
Raw Normal View History

2022-06-12 09:38:38 +02:00
var fs = require('fs');
const SerAny = require('serialize-anything');
import { Socket } from 'socket.io';
2022-06-12 13:47:29 +02:00
function sendbuffer(socket:Socket, bufferx: string, forcefulload:boolean) {
var bufx = bufferx[socket.id];
//add placeholder character(reserved unicode) for blinking cursor in client;
bufx += "\u2588";
if(forcefulload) {
socket.emit('buffer', bufx);
}
else {
socket.emit('bufferx', bufx);
}
}
function loadsess(args:Array<string>, sessions:any, filesystem:any, curdir:any, buffer:string, socket:Socket ):string {
2022-06-12 09:38:38 +02:00
var buf = "";
if (args.length == 1) {
sessions = SerAny.deserialize(fs.readFileSync("./sessions.json"));
if(sessions[args[0]] != undefined) {
filesystem = sessions[args[0]]["filesystem"];
curdir = sessions[args[0]]["curdir"];
buffer = sessions[args[0]]["buffer"];
buf += "Session loaded.\n";
2022-06-12 13:47:29 +02:00
sendbuffer(socket, buffer, true);
2022-06-12 09:38:38 +02:00
}
}
else {
buf += "Wrong number of arguments.";
}
return buf;
}
export { loadsess };