UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

1 lines 808 B
{"version":3,"file":"memoize.cjs","names":[],"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"],"mappings":";;AAAA,SAAgB,QACd,MAC2C;CAC3C,MAAM,wBAAQ,IAAI,KAA4B;AAE9C,SAAQ,GAAG,SAAuC;EAChD,MAAM,MAAM,KAAK,UAAU,KAAK;AAChC,MAAI,MAAM,IAAI,IAAI,CAChB,QAAO,MAAM,IAAI,IAAI;EAGvB,MAAM,SAAS,KAAK,GAAG,KAAK;AAC5B,QAAM,IAAI,KAAK,OAAO;AACtB,SAAO"}