Klimafaktoren Bug Gefixt

In dem Client Skript was sich die Klimfaktoren abholen sollte war noch eine alte Definition der getKlimafaktoren Funktion genutzt worden.
This commit is contained in:
Moritz Utcke
2025-09-14 14:02:37 -04:00
parent fe4b4fb53a
commit 4e54511fe0
8 changed files with 43 additions and 40 deletions

View File

@@ -1,18 +1,21 @@
type MemoizedFunction<T> = (...args: any[]) => T;
type MemoizedFunction<T extends (...args: any[]) => Promise<any> | any> = (...args: Parameters<T>) => Promise<ReturnType<T>> | ReturnType<T>;
export function memoize<T>(func: (...args: any[]) => T): MemoizedFunction<T> {
const cache = new Map<string, T>();
return (...args: any[]): T => {
export function memoize<T extends (...args: any[]) => Promise<any> | any>(func: T): MemoizedFunction<T> {
const cache = new Map<string, ReturnType<T>>();
return (...args: Parameters<T>): Promise<ReturnType<T>> | ReturnType<T> => {
const key = JSON.stringify(args);
if (cache.has(key)) {
return cache.get(key)!;
}
const result = func(...args);
cache.set(key, result);
return result;
if (result instanceof Promise) {
return result.then(resolved => {
return resolved;
});
} else {
cache.set(key, result);
return result;
}
};
}