UNPKG

@obliczeniowo/elementary

Version:
38 lines (37 loc) 1.26 kB
import { Subject } from 'rxjs'; import { CacheOptions } from '../models/cache.model'; import * as i0 from "@angular/core"; export interface CacheItem<Res, Ext = any> { body: Res; reqBody?: any; triggeredAt: Date; method: 'get' | 'post' | 'put' | 'patch' | 'delete' | string; responseAt?: Date; cache?: CacheOptions; fullPath: string; external?: Ext; reloading?: true; } export declare class CacheService { protected cache: Map<string, CacheItem<any, any>>; /** * triggered when cache name value is changed or removed, not triggered when all cache was cleared */ changed: Subject<{ name: string; item?: CacheItem<any>; }>; /** * triggered when one name of cache was cleared (emit string as name of removed one) or all was cleared (emit undefined) */ cleared: Subject<string | undefined>; set(name: string, item: CacheItem<any>): void; get(name: string): CacheItem<any> | undefined; has(name: string): boolean; /** * when no name clear all, single one when name is known */ clear(name?: string): void; static ɵfac: i0.ɵɵFactoryDeclaration<CacheService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<CacheService>; }