ng-http-caching 15.2.4 → 16.0.2

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.
Files changed (30) hide show
  1. package/README.md +1 -0
  2. package/esm2022/lib/ng-http-caching-interceptor.service.mjs +72 -0
  3. package/esm2022/lib/ng-http-caching.module.mjs +43 -0
  4. package/esm2022/lib/ng-http-caching.service.mjs +331 -0
  5. package/{esm2020 → esm2022}/lib/storage/ng-http-caching-browser-storage.mjs +122 -122
  6. package/{esm2020 → esm2022}/lib/storage/ng-http-caching-local-storage.mjs +6 -6
  7. package/{esm2020 → esm2022}/lib/storage/ng-http-caching-memory-storage.mjs +26 -26
  8. package/{esm2020 → esm2022}/lib/storage/ng-http-caching-session-storage.mjs +6 -6
  9. package/{esm2020 → esm2022}/lib/storage/ng-http-caching-storage.interface.mjs +1 -1
  10. package/{esm2020 → esm2022}/ng-http-caching.mjs +4 -4
  11. package/{esm2020 → esm2022}/public-api.mjs +11 -11
  12. package/{fesm2020 → fesm2022}/ng-http-caching.mjs +579 -578
  13. package/fesm2022/ng-http-caching.mjs.map +1 -0
  14. package/index.d.ts +5 -5
  15. package/lib/ng-http-caching-interceptor.service.d.ts +15 -15
  16. package/lib/ng-http-caching.module.d.ts +9 -9
  17. package/lib/ng-http-caching.service.d.ts +214 -213
  18. package/lib/storage/ng-http-caching-browser-storage.d.ts +18 -18
  19. package/lib/storage/ng-http-caching-local-storage.d.ts +4 -4
  20. package/lib/storage/ng-http-caching-memory-storage.d.ts +12 -12
  21. package/lib/storage/ng-http-caching-session-storage.d.ts +4 -4
  22. package/lib/storage/ng-http-caching-storage.interface.d.ts +31 -31
  23. package/package.json +7 -13
  24. package/public-api.d.ts +8 -8
  25. package/esm2020/lib/ng-http-caching-interceptor.service.mjs +0 -71
  26. package/esm2020/lib/ng-http-caching.module.mjs +0 -42
  27. package/esm2020/lib/ng-http-caching.service.mjs +0 -329
  28. package/fesm2015/ng-http-caching.mjs +0 -606
  29. package/fesm2015/ng-http-caching.mjs.map +0 -1
  30. package/fesm2020/ng-http-caching.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- import { NgHttpCachingBrowserStorage } from './ng-http-caching-browser-storage';
2
- export declare class NgHttpCachingLocalStorage extends NgHttpCachingBrowserStorage {
3
- constructor();
4
- }
1
+ import { NgHttpCachingBrowserStorage } from './ng-http-caching-browser-storage';
2
+ export declare class NgHttpCachingLocalStorage extends NgHttpCachingBrowserStorage {
3
+ constructor();
4
+ }
@@ -1,12 +1,12 @@
1
- import { NgHttpCachingStorageInterface } from './ng-http-caching-storage.interface';
2
- import { NgHttpCachingEntry } from '../ng-http-caching.service';
3
- export declare class NgHttpCachingMemoryStorage implements NgHttpCachingStorageInterface {
4
- get size(): number;
5
- private store;
6
- clear(): void;
7
- delete(key: string): boolean;
8
- forEach<K, T>(callbackfn: (value: NgHttpCachingEntry<K, T>, key: string) => void): void;
9
- get<K, T>(key: string): Readonly<NgHttpCachingEntry<K, T>> | undefined;
10
- has(key: string): boolean;
11
- set<K, T>(key: string, value: NgHttpCachingEntry<K, T>): void;
12
- }
1
+ import { NgHttpCachingStorageInterface } from './ng-http-caching-storage.interface';
2
+ import { NgHttpCachingEntry } from '../ng-http-caching.service';
3
+ export declare class NgHttpCachingMemoryStorage implements NgHttpCachingStorageInterface {
4
+ get size(): number;
5
+ private store;
6
+ clear(): void;
7
+ delete(key: string): boolean;
8
+ forEach<K, T>(callbackfn: (value: NgHttpCachingEntry<K, T>, key: string) => void): void;
9
+ get<K, T>(key: string): Readonly<NgHttpCachingEntry<K, T>> | undefined;
10
+ has(key: string): boolean;
11
+ set<K, T>(key: string, value: NgHttpCachingEntry<K, T>): void;
12
+ }
@@ -1,4 +1,4 @@
1
- import { NgHttpCachingBrowserStorage } from './ng-http-caching-browser-storage';
2
- export declare class NgHttpCachingSessionStorage extends NgHttpCachingBrowserStorage {
3
- constructor();
4
- }
1
+ import { NgHttpCachingBrowserStorage } from './ng-http-caching-browser-storage';
2
+ export declare class NgHttpCachingSessionStorage extends NgHttpCachingBrowserStorage {
3
+ constructor();
4
+ }
@@ -1,31 +1,31 @@
1
- import { NgHttpCachingEntry } from '../ng-http-caching.service';
2
- export interface NgHttpCachingStorageInterface {
3
- /**
4
- * The number of cached entries.
5
- */
6
- readonly size: number;
7
- /**
8
- * Clear the cache.
9
- */
10
- clear(): void;
11
- /**
12
- * Delete the chache entry for the provided key.
13
- */
14
- delete(key: string): boolean;
15
- /**
16
- * The forEach() method executes a provided function once for each chache entry.
17
- */
18
- forEach<K = any, T = any>(callbackfn: (value: NgHttpCachingEntry<K, T>, key: string) => void): void;
19
- /**
20
- * Return the chache entry for the provided key.
21
- */
22
- get<K = any, T = any>(key: string): Readonly<NgHttpCachingEntry<K, T>> | undefined;
23
- /**
24
- * Return true if the cache entry exists the provided key.
25
- */
26
- has(key: string): boolean;
27
- /**
28
- * Set the chache entry for the provided key.
29
- */
30
- set<K = any, T = any>(key: string, value: NgHttpCachingEntry<K, T>): void;
31
- }
1
+ import { NgHttpCachingEntry } from '../ng-http-caching.service';
2
+ export interface NgHttpCachingStorageInterface {
3
+ /**
4
+ * The number of cached entries.
5
+ */
6
+ readonly size: number;
7
+ /**
8
+ * Clear the cache.
9
+ */
10
+ clear(): void;
11
+ /**
12
+ * Delete the chache entry for the provided key.
13
+ */
14
+ delete(key: string): boolean;
15
+ /**
16
+ * The forEach() method executes a provided function once for each chache entry.
17
+ */
18
+ forEach<K = any, T = any>(callbackfn: (value: NgHttpCachingEntry<K, T>, key: string) => void): void;
19
+ /**
20
+ * Return the chache entry for the provided key.
21
+ */
22
+ get<K = any, T = any>(key: string): Readonly<NgHttpCachingEntry<K, T>> | undefined;
23
+ /**
24
+ * Return true if the cache entry exists the provided key.
25
+ */
26
+ has(key: string): boolean;
27
+ /**
28
+ * Set the chache entry for the provided key.
29
+ */
30
+ set<K = any, T = any>(key: string, value: NgHttpCachingEntry<K, T>): void;
31
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ng-http-caching",
3
- "version": "15.2.4",
3
+ "version": "16.0.2",
4
4
  "description": "Cache for HTTP requests in Angular application.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,17 +26,13 @@
26
26
  },
27
27
  "homepage": "https://github.com/nigrosimone/ng-http-caching",
28
28
  "peerDependencies": {
29
- "@angular/common": "^15.0.0",
30
- "@angular/core": "^15.0.0"
29
+ "@angular/common": ">15.0.0",
30
+ "@angular/core": ">15.0.0"
31
31
  },
32
32
  "dependencies": {
33
33
  "tslib": "^2.3.0"
34
34
  },
35
- "module": "fesm2015/ng-http-caching.mjs",
36
- "es2020": "fesm2020/ng-http-caching.mjs",
37
- "esm2020": "esm2020/ng-http-caching.mjs",
38
- "fesm2020": "fesm2020/ng-http-caching.mjs",
39
- "fesm2015": "fesm2015/ng-http-caching.mjs",
35
+ "module": "fesm2022/ng-http-caching.mjs",
40
36
  "typings": "index.d.ts",
41
37
  "exports": {
42
38
  "./package.json": {
@@ -44,11 +40,9 @@
44
40
  },
45
41
  ".": {
46
42
  "types": "./index.d.ts",
47
- "esm2020": "./esm2020/ng-http-caching.mjs",
48
- "es2020": "./fesm2020/ng-http-caching.mjs",
49
- "es2015": "./fesm2015/ng-http-caching.mjs",
50
- "node": "./fesm2015/ng-http-caching.mjs",
51
- "default": "./fesm2020/ng-http-caching.mjs"
43
+ "esm2022": "./esm2022/ng-http-caching.mjs",
44
+ "esm": "./esm2022/ng-http-caching.mjs",
45
+ "default": "./fesm2022/ng-http-caching.mjs"
52
46
  }
53
47
  },
54
48
  "sideEffects": false
package/public-api.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- export * from './lib/ng-http-caching-interceptor.service';
2
- export * from './lib/ng-http-caching.service';
3
- export * from './lib/ng-http-caching.module';
4
- export * from './lib/storage/ng-http-caching-storage.interface';
5
- export * from './lib/storage/ng-http-caching-memory-storage';
6
- export * from './lib/storage/ng-http-caching-local-storage';
7
- export * from './lib/storage/ng-http-caching-session-storage';
8
- export * from './lib/storage/ng-http-caching-browser-storage';
1
+ export * from './lib/ng-http-caching-interceptor.service';
2
+ export * from './lib/ng-http-caching.service';
3
+ export * from './lib/ng-http-caching.module';
4
+ export * from './lib/storage/ng-http-caching-storage.interface';
5
+ export * from './lib/storage/ng-http-caching-memory-storage';
6
+ export * from './lib/storage/ng-http-caching-local-storage';
7
+ export * from './lib/storage/ng-http-caching-session-storage';
8
+ export * from './lib/storage/ng-http-caching-browser-storage';
@@ -1,71 +0,0 @@
1
- import { HttpResponse } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
3
- import { asapScheduler, scheduled } from 'rxjs';
4
- import { tap, finalize, shareReplay } from 'rxjs/operators';
5
- import { NgHttpCachingHeadersList } from './ng-http-caching.service';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./ng-http-caching.service";
8
- /**
9
- * Fix for https://github.com/ReactiveX/rxjs/issues/7241
10
- */
11
- function* _of(value) {
12
- yield value;
13
- }
14
- export class NgHttpCachingInterceptorService {
15
- constructor(cacheService) {
16
- this.cacheService = cacheService;
17
- }
18
- intercept(req, next) {
19
- // run garbage collector
20
- this.cacheService.runGc();
21
- // Don't cache if it's not cacheable
22
- if (!this.cacheService.isCacheable(req)) {
23
- return this.sendRequest(req, next);
24
- }
25
- // Checked if there is pending response for this request
26
- const cachedObservable = this.cacheService.getFromQueue(req);
27
- if (cachedObservable) {
28
- // console.log('cachedObservable',cachedObservable);
29
- return cachedObservable;
30
- }
31
- // Checked if there is cached response for this request
32
- const cachedResponse = this.cacheService.getFromCache(req);
33
- if (cachedResponse) {
34
- // console.log('cachedResponse');
35
- return scheduled(_of(cachedResponse.clone()), asapScheduler);
36
- }
37
- // If the request of going through for first time
38
- // then let the request proceed and cache the response
39
- // console.log('sendRequest', req);
40
- const shared = this.sendRequest(req, next).pipe(tap(event => {
41
- if (event instanceof HttpResponse) {
42
- this.cacheService.addToCache(req, event.clone());
43
- }
44
- }), finalize(() => {
45
- // delete pending request
46
- this.cacheService.deleteFromQueue(req);
47
- }), shareReplay());
48
- // add pending request to queue for cache parallell request
49
- this.cacheService.addToQueue(req, shared);
50
- return shared;
51
- }
52
- /**
53
- * Send http request (next handler)
54
- */
55
- sendRequest(req, next) {
56
- let cloned = req.clone();
57
- // trim custom headers before send request
58
- NgHttpCachingHeadersList.forEach(ngHttpCachingHeaders => {
59
- if (cloned.headers.has(ngHttpCachingHeaders)) {
60
- cloned = cloned.clone({ headers: cloned.headers.delete(ngHttpCachingHeaders) });
61
- }
62
- });
63
- return next.handle(cloned);
64
- }
65
- }
66
- NgHttpCachingInterceptorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgHttpCachingInterceptorService, deps: [{ token: i1.NgHttpCachingService }], target: i0.ɵɵFactoryTarget.Injectable });
67
- NgHttpCachingInterceptorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgHttpCachingInterceptorService });
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgHttpCachingInterceptorService, decorators: [{
69
- type: Injectable
70
- }], ctorParameters: function () { return [{ type: i1.NgHttpCachingService }]; } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctaHR0cC1jYWNoaW5nLWludGVyY2VwdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1odHRwLWNhY2hpbmcvc3JjL2xpYi9uZy1odHRwLWNhY2hpbmctaW50ZXJjZXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdELFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUF3Qix3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFFM0Y7O0dBRUc7QUFDSCxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUksS0FBUTtJQUN2QixNQUFNLEtBQUssQ0FBQztBQUNkLENBQUM7QUFHRCxNQUFNLE9BQU8sK0JBQStCO0lBRTFDLFlBQTZCLFlBQWtDO1FBQWxDLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtJQUFJLENBQUM7SUFFcEUsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDaEQsd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFMUIsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN2QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsd0RBQXdEO1FBQ3hELE1BQU0sZ0JBQWdCLEdBQTJDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JHLElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsb0RBQW9EO1lBQ3BELE9BQU8sZ0JBQWdCLENBQUM7U0FDekI7UUFFRCx1REFBdUQ7UUFDdkQsTUFBTSxjQUFjLEdBQWtDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFGLElBQUksY0FBYyxFQUFFO1lBQ2xCLGlDQUFpQztZQUNqQyxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUM7U0FDOUQ7UUFFRCxpREFBaUQ7UUFDakQsc0RBQXNEO1FBQ3RELG1DQUFtQztRQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQzdDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNWLElBQUksS0FBSyxZQUFZLFlBQVksRUFBRTtnQkFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2FBQ2xEO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNaLHlCQUF5QjtZQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsRUFDRixXQUFXLEVBQUUsQ0FDZCxDQUFDO1FBRUYsMkRBQTJEO1FBQzNELElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUxQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUNsRCxJQUFJLE1BQU0sR0FBcUIsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNDLDBDQUEwQztRQUMxQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsRUFBRTtZQUN0RCxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLEVBQUU7Z0JBQzVDLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2pGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7NEhBN0RVLCtCQUErQjtnSUFBL0IsK0JBQStCOzJGQUEvQiwrQkFBK0I7a0JBRDNDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0LCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgYXNhcFNjaGVkdWxlciwgT2JzZXJ2YWJsZSwgc2NoZWR1bGVkIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRhcCwgZmluYWxpemUsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBOZ0h0dHBDYWNoaW5nU2VydmljZSwgTmdIdHRwQ2FjaGluZ0hlYWRlcnNMaXN0IH0gZnJvbSAnLi9uZy1odHRwLWNhY2hpbmcuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vUmVhY3RpdmVYL3J4anMvaXNzdWVzLzcyNDFcclxuICovXHJcbmZ1bmN0aW9uKiBfb2Y8VD4odmFsdWU6IFQpOiBHZW5lcmF0b3I8VD4ge1xyXG4gIHlpZWxkIHZhbHVlO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBOZ0h0dHBDYWNoaW5nSW50ZXJjZXB0b3JTZXJ2aWNlIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjYWNoZVNlcnZpY2U6IE5nSHR0cENhY2hpbmdTZXJ2aWNlKSB7IH1cclxuXHJcbiAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICAvLyBydW4gZ2FyYmFnZSBjb2xsZWN0b3JcclxuICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnJ1bkdjKCk7XHJcblxyXG4gICAgLy8gRG9uJ3QgY2FjaGUgaWYgaXQncyBub3QgY2FjaGVhYmxlXHJcbiAgICBpZiAoIXRoaXMuY2FjaGVTZXJ2aWNlLmlzQ2FjaGVhYmxlKHJlcSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VuZFJlcXVlc3QocmVxLCBuZXh0KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDaGVja2VkIGlmIHRoZXJlIGlzIHBlbmRpbmcgcmVzcG9uc2UgZm9yIHRoaXMgcmVxdWVzdFxyXG4gICAgY29uc3QgY2FjaGVkT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4gfCB1bmRlZmluZWQgPSB0aGlzLmNhY2hlU2VydmljZS5nZXRGcm9tUXVldWUocmVxKTtcclxuICAgIGlmIChjYWNoZWRPYnNlcnZhYmxlKSB7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdjYWNoZWRPYnNlcnZhYmxlJyxjYWNoZWRPYnNlcnZhYmxlKTtcclxuICAgICAgcmV0dXJuIGNhY2hlZE9ic2VydmFibGU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2hlY2tlZCBpZiB0aGVyZSBpcyBjYWNoZWQgcmVzcG9uc2UgZm9yIHRoaXMgcmVxdWVzdFxyXG4gICAgY29uc3QgY2FjaGVkUmVzcG9uc2U6IEh0dHBSZXNwb25zZTxhbnk+IHwgdW5kZWZpbmVkID0gdGhpcy5jYWNoZVNlcnZpY2UuZ2V0RnJvbUNhY2hlKHJlcSk7XHJcbiAgICBpZiAoY2FjaGVkUmVzcG9uc2UpIHtcclxuICAgICAgLy8gY29uc29sZS5sb2coJ2NhY2hlZFJlc3BvbnNlJyk7XHJcbiAgICAgIHJldHVybiBzY2hlZHVsZWQoX29mKGNhY2hlZFJlc3BvbnNlLmNsb25lKCkpLCBhc2FwU2NoZWR1bGVyKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBJZiB0aGUgcmVxdWVzdCBvZiBnb2luZyB0aHJvdWdoIGZvciBmaXJzdCB0aW1lXHJcbiAgICAvLyB0aGVuIGxldCB0aGUgcmVxdWVzdCBwcm9jZWVkIGFuZCBjYWNoZSB0aGUgcmVzcG9uc2VcclxuICAgIC8vIGNvbnNvbGUubG9nKCdzZW5kUmVxdWVzdCcsIHJlcSk7XHJcbiAgICBjb25zdCBzaGFyZWQgPSB0aGlzLnNlbmRSZXF1ZXN0KHJlcSwgbmV4dCkucGlwZShcclxuICAgICAgdGFwKGV2ZW50ID0+IHtcclxuICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpIHtcclxuICAgICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLmFkZFRvQ2FjaGUocmVxLCBldmVudC5jbG9uZSgpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8gZGVsZXRlIHBlbmRpbmcgcmVxdWVzdFxyXG4gICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLmRlbGV0ZUZyb21RdWV1ZShyZXEpO1xyXG4gICAgICB9KSxcclxuICAgICAgc2hhcmVSZXBsYXkoKVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBhZGQgcGVuZGluZyByZXF1ZXN0IHRvIHF1ZXVlIGZvciBjYWNoZSBwYXJhbGxlbGwgcmVxdWVzdFxyXG4gICAgdGhpcy5jYWNoZVNlcnZpY2UuYWRkVG9RdWV1ZShyZXEsIHNoYXJlZCk7XHJcblxyXG4gICAgcmV0dXJuIHNoYXJlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmQgaHR0cCByZXF1ZXN0IChuZXh0IGhhbmRsZXIpXHJcbiAgICovXHJcbiAgc2VuZFJlcXVlc3QocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuICAgIGxldCBjbG9uZWQ6IEh0dHBSZXF1ZXN0PGFueT4gPSByZXEuY2xvbmUoKTtcclxuICAgIC8vIHRyaW0gY3VzdG9tIGhlYWRlcnMgYmVmb3JlIHNlbmQgcmVxdWVzdFxyXG4gICAgTmdIdHRwQ2FjaGluZ0hlYWRlcnNMaXN0LmZvckVhY2gobmdIdHRwQ2FjaGluZ0hlYWRlcnMgPT4ge1xyXG4gICAgICBpZiAoY2xvbmVkLmhlYWRlcnMuaGFzKG5nSHR0cENhY2hpbmdIZWFkZXJzKSkge1xyXG4gICAgICAgIGNsb25lZCA9IGNsb25lZC5jbG9uZSh7IGhlYWRlcnM6IGNsb25lZC5oZWFkZXJzLmRlbGV0ZShuZ0h0dHBDYWNoaW5nSGVhZGVycykgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKGNsb25lZCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,42 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { HTTP_INTERCEPTORS } from '@angular/common/http';
3
- import { NG_HTTP_CACHING_CONFIG, NgHttpCachingService, } from './ng-http-caching.service';
4
- import { NgHttpCachingInterceptorService } from './ng-http-caching-interceptor.service';
5
- import * as i0 from "@angular/core";
6
- export class NgHttpCachingModule {
7
- static forRoot(ngHttpCachingConfig) {
8
- return {
9
- ngModule: NgHttpCachingModule,
10
- providers: [
11
- {
12
- provide: NG_HTTP_CACHING_CONFIG,
13
- useValue: ngHttpCachingConfig,
14
- },
15
- ],
16
- };
17
- }
18
- }
19
- NgHttpCachingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgHttpCachingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- NgHttpCachingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: NgHttpCachingModule });
21
- NgHttpCachingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgHttpCachingModule, providers: [
22
- NgHttpCachingService,
23
- {
24
- provide: HTTP_INTERCEPTORS,
25
- useClass: NgHttpCachingInterceptorService,
26
- multi: true,
27
- },
28
- ] });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgHttpCachingModule, decorators: [{
30
- type: NgModule,
31
- args: [{
32
- providers: [
33
- NgHttpCachingService,
34
- {
35
- provide: HTTP_INTERCEPTORS,
36
- useClass: NgHttpCachingInterceptorService,
37
- multi: true,
38
- },
39
- ]
40
- }]
41
- }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctaHR0cC1jYWNoaW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWh0dHAtY2FjaGluZy9zcmMvbGliL25nLWh0dHAtY2FjaGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUNMLHNCQUFzQixFQUV0QixvQkFBb0IsR0FDckIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFZeEYsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixNQUFNLENBQUMsT0FBTyxDQUNaLG1CQUF5QztRQUV6QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLHNCQUFzQjtvQkFDL0IsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOztnSEFiVSxtQkFBbUI7aUhBQW5CLG1CQUFtQjtpSEFBbkIsbUJBQW1CLGFBVG5CO1FBQ1Qsb0JBQW9CO1FBQ3BCO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixRQUFRLEVBQUUsK0JBQStCO1lBQ3pDLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRjsyRkFFVSxtQkFBbUI7a0JBVi9CLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFO3dCQUNULG9CQUFvQjt3QkFDcEI7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsUUFBUSxFQUFFLCtCQUErQjs0QkFDekMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHtcclxuICBOR19IVFRQX0NBQ0hJTkdfQ09ORklHLFxyXG4gIE5nSHR0cENhY2hpbmdDb25maWcsXHJcbiAgTmdIdHRwQ2FjaGluZ1NlcnZpY2UsXHJcbn0gZnJvbSAnLi9uZy1odHRwLWNhY2hpbmcuc2VydmljZSc7XHJcbmltcG9ydCB7IE5nSHR0cENhY2hpbmdJbnRlcmNlcHRvclNlcnZpY2UgfSBmcm9tICcuL25nLWh0dHAtY2FjaGluZy1pbnRlcmNlcHRvci5zZXJ2aWNlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBOZ0h0dHBDYWNoaW5nU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXHJcbiAgICAgIHVzZUNsYXNzOiBOZ0h0dHBDYWNoaW5nSW50ZXJjZXB0b3JTZXJ2aWNlLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdIdHRwQ2FjaGluZ01vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoXHJcbiAgICBuZ0h0dHBDYWNoaW5nQ29uZmlnPzogTmdIdHRwQ2FjaGluZ0NvbmZpZ1xyXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TmdIdHRwQ2FjaGluZ01vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IE5nSHR0cENhY2hpbmdNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IE5HX0hUVFBfQ0FDSElOR19DT05GSUcsXHJcbiAgICAgICAgICB1c2VWYWx1ZTogbmdIdHRwQ2FjaGluZ0NvbmZpZyxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19