@kovalenko/http-request-cache 1.2.2 → 1.2.3

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [1.2.3](https://github.com/menelai/http-request-cache/compare/v1.2.2...v1.2.3) (2022-07-27)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * build commonjs ([9cf8f32](https://github.com/menelai/http-request-cache/commit/9cf8f3244d38aea807e9106492222e353ce95307))
7
+
1
8
  ## [1.2.2](https://github.com/menelai/http-request-cache/compare/v1.2.1...v1.2.2) (2022-06-28)
2
9
 
3
10
 
@@ -1,5 +1,8 @@
1
+ "use strict";
1
2
  /**
2
3
  * Generated bundle index. Do not edit.
3
4
  */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia292YWxlbmtvLWh0dHAtcmVxdWVzdC1jYWNoZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1jYWNoZS9zcmMva292YWxlbmtvLWh0dHAtcmVxdWVzdC1jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const tslib_1 = require("tslib");
7
+ tslib_1.__exportStar(require("./public-api"), exports);
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia292YWxlbmtvLWh0dHAtcmVxdWVzdC1jYWNoZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1jYWNoZS9zcmMva292YWxlbmtvLWh0dHAtcmVxdWVzdC1jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILHVEQUE2QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,4 +1,7 @@
1
- export class DefaultStorage {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultStorage = void 0;
4
+ class DefaultStorage {
2
5
  constructor() {
3
6
  this.storage = new Map();
4
7
  }
@@ -12,4 +15,5 @@ export class DefaultStorage {
12
15
  this.storage.delete(key);
13
16
  }
14
17
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LWNhY2hlL3NyYy9saWIvZGVmYXVsdC1zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxjQUFjO0lBQTNCO1FBQ1UsWUFBTyxHQUFHLElBQUksR0FBRyxFQUEyQixDQUFDO0lBYXZELENBQUM7SUFYQyxPQUFPLENBQUMsR0FBVztRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBVyxFQUFFLElBQXFCO1FBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwQ2FjaGVTdG9yYWdlfSBmcm9tICcuL2h0dHAtY2FjaGUtc3RvcmFnZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgRGVmYXVsdFN0b3JhZ2UgaW1wbGVtZW50cyBIdHRwQ2FjaGVTdG9yYWdlIHtcbiAgcHJpdmF0ZSBzdG9yYWdlID0gbmV3IE1hcDxzdHJpbmcsIE9ic2VydmFibGU8YW55Pj4oKTtcblxuICBnZXRJdGVtKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlLmdldChrZXkpO1xuICB9XG5cbiAgc2V0SXRlbShrZXk6IHN0cmluZywgaXRlbTogT2JzZXJ2YWJsZTxhbnk+KTogdm9pZCB7XG4gICAgdGhpcy5zdG9yYWdlLnNldChrZXksIGl0ZW0pO1xuICB9XG5cbiAgZGVsZXRlSXRlbShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmFnZS5kZWxldGUoa2V5KTtcbiAgfVxufVxuIl19
18
+ exports.DefaultStorage = DefaultStorage;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LWNhY2hlL3NyYy9saWIvZGVmYXVsdC1zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLE1BQWEsY0FBYztJQUEzQjtRQUNVLFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBMkIsQ0FBQztJQWF2RCxDQUFDO0lBWEMsT0FBTyxDQUFDLEdBQVc7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVcsRUFBRSxJQUFxQjtRQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFXO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQWRELHdDQWNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwQ2FjaGVTdG9yYWdlfSBmcm9tICcuL2h0dHAtY2FjaGUtc3RvcmFnZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgRGVmYXVsdFN0b3JhZ2UgaW1wbGVtZW50cyBIdHRwQ2FjaGVTdG9yYWdlIHtcbiAgcHJpdmF0ZSBzdG9yYWdlID0gbmV3IE1hcDxzdHJpbmcsIE9ic2VydmFibGU8YW55Pj4oKTtcblxuICBnZXRJdGVtKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlLmdldChrZXkpO1xuICB9XG5cbiAgc2V0SXRlbShrZXk6IHN0cmluZywgaXRlbTogT2JzZXJ2YWJsZTxhbnk+KTogdm9pZCB7XG4gICAgdGhpcy5zdG9yYWdlLnNldChrZXksIGl0ZW0pO1xuICB9XG5cbiAgZGVsZXRlSXRlbShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmFnZS5kZWxldGUoa2V5KTtcbiAgfVxufVxuIl19
@@ -1,2 +1,3 @@
1
- export {};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
2
3
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1jYWNoZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LWNhY2hlL3NyYy9saWIvaHR0cC1jYWNoZS1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0h0dHBDYWNoZVN0b3JhZ2V9IGZyb20gJy4vaHR0cC1jYWNoZS1zdG9yYWdlJztcblxuZXhwb3J0IGludGVyZmFjZSBIdHRwQ2FjaGVPcHRpb25zIHtcbiAgcmVmQ291bnQ/OiBib29sZWFuO1xuICB3aW5kb3dUaW1lPzogbnVtYmVyO1xuICB0dGw/OiBudW1iZXI7XG4gIHN0b3JhZ2U/OiBIdHRwQ2FjaGVTdG9yYWdlO1xuICByZWZyZXNoT24/OiBPYnNlcnZhYmxlPHVua25vd24+IHwgU3ViamVjdDx1bmtub3duPiB8IEJlaGF2aW9yU3ViamVjdDx1bmtub3duPjtcbn1cbiJdfQ==
@@ -1,2 +1,3 @@
1
- export {};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
2
3
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1jYWNoZS1zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LWNhY2hlL3NyYy9saWIvaHR0cC1jYWNoZS1zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDYWNoZVN0b3JhZ2Uge1xuICBzZXRJdGVtKGtleTogc3RyaW5nLCBpdGVtOiBPYnNlcnZhYmxlPGFueT4pOiB2b2lkO1xuICBnZXRJdGVtKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHwgdW5kZWZpbmVkO1xuICBkZWxldGVJdGVtKGtleTogc3RyaW5nKTogdm9pZDtcbn1cbiJdfQ==
@@ -1,8 +1,11 @@
1
- import { filter, finalize, merge, NEVER, Subject, tap } from 'rxjs';
2
- import { shareReplay, startWith, switchMap } from 'rxjs/operators';
3
- import { DefaultStorage } from './default-storage';
4
- import { RequestTimes } from './request-times';
5
- export const HttpRequestCache = (optionsHandler) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpRequestCache = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const default_storage_1 = require("./default-storage");
7
+ const request_times_1 = require("./request-times");
8
+ const HttpRequestCache = (optionsHandler) => {
6
9
  return (target, methodName, descriptor) => {
7
10
  if (!(descriptor?.value instanceof Function)) {
8
11
  throw Error(`'@HttpRequestCache' can be applied only to the class method which returns an Observable`);
@@ -14,10 +17,10 @@ export const HttpRequestCache = (optionsHandler) => {
14
17
  descriptor.value = function (...args) {
15
18
  const options = optionsHandler?.call(this, this, ...args);
16
19
  if (!options?.storage && !target._____storage_____) {
17
- target._____storage_____ = new DefaultStorage();
20
+ target._____storage_____ = new default_storage_1.DefaultStorage();
18
21
  }
19
22
  if (options?.ttl && !target._____ttl_storage_____) {
20
- target._____ttl_storage_____ = new RequestTimes();
23
+ target._____ttl_storage_____ = new request_times_1.RequestTimes();
21
24
  }
22
25
  const storage = options?.storage ?? target._____storage_____;
23
26
  const key = `${cacheKeyPrefix}_${JSON.stringify(args)}`;
@@ -27,7 +30,7 @@ export const HttpRequestCache = (optionsHandler) => {
27
30
  if (!ttl) {
28
31
  ttl = {
29
32
  requestTime: Date.now(),
30
- subject: new Subject(),
33
+ subject: new rxjs_1.Subject(),
31
34
  };
32
35
  }
33
36
  else if (ttl.requestTime + options.ttl <= Date.now()) {
@@ -37,18 +40,18 @@ export const HttpRequestCache = (optionsHandler) => {
37
40
  }
38
41
  target._____ttl_storage_____.setItem(key, ttl);
39
42
  }
40
- const refreshOn = merge(options?.refreshOn ?? NEVER, ttl?.subject ?? NEVER);
43
+ const refreshOn = (0, rxjs_1.merge)(options?.refreshOn ?? rxjs_1.NEVER, ttl?.subject ?? rxjs_1.NEVER);
41
44
  let observable = storage.getItem(key);
42
45
  if (!observable) {
43
- observable = refreshOn.pipe(startWith(true), switchMap(() => originalMethod.apply(this, [...args])), tap(() => {
46
+ observable = refreshOn.pipe((0, operators_1.startWith)(true), (0, operators_1.switchMap)(() => originalMethod.apply(this, [...args])), (0, rxjs_1.tap)(() => {
44
47
  delete working[key];
45
- }), shareReplay({
48
+ }), (0, operators_1.shareReplay)({
46
49
  bufferSize: 1,
47
50
  refCount: options?.refCount ?? false,
48
51
  windowTime: options?.windowTime ?? Infinity,
49
- }), filter(() => {
52
+ }), (0, rxjs_1.filter)(() => {
50
53
  return !working[key];
51
- }), finalize(() => {
54
+ }), (0, rxjs_1.finalize)(() => {
52
55
  subscribers--;
53
56
  if (subscribers === 0 && options?.refCount) {
54
57
  storage.deleteItem(key);
@@ -63,4 +66,5 @@ export const HttpRequestCache = (optionsHandler) => {
63
66
  return descriptor;
64
67
  };
65
68
  };
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXF1ZXN0LWNhY2hlLmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1jYWNoZS9zcmMvbGliL2h0dHAtcmVxdWVzdC1jYWNoZS5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFJN0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBZ0MsY0FBNkQsRUFBRSxFQUFFO0lBQy9ILE9BQU8sQ0FBQyxNQUFTLEVBQUUsVUFBa0IsRUFBRSxVQUEyRCxFQUFtRCxFQUFFO1FBQ3JKLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxLQUFLLFlBQVksUUFBUSxDQUFDLEVBQUU7WUFDNUMsTUFBTSxLQUFLLENBQUMseUZBQXlGLENBQUMsQ0FBQztTQUN4RztRQUVELE1BQU0sY0FBYyxHQUFHLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksVUFBVSxFQUFFLENBQUM7UUFDbEUsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUN4QyxNQUFNLE9BQU8sR0FBNEIsRUFBRSxDQUFDO1FBQzVDLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQztRQUVwQixVQUFVLENBQUMsS0FBSyxHQUFHLFVBQVMsR0FBRyxJQUFXO1lBQ3hDLE1BQU0sT0FBTyxHQUFHLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBUyxFQUFF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LENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQzthQUNsQztZQUVELFdBQVcsRUFBRSxDQUFDO1lBRWQsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQyxDQUFDO1FBRUYsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwQ2FjaGVPcHRpb25zfSBmcm9tICcuL2h0dHAtY2FjaGUtb3B0aW9ucyc7XG5pbXBvcnQge2ZpbHRlciwgZmluYWxpemUsIG1lcmdlLCBORVZFUiwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7c2hhcmVSZXBsYXksIHN0YXJ0V2l0aCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RlZmF1bHRTdG9yYWdlfSBmcm9tICcuL2RlZmF1bHQtc3RvcmFnZSc7XG5pbXBvcnQge1JlcXVlc3RUaW1lc30gZnJvbSAnLi9yZXF1ZXN0LXRpbWVzJztcblxudHlwZSBIdHRwUmVxdWVzdENhY2hlTWV0aG9kID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBPYnNlcnZhYmxlPGFueT47XG5cbmV4cG9ydCBjb25zdCBIdHRwUmVxdWVzdENhY2hlID0gPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PihvcHRpb25zSGFuZGxlcj86IChvYmo6IFQsIC4uLmFyZ3M6IGFueVtdKSA9PiBIdHRwQ2FjaGVPcHRpb25zKSA9PiB7XG4gIHJldHVybiAodGFyZ2V0OiBULCBtZXRob2ROYW1lOiBzdHJpbmcsIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPEh0dHBSZXF1ZXN0Q2FjaGVNZXRob2Q+KTogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8SHR0cFJlcXVlc3RDYWNoZU1ldGhvZD4gPT4ge1xuICAgIGlmICghKGRlc2NyaXB0b3I/LnZhbHVlIGluc3RhbmNlb2YgRnVuY3Rpb24pKSB7XG4gICAgICB0aHJvdyBFcnJvcihgJ0BIdHRwUmVxdWVzdENhY2hlJyBjYW4gYmUgYXBwbGllZCBvbmx5IHRvIHRoZSBjbGFzcyBtZXRob2Qgd2hpY2ggcmV0dXJucyBhbiBPYnNlcnZhYmxlYCk7XG4gICAgfVxuXG4gICAgY29uc3QgY2FjaGVLZXlQcmVmaXggPSBgJHt0YXJnZXQuY29uc3RydWN0b3IubmFtZX1fJHttZXRob2ROYW1lfWA7XG4gICAgY29uc3Qgb3JpZ2luYWxNZXRob2QgPSBkZXNjcmlwdG9yLnZhbHVlO1xuICAgIGNvbnN0IHdvcmtpbmc6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XG4gICAgbGV0IHN1YnNjcmliZXJzID0gMDtcblxuICAgIGRlc2NyaXB0b3IudmFsdWUgPSBmdW5jdGlvbiguLi5hcmdzOiBhbnlbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICBjb25zdCBvcHRpb25zID0gb3B0aW9uc0hhbmRsZXI/LmNhbGwodGhpcyBhcyBULCB0aGlzIGFzIFQsIC4uLmFyZ3MpO1xuXG4gICAgICBpZiAoIW9wdGlvbnM/LnN0b3JhZ2UgJiYgISh0YXJnZXQgYXMgYW55KS5fX19fX3N0b3JhZ2VfX19fXykge1xuICAgICAgICAodGFyZ2V0IGFzIGFueSkuX19fX19zdG9yYWdlX19fX18gPSBuZXcgRGVmYXVsdFN0b3JhZ2UoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG9wdGlvbnM/LnR0bCAmJiAhKHRhcmdldCBhcyBhbnkpLl9fX19fdHRsX3N0b3JhZ2VfX19fXykge1xuICAgICAgICAodGFyZ2V0IGFzIGFueSkuX19fX190dGxfc3RvcmFnZV9fX19fID0gbmV3IFJlcXVlc3RUaW1lcygpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzdG9yYWdlID0gb3B0aW9ucz8uc3RvcmFnZSA/PyAodGFyZ2V0IGFzIGFueSkuX19fX19zdG9yYWdlX19fX187XG5cbiAgICAgIGNvbnN0IGtleSA9IGAke2NhY2hlS2V5UHJlZml4fV8ke0pTT04uc3RyaW5naWZ5KGFyZ3MpfWA7XG5cbiAgICAgIGxldCB0dGw6IHtyZXF1ZXN0VGltZTogbnVtYmVyLCBzdWJqZWN0OiBTdWJqZWN0PHZvaWQ+fSA9IHVuZGVmaW5lZCBhcyBhbnk7XG5cbiAgICAgIGlmIChvcHRpb25zPy50dGwpIHtcbiAgICAgICAgdHRsID0gKHRhcmdldCBhcyBhbnkpLl9fX19fdHRsX3N0b3JhZ2VfX19fXy5nZXRJdGVtKGtleSk7XG5cbiAgICAgICAgaWYgKCF0dGwpIHtcbiAgICAgICAgICB0dGwgPSB7XG4gICAgICAgICAgICByZXF1ZXN0VGltZTogRGF0ZS5ub3coKSxcbiAgICAgICAgICAgIHN1YmplY3Q6IG5ldyBTdWJqZWN0KCksXG4gICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIGlmICh0dGwucmVxdWVzdFRpbWUgKyBvcHRpb25zLnR0bCA8PSBEYXRlLm5vdygpKSB7XG4gICAgICAgICAgd29ya2luZ1trZXldID0gdHJ1ZTtcbiAgICAgICAgICB0dGwucmVxdWVzdFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgICAgIHR0bC5zdWJqZWN0Lm5leHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgICh0YXJnZXQgYXMgYW55KS5fX19fX3R0bF9zdG9yYWdlX19fX18uc2V0SXRlbShrZXksIHR0bCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlZnJlc2hPbiA9IG1lcmdlKFxuICAgICAgICBvcHRpb25zPy5yZWZyZXNoT24gPz8gTkVWRVIgYXMgT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICAgICAgIHR0bD8uc3ViamVjdCA/PyBORVZFUixcbiAgICAgICk7XG5cbiAgICAgIGxldCBvYnNlcnZhYmxlID0gc3RvcmFnZS5nZXRJdGVtKGtleSk7XG5cbiAgICAgIGlmICghb2JzZXJ2YWJsZSkge1xuICAgICAgICBvYnNlcnZhYmxlID0gcmVmcmVzaE9uLnBpcGUoXG4gICAgICAgICAgc3RhcnRXaXRoKHRydWUpLFxuICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiBvcmlnaW5hbE1ldGhvZC5hcHBseSh0aGlzLCBbLi4uYXJnc10pKSxcbiAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgZGVsZXRlIHdvcmtpbmdba2V5XTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzaGFyZVJlcGxheSh7XG4gICAgICAgICAgICBidWZmZXJTaXplOiAxLFxuICAgICAgICAgICAgcmVmQ291bnQ6IG9wdGlvbnM/LnJlZkNvdW50ID8/IGZhbHNlLFxuICAgICAgICAgICAgd2luZG93VGltZTogb3B0aW9ucz8ud2luZG93VGltZSA/PyBJbmZpbml0eSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBmaWx0ZXIoKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuICF3b3JraW5nW2tleV07XG4gICAgICAgICAgfSksXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgc3Vic2NyaWJlcnMtLTtcbiAgICAgICAgICAgIGlmIChzdWJzY3JpYmVycyA9PT0gMCAmJiBvcHRpb25zPy5yZWZDb3VudCkge1xuICAgICAgICAgICAgICBzdG9yYWdlLmRlbGV0ZUl0ZW0oa2V5KTtcbiAgICAgICAgICAgICAgKHRhcmdldCBhcyBhbnkpLl9fX19fdHRsX3N0b3JhZ2VfX19fXz8uZGVsZXRlSXRlbShrZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHN0b3JhZ2Uuc2V0SXRlbShrZXksIG9ic2VydmFibGUpO1xuICAgICAgfVxuXG4gICAgICBzdWJzY3JpYmVycysrO1xuXG4gICAgICByZXR1cm4gb2JzZXJ2YWJsZTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gIH1cbn1cblxuIl19
69
+ exports.HttpRequestCache = HttpRequestCache;
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXF1ZXN0LWNhY2hlLmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1jYWNoZS9zcmMvbGliL2h0dHAtcmVxdWVzdC1jYWNoZS5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0JBQThFO0FBQzlFLDhDQUFpRTtBQUNqRSx1REFBaUQ7QUFDakQsbURBQTZDO0FBSXRDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBZ0MsY0FBNkQsRUFBRSxFQUFFO0lBQy9ILE9BQU8sQ0FBQyxNQUFTLEVBQUUsVUFBa0IsRUFBRSxVQUEyRCxFQUFtRCxFQUFFO1FBQ3JKLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxLQUFLLFlBQVksUUFBUSxDQUFDLEVBQUU7WUFDNUMsTUFBTSxLQUFLLENBQUMseUZBQXlGLENBQUMsQ0FBQztTQUN4RztRQUVELE1BQU0sY0FBYyxHQUFHLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksVUFBVSxFQUFFLENBQUM7UUFDbEUsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUN4QyxNQUFNLE9BQU8sR0FBNEIsRUFBRSxDQUFDO1FBQzVDLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQztRQUVwQixVQUFVLENBQUMsS0FBSyxHQUFHLFVBQVMsR0FBRyxJQUFXO1lBQ3hDLE1BQU0sT0FBTyxHQUFHLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBUyxFQUFFLElBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1lBRXBFLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLENBQUUsTUFBYyxDQUFDLGlCQUFpQixFQUFFO2dCQUMxRCxNQUFjLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxnQ0FBYyxFQUFFLENBQUM7YUFDMUQ7WUFFRCxJQUFJLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBRSxNQUFjLENBQUMs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QXJGWSxRQUFBLGdCQUFnQixvQkFxRjVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwQ2FjaGVPcHRpb25zfSBmcm9tICcuL2h0dHAtY2FjaGUtb3B0aW9ucyc7XG5pbXBvcnQge2ZpbHRlciwgZmluYWxpemUsIG1lcmdlLCBORVZFUiwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7c2hhcmVSZXBsYXksIHN0YXJ0V2l0aCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RlZmF1bHRTdG9yYWdlfSBmcm9tICcuL2RlZmF1bHQtc3RvcmFnZSc7XG5pbXBvcnQge1JlcXVlc3RUaW1lc30gZnJvbSAnLi9yZXF1ZXN0LXRpbWVzJztcblxudHlwZSBIdHRwUmVxdWVzdENhY2hlTWV0aG9kID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBPYnNlcnZhYmxlPGFueT47XG5cbmV4cG9ydCBjb25zdCBIdHRwUmVxdWVzdENhY2hlID0gPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PihvcHRpb25zSGFuZGxlcj86IChvYmo6IFQsIC4uLmFyZ3M6IGFueVtdKSA9PiBIdHRwQ2FjaGVPcHRpb25zKSA9PiB7XG4gIHJldHVybiAodGFyZ2V0OiBULCBtZXRob2ROYW1lOiBzdHJpbmcsIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPEh0dHBSZXF1ZXN0Q2FjaGVNZXRob2Q+KTogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8SHR0cFJlcXVlc3RDYWNoZU1ldGhvZD4gPT4ge1xuICAgIGlmICghKGRlc2NyaXB0b3I/LnZhbHVlIGluc3RhbmNlb2YgRnVuY3Rpb24pKSB7XG4gICAgICB0aHJvdyBFcnJvcihgJ0BIdHRwUmVxdWVzdENhY2hlJyBjYW4gYmUgYXBwbGllZCBvbmx5IHRvIHRoZSBjbGFzcyBtZXRob2Qgd2hpY2ggcmV0dXJucyBhbiBPYnNlcnZhYmxlYCk7XG4gICAgfVxuXG4gICAgY29uc3QgY2FjaGVLZXlQcmVmaXggPSBgJHt0YXJnZXQuY29uc3RydWN0b3IubmFtZX1fJHttZXRob2ROYW1lfWA7XG4gICAgY29uc3Qgb3JpZ2luYWxNZXRob2QgPSBkZXNjcmlwdG9yLnZhbHVlO1xuICAgIGNvbnN0IHdvcmtpbmc6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XG4gICAgbGV0IHN1YnNjcmliZXJzID0gMDtcblxuICAgIGRlc2NyaXB0b3IudmFsdWUgPSBmdW5jdGlvbiguLi5hcmdzOiBhbnlbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICBjb25zdCBvcHRpb25zID0gb3B0aW9uc0hhbmRsZXI/LmNhbGwodGhpcyBhcyBULCB0aGlzIGFzIFQsIC4uLmFyZ3MpO1xuXG4gICAgICBpZiAoIW9wdGlvbnM/LnN0b3JhZ2UgJiYgISh0YXJnZXQgYXMgYW55KS5fX19fX3N0b3JhZ2VfX19fXykge1xuICAgICAgICAodGFyZ2V0IGFzIGFueSkuX19fX19zdG9yYWdlX19fX18gPSBuZXcgRGVmYXVsdFN0b3JhZ2UoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG9wdGlvbnM/LnR0bCAmJiAhKHRhcmdldCBhcyBhbnkpLl9fX19fdHRsX3N0b3JhZ2VfX19fXykge1xuICAgICAgICAodGFyZ2V0IGFzIGFueSkuX19fX190dGxfc3RvcmFnZV9fX19fID0gbmV3IFJlcXVlc3RUaW1lcygpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzdG9yYWdlID0gb3B0aW9ucz8uc3RvcmFnZSA/PyAodGFyZ2V0IGFzIGFueSkuX19fX19zdG9yYWdlX19fX187XG5cbiAgICAgIGNvbnN0IGtleSA9IGAke2NhY2hlS2V5UHJlZml4fV8ke0pTT04uc3RyaW5naWZ5KGFyZ3MpfWA7XG5cbiAgICAgIGxldCB0dGw6IHtyZXF1ZXN0VGltZTogbnVtYmVyLCBzdWJqZWN0OiBTdWJqZWN0PHZvaWQ+fSA9IHVuZGVmaW5lZCBhcyBhbnk7XG5cbiAgICAgIGlmIChvcHRpb25zPy50dGwpIHtcbiAgICAgICAgdHRsID0gKHRhcmdldCBhcyBhbnkpLl9fX19fdHRsX3N0b3JhZ2VfX19fXy5nZXRJdGVtKGtleSk7XG5cbiAgICAgICAgaWYgKCF0dGwpIHtcbiAgICAgICAgICB0dGwgPSB7XG4gICAgICAgICAgICByZXF1ZXN0VGltZTogRGF0ZS5ub3coKSxcbiAgICAgICAgICAgIHN1YmplY3Q6IG5ldyBTdWJqZWN0KCksXG4gICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIGlmICh0dGwucmVxdWVzdFRpbWUgKyBvcHRpb25zLnR0bCA8PSBEYXRlLm5vdygpKSB7XG4gICAgICAgICAgd29ya2luZ1trZXldID0gdHJ1ZTtcbiAgICAgICAgICB0dGwucmVxdWVzdFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgICAgIHR0bC5zdWJqZWN0Lm5leHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgICh0YXJnZXQgYXMgYW55KS5fX19fX3R0bF9zdG9yYWdlX19fX18uc2V0SXRlbShrZXksIHR0bCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlZnJlc2hPbiA9IG1lcmdlKFxuICAgICAgICBvcHRpb25zPy5yZWZyZXNoT24gPz8gTkVWRVIgYXMgT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICAgICAgIHR0bD8uc3ViamVjdCA/PyBORVZFUixcbiAgICAgICk7XG5cbiAgICAgIGxldCBvYnNlcnZhYmxlID0gc3RvcmFnZS5nZXRJdGVtKGtleSk7XG5cbiAgICAgIGlmICghb2JzZXJ2YWJsZSkge1xuICAgICAgICBvYnNlcnZhYmxlID0gcmVmcmVzaE9uLnBpcGUoXG4gICAgICAgICAgc3RhcnRXaXRoKHRydWUpLFxuICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiBvcmlnaW5hbE1ldGhvZC5hcHBseSh0aGlzLCBbLi4uYXJnc10pKSxcbiAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgZGVsZXRlIHdvcmtpbmdba2V5XTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzaGFyZVJlcGxheSh7XG4gICAgICAgICAgICBidWZmZXJTaXplOiAxLFxuICAgICAgICAgICAgcmVmQ291bnQ6IG9wdGlvbnM/LnJlZkNvdW50ID8/IGZhbHNlLFxuICAgICAgICAgICAgd2luZG93VGltZTogb3B0aW9ucz8ud2luZG93VGltZSA/PyBJbmZpbml0eSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBmaWx0ZXIoKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuICF3b3JraW5nW2tleV07XG4gICAgICAgICAgfSksXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgc3Vic2NyaWJlcnMtLTtcbiAgICAgICAgICAgIGlmIChzdWJzY3JpYmVycyA9PT0gMCAmJiBvcHRpb25zPy5yZWZDb3VudCkge1xuICAgICAgICAgICAgICBzdG9yYWdlLmRlbGV0ZUl0ZW0oa2V5KTtcbiAgICAgICAgICAgICAgKHRhcmdldCBhcyBhbnkpLl9fX19fdHRsX3N0b3JhZ2VfX19fXz8uZGVsZXRlSXRlbShrZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHN0b3JhZ2Uuc2V0SXRlbShrZXksIG9ic2VydmFibGUpO1xuICAgICAgfVxuXG4gICAgICBzdWJzY3JpYmVycysrO1xuXG4gICAgICByZXR1cm4gb2JzZXJ2YWJsZTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gIH1cbn1cblxuIl19
@@ -1,4 +1,7 @@
1
- export class RequestTimes {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestTimes = void 0;
4
+ class RequestTimes {
2
5
  constructor() {
3
6
  this.storage = new Map();
4
7
  }
@@ -12,4 +15,5 @@ export class RequestTimes {
12
15
  this.storage.delete(key);
13
16
  }
14
17
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC10aW1lcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1jYWNoZS9zcmMvbGliL3JlcXVlc3QtdGltZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLFlBQVk7SUFBekI7UUFDVSxZQUFPLEdBQUcsSUFBSSxHQUFHLEVBQTJCLENBQUM7SUFhdkQsQ0FBQztJQVhDLE9BQU8sQ0FBQyxHQUFXO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFXLEVBQUUsSUFBcUI7UUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDYWNoZVN0b3JhZ2V9IGZyb20gJy4vaHR0cC1jYWNoZS1zdG9yYWdlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBSZXF1ZXN0VGltZXMgaW1wbGVtZW50cyBIdHRwQ2FjaGVTdG9yYWdlIHtcbiAgcHJpdmF0ZSBzdG9yYWdlID0gbmV3IE1hcDxzdHJpbmcsIE9ic2VydmFibGU8YW55Pj4oKTtcblxuICBnZXRJdGVtKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlLmdldChrZXkpO1xuICB9XG5cbiAgc2V0SXRlbShrZXk6IHN0cmluZywgaXRlbTogT2JzZXJ2YWJsZTxhbnk+KTogdm9pZCB7XG4gICAgdGhpcy5zdG9yYWdlLnNldChrZXksIGl0ZW0pO1xuICB9XG5cbiAgZGVsZXRlSXRlbShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmFnZS5kZWxldGUoa2V5KTtcbiAgfVxufVxuIl19
18
+ exports.RequestTimes = RequestTimes;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC10aW1lcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1jYWNoZS9zcmMvbGliL3JlcXVlc3QtdGltZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsTUFBYSxZQUFZO0lBQXpCO1FBQ1UsWUFBTyxHQUFHLElBQUksR0FBRyxFQUEyQixDQUFDO0lBYXZELENBQUM7SUFYQyxPQUFPLENBQUMsR0FBVztRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBVyxFQUFFLElBQXFCO1FBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztDQUNGO0FBZEQsb0NBY0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDYWNoZVN0b3JhZ2V9IGZyb20gJy4vaHR0cC1jYWNoZS1zdG9yYWdlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBSZXF1ZXN0VGltZXMgaW1wbGVtZW50cyBIdHRwQ2FjaGVTdG9yYWdlIHtcbiAgcHJpdmF0ZSBzdG9yYWdlID0gbmV3IE1hcDxzdHJpbmcsIE9ic2VydmFibGU8YW55Pj4oKTtcblxuICBnZXRJdGVtKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlLmdldChrZXkpO1xuICB9XG5cbiAgc2V0SXRlbShrZXk6IHN0cmluZywgaXRlbTogT2JzZXJ2YWJsZTxhbnk+KTogdm9pZCB7XG4gICAgdGhpcy5zdG9yYWdlLnNldChrZXksIGl0ZW0pO1xuICB9XG5cbiAgZGVsZXRlSXRlbShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmFnZS5kZWxldGUoa2V5KTtcbiAgfVxufVxuIl19
@@ -1,8 +1,11 @@
1
+ "use strict";
1
2
  /*
2
3
  * Public API Surface of http-request-cache
3
4
  */
4
- export * from './lib/http-request-cache.decorator';
5
- export * from './lib/http-cache-storage';
6
- export * from './lib/http-cache-options';
7
- export * from './lib/default-storage';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1jYWNoZS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGh0dHAtcmVxdWVzdC1jYWNoZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2h0dHAtcmVxdWVzdC1jYWNoZS5kZWNvcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaHR0cC1jYWNoZS1zdG9yYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2h0dHAtY2FjaGUtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kZWZhdWx0LXN0b3JhZ2UnO1xuIl19
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const tslib_1 = require("tslib");
7
+ tslib_1.__exportStar(require("./lib/http-request-cache.decorator"), exports);
8
+ tslib_1.__exportStar(require("./lib/http-cache-storage"), exports);
9
+ tslib_1.__exportStar(require("./lib/http-cache-options"), exports);
10
+ tslib_1.__exportStar(require("./lib/default-storage"), exports);
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1jYWNoZS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILDZFQUFtRDtBQUNuRCxtRUFBeUM7QUFDekMsbUVBQXlDO0FBQ3pDLGdFQUFzQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgaHR0cC1yZXF1ZXN0LWNhY2hlXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvaHR0cC1yZXF1ZXN0LWNhY2hlLmRlY29yYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9odHRwLWNhY2hlLXN0b3JhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaHR0cC1jYWNoZS1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RlZmF1bHQtc3RvcmFnZSc7XG4iXX0=
@@ -1,107 +1,8 @@
1
- import { Subject, merge, NEVER, tap, filter, finalize } from 'rxjs';
2
- import { startWith, switchMap, shareReplay } from 'rxjs/operators';
3
-
4
- class DefaultStorage {
5
- constructor() {
6
- this.storage = new Map();
7
- }
8
- getItem(key) {
9
- return this.storage.get(key);
10
- }
11
- setItem(key, item) {
12
- this.storage.set(key, item);
13
- }
14
- deleteItem(key) {
15
- this.storage.delete(key);
16
- }
17
- }
18
-
19
- class RequestTimes {
20
- constructor() {
21
- this.storage = new Map();
22
- }
23
- getItem(key) {
24
- return this.storage.get(key);
25
- }
26
- setItem(key, item) {
27
- this.storage.set(key, item);
28
- }
29
- deleteItem(key) {
30
- this.storage.delete(key);
31
- }
32
- }
33
-
34
- const HttpRequestCache = (optionsHandler) => {
35
- return (target, methodName, descriptor) => {
36
- if (!((descriptor === null || descriptor === void 0 ? void 0 : descriptor.value) instanceof Function)) {
37
- throw Error(`'@HttpRequestCache' can be applied only to the class method which returns an Observable`);
38
- }
39
- const cacheKeyPrefix = `${target.constructor.name}_${methodName}`;
40
- const originalMethod = descriptor.value;
41
- const working = {};
42
- let subscribers = 0;
43
- descriptor.value = function (...args) {
44
- var _a, _b, _c, _d, _e;
45
- const options = optionsHandler === null || optionsHandler === void 0 ? void 0 : optionsHandler.call(this, this, ...args);
46
- if (!(options === null || options === void 0 ? void 0 : options.storage) && !target._____storage_____) {
47
- target._____storage_____ = new DefaultStorage();
48
- }
49
- if ((options === null || options === void 0 ? void 0 : options.ttl) && !target._____ttl_storage_____) {
50
- target._____ttl_storage_____ = new RequestTimes();
51
- }
52
- const storage = (_a = options === null || options === void 0 ? void 0 : options.storage) !== null && _a !== void 0 ? _a : target._____storage_____;
53
- const key = `${cacheKeyPrefix}_${JSON.stringify(args)}`;
54
- let ttl = undefined;
55
- if (options === null || options === void 0 ? void 0 : options.ttl) {
56
- ttl = target._____ttl_storage_____.getItem(key);
57
- if (!ttl) {
58
- ttl = {
59
- requestTime: Date.now(),
60
- subject: new Subject(),
61
- };
62
- }
63
- else if (ttl.requestTime + options.ttl <= Date.now()) {
64
- working[key] = true;
65
- ttl.requestTime = Date.now();
66
- ttl.subject.next();
67
- }
68
- target._____ttl_storage_____.setItem(key, ttl);
69
- }
70
- const refreshOn = merge((_b = options === null || options === void 0 ? void 0 : options.refreshOn) !== null && _b !== void 0 ? _b : NEVER, (_c = ttl === null || ttl === void 0 ? void 0 : ttl.subject) !== null && _c !== void 0 ? _c : NEVER);
71
- let observable = storage.getItem(key);
72
- if (!observable) {
73
- observable = refreshOn.pipe(startWith(true), switchMap(() => originalMethod.apply(this, [...args])), tap(() => {
74
- delete working[key];
75
- }), shareReplay({
76
- bufferSize: 1,
77
- refCount: (_d = options === null || options === void 0 ? void 0 : options.refCount) !== null && _d !== void 0 ? _d : false,
78
- windowTime: (_e = options === null || options === void 0 ? void 0 : options.windowTime) !== null && _e !== void 0 ? _e : Infinity,
79
- }), filter(() => {
80
- return !working[key];
81
- }), finalize(() => {
82
- var _a;
83
- subscribers--;
84
- if (subscribers === 0 && (options === null || options === void 0 ? void 0 : options.refCount)) {
85
- storage.deleteItem(key);
86
- (_a = target._____ttl_storage_____) === null || _a === void 0 ? void 0 : _a.deleteItem(key);
87
- }
88
- }));
89
- storage.setItem(key, observable);
90
- }
91
- subscribers++;
92
- return observable;
93
- };
94
- return descriptor;
95
- };
96
- };
97
-
98
- /*
99
- * Public API Surface of http-request-cache
100
- */
101
-
1
+ "use strict";
102
2
  /**
103
3
  * Generated bundle index. Do not edit.
104
4
  */
105
-
106
- export { DefaultStorage, HttpRequestCache };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const tslib_1 = require("tslib");
7
+ tslib_1.__exportStar(require("./public-api"), exports);
107
8
  //# sourceMappingURL=kovalenko-http-request-cache.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"kovalenko-http-request-cache.mjs","sources":["../../../projects/http-request-cache/src/lib/default-storage.ts","../../../projects/http-request-cache/src/lib/request-times.ts","../../../projects/http-request-cache/src/lib/http-request-cache.decorator.ts","../../../projects/http-request-cache/src/public-api.ts","../../../projects/http-request-cache/src/kovalenko-http-request-cache.ts"],"sourcesContent":["import {HttpCacheStorage} from './http-cache-storage';\nimport {Observable} from 'rxjs';\n\nexport class DefaultStorage implements HttpCacheStorage {\n private storage = new Map<string, Observable<any>>();\n\n getItem(key: string): Observable<any> | undefined {\n return this.storage.get(key);\n }\n\n setItem(key: string, item: Observable<any>): void {\n this.storage.set(key, item);\n }\n\n deleteItem(key: string): void {\n this.storage.delete(key);\n }\n}\n","import {HttpCacheStorage} from './http-cache-storage';\nimport {Observable} from 'rxjs';\n\nexport class RequestTimes implements HttpCacheStorage {\n private storage = new Map<string, Observable<any>>();\n\n getItem(key: string): Observable<any> | undefined {\n return this.storage.get(key);\n }\n\n setItem(key: string, item: Observable<any>): void {\n this.storage.set(key, item);\n }\n\n deleteItem(key: string): void {\n this.storage.delete(key);\n }\n}\n","import {HttpCacheOptions} from './http-cache-options';\nimport {filter, finalize, merge, NEVER, Observable, Subject, tap} from 'rxjs';\nimport {shareReplay, startWith, switchMap} from 'rxjs/operators';\nimport {DefaultStorage} from './default-storage';\nimport {RequestTimes} from './request-times';\n\ntype HttpRequestCacheMethod = (...args: any[]) => Observable<any>;\n\nexport const HttpRequestCache = <T extends Record<string, any>>(optionsHandler?: (obj: T, ...args: any[]) => HttpCacheOptions) => {\n return (target: T, methodName: string, descriptor: TypedPropertyDescriptor<HttpRequestCacheMethod>): TypedPropertyDescriptor<HttpRequestCacheMethod> => {\n if (!(descriptor?.value instanceof Function)) {\n throw Error(`'@HttpRequestCache' can be applied only to the class method which returns an Observable`);\n }\n\n const cacheKeyPrefix = `${target.constructor.name}_${methodName}`;\n const originalMethod = descriptor.value;\n const working: Record<string, boolean> = {};\n let subscribers = 0;\n\n descriptor.value = function(...args: any[]): Observable<any> {\n const options = optionsHandler?.call(this as T, this as T, ...args);\n\n if (!options?.storage && !(target as any)._____storage_____) {\n (target as any)._____storage_____ = new DefaultStorage();\n }\n\n if (options?.ttl && !(target as any)._____ttl_storage_____) {\n (target as any)._____ttl_storage_____ = new RequestTimes();\n }\n\n const storage = options?.storage ?? (target as any)._____storage_____;\n\n const key = `${cacheKeyPrefix}_${JSON.stringify(args)}`;\n\n let ttl: {requestTime: number, subject: Subject<void>} = undefined as any;\n\n if (options?.ttl) {\n ttl = (target as any)._____ttl_storage_____.getItem(key);\n\n if (!ttl) {\n ttl = {\n requestTime: Date.now(),\n subject: new Subject(),\n };\n } else if (ttl.requestTime + options.ttl <= Date.now()) {\n working[key] = true;\n ttl.requestTime = Date.now();\n ttl.subject.next();\n }\n\n (target as any)._____ttl_storage_____.setItem(key, ttl);\n }\n\n const refreshOn = merge(\n options?.refreshOn ?? NEVER as Observable<unknown>,\n ttl?.subject ?? NEVER,\n );\n\n let observable = storage.getItem(key);\n\n if (!observable) {\n observable = refreshOn.pipe(\n startWith(true),\n switchMap(() => originalMethod.apply(this, [...args])),\n tap(() => {\n delete working[key];\n }),\n shareReplay({\n bufferSize: 1,\n refCount: options?.refCount ?? false,\n windowTime: options?.windowTime ?? Infinity,\n }),\n filter(() => {\n return !working[key];\n }),\n finalize(() => {\n subscribers--;\n if (subscribers === 0 && options?.refCount) {\n storage.deleteItem(key);\n (target as any)._____ttl_storage_____?.deleteItem(key);\n }\n })\n );\n storage.setItem(key, observable);\n }\n\n subscribers++;\n\n return observable;\n };\n\n return descriptor;\n }\n}\n\n","/*\n * Public API Surface of http-request-cache\n */\n\nexport * from './lib/http-request-cache.decorator';\nexport * from './lib/http-cache-storage';\nexport * from './lib/http-cache-options';\nexport * from './lib/default-storage';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kovalenko-http-request-cache.mjs","sources":["../../../projects/http-request-cache/src/kovalenko-http-request-cache.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";AAAA;;AAEG;;;AAEH,OAA6B,CAAA,YAAA,CAAA,OAAA,CAAA,cAAA,CAAA,EAAA,OAAA,CAAA"}
@@ -1,105 +1,8 @@
1
- import { Subject, merge, NEVER, tap, filter, finalize } from 'rxjs';
2
- import { startWith, switchMap, shareReplay } from 'rxjs/operators';
3
-
4
- class DefaultStorage {
5
- constructor() {
6
- this.storage = new Map();
7
- }
8
- getItem(key) {
9
- return this.storage.get(key);
10
- }
11
- setItem(key, item) {
12
- this.storage.set(key, item);
13
- }
14
- deleteItem(key) {
15
- this.storage.delete(key);
16
- }
17
- }
18
-
19
- class RequestTimes {
20
- constructor() {
21
- this.storage = new Map();
22
- }
23
- getItem(key) {
24
- return this.storage.get(key);
25
- }
26
- setItem(key, item) {
27
- this.storage.set(key, item);
28
- }
29
- deleteItem(key) {
30
- this.storage.delete(key);
31
- }
32
- }
33
-
34
- const HttpRequestCache = (optionsHandler) => {
35
- return (target, methodName, descriptor) => {
36
- if (!(descriptor?.value instanceof Function)) {
37
- throw Error(`'@HttpRequestCache' can be applied only to the class method which returns an Observable`);
38
- }
39
- const cacheKeyPrefix = `${target.constructor.name}_${methodName}`;
40
- const originalMethod = descriptor.value;
41
- const working = {};
42
- let subscribers = 0;
43
- descriptor.value = function (...args) {
44
- const options = optionsHandler?.call(this, this, ...args);
45
- if (!options?.storage && !target._____storage_____) {
46
- target._____storage_____ = new DefaultStorage();
47
- }
48
- if (options?.ttl && !target._____ttl_storage_____) {
49
- target._____ttl_storage_____ = new RequestTimes();
50
- }
51
- const storage = options?.storage ?? target._____storage_____;
52
- const key = `${cacheKeyPrefix}_${JSON.stringify(args)}`;
53
- let ttl = undefined;
54
- if (options?.ttl) {
55
- ttl = target._____ttl_storage_____.getItem(key);
56
- if (!ttl) {
57
- ttl = {
58
- requestTime: Date.now(),
59
- subject: new Subject(),
60
- };
61
- }
62
- else if (ttl.requestTime + options.ttl <= Date.now()) {
63
- working[key] = true;
64
- ttl.requestTime = Date.now();
65
- ttl.subject.next();
66
- }
67
- target._____ttl_storage_____.setItem(key, ttl);
68
- }
69
- const refreshOn = merge(options?.refreshOn ?? NEVER, ttl?.subject ?? NEVER);
70
- let observable = storage.getItem(key);
71
- if (!observable) {
72
- observable = refreshOn.pipe(startWith(true), switchMap(() => originalMethod.apply(this, [...args])), tap(() => {
73
- delete working[key];
74
- }), shareReplay({
75
- bufferSize: 1,
76
- refCount: options?.refCount ?? false,
77
- windowTime: options?.windowTime ?? Infinity,
78
- }), filter(() => {
79
- return !working[key];
80
- }), finalize(() => {
81
- subscribers--;
82
- if (subscribers === 0 && options?.refCount) {
83
- storage.deleteItem(key);
84
- target._____ttl_storage_____?.deleteItem(key);
85
- }
86
- }));
87
- storage.setItem(key, observable);
88
- }
89
- subscribers++;
90
- return observable;
91
- };
92
- return descriptor;
93
- };
94
- };
95
-
96
- /*
97
- * Public API Surface of http-request-cache
98
- */
99
-
1
+ "use strict";
100
2
  /**
101
3
  * Generated bundle index. Do not edit.
102
4
  */
103
-
104
- export { DefaultStorage, HttpRequestCache };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const tslib_1 = require("tslib");
7
+ tslib_1.__exportStar(require("./public-api"), exports);
105
8
  //# sourceMappingURL=kovalenko-http-request-cache.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"kovalenko-http-request-cache.mjs","sources":["../../../projects/http-request-cache/src/lib/default-storage.ts","../../../projects/http-request-cache/src/lib/request-times.ts","../../../projects/http-request-cache/src/lib/http-request-cache.decorator.ts","../../../projects/http-request-cache/src/public-api.ts","../../../projects/http-request-cache/src/kovalenko-http-request-cache.ts"],"sourcesContent":["import {HttpCacheStorage} from './http-cache-storage';\nimport {Observable} from 'rxjs';\n\nexport class DefaultStorage implements HttpCacheStorage {\n private storage = new Map<string, Observable<any>>();\n\n getItem(key: string): Observable<any> | undefined {\n return this.storage.get(key);\n }\n\n setItem(key: string, item: Observable<any>): void {\n this.storage.set(key, item);\n }\n\n deleteItem(key: string): void {\n this.storage.delete(key);\n }\n}\n","import {HttpCacheStorage} from './http-cache-storage';\nimport {Observable} from 'rxjs';\n\nexport class RequestTimes implements HttpCacheStorage {\n private storage = new Map<string, Observable<any>>();\n\n getItem(key: string): Observable<any> | undefined {\n return this.storage.get(key);\n }\n\n setItem(key: string, item: Observable<any>): void {\n this.storage.set(key, item);\n }\n\n deleteItem(key: string): void {\n this.storage.delete(key);\n }\n}\n","import {HttpCacheOptions} from './http-cache-options';\nimport {filter, finalize, merge, NEVER, Observable, Subject, tap} from 'rxjs';\nimport {shareReplay, startWith, switchMap} from 'rxjs/operators';\nimport {DefaultStorage} from './default-storage';\nimport {RequestTimes} from './request-times';\n\ntype HttpRequestCacheMethod = (...args: any[]) => Observable<any>;\n\nexport const HttpRequestCache = <T extends Record<string, any>>(optionsHandler?: (obj: T, ...args: any[]) => HttpCacheOptions) => {\n return (target: T, methodName: string, descriptor: TypedPropertyDescriptor<HttpRequestCacheMethod>): TypedPropertyDescriptor<HttpRequestCacheMethod> => {\n if (!(descriptor?.value instanceof Function)) {\n throw Error(`'@HttpRequestCache' can be applied only to the class method which returns an Observable`);\n }\n\n const cacheKeyPrefix = `${target.constructor.name}_${methodName}`;\n const originalMethod = descriptor.value;\n const working: Record<string, boolean> = {};\n let subscribers = 0;\n\n descriptor.value = function(...args: any[]): Observable<any> {\n const options = optionsHandler?.call(this as T, this as T, ...args);\n\n if (!options?.storage && !(target as any)._____storage_____) {\n (target as any)._____storage_____ = new DefaultStorage();\n }\n\n if (options?.ttl && !(target as any)._____ttl_storage_____) {\n (target as any)._____ttl_storage_____ = new RequestTimes();\n }\n\n const storage = options?.storage ?? (target as any)._____storage_____;\n\n const key = `${cacheKeyPrefix}_${JSON.stringify(args)}`;\n\n let ttl: {requestTime: number, subject: Subject<void>} = undefined as any;\n\n if (options?.ttl) {\n ttl = (target as any)._____ttl_storage_____.getItem(key);\n\n if (!ttl) {\n ttl = {\n requestTime: Date.now(),\n subject: new Subject(),\n };\n } else if (ttl.requestTime + options.ttl <= Date.now()) {\n working[key] = true;\n ttl.requestTime = Date.now();\n ttl.subject.next();\n }\n\n (target as any)._____ttl_storage_____.setItem(key, ttl);\n }\n\n const refreshOn = merge(\n options?.refreshOn ?? NEVER as Observable<unknown>,\n ttl?.subject ?? NEVER,\n );\n\n let observable = storage.getItem(key);\n\n if (!observable) {\n observable = refreshOn.pipe(\n startWith(true),\n switchMap(() => originalMethod.apply(this, [...args])),\n tap(() => {\n delete working[key];\n }),\n shareReplay({\n bufferSize: 1,\n refCount: options?.refCount ?? false,\n windowTime: options?.windowTime ?? Infinity,\n }),\n filter(() => {\n return !working[key];\n }),\n finalize(() => {\n subscribers--;\n if (subscribers === 0 && options?.refCount) {\n storage.deleteItem(key);\n (target as any)._____ttl_storage_____?.deleteItem(key);\n }\n })\n );\n storage.setItem(key, observable);\n }\n\n subscribers++;\n\n return observable;\n };\n\n return descriptor;\n }\n}\n\n","/*\n * Public API Surface of http-request-cache\n */\n\nexport * from './lib/http-request-cache.decorator';\nexport * from './lib/http-cache-storage';\nexport * from './lib/http-cache-options';\nexport * from './lib/default-storage';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kovalenko-http-request-cache.mjs","sources":["../../../projects/http-request-cache/src/kovalenko-http-request-cache.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";AAAA;;AAEG;;;AAEH,OAA6B,CAAA,YAAA,CAAA,OAAA,CAAA,cAAA,CAAA,EAAA,OAAA,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kovalenko/http-request-cache",
3
- "version": "1.2.2",
3
+ "version": "1.2.3",
4
4
  "peerDependencies": {
5
5
  "rxjs": ">=7"
6
6
  },