From eb66ee88351a93eb68c366cfbe30d35ed7c57b03 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 9 Jan 2023 10:29:23 +0100 Subject: Refactor table attributes --- server/helpers/decache.ts | 2 +- server/helpers/memoize.ts | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 server/helpers/memoize.ts (limited to 'server/helpers') diff --git a/server/helpers/decache.ts b/server/helpers/decache.ts index e31973b7a..08ab545e4 100644 --- a/server/helpers/decache.ts +++ b/server/helpers/decache.ts @@ -68,7 +68,7 @@ function searchCache (moduleName: string, callback: (current: NodeModule) => voi }; function removeCachedPath (pluginPath: string) { - const pathCache = (module.constructor as any)._pathCache + const pathCache = (module.constructor as any)._pathCache as { [ id: string ]: string[] } Object.keys(pathCache).forEach(function (cacheKey) { if (cacheKey.includes(pluginPath)) { diff --git a/server/helpers/memoize.ts b/server/helpers/memoize.ts new file mode 100644 index 000000000..aa20e7d73 --- /dev/null +++ b/server/helpers/memoize.ts @@ -0,0 +1,12 @@ +import memoizee from 'memoizee' + +export function Memoize (config?: memoizee.Options) { + return function (_target, _key, descriptor: PropertyDescriptor) { + const oldFunction = descriptor.value + const newFunction = memoizee(oldFunction, config) + + descriptor.value = function () { + return newFunction.apply(this, arguments) + } + } +} -- cgit v1.2.3