@chriscdn/memoize 1.0.8 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -191,8 +191,11 @@ describe("Errors", async () => {
191
191
  throw new Error("errorasync");
192
192
  });
193
193
 
194
- it("error sync", () => expect(() => errorSync()).toThrowError("errorsync"));
194
+ it("error sync", () => {
195
+ expect(() => errorSync()).toThrowError("errorsync");
196
+ });
195
197
 
196
- it("error async", () =>
197
- expect(errorASync()).rejects.toThrowError("errorasync"));
198
+ it("error async", () => {
199
+ expect(errorASync()).rejects.toThrowError("errorasync");
200
+ });
198
201
  });
package/lib/index.d.ts CHANGED
@@ -12,4 +12,11 @@ declare const Memoize: <Args extends unknown[], Return>(cb: (...args: Args) => R
12
12
  (...args: Args): Return;
13
13
  cache: QuickLRU<string, Return>;
14
14
  };
15
- export { Memoize, Memoize as MemoizeAsync };
15
+ /**
16
+ * @deprecated `Memoize` can be used for asynchronous functions.
17
+ */
18
+ declare const MemoizeAsync: <Args extends unknown[], Return>(cb: (...args: Args) => Return, options?: Partial<Options<Args, Return>>) => {
19
+ (...args: Args): Return;
20
+ cache: QuickLRU<string, Return>;
21
+ };
22
+ export { Memoize, MemoizeAsync };
package/lib/memoize.cjs CHANGED
@@ -1,2 +1,2 @@
1
- function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=/*#__PURE__*/e(require("quick-lru")),n=function(e,n){var t,u,i;void 0===n&&(n={});var l=null!=(t=n.maxSize)?t:1e3,a=null!=(u=n.shouldCache)?u:function(){return!0},o=null!=(i=n.resolver)?i:function(){return JSON.stringify([].slice.call(arguments))},c=new r.default({maxAge:n.maxAge,maxSize:l}),f=function(){var r=[].slice.call(arguments),n=o.apply(void 0,r);if(c.has(n))return c.get(n);var t=e.apply(void 0,r);return a(t,n)&&c.set(n,t),t};return f.cache=c,f};exports.Memoize=n,exports.MemoizeAsync=n;
1
+ function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=/*#__PURE__*/e(require("quick-lru")),n=function(e,n){var t,u,i;void 0===n&&(n={});var l=null!=(t=n.maxSize)?t:1e3,a=null!=(u=n.shouldCache)?u:function(){return!0},o=null!=(i=n.resolver)?i:function(){return JSON.stringify([].slice.call(arguments))},c=new r.default({maxAge:n.maxAge,maxSize:l}),f=function(){var r=[].slice.call(arguments),n=o.apply(void 0,r);if(c.has(n))return c.get(n);var t=e.apply(void 0,r);return a(t,n)&&c.set(n,t),t};return f.cache=c,f},t=n;exports.Memoize=n,exports.MemoizeAsync=t;
2
2
  //# sourceMappingURL=memoize.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"memoize.cjs","sources":["../src/index.ts"],"sourcesContent":["import QuickLRU from \"quick-lru\";\n\nconst kDefaultMaxSize = 1000;\n\ntype Options<T extends any[], Return> = {\n maxSize: number;\n maxAge?: number;\n shouldCache: (returnValue: Return, key: string) => boolean;\n resolver: (...args: T) => string;\n};\n\n/**\n * Memoize a synchronous function.\n */\nconst Memoize = <Args extends unknown[], Return>(\n cb: (...args: Args) => Return,\n options: Partial<Options<Args, Return>> = {},\n) => {\n const maxAge: number | undefined = options.maxAge;\n const maxSize = options.maxSize ?? kDefaultMaxSize;\n const shouldCache = options.shouldCache ?? (() => true);\n\n const resolver =\n options.resolver ?? ((...args: Args) => JSON.stringify(args));\n\n const cache = new QuickLRU<string, Return>({\n maxAge,\n maxSize,\n });\n\n const memoizedFunction = (...args: Args): Return => {\n const key = resolver(...args);\n\n if (cache.has(key)) {\n return cache.get(key);\n } else {\n const returnValue = cb(...args);\n if (shouldCache(returnValue, key)) {\n cache.set(key, returnValue);\n }\n return returnValue;\n }\n };\n\n memoizedFunction.cache = cache;\n\n return memoizedFunction;\n};\n\nexport { Memoize, Memoize as MemoizeAsync };\n"],"names":["Memoize","cb","options","_options$maxSize","_options$shouldCache","_options$resolver","maxSize","shouldCache","resolver","JSON","stringify","slice","call","arguments","cache","QuickLRU","maxAge","memoizedFunction","args","key","apply","has","get","returnValue","set"],"mappings":"mHAcMA,EAAU,SACdC,EACAC,GACE,IAAAC,EAAAC,EAAAC,OADFH,IAAAA,IAAAA,EAA0C,CAAA,GAE1C,IACMI,SAAOH,EAAGD,EAAQI,SAAOH,EAjBT,IAkBhBI,SAAWH,EAAGF,EAAQK,aAAWH,EAAK,WAAM,OAAA,CAAI,EAEhDI,EACY,OADJH,EACZH,EAAQM,UAAQH,EAAK,WAAmB,OAAAI,KAAKC,UAASC,GAAAA,MAAAC,KAAAC,WAAM,EAExDC,EAAQ,IAAIC,EAAQ,QAAiB,CACzCC,OARiCd,EAAQc,OASzCV,QAAAA,IAGIW,EAAmB,WAAI,IAAAC,EAAUP,GAAAA,MAAAC,KAAAC,WAC/BM,EAAMX,EAAQY,WAAIF,EAAAA,GAExB,GAAIJ,EAAMO,IAAIF,GACZ,OAAOL,EAAMQ,IAAIH,GAEjB,IAAMI,EAActB,EAAEmB,WAAIF,EAAAA,GAI1B,OAHIX,EAAYgB,EAAaJ,IAC3BL,EAAMU,IAAIL,EAAKI,GAEVA,CAEX,EAIA,OAFAN,EAAiBH,MAAQA,EAElBG,CACT"}
1
+ {"version":3,"file":"memoize.cjs","sources":["../src/index.ts"],"sourcesContent":["import QuickLRU from \"quick-lru\";\n\nconst kDefaultMaxSize = 1000;\n\ntype Options<T extends any[], Return> = {\n maxSize: number;\n maxAge?: number;\n shouldCache: (returnValue: Return, key: string) => boolean;\n resolver: (...args: T) => string;\n};\n\n/**\n * Memoize a synchronous function.\n */\nconst Memoize = <Args extends unknown[], Return>(\n cb: (...args: Args) => Return,\n options: Partial<Options<Args, Return>> = {},\n) => {\n const maxAge: number | undefined = options.maxAge;\n const maxSize = options.maxSize ?? kDefaultMaxSize;\n const shouldCache = options.shouldCache ?? (() => true);\n\n const resolver = options.resolver ??\n ((...args: Args) => JSON.stringify(args));\n\n const cache = new QuickLRU<string, Return>({\n maxAge,\n maxSize,\n });\n\n const memoizedFunction = (...args: Args): Return => {\n const key = resolver(...args);\n\n if (cache.has(key)) {\n return cache.get(key) as Return;\n } else {\n const returnValue = cb(...args);\n if (shouldCache(returnValue, key)) {\n cache.set(key, returnValue);\n }\n return returnValue;\n }\n };\n\n memoizedFunction.cache = cache;\n\n return memoizedFunction;\n};\n\n/**\n * @deprecated `Memoize` can be used for asynchronous functions.\n */\nconst MemoizeAsync = Memoize;\n\nexport { Memoize, MemoizeAsync };\n"],"names":["Memoize","cb","options","_options$maxSize","_options$shouldCache","_options$resolver","maxSize","shouldCache","resolver","JSON","stringify","slice","call","arguments","cache","QuickLRU","maxAge","memoizedFunction","args","key","apply","has","get","returnValue","set","MemoizeAsync"],"mappings":"mHAcMA,EAAU,SACdC,EACAC,GACE,IAAAC,EAAAC,EAAAC,OADFH,IAAAA,IAAAA,EAA0C,CAAE,GAE5C,IACMI,EAAyB,OAAlBH,EAAGD,EAAQI,SAAOH,EAjBT,IAkBhBI,EAAiC,OAAtBH,EAAGF,EAAQK,aAAWH,EAAK,WAAA,OAAU,CAAA,EAEhDI,SAAQH,EAAGH,EAAQM,UAAQH,EAC9B,WAAmB,OAAAI,KAAKC,UAASC,GAAAA,MAAAC,KAAAC,WAAM,EAEpCC,EAAQ,IAAIC,EAAQ,QAAiB,CACzCC,OARiCd,EAAQc,OASzCV,QAAAA,IAGIW,EAAmB,WAAI,IAAAC,EAAU,GAAAP,MAAAC,KAAAC,WAC/BM,EAAMX,EAAQY,WAAA,EAAIF,GAExB,GAAIJ,EAAMO,IAAIF,GACZ,OAAOL,EAAMQ,IAAIH,GAEjB,IAAMI,EAActB,EAAEmB,WAAIF,EAAAA,GAI1B,OAHIX,EAAYgB,EAAaJ,IAC3BL,EAAMU,IAAIL,EAAKI,GAEVA,CAEX,EAIA,OAFAN,EAAiBH,MAAQA,EAElBG,CACT,EAKMQ,EAAezB"}
@@ -1,2 +1,2 @@
1
- import e from"quick-lru";const r=(r,n={})=>{var t,s,o;const a=null!=(t=n.maxSize)?t:1e3,c=null!=(s=n.shouldCache)?s:()=>!0,l=null!=(o=n.resolver)?o:(...e)=>JSON.stringify(e),u=new e({maxAge:n.maxAge,maxSize:a}),i=(...e)=>{const n=l(...e);if(u.has(n))return u.get(n);{const t=r(...e);return c(t,n)&&u.set(n,t),t}};return i.cache=u,i};export{r as Memoize,r as MemoizeAsync};
1
+ import e from"quick-lru";const r=(r,n={})=>{var t,l,o;const s=null!=(t=n.maxSize)?t:1e3,u=null!=(l=n.shouldCache)?l:()=>!0,a=null!=(o=n.resolver)?o:(...e)=>JSON.stringify(e),c=new e({maxAge:n.maxAge,maxSize:s}),i=(...e)=>{const n=a(...e);if(c.has(n))return c.get(n);{const t=r(...e);return u(t,n)&&c.set(n,t),t}};return i.cache=c,i},n=r;export{r as Memoize,n as MemoizeAsync};
2
2
  //# sourceMappingURL=memoize.modern.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memoize.modern.js","sources":["../src/index.ts"],"sourcesContent":["import QuickLRU from \"quick-lru\";\n\nconst kDefaultMaxSize = 1000;\n\ntype Options<T extends any[], Return> = {\n maxSize: number;\n maxAge?: number;\n shouldCache: (returnValue: Return, key: string) => boolean;\n resolver: (...args: T) => string;\n};\n\n/**\n * Memoize a synchronous function.\n */\nconst Memoize = <Args extends unknown[], Return>(\n cb: (...args: Args) => Return,\n options: Partial<Options<Args, Return>> = {},\n) => {\n const maxAge: number | undefined = options.maxAge;\n const maxSize = options.maxSize ?? kDefaultMaxSize;\n const shouldCache = options.shouldCache ?? (() => true);\n\n const resolver =\n options.resolver ?? ((...args: Args) => JSON.stringify(args));\n\n const cache = new QuickLRU<string, Return>({\n maxAge,\n maxSize,\n });\n\n const memoizedFunction = (...args: Args): Return => {\n const key = resolver(...args);\n\n if (cache.has(key)) {\n return cache.get(key);\n } else {\n const returnValue = cb(...args);\n if (shouldCache(returnValue, key)) {\n cache.set(key, returnValue);\n }\n return returnValue;\n }\n };\n\n memoizedFunction.cache = cache;\n\n return memoizedFunction;\n};\n\nexport { Memoize, Memoize as MemoizeAsync };\n"],"names":["Memoize","cb","options","_options$maxSize","_options$shouldCache","_options$resolver","maxSize","shouldCache","resolver","args","JSON","stringify","cache","QuickLRU","maxAge","memoizedFunction","key","has","get","returnValue","set"],"mappings":"yBAEA,MAYMA,EAAUA,CACdC,EACAC,EAA0C,CAAE,KAC1CC,IAAAA,EAAAC,EAAAC,EACF,MACMC,SAAOH,EAAGD,EAAQI,SAAOH,EAjBT,IAkBhBI,EAAiC,OAAtBH,EAAGF,EAAQK,aAAWH,EAAK,KAAM,EAE5CI,EACYH,OADJA,EACZH,EAAQM,UAAQH,EAAK,IAAII,IAAeC,KAAKC,UAAUF,GAEnDG,EAAQ,IAAIC,EAAyB,CACzCC,OARiCZ,EAAQY,OASzCR,YAGIS,EAAmBA,IAAIN,KAC3B,MAAMO,EAAMR,KAAYC,GAExB,GAAIG,EAAMK,IAAID,GACZ,OAAOJ,EAAMM,IAAIF,GACZ,CACL,MAAMG,EAAclB,KAAMQ,GAI1B,OAHIF,EAAYY,EAAaH,IAC3BJ,EAAMQ,IAAIJ,EAAKG,GAEVA,CACR,GAKH,OAFAJ,EAAiBH,MAAQA,EAElBG"}
1
+ {"version":3,"file":"memoize.modern.js","sources":["../src/index.ts"],"sourcesContent":["import QuickLRU from \"quick-lru\";\n\nconst kDefaultMaxSize = 1000;\n\ntype Options<T extends any[], Return> = {\n maxSize: number;\n maxAge?: number;\n shouldCache: (returnValue: Return, key: string) => boolean;\n resolver: (...args: T) => string;\n};\n\n/**\n * Memoize a synchronous function.\n */\nconst Memoize = <Args extends unknown[], Return>(\n cb: (...args: Args) => Return,\n options: Partial<Options<Args, Return>> = {},\n) => {\n const maxAge: number | undefined = options.maxAge;\n const maxSize = options.maxSize ?? kDefaultMaxSize;\n const shouldCache = options.shouldCache ?? (() => true);\n\n const resolver = options.resolver ??\n ((...args: Args) => JSON.stringify(args));\n\n const cache = new QuickLRU<string, Return>({\n maxAge,\n maxSize,\n });\n\n const memoizedFunction = (...args: Args): Return => {\n const key = resolver(...args);\n\n if (cache.has(key)) {\n return cache.get(key) as Return;\n } else {\n const returnValue = cb(...args);\n if (shouldCache(returnValue, key)) {\n cache.set(key, returnValue);\n }\n return returnValue;\n }\n };\n\n memoizedFunction.cache = cache;\n\n return memoizedFunction;\n};\n\n/**\n * @deprecated `Memoize` can be used for asynchronous functions.\n */\nconst MemoizeAsync = Memoize;\n\nexport { Memoize, MemoizeAsync };\n"],"names":["Memoize","cb","options","_options$maxSize","_options$shouldCache","_options$resolver","maxSize","shouldCache","resolver","args","JSON","stringify","cache","QuickLRU","maxAge","memoizedFunction","key","has","get","returnValue","set","MemoizeAsync"],"mappings":"yBAEA,MAYMA,EAAUA,CACdC,EACAC,EAA0C,CAAE,SAC1CC,EAAAC,EAAAC,EACF,MACMC,EAAyB,OAAlBH,EAAGD,EAAQI,SAAOH,EAjBT,IAkBhBI,EAAiCH,OAAtBA,EAAGF,EAAQK,aAAWH,EAAK,KAAM,EAE5CI,SAAQH,EAAGH,EAAQM,UAAQH,EAC9B,IAAII,IAAeC,KAAKC,UAAUF,GAE/BG,EAAQ,IAAIC,EAAyB,CACzCC,OARiCZ,EAAQY,OASzCR,YAGIS,EAAmBA,IAAIN,KAC3B,MAAMO,EAAMR,KAAYC,GAExB,GAAIG,EAAMK,IAAID,GACZ,OAAOJ,EAAMM,IAAIF,GACZ,CACL,MAAMG,EAAclB,KAAMQ,GAI1B,OAHIF,EAAYY,EAAaH,IAC3BJ,EAAMQ,IAAIJ,EAAKG,GAEVA,CACR,GAKH,OAFAJ,EAAiBH,MAAQA,EAElBG,GAMHM,EAAerB"}
@@ -1,2 +1,2 @@
1
- import e from"quick-lru";var r=function(r,n){var a,i,l;void 0===n&&(n={});var u=null!=(a=n.maxSize)?a:1e3,t=null!=(i=n.shouldCache)?i:function(){return!0},c=null!=(l=n.resolver)?l:function(){return JSON.stringify([].slice.call(arguments))},o=new e({maxAge:n.maxAge,maxSize:u}),s=function(){var e=[].slice.call(arguments),n=c.apply(void 0,e);if(o.has(n))return o.get(n);var a=r.apply(void 0,e);return t(a,n)&&o.set(n,a),a};return s.cache=o,s};export{r as Memoize,r as MemoizeAsync};
1
+ import r from"quick-lru";var e=function(e,n){var l,a,i;void 0===n&&(n={});var u=null!=(l=n.maxSize)?l:1e3,t=null!=(a=n.shouldCache)?a:function(){return!0},c=null!=(i=n.resolver)?i:function(){return JSON.stringify([].slice.call(arguments))},o=new r({maxAge:n.maxAge,maxSize:u}),v=function(){var r=[].slice.call(arguments),n=c.apply(void 0,r);if(o.has(n))return o.get(n);var l=e.apply(void 0,r);return t(l,n)&&o.set(n,l),l};return v.cache=o,v},n=e;export{e as Memoize,n as MemoizeAsync};
2
2
  //# sourceMappingURL=memoize.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memoize.module.js","sources":["../src/index.ts"],"sourcesContent":["import QuickLRU from \"quick-lru\";\n\nconst kDefaultMaxSize = 1000;\n\ntype Options<T extends any[], Return> = {\n maxSize: number;\n maxAge?: number;\n shouldCache: (returnValue: Return, key: string) => boolean;\n resolver: (...args: T) => string;\n};\n\n/**\n * Memoize a synchronous function.\n */\nconst Memoize = <Args extends unknown[], Return>(\n cb: (...args: Args) => Return,\n options: Partial<Options<Args, Return>> = {},\n) => {\n const maxAge: number | undefined = options.maxAge;\n const maxSize = options.maxSize ?? kDefaultMaxSize;\n const shouldCache = options.shouldCache ?? (() => true);\n\n const resolver =\n options.resolver ?? ((...args: Args) => JSON.stringify(args));\n\n const cache = new QuickLRU<string, Return>({\n maxAge,\n maxSize,\n });\n\n const memoizedFunction = (...args: Args): Return => {\n const key = resolver(...args);\n\n if (cache.has(key)) {\n return cache.get(key);\n } else {\n const returnValue = cb(...args);\n if (shouldCache(returnValue, key)) {\n cache.set(key, returnValue);\n }\n return returnValue;\n }\n };\n\n memoizedFunction.cache = cache;\n\n return memoizedFunction;\n};\n\nexport { Memoize, Memoize as MemoizeAsync };\n"],"names":["Memoize","cb","options","_options$maxSize","_options$shouldCache","_options$resolver","maxSize","shouldCache","resolver","JSON","stringify","slice","call","arguments","cache","QuickLRU","maxAge","memoizedFunction","args","key","apply","has","get","returnValue","set"],"mappings":"yBAEA,IAYMA,EAAU,SACdC,EACAC,GACE,IAAAC,EAAAC,EAAAC,OADFH,IAAAA,IAAAA,EAA0C,CAAA,GAE1C,IACMI,SAAOH,EAAGD,EAAQI,SAAOH,EAjBT,IAkBhBI,SAAWH,EAAGF,EAAQK,aAAWH,EAAK,WAAM,OAAA,CAAI,EAEhDI,EACY,OADJH,EACZH,EAAQM,UAAQH,EAAK,WAAmB,OAAAI,KAAKC,UAASC,GAAAA,MAAAC,KAAAC,WAAM,EAExDC,EAAQ,IAAIC,EAAyB,CACzCC,OARiCd,EAAQc,OASzCV,QAAAA,IAGIW,EAAmB,WAAI,IAAAC,EAAUP,GAAAA,MAAAC,KAAAC,WAC/BM,EAAMX,EAAQY,WAAIF,EAAAA,GAExB,GAAIJ,EAAMO,IAAIF,GACZ,OAAOL,EAAMQ,IAAIH,GAEjB,IAAMI,EAActB,EAAEmB,WAAIF,EAAAA,GAI1B,OAHIX,EAAYgB,EAAaJ,IAC3BL,EAAMU,IAAIL,EAAKI,GAEVA,CAEX,EAIA,OAFAN,EAAiBH,MAAQA,EAElBG,CACT"}
1
+ {"version":3,"file":"memoize.module.js","sources":["../src/index.ts"],"sourcesContent":["import QuickLRU from \"quick-lru\";\n\nconst kDefaultMaxSize = 1000;\n\ntype Options<T extends any[], Return> = {\n maxSize: number;\n maxAge?: number;\n shouldCache: (returnValue: Return, key: string) => boolean;\n resolver: (...args: T) => string;\n};\n\n/**\n * Memoize a synchronous function.\n */\nconst Memoize = <Args extends unknown[], Return>(\n cb: (...args: Args) => Return,\n options: Partial<Options<Args, Return>> = {},\n) => {\n const maxAge: number | undefined = options.maxAge;\n const maxSize = options.maxSize ?? kDefaultMaxSize;\n const shouldCache = options.shouldCache ?? (() => true);\n\n const resolver = options.resolver ??\n ((...args: Args) => JSON.stringify(args));\n\n const cache = new QuickLRU<string, Return>({\n maxAge,\n maxSize,\n });\n\n const memoizedFunction = (...args: Args): Return => {\n const key = resolver(...args);\n\n if (cache.has(key)) {\n return cache.get(key) as Return;\n } else {\n const returnValue = cb(...args);\n if (shouldCache(returnValue, key)) {\n cache.set(key, returnValue);\n }\n return returnValue;\n }\n };\n\n memoizedFunction.cache = cache;\n\n return memoizedFunction;\n};\n\n/**\n * @deprecated `Memoize` can be used for asynchronous functions.\n */\nconst MemoizeAsync = Memoize;\n\nexport { Memoize, MemoizeAsync };\n"],"names":["Memoize","cb","options","_options$maxSize","_options$shouldCache","_options$resolver","maxSize","shouldCache","resolver","JSON","stringify","slice","call","arguments","cache","QuickLRU","maxAge","memoizedFunction","args","key","apply","has","get","returnValue","set","MemoizeAsync"],"mappings":"yBAEA,IAYMA,EAAU,SACdC,EACAC,GACE,IAAAC,EAAAC,EAAAC,OADFH,IAAAA,IAAAA,EAA0C,CAAE,GAE5C,IACMI,EAAyB,OAAlBH,EAAGD,EAAQI,SAAOH,EAjBT,IAkBhBI,EAAiC,OAAtBH,EAAGF,EAAQK,aAAWH,EAAK,WAAA,OAAU,CAAA,EAEhDI,SAAQH,EAAGH,EAAQM,UAAQH,EAC9B,WAAmB,OAAAI,KAAKC,UAASC,GAAAA,MAAAC,KAAAC,WAAM,EAEpCC,EAAQ,IAAIC,EAAyB,CACzCC,OARiCd,EAAQc,OASzCV,QAAAA,IAGIW,EAAmB,WAAI,IAAAC,EAAU,GAAAP,MAAAC,KAAAC,WAC/BM,EAAMX,EAAQY,WAAA,EAAIF,GAExB,GAAIJ,EAAMO,IAAIF,GACZ,OAAOL,EAAMQ,IAAIH,GAEjB,IAAMI,EAActB,EAAEmB,WAAIF,EAAAA,GAI1B,OAHIX,EAAYgB,EAAaJ,IAC3BL,EAAMU,IAAIL,EAAKI,GAEVA,CAEX,EAIA,OAFAN,EAAiBH,MAAQA,EAElBG,CACT,EAKMQ,EAAezB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chriscdn/memoize",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "description": "Memoize a synchronous or asynchronous function.",
5
5
  "repository": "https://github.com/chriscdn/memoize",
6
6
  "author": "Christopher Meyer <chris@schwiiz.org>",
@@ -22,10 +22,10 @@
22
22
  "test": "vitest"
23
23
  },
24
24
  "dependencies": {
25
- "quick-lru": "^7.0.0"
25
+ "quick-lru": "^7.0.1"
26
26
  },
27
27
  "devDependencies": {
28
28
  "microbundle": "^0.15.1",
29
- "vitest": "^3.0.9"
29
+ "vitest": "^3.1.2"
30
30
  }
31
31
  }
package/src/index.ts CHANGED
@@ -20,8 +20,8 @@ const Memoize = <Args extends unknown[], Return>(
20
20
  const maxSize = options.maxSize ?? kDefaultMaxSize;
21
21
  const shouldCache = options.shouldCache ?? (() => true);
22
22
 
23
- const resolver =
24
- options.resolver ?? ((...args: Args) => JSON.stringify(args));
23
+ const resolver = options.resolver ??
24
+ ((...args: Args) => JSON.stringify(args));
25
25
 
26
26
  const cache = new QuickLRU<string, Return>({
27
27
  maxAge,
@@ -32,7 +32,7 @@ const Memoize = <Args extends unknown[], Return>(
32
32
  const key = resolver(...args);
33
33
 
34
34
  if (cache.has(key)) {
35
- return cache.get(key);
35
+ return cache.get(key) as Return;
36
36
  } else {
37
37
  const returnValue = cb(...args);
38
38
  if (shouldCache(returnValue, key)) {
package/tsconfig.json DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "types": ["vitest/importMeta"]
4
- }
5
- }