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.
- package/README.md +1 -0
- package/esm2022/lib/ng-http-caching-interceptor.service.mjs +72 -0
- package/esm2022/lib/ng-http-caching.module.mjs +43 -0
- package/esm2022/lib/ng-http-caching.service.mjs +331 -0
- package/{esm2020 → esm2022}/lib/storage/ng-http-caching-browser-storage.mjs +122 -122
- package/{esm2020 → esm2022}/lib/storage/ng-http-caching-local-storage.mjs +6 -6
- package/{esm2020 → esm2022}/lib/storage/ng-http-caching-memory-storage.mjs +26 -26
- package/{esm2020 → esm2022}/lib/storage/ng-http-caching-session-storage.mjs +6 -6
- package/{esm2020 → esm2022}/lib/storage/ng-http-caching-storage.interface.mjs +1 -1
- package/{esm2020 → esm2022}/ng-http-caching.mjs +4 -4
- package/{esm2020 → esm2022}/public-api.mjs +11 -11
- package/{fesm2020 → fesm2022}/ng-http-caching.mjs +579 -578
- package/fesm2022/ng-http-caching.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/ng-http-caching-interceptor.service.d.ts +15 -15
- package/lib/ng-http-caching.module.d.ts +9 -9
- package/lib/ng-http-caching.service.d.ts +214 -213
- package/lib/storage/ng-http-caching-browser-storage.d.ts +18 -18
- package/lib/storage/ng-http-caching-local-storage.d.ts +4 -4
- package/lib/storage/ng-http-caching-memory-storage.d.ts +12 -12
- package/lib/storage/ng-http-caching-session-storage.d.ts +4 -4
- package/lib/storage/ng-http-caching-storage.interface.d.ts +31 -31
- package/package.json +7 -13
- package/public-api.d.ts +8 -8
- package/esm2020/lib/ng-http-caching-interceptor.service.mjs +0 -71
- package/esm2020/lib/ng-http-caching.module.mjs +0 -42
- package/esm2020/lib/ng-http-caching.service.mjs +0 -329
- package/fesm2015/ng-http-caching.mjs +0 -606
- package/fesm2015/ng-http-caching.mjs.map +0 -1
- 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": "
|
|
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": "
|
|
30
|
-
"@angular/core": "
|
|
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": "
|
|
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
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
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
|