{"version":3,"file":"memoize.mjs","sources":["../../../../src/core/utils/memoize/memoize.ts"],"sourcesContent":["export function memoize<T extends (...args: any[]) => any>(\n  func: T\n): (...args: Parameters<T>) => ReturnType<T> {\n  const cache = new Map<string, ReturnType<T>>();\n\n  return (...args: Parameters<T>): ReturnType<T> => {\n    const key = JSON.stringify(args);\n    if (cache.has(key)) {\n      return cache.get(key) as ReturnType<T>;\n    }\n\n    const result = func(...args);\n    cache.set(key, result);\n    return result;\n  };\n}\n"],"names":[],"mappings":"AAAO,SAAS,QACd,IAC2C,EAAA;AAC3C,EAAM,MAAA,KAAA,uBAAY,GAA2B,EAAA;AAE7C,EAAA,OAAO,IAAI,IAAuC,KAAA;AAChD,IAAM,MAAA,GAAA,GAAM,IAAK,CAAA,SAAA,CAAU,IAAI,CAAA;AAC/B,IAAI,IAAA,KAAA,CAAM,GAAI,CAAA,GAAG,CAAG,EAAA;AAClB,MAAO,OAAA,KAAA,CAAM,IAAI,GAAG,CAAA;AAAA;AAGtB,IAAM,MAAA,MAAA,GAAS,IAAK,CAAA,GAAG,IAAI,CAAA;AAC3B,IAAM,KAAA,CAAA,GAAA,CAAI,KAAK,MAAM,CAAA;AACrB,IAAO,OAAA,MAAA;AAAA,GACT;AACF;;;;"}