summaryrefslogtreecommitdiff
path: root/packages/frontend/src/scripts/cache.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/scripts/cache.ts')
-rw-r--r--packages/frontend/src/scripts/cache.ts12
1 files changed, 6 insertions, 6 deletions
diff --git a/packages/frontend/src/scripts/cache.ts b/packages/frontend/src/scripts/cache.ts
index 858e5f03bf..a61d858353 100644
--- a/packages/frontend/src/scripts/cache.ts
+++ b/packages/frontend/src/scripts/cache.ts
@@ -1,7 +1,8 @@
+import { ref } from "vue";
export class Cache<T> {
private cachedAt: number | null = null;
- private value: T | undefined;
+ public value = ref<T | undefined>();
private lifetime: number;
constructor(lifetime: Cache<never>['lifetime']) {
@@ -10,21 +11,20 @@ export class Cache<T> {
public set(value: T): void {
this.cachedAt = Date.now();
- this.value = value;
+ this.value.value = value;
}
- public get(): T | undefined {
+ private get(): T | undefined {
if (this.cachedAt == null) return undefined;
if ((Date.now() - this.cachedAt) > this.lifetime) {
- this.value = undefined;
+ this.value.value = undefined;
this.cachedAt = null;
return undefined;
}
- return this.value;
+ return this.value.value;
}
public delete() {
- this.value = undefined;
this.cachedAt = null;
}