@@ -542,8 +542,8 @@ <h3 id="methods">
542542
543543 < tr >
544544 < td class ="col-md-4 ">
545- < div class ="io-line "> Defined in < a href ="" data-line ="148 "
546- class ="link-to-prism "> projects/angular-odata/src/lib/cache/cache.ts:148 </ a > </ div >
545+ < div class ="io-line "> Defined in < a href ="" data-line ="149 "
546+ class ="link-to-prism "> projects/angular-odata/src/lib/cache/cache.ts:149 </ a > </ div >
547547 </ td >
548548 </ tr >
549549
@@ -581,8 +581,8 @@ <h3 id="methods">
581581
582582 < tr >
583583 < td class ="col-md-4 ">
584- < div class ="io-line "> Defined in < a href ="" data-line ="127 "
585- class ="link-to-prism "> projects/angular-odata/src/lib/cache/cache.ts:127 </ a > </ div >
584+ < div class ="io-line "> Defined in < a href ="" data-line ="128 "
585+ class ="link-to-prism "> projects/angular-odata/src/lib/cache/cache.ts:128 </ a > </ div >
586586 </ td >
587587 </ tr >
588588
@@ -653,8 +653,8 @@ <h3 id="methods">
653653
654654 < tr >
655655 < td class ="col-md-4 ">
656- < div class ="io-line "> Defined in < a href ="" data-line ="117 "
657- class ="link-to-prism "> projects/angular-odata/src/lib/cache/cache.ts:117 </ a > </ div >
656+ < div class ="io-line "> Defined in < a href ="" data-line ="116 "
657+ class ="link-to-prism "> projects/angular-odata/src/lib/cache/cache.ts:116 </ a > </ div >
658658 </ td >
659659 </ tr >
660660
@@ -826,8 +826,8 @@ <h3 id="methods">
826826
827827 < tr >
828828 < td class ="col-md-4 ">
829- < div class ="io-line "> Defined in < a href ="" data-line ="178 "
830- class ="link-to-prism "> projects/angular-odata/src/lib/cache/cache.ts:178 </ a > </ div >
829+ < div class ="io-line "> Defined in < a href ="" data-line ="179 "
830+ class ="link-to-prism "> projects/angular-odata/src/lib/cache/cache.ts:179 </ a > </ div >
831831 </ td >
832832 </ tr >
833833
@@ -907,8 +907,8 @@ <h3 id="methods">
907907
908908 < tr >
909909 < td class ="col-md-4 ">
910- < div class ="io-line "> Defined in < a href ="" data-line ="208 "
911- class ="link-to-prism "> projects/angular-odata/src/lib/cache/cache.ts:208 </ a > </ div >
910+ < div class ="io-line "> Defined in < a href ="" data-line ="209 "
911+ class ="link-to-prism "> projects/angular-odata/src/lib/cache/cache.ts:209 </ a > </ div >
912912 </ td >
913913 </ tr >
914914
@@ -986,8 +986,8 @@ <h3 id="methods">
986986
987987 < tr >
988988 < td class ="col-md-4 ">
989- < div class ="io-line "> Defined in < a href ="" data-line ="167 "
990- class ="link-to-prism "> projects/angular-odata/src/lib/cache/cache.ts:167 </ a > </ div >
989+ < div class ="io-line "> Defined in < a href ="" data-line ="168 "
990+ class ="link-to-prism "> projects/angular-odata/src/lib/cache/cache.ts:168 </ a > </ div >
991991 </ td >
992992 </ tr >
993993
@@ -1076,8 +1076,8 @@ <h3 id="methods">
10761076
10771077 < tr >
10781078 < td class ="col-md-4 ">
1079- < div class ="io-line "> Defined in < a href ="" data-line ="157 "
1080- class ="link-to-prism "> projects/angular-odata/src/lib/cache/cache.ts:157 </ a > </ div >
1079+ < div class ="io-line "> Defined in < a href ="" data-line ="158 "
1080+ class ="link-to-prism "> projects/angular-odata/src/lib/cache/cache.ts:158 </ a > </ div >
10811081 </ td >
10821082 </ tr >
10831083
@@ -1500,13 +1500,13 @@ <h3 id="methods">
15001500/**
15011501 * A cache entry that holds a payload, a last read time, and a timeout for the entry.
15021502 * @param payload The payload to cache.
1503- * @param lastRead The last read time.
1504- * @param timeout The timeout.
1503+ * @param lastread The last read time.
1504+ * @param timeout The timeout in seconds .
15051505 * @param tags Some tags to identify the entry.
15061506 */
15071507export interface ODataCacheEntry<T> {
15081508 payload: T;
1509- lastRead : number;
1509+ lastread : number;
15101510 timeout: number;
15111511 tags: string[];
15121512}
@@ -1567,9 +1567,9 @@ <h3 id="methods">
15671567 ): ODataCacheEntry<T> {
15681568 return {
15691569 payload,
1570- lastRead : Date.now(),
1571- timeout: timeout || this.timeout,
1572- tags: tags || [],
1570+ lastread : Date.now(),
1571+ timeout: ( timeout ?? this.timeout) * 1000 ,
1572+ tags: tags ?? [],
15731573 };
15741574 }
15751575
@@ -1596,9 +1596,8 @@ <h3 id="methods">
15961596 { timeout, scope, tags }: { timeout?: number; scope?: string[]; tags?: string[] } = {},
15971597 ) {
15981598 const entry = this.buildEntry<T>(payload, { timeout, tags });
1599- const key = this.buildKey([...(scope || []), name]);
1599+ const key = this.buildKey([...(scope ?? []), name]);
16001600 this.entries.set(key, entry);
1601- this.forget();
16021601 }
16031602
16041603 /**
@@ -1610,7 +1609,9 @@ <h3 id="methods">
16101609 get<T>(name: string, { scope }: { scope?: string[] } = {}): T | undefined {
16111610 const key = this.buildKey([...(scope || []), name]);
16121611 const entry = this.entries.get(key);
1613- return entry !== undefined && !this.isExpired(entry) ? entry.payload : undefined;
1612+ if (entry === undefined || this.isExpired(entry)) return undefined;
1613+ entry.lastread = Date.now();
1614+ return entry.payload;
16141615 }
16151616
16161617 /**
@@ -1648,7 +1649,7 @@ <h3 id="methods">
16481649 * @returns Boolean indicating if the entry is expired
16491650 */
16501651 isExpired(entry: ODataCacheEntry<any>) {
1651- return entry.lastRead < Date.now() - ( entry.timeout || this.timeout) * 1000 ;
1652+ return entry.lastread < ( Date.now() - entry.timeout) ;
16521653 }
16531654
16541655 /**
0 commit comments