diff --git a/src/logic/utils/cache-utils.ts b/src/logic/utils/cache-utils.ts index deb2af1..8aff3d5 100644 --- a/src/logic/utils/cache-utils.ts +++ b/src/logic/utils/cache-utils.ts @@ -2,4 +2,19 @@ export default class Cache { map: Map = new Map(); + + /** + * Get a cached value, or if not cached, cache it. + * + * @param name Name of the cached value + * @param callback Callback function + */ + public get(name: string, callback: () => any) + { + if (!this.map.has(name)) + { + this.map.set(name, callback()); + } + return this.map.get(name); + } }