This code defines a module that reads session data from a JSON file at SESSIONS_PATH
and returns an array of session data. It also includes error handling to reset the session array if an error occurs while reading the file.
var fs = require('fs');
var path = require('path');
var TOKEN_DIR = path.join(process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE, '.credentials');
var SESSIONS_PATH = path.join(TOKEN_DIR, 'sessions.json');
var sessions = [];
var sessionModified = 0;
function readSessions() {
try {
if(fs.existsSync(SESSIONS_PATH)
&& fs.statSync(SESSIONS_PATH).mtime.getTime() > sessionModified) {
sessionModified = fs.statSync(SESSIONS_PATH).mtime.getTime();
sessions = JSON.parse(fs.readFileSync(SESSIONS_PATH)
.toString());
}
} catch (e) {
sessions = [];
}
return sessions;
};
module.exports = readSessions;
const fs = require('fs').promises;
const path = require('path');
const TOKEN_DIR = path.join(
process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE,
'.credentials'
);
const SESSIONS_PATH = path.join(TOKEN_DIR,'sessions.json');
let sessions = [];
let sessionModified = 0;
/**
* Reads sessions from the JSON file at SESSIONS_PATH.
* If the file is newer than the last modification, it is updated.
* @returns {Promise
fs
: File system module for interacting with the file system.path
: Module for working with file paths.TOKEN_DIR
: Directory path for storing credentials, constructed from the following environment variables in order of preference:
HOME
HOMEPATH
USERPROFILE
SESSIONS_PATH
: Path to the'sessions.json' file within TOKEN_DIR
.sessions
: Array to store session data.sessionModified
: Timestamp of the last modification to the'sessions.json' file.readSessions()
sessions
array.sessions
array.sessions
array is reset to an empty array.readSessions
function is exported as a module.