HEX
Server: nginx/1.24.0
System: Linux nowruzgan 6.8.0-57-generic #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 x86_64
User: babak (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/dev/shahnamag/front-end/node_modules/thingies/es6/LruTtlMap.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.LruTtlMap = void 0;
const LruMap_1 = require("./LruMap");
class LruTtlMap extends LruMap_1.LruMap {
    constructor() {
        super(...arguments);
        this.expiry = new Map();
    }
    clear() {
        this.expiry.clear();
        super.clear();
    }
    delete(key) {
        this.expiry.delete(key);
        return super.delete(key);
    }
    has(key, now = 0) {
        if (!super.has(key))
            return false;
        const expiry = this.expiry.get(key) || 0;
        const expired = now > expiry;
        if (expired)
            this.delete(key);
        return !expired;
    }
    get(key, now) {
        if (!this.has(key, now))
            return undefined;
        const value = super.get(key);
        super.set(key, value);
        return value;
    }
    set(key, value, expiry = Infinity) {
        super.set(key, value);
        this.expiry.set(key, expiry);
        return this;
    }
}
exports.LruTtlMap = LruTtlMap;