libs/caching/src/lib/http-get-cache/local-ongoing-http-cache.ts
Properties |
|
Methods |
Public clear | ||||||
clear(req: HttpRequest
|
||||||
Parameters :
Returns :
void
|
Public has | ||||||
has(req: HttpRequest
|
||||||
Parameters :
Returns :
boolean
|
Public observe | ||||||
observe(req: HttpRequest
|
||||||
Parameters :
Returns :
Observable<HttpEvent<any>>
|
Public set | |||||||||
set(req: HttpRequest
|
|||||||||
Parameters :
Returns :
void
|
Private cache |
Type : literal type
|
Default value : {}
|
import { HttpEvent, HttpRequest } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
@Injectable()
export class LocalOngoingHttpCache {
private cache: { [key: string]: { request: Observable<HttpEvent<any>> } } = {};
public has(req: HttpRequest<any>): boolean {
return this.cache[req.urlWithParams] !== undefined;
}
public set(req: HttpRequest<any>, request: Observable<HttpEvent<any>>): void {
this.cache[req.urlWithParams] = {
request
};
}
public observe(req: HttpRequest<any>): Observable<HttpEvent<any>> {
return this.cache[req.urlWithParams].request;
}
public clear(req: HttpRequest<any>) {
delete this.cache[req.urlWithParams];
}
}