/* eslint-disable prefer-rest-params,unicorn/no-for-loop */ export function memoizeArg1 any>(getFn: () => T): T { const instances = new Map(); return function memoized(this: unknown, arg1: unknown) { if (!instances.has(arg1)) { instances.set(arg1, getFn()); } const fn = instances.get(arg1)!; return Reflect.apply(fn, this, arguments); } as T; }