UNPKG

ngforage

Version:

localForage bindings for Angular

30 lines 3.22 kB
/** @internal */ export class CachedItemImpl { data; expires; hasData; constructor(data, expiryTime) { this.data = data; this.expires = new Date(typeof expiryTime === 'number' ? expiryTime : 0); this.hasData = data != null; } get expired() { return this.expiresIn === 0; } get expiresIn() { return Math.max(0, this.expires.getTime() - Date.now()); } toJSON() { return { data: this.data, expired: this.expired, expires: this.expires, expiresIn: this.expiresIn, hasData: this.hasData }; } toString() { return JSON.stringify(this.toJSON()); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVkLWl0ZW0taW1wbC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nZm9yYWdlL3NyYy9saWIvY2FjaGUvY2FjaGVkLWl0ZW0taW1wbC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxnQkFBZ0I7QUFDaEIsTUFBTSxPQUFPLGNBQWM7SUFNVTtJQUpuQixPQUFPLENBQU87SUFFZCxPQUFPLENBQVU7SUFFakMsWUFBbUMsSUFBTyxFQUFFLFVBQWtCO1FBQTNCLFNBQUksR0FBSixJQUFJLENBQUc7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFZLFVBQVUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sTUFBTTtRQUNYLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQztJQUNKLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtDYWNoZWRJdGVtfSBmcm9tICcuL2NhY2hlZC1pdGVtJztcblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGNsYXNzIENhY2hlZEl0ZW1JbXBsPFQ+IGltcGxlbWVudHMgQ2FjaGVkSXRlbTxUPiB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGV4cGlyZXM6IERhdGU7XG5cbiAgcHVibGljIHJlYWRvbmx5IGhhc0RhdGE6IGJvb2xlYW47XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBkYXRhOiBULCBleHBpcnlUaW1lOiBudW1iZXIpIHtcbiAgICB0aGlzLmV4cGlyZXMgPSBuZXcgRGF0ZSh0eXBlb2YgPGFueT5leHBpcnlUaW1lID09PSAnbnVtYmVyJyA/IGV4cGlyeVRpbWUgOiAwKTtcbiAgICB0aGlzLmhhc0RhdGEgPSBkYXRhICE9IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGV4cGlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXhwaXJlc0luID09PSAwO1xuICB9XG5cbiAgcHVibGljIGdldCBleHBpcmVzSW4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5tYXgoMCwgdGhpcy5leHBpcmVzLmdldFRpbWUoKSAtIERhdGUubm93KCkpO1xuICB9XG5cbiAgcHVibGljIHRvSlNPTigpOiBDYWNoZWRJdGVtPFQ+IHtcbiAgICByZXR1cm4ge1xuICAgICAgZGF0YTogdGhpcy5kYXRhLFxuICAgICAgZXhwaXJlZDogdGhpcy5leHBpcmVkLFxuICAgICAgZXhwaXJlczogdGhpcy5leHBpcmVzLFxuICAgICAgZXhwaXJlc0luOiB0aGlzLmV4cGlyZXNJbixcbiAgICAgIGhhc0RhdGE6IHRoaXMuaGFzRGF0YVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy50b0pTT04oKSk7XG4gIH1cbn1cbiJdfQ==