aws-parameter-cache
Version:
Parameter cache for AWS System Manager Parameter Store and AWS Secrets Manager
24 lines • 2.16 kB
JavaScript
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
;