UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

1 lines 817 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,IAA2B;CAE7C,QAAQ,GAAG,SAAuC;EAChD,MAAM,MAAM,KAAK,UAAU,IAAI;EAC/B,IAAI,MAAM,IAAI,GAAG,GACf,OAAO,MAAM,IAAI,GAAG;EAGtB,MAAM,SAAS,KAAK,GAAG,IAAI;EAC3B,MAAM,IAAI,KAAK,MAAM;EACrB,OAAO;CACT;AACF"}