@trap_stevo/veripath
Version:
The pinnacle of real-time encrypted routing and session-bound communication through a precision-crafted middleware system. Empowering developers to secure every route with dynamic request decryption, intelligent session validation, and seamless encrypted
34 lines (33 loc) • 722 B
JavaScript
;
class LinkTracker {
constructor() {
this.maxLinksPerSession = 100;
this.usedLinks = new Map();
}
register(sessionHash, link) {
if (!this.usedLinks.has(sessionHash)) {
this.usedLinks.set(sessionHash, new Set());
}
const linkSet = this.usedLinks.get(sessionHash);
if (linkSet.has(link)) {
return false;
}
if (linkSet.size >= this.maxLinksPerSession) {
const oldest = [...linkSet][0];
linkSet.delete(oldest);
}
linkSet.add(link);
return true;
}
reset(sessionHash) {
this.usedLinks.delete(sessionHash);
}
clear() {
this.usedLinks.clear();
}
}
;
const linkTracker = new LinkTracker();
module.exports = {
linkTracker
};