@dereekb/dbx-core 11.1.4 → 11.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { map } from 'rxjs';
|
|
2
|
-
import {
|
|
3
|
-
import { DataDoesNotExistError, DataIsExpiredError, hasNonNullValue, splitJoinRemainder } from '@dereekb/util';
|
|
2
|
+
import { isThrottled, unixTimeNumberForNow, DataDoesNotExistError, DataIsExpiredError, hasNonNullValue, splitJoinRemainder } from '@dereekb/util';
|
|
4
3
|
export class StringifySimpleStorageAccessorConverter {
|
|
5
4
|
stringifyValue(value) {
|
|
6
5
|
return JSON.stringify(value);
|
|
@@ -147,7 +146,7 @@ export class SimpleStorageAccessor {
|
|
|
147
146
|
const expiresIn = this._config.expiresIn;
|
|
148
147
|
if (expiresIn) {
|
|
149
148
|
if (storeData.storedAt) {
|
|
150
|
-
return
|
|
149
|
+
return isThrottled(expiresIn, storeData.storedAt);
|
|
151
150
|
}
|
|
152
151
|
return true;
|
|
153
152
|
}
|
|
@@ -170,4 +169,4 @@ export class SimpleStorageAccessor {
|
|
|
170
169
|
return this._delegate.stringifyValue(value);
|
|
171
170
|
}
|
|
172
171
|
}
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5hY2Nlc3Nvci5zaW1wbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3N0b3JhZ2Uvc3RvcmFnZS5hY2Nlc3Nvci5zaW1wbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBNkUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBb0IxTCxNQUFNLE9BQU8sdUNBQXVDO0lBQ2xELGNBQWMsQ0FBQyxLQUFRO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQXNCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sb0NBQW9DO0lBQzlCLFNBQVMsQ0FBb0M7SUFDN0MsVUFBVSxDQUFvQztJQUUvRCxZQUFZLFFBQTJDLEVBQUUsU0FBNEM7UUFDbkcsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDOUIsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUF1QjtRQUN0QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lB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QUFTLENBQUMsUUFBUSxFQUFFO2dCQUN0QixPQUFPLGNBQWMsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ3REO1lBRUQsT0FBTyxJQUFJLENBQUM7U0FDYjthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFFRCxpQkFBaUI7SUFDUCxjQUFjLENBQUMsR0FBVztRQUNsQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDOUUsQ0FBQztJQUVTLGVBQWUsQ0FBQyxVQUFnQztRQUN4RCxPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsVUFBZ0M7UUFDekQsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdFLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFUyxjQUFjLENBQUMsS0FBUTtRQUMvQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRpbWVIYXNFeHBpcmVkLCB1bml4VGltZU51bWJlckZvck5vdyB9IGZyb20gJ0BkZXJlZWtiL2RhdGUnO1xuaW1wb3J0IHsgRGF0YURvZXNOb3RFeGlzdEVycm9yLCBEYXRhSXNFeHBpcmVkRXJyb3IsIFJlYWRTdG9yZWREYXRhLCBTdG9yZWREYXRhLCBTdG9yZWREYXRhU3RvcmFnZUtleSwgU3RvcmVkRGF0YVN0cmluZywgTWF5YmUsIGhhc05vbk51bGxWYWx1ZSwgc3BsaXRKb2luUmVtYWluZGVyIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBTdG9yYWdlQWNjZXNzb3IgfSBmcm9tICcuL3N0b3JhZ2UuYWNjZXNzb3InO1xuXG4vLyBNQVJLOiBTaW1wbGVTdG9yYWdlQWNjZXNzb3JcbmV4cG9ydCBpbnRlcmZhY2UgU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29udmVydGVyPFQ+IHtcbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBpbnB1dCB2YWx1ZSB0byBhIHN0cmluZy5cbiAgICovXG4gIHN0cmluZ2lmeVZhbHVlKHZhbHVlOiBUKTogU3RvcmVkRGF0YVN0cmluZztcbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBkYXRhIHN0cmluZyBpbnRvIGEgdmFsdWUuXG4gICAqL1xuICBwYXJzZVZhbHVlKGRhdGE6IFN0b3JlZERhdGFTdHJpbmcpOiBUO1xufVxuXG4vKipcbiAqIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvciBkZWxlZ2F0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVTdG9yYWdlQWNjZXNzb3JEZWxlZ2F0ZTxUPiBleHRlbmRzIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlcjxUPiwgU3RvcmFnZUFjY2Vzc29yPFN0b3JlZERhdGFTdHJpbmc+IHt9XG5cbmV4cG9ydCBjbGFzcyBTdHJpbmdpZnlTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb252ZXJ0ZXI8VD4gaW1wbGVtZW50cyBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb252ZXJ0ZXI8VD4ge1xuICBzdHJpbmdpZnlWYWx1ZSh2YWx1ZTogVCk6IFN0b3JlZERhdGFTdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gIH1cblxuICBwYXJzZVZhbHVlKGRhdGE6IFN0b3JlZERhdGFTdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShkYXRhKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgV3JhcHBlclNpbXBsZVN0b3JhZ2VBY2Nlc3NvckRlbGVnYXRlPFQ+IGltcGxlbWVudHMgU2ltcGxlU3RvcmFnZUFjY2Vzc29yRGVsZWdhdGU8VD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZWxlZ2F0ZTogU3RvcmFnZUFjY2Vzc29yPFN0b3JlZERhdGFTdHJpbmc+O1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb252ZXJ0ZXI6IFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlcjxUPjtcblxuICBjb25zdHJ1Y3RvcihkZWxlZ2F0ZTogU3RvcmFnZUFjY2Vzc29yPFN0b3JlZERhdGFTdHJpbmc+LCBjb252ZXJ0ZXI6IFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlcjxUPikge1xuICAgIHRoaXMuX2RlbGVnYXRlID0gZGVsZWdhdGU7XG4gICAgdGhpcy5fY29udmVydGVyID0gY29udmVydGVyO1xuICB9XG5cbiAgZ2V0KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxNYXliZTxTdG9yZWREYXRhU3RyaW5nPj4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5nZXQoa2V5KTtcbiAgfVxuXG4gIHNldChrZXk6IHN0cmluZywgdmFsdWU6IFN0b3JlZERhdGFTdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuc2V0KGtleSwgdmFsdWUpO1xuICB9XG5cbiAgcmVtb3ZlKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnJlbW92ZShrZXkpO1xuICB9XG5cbiAgY2xlYXIoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuY2xlYXIoKTtcbiAgfVxuXG4gIGFsbChwcmVmaXg/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmFsbChwcmVmaXgpO1xuICB9XG5cbiAgYWxsS2V5cyhwcmVmaXg/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmFsbEtleXMocHJlZml4KTtcbiAgfVxuXG4gIHN0cmluZ2lmeVZhbHVlKHZhbHVlOiBUKTogU3RvcmVkRGF0YVN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnZlcnRlci5zdHJpbmdpZnlWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBwYXJzZVZhbHVlKGRhdGE6IFN0b3JlZERhdGFTdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fY29udmVydGVyLnBhcnNlVmFsdWUoZGF0YSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb25maWcge1xuICAvKipcbiAgICogU3RvcmFnZSBLZXkgUHJlZml4XG4gICAqL1xuICByZWFkb25seSBwcmVmaXg6IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHByZWZpeC92YWx1ZSBzcGxpdHRlci5cbiAgICovXG4gIHJlYWRvbmx5IHByZWZpeFNwbGl0dGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogTnVtYmVyIGluIG1pbGxpc2Vjb25kcyB0aGF0IG9iamVjdHMgc3RvcmVkIHdpbGwgZXhwaXJlIGluLlxuICAgKi9cbiAgcmVhZG9ubHkgZXhwaXJlc0luPzogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgQ29uZmlndXJlZFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbmZpZyBleHRlbmRzIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbmZpZyB7XG4gIHJlYWRvbmx5IHByZWZpeFNwbGl0dGVyOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZ1bGxQcmVmaXg6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFZhbGlkU3RvcmFnZUtleVByZWZpeChwcmVmaXg6IHN0cmluZywgcHJlZml4U3BsaXR0ZXI6IHN0cmluZyk6IHZvaWQge1xuICBpZiAoIXByZWZpeFNwbGl0dGVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHN0b3JhZ2Uga2V5IHByZWZpeCBzcGxpdHRlci4gTXVzdCBiZSBkZWZpbmVkIGFuZCBub3QgZW1wdHkuJyk7IC8vIFRPRE8oRlVUVVJFKTogQ29uc2lkZXIgY2hhbmdpbmcgdG8gYSBjb25jcmV0ZSBlcnJvciB0eXBlXG4gIH1cblxuICBpZiAoIWlzVmFsaWRTdG9yYWdlS2V5UHJlZml4KHByZWZpeCwgcHJlZml4U3BsaXR0ZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHN0b3JhZ2Uga2V5IHByZWZpeC4nKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFN0b3JhZ2VLZXlQcmVmaXgocHJlZml4OiBzdHJpbmcsIHByZWZpeFNwbHR0ZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gQm9vbGVhbihwcmVmaXggJiYgcHJlZml4LmluZGV4T2YocHJlZml4U3BsdHRlcikgPT09IC0xKTtcbn1cblxuLyoqXG4gKiBMaW1pdGVkU3RvcmFnZUFjY2Vzc29yIGltcGxlbWVudGF0aW9uIHRoYXQgdXNlcyBhIERlbGVnYXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBTaW1wbGVTdG9yYWdlQWNjZXNzb3I8VD4gaW1wbGVtZW50cyBTdG9yYWdlQWNjZXNzb3I8VD4ge1xuICBzdGF0aWMgcmVhZG9ubHkgUFJFRklYX1NQTElUVEVSID0gJzo6JztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZWxlZ2F0ZTogU2ltcGxlU3RvcmFnZUFjY2Vzc29yRGVsZWdhdGU8VD47XG4gIHByb3RlY3RlZCByZWFkb25seSBfY29uZmlnOiBDb25maWd1cmVkU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKGRlbGVnYXRlOiBTaW1wbGVTdG9yYWdlQWNjZXNzb3JEZWxlZ2F0ZTxUPiwgY29uZmlnOiBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb25maWcpIHtcbiAgICBjb25zdCBwcmVmaXggPSBjb25maWcucHJlZml4O1xuICAgIGNvbnN0IHByZWZpeFNwbGl0dGVyID0gY29uZmlnLnByZWZpeFNwbGl0dGVyID8/IFNpbXBsZVN0b3JhZ2VBY2Nlc3Nvci5QUkVGSVhfU1BMSVRURVI7XG5cbiAgICBhc3NlcnRWYWxpZFN0b3JhZ2VLZXlQcmVmaXgocHJlZml4LCBwcmVmaXhTcGxpdHRlcik7XG5cbiAgICBjb25zdCBmdWxsUHJlZml4ID0gYCR7cHJlZml4fSR7cHJlZml4U3BsaXR0ZXJ9YDtcblxuICAgIHRoaXMuX2RlbGVnYXRlID0gZGVsZWdhdGU7XG4gICAgdGhpcy5fY29uZmlnID0ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgcHJlZml4U3BsaXR0ZXIsXG4gICAgICBmdWxsUHJlZml4XG4gICAgfTtcbiAgfVxuXG4gIGdldCBkZWxlZ2F0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGU7XG4gIH1cblxuICBnZXQgY29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICAvLyBNQVJLOiBMaW1pdGVkU3RvcmFnZUFjY2Vzc29yXG4gIGdldChpbnB1dEtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3Qgc3RvcmVLZXkgPSB0aGlzLm1ha2VTdG9yYWdlS2V5KGlucHV0S2V5KTtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuZ2V0KHN0b3JlS2V5KS5waXBlKFxuICAgICAgbWFwKChzdG9yZWREYXRhOiBNYXliZTxzdHJpbmc+KSA9PiB7XG4gICAgICAgIGlmIChzdG9yZWREYXRhKSB7XG4gICAgICAgICAgY29uc3QgcmVhZFN0b3JlZERhdGEgPSB0aGlzLnJlYWRTdG9yZWREYXRhKHN0b3JlZERhdGEpO1xuXG4gICAgICAgICAgaWYgKCFyZWFkU3RvcmVkRGF0YS5leHBpcmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVhZFN0b3JlZERhdGEuY29udmVydGVkRGF0YTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IERhdGFJc0V4cGlyZWRFcnJvcjxUPihyZWFkU3RvcmVkRGF0YSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBEYXRhRG9lc05vdEV4aXN0RXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc2V0KGlucHV0S2V5OiBzdHJpbmcsIGlucHV0VmFsdWU6IFQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBzdG9yZUtleSA9IHRoaXMubWFrZVN0b3JhZ2VLZXkoaW5wdXRLZXkpO1xuICAgIGNvbnN0IHN0b3JlRGF0YTogU3RvcmVkRGF0YSA9IHRoaXMuYnVpbGRTdG9yZWREYXRhKGlucHV0VmFsdWUpO1xuICAgIGNvbnN0IGRhdGEgPSBKU09OLnN0cmluZ2lmeShzdG9yZURhdGEpO1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5zZXQoc3RvcmVLZXksIGRhdGEpO1xuICB9XG5cbiAgcmVtb3ZlKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3Qgc3RvcmVLZXkgPSB0aGlzLm1ha2VTdG9yYWdlS2V5KGtleSk7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnJlbW92ZShzdG9yZUtleSk7XG4gIH1cblxuICBhbGwoKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuYWxsKHRoaXMuX2NvbmZpZy5mdWxsUHJlZml4KS5waXBlKFxuICAgICAgbWFwKChhbGxTdG9yZWREYXRhKSA9PiB7XG4gICAgICAgIHJldHVybiBhbGxTdG9yZWREYXRhXG4gICAgICAgICAgLm1hcCgoc3RvcmVkRGF0YSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVhZFN0b3JlZERhdGEgPSB0aGlzLnJlYWRTdG9yZWREYXRhKHN0b3JlZERhdGEpO1xuXG4gICAgICAgICAgICBpZiAoIXJlYWRTdG9yZWREYXRhLmV4cGlyZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHJlYWRTdG9yZWREYXRhLmNvbnZlcnRlZERhdGE7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICAgIC5maWx0ZXIoaGFzTm9uTnVsbFZhbHVlKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGFsbEtleXMoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5hbGxLZXlzKHRoaXMuX2NvbmZpZy5mdWxsUHJlZml4KS5waXBlKG1hcCgoa2V5cykgPT4ga2V5cy5tYXAoKHgpID0+IHRoaXMuZGVjb2RlU3RvcmFnZUtleSh4KSkpKTtcbiAgfVxuXG4gIGNsZWFyKCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmNsZWFyKCk7XG4gIH1cblxuICAvLyBNQVJLOiBTdG9yZWQgVmFsdWVzXG4gIHByb3RlY3RlZCByZWFkU3RvcmVkRGF0YShzdG9yZWREYXRhU3RyaW5nOiBTdG9yZWREYXRhU3RyaW5nKTogUmVhZFN0b3JlZERhdGE8VD4ge1xuICAgIGNvbnN0IHN0b3JlZERhdGE6IFN0b3JlZERhdGEgPSBKU09OLnBhcnNlKHN0b3JlZERhdGFTdHJpbmcpO1xuICAgIGNvbnN0IGV4cGlyZWQgPSB0aGlzLmlzRXhwaXJlZFN0b3JlZERhdGEoc3RvcmVkRGF0YSk7XG4gICAgY29uc3QgY29udmVydGVkRGF0YSA9IHRoaXMuX2RlbGVnYXRlLnBhcnNlVmFsdWUoc3RvcmVkRGF0YS5kYXRhKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdG9yZWREYXRhLFxuICAgICAgZXhwaXJlZCxcbiAgICAgIGNvbnZlcnRlZERhdGFcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkU3RvcmVkRGF0YSh2YWx1ZTogVCk6IFN0b3JlZERhdGEge1xuICAgIHJldHVybiB7XG4gICAgICBzdG9yZWRBdDogdW5peFRpbWVOdW1iZXJGb3JOb3coKSxcbiAgICAgIGRhdGE6IHRoaXMuc3RyaW5naWZ5VmFsdWUodmFsdWUpXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0V4cGlyZWRTdG9yZWREYXRhKHN0b3JlRGF0YTogU3RvcmVkRGF0YSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGV4cGlyZXNJbiA9IHRoaXMuX2NvbmZpZy5leHBpcmVzSW47XG4gICAgaWYgKGV4cGlyZXNJbikge1xuICAgICAgaWYgKHN0b3JlRGF0YS5zdG9yZWRBdCkge1xuICAgICAgICByZXR1cm4gdGltZUhhc0V4cGlyZWQoc3RvcmVEYXRhLnN0b3JlZEF0LCBleHBpcmVzSW4pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1BUks6IEludGVybmFsXG4gIHByb3RlY3RlZCBtYWtlU3RvcmFnZUtleShrZXk6IHN0cmluZyk6IFN0b3JlZERhdGFTdG9yYWdlS2V5IHtcbiAgICByZXR1cm4gYCR7dGhpcy5fY29uZmlnLnByZWZpeH0ke3RoaXMuX2NvbmZpZy5wcmVmaXhTcGxpdHRlcn0ke1N0cmluZyhrZXkpfWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNLZXlPZkFjY2Vzc29yKHN0b3JhZ2VLZXk6IFN0b3JlZERhdGFTdG9yYWdlS2V5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN0b3JhZ2VLZXkuc3RhcnRzV2l0aCh0aGlzLl9jb25maWcuZnVsbFByZWZpeCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGVjb2RlU3RvcmFnZUtleShzdG9yYWdlS2V5OiBTdG9yZWREYXRhU3RvcmFnZUtleSk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3BsaXQgPSBzcGxpdEpvaW5SZW1haW5kZXIoc3RvcmFnZUtleSwgdGhpcy5fY29uZmlnLnByZWZpeFNwbGl0dGVyLCAyKTtcbiAgICByZXR1cm4gc3BsaXRbMV07XG4gIH1cblxuICBwcm90ZWN0ZWQgc3RyaW5naWZ5VmFsdWUodmFsdWU6IFQpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5zdHJpbmdpZnlWYWx1ZSh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5hY2Nlc3Nvci5zaW1wbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3N0b3JhZ2Uvc3RvcmFnZS5hY2Nlc3Nvci5zaW1wbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUE2RSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFvQjdOLE1BQU0sT0FBTyx1Q0FBdUM7SUFDbEQsY0FBYyxDQUFDLEtBQVE7UUFDckIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBc0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxvQ0FBb0M7SUFDOUIsU0FBUyxDQUFvQztJQUM3QyxVQUFVLENBQW9DO0lBRS9ELFlBQVksUUFBMkMsRUFBRSxTQUE0QztRQUNuRyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUM5QixDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQXVCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVztRQUNoQixPQUFPLElB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V0FBVyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDbkQ7WUFFRCxPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELGlCQUFpQjtJQUNQLGNBQWMsQ0FBQyxHQUFXO1FBQ2xDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUM5RSxDQUFDO0lBRVMsZUFBZSxDQUFDLFVBQWdDO1FBQ3hELE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxVQUFnQztRQUN6RCxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0UsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFRO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaXNUaHJvdHRsZWQsIHVuaXhUaW1lTnVtYmVyRm9yTm93LCBEYXRhRG9lc05vdEV4aXN0RXJyb3IsIERhdGFJc0V4cGlyZWRFcnJvciwgUmVhZFN0b3JlZERhdGEsIFN0b3JlZERhdGEsIFN0b3JlZERhdGFTdG9yYWdlS2V5LCBTdG9yZWREYXRhU3RyaW5nLCBNYXliZSwgaGFzTm9uTnVsbFZhbHVlLCBzcGxpdEpvaW5SZW1haW5kZXIgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IFN0b3JhZ2VBY2Nlc3NvciB9IGZyb20gJy4vc3RvcmFnZS5hY2Nlc3Nvcic7XG5cbi8vIE1BUks6IFNpbXBsZVN0b3JhZ2VBY2Nlc3NvclxuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb252ZXJ0ZXI8VD4ge1xuICAvKipcbiAgICogQ29udmVydHMgdGhlIGlucHV0IHZhbHVlIHRvIGEgc3RyaW5nLlxuICAgKi9cbiAgc3RyaW5naWZ5VmFsdWUodmFsdWU6IFQpOiBTdG9yZWREYXRhU3RyaW5nO1xuICAvKipcbiAgICogQ29udmVydHMgdGhlIGRhdGEgc3RyaW5nIGludG8gYSB2YWx1ZS5cbiAgICovXG4gIHBhcnNlVmFsdWUoZGF0YTogU3RvcmVkRGF0YVN0cmluZyk6IFQ7XG59XG5cbi8qKlxuICogU2ltcGxlU3RvcmFnZUFjY2Vzc29yIGRlbGVnYXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckRlbGVnYXRlPFQ+IGV4dGVuZHMgU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29udmVydGVyPFQ+LCBTdG9yYWdlQWNjZXNzb3I8U3RvcmVkRGF0YVN0cmluZz4ge31cblxuZXhwb3J0IGNsYXNzIFN0cmluZ2lmeVNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlcjxUPiBpbXBsZW1lbnRzIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlcjxUPiB7XG4gIHN0cmluZ2lmeVZhbHVlKHZhbHVlOiBUKTogU3RvcmVkRGF0YVN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgfVxuXG4gIHBhcnNlVmFsdWUoZGF0YTogU3RvcmVkRGF0YVN0cmluZyk6IFQge1xuICAgIHJldHVybiBKU09OLnBhcnNlKGRhdGEpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBXcmFwcGVyU2ltcGxlU3RvcmFnZUFjY2Vzc29yRGVsZWdhdGU8VD4gaW1wbGVtZW50cyBTaW1wbGVTdG9yYWdlQWNjZXNzb3JEZWxlZ2F0ZTxUPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlbGVnYXRlOiBTdG9yYWdlQWNjZXNzb3I8U3RvcmVkRGF0YVN0cmluZz47XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbnZlcnRlcjogU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29udmVydGVyPFQ+O1xuXG4gIGNvbnN0cnVjdG9yKGRlbGVnYXRlOiBTdG9yYWdlQWNjZXNzb3I8U3RvcmVkRGF0YVN0cmluZz4sIGNvbnZlcnRlcjogU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29udmVydGVyPFQ+KSB7XG4gICAgdGhpcy5fZGVsZWdhdGUgPSBkZWxlZ2F0ZTtcbiAgICB0aGlzLl9jb252ZXJ0ZXIgPSBjb252ZXJ0ZXI7XG4gIH1cblxuICBnZXQoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPE1heWJlPFN0b3JlZERhdGFTdHJpbmc+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmdldChrZXkpO1xuICB9XG5cbiAgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogU3RvcmVkRGF0YVN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5zZXQoa2V5LCB2YWx1ZSk7XG4gIH1cblxuICByZW1vdmUoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUucmVtb3ZlKGtleSk7XG4gIH1cblxuICBjbGVhcigpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5jbGVhcigpO1xuICB9XG5cbiAgYWxsKHByZWZpeD86IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nW10+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuYWxsKHByZWZpeCk7XG4gIH1cblxuICBhbGxLZXlzKHByZWZpeD86IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nW10+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuYWxsS2V5cyhwcmVmaXgpO1xuICB9XG5cbiAgc3RyaW5naWZ5VmFsdWUodmFsdWU6IFQpOiBTdG9yZWREYXRhU3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29udmVydGVyLnN0cmluZ2lmeVZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHBhcnNlVmFsdWUoZGF0YTogU3RvcmVkRGF0YVN0cmluZyk6IFQge1xuICAgIHJldHVybiB0aGlzLl9jb252ZXJ0ZXIucGFyc2VWYWx1ZShkYXRhKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbmZpZyB7XG4gIC8qKlxuICAgKiBTdG9yYWdlIEtleSBQcmVmaXhcbiAgICovXG4gIHJlYWRvbmx5IHByZWZpeDogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9uYWwgcHJlZml4L3ZhbHVlIHNwbGl0dGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJlZml4U3BsaXR0ZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBOdW1iZXIgaW4gbWlsbGlzZWNvbmRzIHRoYXQgb2JqZWN0cyBzdG9yZWQgd2lsbCBleHBpcmUgaW4uXG4gICAqL1xuICByZWFkb25seSBleHBpcmVzSW4/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBDb25maWd1cmVkU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29uZmlnIGV4dGVuZHMgU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29uZmlnIHtcbiAgcmVhZG9ubHkgcHJlZml4U3BsaXR0ZXI6IHN0cmluZztcbiAgcmVhZG9ubHkgZnVsbFByZWZpeDogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0VmFsaWRTdG9yYWdlS2V5UHJlZml4KHByZWZpeDogc3RyaW5nLCBwcmVmaXhTcGxpdHRlcjogc3RyaW5nKTogdm9pZCB7XG4gIGlmICghcHJlZml4U3BsaXR0ZXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgc3RvcmFnZSBrZXkgcHJlZml4IHNwbGl0dGVyLiBNdXN0IGJlIGRlZmluZWQgYW5kIG5vdCBlbXB0eS4nKTsgLy8gVE9ETyhGVVRVUkUpOiBDb25zaWRlciBjaGFuZ2luZyB0byBhIGNvbmNyZXRlIGVycm9yIHR5cGVcbiAgfVxuXG4gIGlmICghaXNWYWxpZFN0b3JhZ2VLZXlQcmVmaXgocHJlZml4LCBwcmVmaXhTcGxpdHRlcikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgc3RvcmFnZSBrZXkgcHJlZml4LicpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkU3RvcmFnZUtleVByZWZpeChwcmVmaXg6IHN0cmluZywgcHJlZml4U3BsdHRlcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuKHByZWZpeCAmJiBwcmVmaXguaW5kZXhPZihwcmVmaXhTcGx0dGVyKSA9PT0gLTEpO1xufVxuXG4vKipcbiAqIExpbWl0ZWRTdG9yYWdlQWNjZXNzb3IgaW1wbGVtZW50YXRpb24gdGhhdCB1c2VzIGEgRGVsZWdhdGVcbiAqL1xuZXhwb3J0IGNsYXNzIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvcjxUPiBpbXBsZW1lbnRzIFN0b3JhZ2VBY2Nlc3NvcjxUPiB7XG4gIHN0YXRpYyByZWFkb25seSBQUkVGSVhfU1BMSVRURVIgPSAnOjonO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlbGVnYXRlOiBTaW1wbGVTdG9yYWdlQWNjZXNzb3JEZWxlZ2F0ZTxUPjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9jb25maWc6IENvbmZpZ3VyZWRTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb25maWc7XG5cbiAgY29uc3RydWN0b3IoZGVsZWdhdGU6IFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckRlbGVnYXRlPFQ+LCBjb25maWc6IFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbmZpZykge1xuICAgIGNvbnN0IHByZWZpeCA9IGNvbmZpZy5wcmVmaXg7XG4gICAgY29uc3QgcHJlZml4U3BsaXR0ZXIgPSBjb25maWcucHJlZml4U3BsaXR0ZXIgPz8gU2ltcGxlU3RvcmFnZUFjY2Vzc29yLlBSRUZJWF9TUExJVFRFUjtcblxuICAgIGFzc2VydFZhbGlkU3RvcmFnZUtleVByZWZpeChwcmVmaXgsIHByZWZpeFNwbGl0dGVyKTtcblxuICAgIGNvbnN0IGZ1bGxQcmVmaXggPSBgJHtwcmVmaXh9JHtwcmVmaXhTcGxpdHRlcn1gO1xuXG4gICAgdGhpcy5fZGVsZWdhdGUgPSBkZWxlZ2F0ZTtcbiAgICB0aGlzLl9jb25maWcgPSB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBwcmVmaXhTcGxpdHRlcixcbiAgICAgIGZ1bGxQcmVmaXhcbiAgICB9O1xuICB9XG5cbiAgZ2V0IGRlbGVnYXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZTtcbiAgfVxuXG4gIGdldCBjb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcbiAgfVxuXG4gIC8vIE1BUks6IExpbWl0ZWRTdG9yYWdlQWNjZXNzb3JcbiAgZ2V0KGlucHV0S2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCBzdG9yZUtleSA9IHRoaXMubWFrZVN0b3JhZ2VLZXkoaW5wdXRLZXkpO1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5nZXQoc3RvcmVLZXkpLnBpcGUoXG4gICAgICBtYXAoKHN0b3JlZERhdGE6IE1heWJlPHN0cmluZz4pID0+IHtcbiAgICAgICAgaWYgKHN0b3JlZERhdGEpIHtcbiAgICAgICAgICBjb25zdCByZWFkU3RvcmVkRGF0YSA9IHRoaXMucmVhZFN0b3JlZERhdGEoc3RvcmVkRGF0YSk7XG5cbiAgICAgICAgICBpZiAoIXJlYWRTdG9yZWREYXRhLmV4cGlyZWQpIHtcbiAgICAgICAgICAgIHJldHVybiByZWFkU3RvcmVkRGF0YS5jb252ZXJ0ZWREYXRhO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRGF0YUlzRXhwaXJlZEVycm9yPFQ+KHJlYWRTdG9yZWREYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IERhdGFEb2VzTm90RXhpc3RFcnJvcigpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzZXQoaW5wdXRLZXk6IHN0cmluZywgaW5wdXRWYWx1ZTogVCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IHN0b3JlS2V5ID0gdGhpcy5tYWtlU3RvcmFnZUtleShpbnB1dEtleSk7XG4gICAgY29uc3Qgc3RvcmVEYXRhOiBTdG9yZWREYXRhID0gdGhpcy5idWlsZFN0b3JlZERhdGEoaW5wdXRWYWx1ZSk7XG4gICAgY29uc3QgZGF0YSA9IEpTT04uc3RyaW5naWZ5KHN0b3JlRGF0YSk7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnNldChzdG9yZUtleSwgZGF0YSk7XG4gIH1cblxuICByZW1vdmUoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBzdG9yZUtleSA9IHRoaXMubWFrZVN0b3JhZ2VLZXkoa2V5KTtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUucmVtb3ZlKHN0b3JlS2V5KTtcbiAgfVxuXG4gIGFsbCgpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5hbGwodGhpcy5fY29uZmlnLmZ1bGxQcmVmaXgpLnBpcGUoXG4gICAgICBtYXAoKGFsbFN0b3JlZERhdGEpID0+IHtcbiAgICAgICAgcmV0dXJuIGFsbFN0b3JlZERhdGFcbiAgICAgICAgICAubWFwKChzdG9yZWREYXRhKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWFkU3RvcmVkRGF0YSA9IHRoaXMucmVhZFN0b3JlZERhdGEoc3RvcmVkRGF0YSk7XG5cbiAgICAgICAgICAgIGlmICghcmVhZFN0b3JlZERhdGEuZXhwaXJlZCkge1xuICAgICAgICAgICAgICByZXR1cm4gcmVhZFN0b3JlZERhdGEuY29udmVydGVkRGF0YTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICAgLmZpbHRlcihoYXNOb25OdWxsVmFsdWUpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgYWxsS2V5cygpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmFsbEtleXModGhpcy5fY29uZmlnLmZ1bGxQcmVmaXgpLnBpcGUobWFwKChrZXlzKSA9PiBrZXlzLm1hcCgoeCkgPT4gdGhpcy5kZWNvZGVTdG9yYWdlS2V5KHgpKSkpO1xuICB9XG5cbiAgY2xlYXIoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuY2xlYXIoKTtcbiAgfVxuXG4gIC8vIE1BUks6IFN0b3JlZCBWYWx1ZXNcbiAgcHJvdGVjdGVkIHJlYWRTdG9yZWREYXRhKHN0b3JlZERhdGFTdHJpbmc6IFN0b3JlZERhdGFTdHJpbmcpOiBSZWFkU3RvcmVkRGF0YTxUPiB7XG4gICAgY29uc3Qgc3RvcmVkRGF0YTogU3RvcmVkRGF0YSA9IEpTT04ucGFyc2Uoc3RvcmVkRGF0YVN0cmluZyk7XG4gICAgY29uc3QgZXhwaXJlZCA9IHRoaXMuaXNFeHBpcmVkU3RvcmVkRGF0YShzdG9yZWREYXRhKTtcbiAgICBjb25zdCBjb252ZXJ0ZWREYXRhID0gdGhpcy5fZGVsZWdhdGUucGFyc2VWYWx1ZShzdG9yZWREYXRhLmRhdGEpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0b3JlZERhdGEsXG4gICAgICBleHBpcmVkLFxuICAgICAgY29udmVydGVkRGF0YVxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRTdG9yZWREYXRhKHZhbHVlOiBUKTogU3RvcmVkRGF0YSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0b3JlZEF0OiB1bml4VGltZU51bWJlckZvck5vdygpLFxuICAgICAgZGF0YTogdGhpcy5zdHJpbmdpZnlWYWx1ZSh2YWx1ZSlcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzRXhwaXJlZFN0b3JlZERhdGEoc3RvcmVEYXRhOiBTdG9yZWREYXRhKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZXhwaXJlc0luID0gdGhpcy5fY29uZmlnLmV4cGlyZXNJbjtcbiAgICBpZiAoZXhwaXJlc0luKSB7XG4gICAgICBpZiAoc3RvcmVEYXRhLnN0b3JlZEF0KSB7XG4gICAgICAgIHJldHVybiBpc1Rocm90dGxlZChleHBpcmVzSW4sIHN0b3JlRGF0YS5zdG9yZWRBdCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLy8gTUFSSzogSW50ZXJuYWxcbiAgcHJvdGVjdGVkIG1ha2VTdG9yYWdlS2V5KGtleTogc3RyaW5nKTogU3RvcmVkRGF0YVN0b3JhZ2VLZXkge1xuICAgIHJldHVybiBgJHt0aGlzLl9jb25maWcucHJlZml4fSR7dGhpcy5fY29uZmlnLnByZWZpeFNwbGl0dGVyfSR7U3RyaW5nKGtleSl9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0tleU9mQWNjZXNzb3Ioc3RvcmFnZUtleTogU3RvcmVkRGF0YVN0b3JhZ2VLZXkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3RvcmFnZUtleS5zdGFydHNXaXRoKHRoaXMuX2NvbmZpZy5mdWxsUHJlZml4KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZWNvZGVTdG9yYWdlS2V5KHN0b3JhZ2VLZXk6IFN0b3JlZERhdGFTdG9yYWdlS2V5KTogc3RyaW5nIHtcbiAgICBjb25zdCBzcGxpdCA9IHNwbGl0Sm9pblJlbWFpbmRlcihzdG9yYWdlS2V5LCB0aGlzLl9jb25maWcucHJlZml4U3BsaXR0ZXIsIDIpO1xuICAgIHJldHVybiBzcGxpdFsxXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdHJpbmdpZnlWYWx1ZSh2YWx1ZTogVCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnN0cmluZ2lmeVZhbHVlKHZhbHVlKTtcbiAgfVxufVxuIl19
|
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Directive, inject, Input, Injectable, forwardRef, TemplateRef, ViewContainerRef, ElementRef, NgModule, NgZone, InjectionToken, ChangeDetectorRef, EventEmitter, Output, Pipe, LOCALE_ID, Injector, Component, ViewChild, ChangeDetectionStrategy, Inject, Optional } from '@angular/core';
|
|
3
3
|
import { SubscriptionObject, LockSet, filterMaybe, LoadingStateType, beginLoading, idleLoadingState, errorResult, successResult, scanCount, workFactory, combineLatestFromMapValuesObsFn, emitDelayObs, asObservable, returnIfIs, timeoutStartWith, skipFirstMaybe, distinctUntilKeysChange, maybeValueFromObservableOrValueGetter, switchMapToDefault, asObservableFromGetter, onFalseToTrue, onTrueToFalse, setContainsAllValuesFrom, setContainsNoValueFrom, FilterSource, FilterSourceConnector, FilterSourceInstance, FilterMap, switchMapObject } from '@dereekb/rxjs';
|
|
4
4
|
import { switchMap, first, BehaviorSubject, combineLatest, distinctUntilChanged, filter, Subject, debounce, interval, throttle, exhaustMap, mergeMap, map, shareReplay, EMPTY, of, withLatestFrom, startWith, delay, tap, catchError, firstValueFrom, takeUntil, Observable } from 'rxjs';
|
|
5
|
-
import { isDefinedAndNotFalse, hasValueOrNotEmpty, BooleanStringKeyArrayUtility, reduceBooleansWithOrFn, asGetter, getValueFromGetter, toReadableError, isGetter, asArray, setIncludes, isAllowed, maybeSet, iterableToSet, expandTreeFunction, flattenTreeToArrayFunction, expandFlattenTreeFunction, mailToUrlString, telUrlString, mergeObjects, KeyValueTypleValueFilter, filterMaybeArrayValues, defaultForwardFunctionFactory, cutString, dollarAmountString, objectHasKey, objectHasKeys, mergeArrays, pushItemOrArrayItemsIntoArray, promiseReference, DataIsExpiredError, DataDoesNotExistError, hasNonNullValue, splitJoinRemainder, StorageObjectUtility, SHARED_MEMORY_STORAGE } from '@dereekb/util';
|
|
5
|
+
import { isDefinedAndNotFalse, hasValueOrNotEmpty, BooleanStringKeyArrayUtility, reduceBooleansWithOrFn, asGetter, getValueFromGetter, toReadableError, isGetter, asArray, setIncludes, isAllowed, maybeSet, iterableToSet, expandTreeFunction, flattenTreeToArrayFunction, expandFlattenTreeFunction, mailToUrlString, telUrlString, mergeObjects, KeyValueTypleValueFilter, filterMaybeArrayValues, defaultForwardFunctionFactory, cutString, dollarAmountString, objectHasKey, objectHasKeys, mergeArrays, pushItemOrArrayItemsIntoArray, promiseReference, DataIsExpiredError, DataDoesNotExistError, hasNonNullValue, unixTimeNumberForNow, isThrottled, splitJoinRemainder, StorageObjectUtility, SHARED_MEMORY_STORAGE } from '@dereekb/util';
|
|
6
6
|
import { ComponentStore } from '@ngrx/component-store';
|
|
7
7
|
import * as i1$2 from '@angular/common';
|
|
8
8
|
import { CommonModule, formatDate } from '@angular/common';
|
|
@@ -14,7 +14,7 @@ import { Router, ActivatedRoute, NavigationStart, NavigationEnd } from '@angular
|
|
|
14
14
|
import { isArray } from 'class-validator';
|
|
15
15
|
import { StateService, TransitionService, UIRouterGlobals } from '@uirouter/core';
|
|
16
16
|
import { addMinutes, isValid, isPast, formatDistance, formatDistanceToNow } from 'date-fns';
|
|
17
|
-
import { toJsDate, formatToTimeString, formatDateDistance, formatToDayRangeString, formatToTimeRangeString, formatToDayTimeRangeString, formatDateRangeDistance, dateTimezoneUtcNormal, getTimezoneAbbreviation
|
|
17
|
+
import { toJsDate, formatToTimeString, formatDateDistance, formatToDayRangeString, formatToTimeRangeString, formatToDayTimeRangeString, formatDateRangeDistance, dateTimezoneUtcNormal, getTimezoneAbbreviation } from '@dereekb/date';
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Abstract component that contains a SubscriptionObject and will clean it up automatically.
|
|
@@ -5493,7 +5493,7 @@ class SimpleStorageAccessor {
|
|
|
5493
5493
|
const expiresIn = this._config.expiresIn;
|
|
5494
5494
|
if (expiresIn) {
|
|
5495
5495
|
if (storeData.storedAt) {
|
|
5496
|
-
return
|
|
5496
|
+
return isThrottled(expiresIn, storeData.storedAt);
|
|
5497
5497
|
}
|
|
5498
5498
|
return true;
|
|
5499
5499
|
}
|