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:
@@ -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;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user