File

libs/caching/src/lib/http-get-cache/local-ongoing-http-cache.ts

Index

Properties
Methods

Methods

Public clear
clear(req: HttpRequest)
Parameters :
Name Type Optional
req HttpRequest<any> No
Returns : void
Public has
has(req: HttpRequest)
Parameters :
Name Type Optional
req HttpRequest<any> No
Returns : boolean
Public observe
observe(req: HttpRequest)
Parameters :
Name Type Optional
req HttpRequest<any> No
Public set
set(req: HttpRequest, request: Observable>)
Parameters :
Name Type Optional
req HttpRequest<any> No
request Observable<HttpEvent<any>> No
Returns : void

Properties

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];
    }
}

result-matching ""

    No results matching ""