UNPKG

aws-parameter-cache

Version:

Parameter cache for AWS System Manager Parameter Store and AWS Secrets Manager

24 lines 2.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Refreshable = void 0; class Refreshable { constructor(maxAge) { this.maxAge = maxAge; } refresh() { this.updateLastRefreshTime(); this.refreshParameter(); } updateLastRefreshTime() { this.lastRefreshTime = Date.now(); } isExpired() { if (!this.maxAge) return false; if (!this.lastRefreshTime) return true; return Date.now() > this.lastRefreshTime + this.maxAge; } } exports.Refreshable = Refreshable; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmcmVzaGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVmcmVzaGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBc0IsV0FBVztJQUcvQixZQUE2QixNQUFlO1FBQWYsV0FBTSxHQUFOLE1BQU0sQ0FBUztJQUFHLENBQUM7SUFJekMsT0FBTztRQUNaLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWU7WUFBRSxPQUFPLElBQUksQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDekQsQ0FBQztDQUNGO0FBckJELGtDQXFCQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZWZyZXNoYWJsZSB7XG4gIHByaXZhdGUgbGFzdFJlZnJlc2hUaW1lPzogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbWF4QWdlPzogbnVtYmVyKSB7fVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZWZyZXNoUGFyYW1ldGVyKCk6IHZvaWQ7XG5cbiAgcHVibGljIHJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVMYXN0UmVmcmVzaFRpbWUoKTtcbiAgICB0aGlzLnJlZnJlc2hQYXJhbWV0ZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTGFzdFJlZnJlc2hUaW1lKCk6IHZvaWQge1xuICAgIHRoaXMubGFzdFJlZnJlc2hUaW1lID0gRGF0ZS5ub3coKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0V4cGlyZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLm1heEFnZSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICghdGhpcy5sYXN0UmVmcmVzaFRpbWUpIHJldHVybiB0cnVlO1xuICAgIHJldHVybiBEYXRlLm5vdygpID4gdGhpcy5sYXN0UmVmcmVzaFRpbWUgKyB0aGlzLm1heEFnZTtcbiAgfVxufVxuIl19