@medusajs/caching 2.10.4-preview-20250930180200

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.
Files changed (42) hide show
  1. package/dist/index.d.ts +7 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +14 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/loaders/hash.d.ts +5 -0
  6. package/dist/loaders/hash.d.ts.map +1 -0
  7. package/dist/loaders/hash.js +9 -0
  8. package/dist/loaders/hash.js.map +1 -0
  9. package/dist/loaders/providers.d.ts +5 -0
  10. package/dist/loaders/providers.d.ts.map +1 -0
  11. package/dist/loaders/providers.js +57 -0
  12. package/dist/loaders/providers.js.map +1 -0
  13. package/dist/providers/memory-cache.d.ts +53 -0
  14. package/dist/providers/memory-cache.d.ts.map +1 -0
  15. package/dist/providers/memory-cache.js +158 -0
  16. package/dist/providers/memory-cache.js.map +1 -0
  17. package/dist/services/cache-module.d.ts +90 -0
  18. package/dist/services/cache-module.d.ts.map +1 -0
  19. package/dist/services/cache-module.js +204 -0
  20. package/dist/services/cache-module.js.map +1 -0
  21. package/dist/services/cache-provider.d.ts +13 -0
  22. package/dist/services/cache-provider.d.ts.map +1 -0
  23. package/dist/services/cache-provider.js +53 -0
  24. package/dist/services/cache-provider.js.map +1 -0
  25. package/dist/services/index.d.ts +3 -0
  26. package/dist/services/index.d.ts.map +1 -0
  27. package/dist/services/index.js +11 -0
  28. package/dist/services/index.js.map +1 -0
  29. package/dist/tsconfig.tsbuildinfo +1 -0
  30. package/dist/types/index.d.ts +45 -0
  31. package/dist/types/index.d.ts.map +1 -0
  32. package/dist/types/index.js +8 -0
  33. package/dist/types/index.js.map +1 -0
  34. package/dist/utils/parser.d.ts +44 -0
  35. package/dist/utils/parser.d.ts.map +1 -0
  36. package/dist/utils/parser.js +161 -0
  37. package/dist/utils/parser.js.map +1 -0
  38. package/dist/utils/strategy.d.ts +17 -0
  39. package/dist/utils/strategy.d.ts.map +1 -0
  40. package/dist/utils/strategy.js +98 -0
  41. package/dist/utils/strategy.js.map +1 -0
  42. package/package.json +49 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-module.js","sourceRoot":"","sources":["../../src/services/cache-module.ts"],"names":[],"mappings":";;AAAA,iEAA8D;AAM9D,qDAAqE;AACrE,mCAAqE;AAGrE,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,CAAA;AAElC,MAAqB,oBAAoB;IAgCvC,YACE,SAA+B,EACZ,iBAEC;QAFD,sBAAiB,GAAjB,iBAAiB,CAEhB;QA5BZ,oBAAe,GAA8B,IAAI,GAAG,EAAE,CAAA;QAgDhE,YAAO,GAAG;YACR,kBAAkB,EAAE,KAAK,IAAI,EAAE;gBAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAA;YAC3B,CAAC;YACD,qBAAqB,EAAE,KAAK,IAAI,EAAE;gBAChC,IAAI,CAAC,qBAAqB,EAAE,CAAA;YAC9B,CAAC;YACD,4BAA4B,EAAE,KAAK,IAAI,EAAE;gBACvC,IAAI,CAAC,4BAA4B,EAAE,CAAA;YACrC,CAAC;SACF,CAAA;QA5BC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,oBAAoB,CAAA;QACrD,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,+BAAsB,CAAC,CAAA;QAC1D,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,QAER,CAAA;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAE1D,MAAM,aAAa,GACjB,SAAS,IAAI,iBAAiB;YAC5B,CAAC,CAAC,iBAAiB,CAAC,OAAO;YAC3B,CAAC,CAAC,iBAAiB,CAAA;QAEvB,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,IAAI,kBAAkB,CAAA;QAElD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,IAAK,OAA6B,CAAA;IAClE,CAAC;IAcS,kBAAkB;QAC1B,MAAM,YAAY,GAAG,0BAAY,CAAC,mBAAmB,EAAE;aACpD,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE,CAAC;aACjD,IAAI,CAAC,IAAI,CAAC,CAAA;QAEb,MAAM,mBAAmB,GAAG;;;;GAI7B,CAAA;QAEC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,oBAAY,CAAC,kBAAkB,CAC/D,mBAAmB,GAAG,YAAY,CACnC,CAAA;QACD,MAAM,YAAY,GAAG,oBAAY,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;QAC9D,MAAM,MAAM,GAAG,oBAAY,CAAC,oBAAoB,CAAC;YAC/C,QAAQ,EAAE,YAAY;SACvB,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAChC,MAAM,EACN,0BAAY,CAAC,mBAAmB,EAAE,CACnC,CAAA;IACH,CAAC;IAES,qBAAqB;QAC7B,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,EAAE,CAAA;IACzC,CAAC;IAES,4BAA4B;QACpC,IAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE,EAAE,CAAA;IAChD,CAAC;IAES,MAAM,CAAC,kBAAkB,CACjC,SAAoD;QAEpD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QACrE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YACjC,OAAO,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;QACnE,CAAC,CAAC,CAAA;IACJ,CAAC;IAES,aAAa,CACrB,GAAY,EACZ,IAAe,EACf,SAAoB;QAEpB,MAAM,OAAO,GAAG,GAAG,IAAI,EAAE,CAAA;QACzB,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QAC7C,MAAM,aAAa,GAAG,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAA;QACpE,OAAO,GAAG,OAAO,IAAI,QAAQ,IAAI,aAAa,EAAE,CAAA;IAClD,CAAC;IAES,kBAAkB,CAC1B,GAAY,EACZ,IAAe,EACf,SAAoB;QAEpB,MAAM,OAAO,GAAG,GAAG,IAAI,EAAE,CAAA;QACzB,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QAC7C,MAAM,aAAa,GAAG,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAA;QACpE,OAAO,SAAS,OAAO,IAAI,QAAQ,IAAI,aAAa,EAAE,CAAA;IACxD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAgE;QACxE,IAAI,oBAAoB,CAAC,QAAQ,EAAE,CAAC;YAClC,OAAO,MAAM,oBAAoB,CAAC,QAAQ,CACxC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EACxB,OAAO,CAAC,GAAG,IAAI,EAAE,EACjB,OAAO,CAAC,IAAI,IAAI,EAAE,CACnB,CAAA;QACH,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,EACjB,GAAG,EACH,IAAI,EACJ,SAAS,GAKV;QACC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,mBAAW,CACnB,mBAAW,CAAC,KAAK,CAAC,gBAAgB,EAClC,qCAAqC,CACtC,CAAA;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;QAE3D,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC5D,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,MAAM,eAAe,CAAA;QAC9B,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;QACjE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;QAEpD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAA;YACnC,OAAO,MAAM,CAAA;QACf,CAAC;gBAAS,CAAC;YACT,iCAAiC;YACjC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IAES,KAAK,CAAC,eAAe,CAC7B,GAAY,EACZ,IAAe,EACf,SAAoB;QAEpB,MAAM,gBAAgB,GAAG,SAAS,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAE9D,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;gBACnE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;gBAEjD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACnB,OAAO,MAAM,CAAA;gBACf,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,kBAAkB,UAAU,YAAY,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,KAAK,EAAE,CACxE,CAAA;gBACD,SAAQ;YACV,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAOT;QACC,IAAI,oBAAoB,CAAC,QAAQ,EAAE,CAAC;YAClC,OAAO,MAAM,oBAAoB,CAAC,QAAQ,CACxC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EACxB,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,IAAI,IAAI,EAAE,EAClB,OAAO,CAAC,OAAO,IAAI,EAAE,CACtB,CAAA;QACH,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,EACjB,GAAG,EACH,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,SAAS,EACT,OAAO,GAUR;QACC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,mBAAW,CACnB,mBAAW,CAAC,KAAK,CAAC,gBAAgB,EAClC,6CAA6C,CAC9C,CAAA;QACH,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAA;QAChB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;QAE7D,IAAI,UAAU,GAA8C;YAC1D,IAAI,CAAC,iBAAiB;SACvB,CAAA;QACD,UAAU,GAAG,oBAAoB,CAAC,kBAAkB,CAClD,SAAS,IAAI,UAAU,CACxB,CAAA;QAED,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;QAE/D,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC5D,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,MAAM,eAAe,CAAA;QAC9B,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CACzC,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,GAAG,EACH,UAAU,EACV,OAAO,CACR,CAAA;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;QAEpD,IAAI,CAAC;YACH,MAAM,cAAc,CAAA;QACtB,CAAC;gBAAS,CAAC;YACT,iCAAiC;YACjC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IAES,KAAK,CAAC,eAAe,CAC7B,GAAW,EACX,IAAc,EACd,IAAY,EACZ,GAAY,EACZ,SAA0C,EAC1C,OAEC;QAED,KAAK,MAAM,eAAe,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAA;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;YAC1E,KAAK,QAAQ,CAAC,GAAG,CAAC;gBAChB,GAAG;gBACH,IAAI;gBACJ,IAAI;gBACJ,GAAG,EAAE,IAAI;gBACT,OAAO;aACR,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAKX;QACC,IAAI,oBAAoB,CAAC,UAAU,EAAE,CAAC;YACpC,OAAO,MAAM,oBAAoB,CAAC,UAAU,CAC1C,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAC1B,OAAO,CAAC,GAAG,IAAI,EAAE,EACjB,OAAO,CAAC,IAAI,IAAI,EAAE,EAClB,OAAO,CAAC,OAAO,IAAI,EAAE,CACtB,CAAA;QACH,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACnC,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,EACnB,GAAG,EACH,IAAI,EACJ,OAAO,EACP,SAAS,GAQV;QACC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,mBAAW,CACnB,mBAAW,CAAC,KAAK,CAAC,gBAAgB,EAClC,qCAAqC,CACtC,CAAA;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;QAEhE,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC5D,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,MAAM,eAAe,CAAA;QAC9B,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;QAC5E,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;QAEpD,IAAI,CAAC;YACH,MAAM,cAAc,CAAA;QACtB,CAAC;gBAAS,CAAC;YACT,iCAAiC;YACjC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IAES,KAAK,CAAC,iBAAiB,CAC/B,GAAY,EACZ,IAAe,EACf,OAEC,EACD,SAAoB;QAEpB,IAAI,YAAY,GAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QACrD,IAAI,SAAS,EAAE,CAAC;YACd,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QACnE,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;YAClE,KAAK,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa;QAC5B,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,WAAW,CACf,KAAa,EACb,OAA6B;QAE7B,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACxD,CAAC;CACF;AAzYD,uCAyYC"}
@@ -0,0 +1,13 @@
1
+ import { Constructor, ICachingProviderService, Logger } from "@medusajs/framework/types";
2
+ type InjectedDependencies = {
3
+ [key: `cp_${string}`]: ICachingProviderService;
4
+ logger?: Logger;
5
+ };
6
+ export default class CacheProviderService {
7
+ #private;
8
+ constructor(container: InjectedDependencies);
9
+ static getRegistrationIdentifier(providerClass: Constructor<ICachingProviderService>): string;
10
+ retrieveProvider(providerId: string): ICachingProviderService;
11
+ }
12
+ export {};
13
+ //# sourceMappingURL=cache-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-provider.d.ts","sourceRoot":"","sources":["../../src/services/cache-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,MAAM,EACP,MAAM,2BAA2B,CAAA;AAIlC,KAAK,oBAAoB,GAAG;IAC1B,CAAC,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,uBAAuB,CAAA;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,oBAAoB;;gBAI3B,SAAS,EAAE,oBAAoB;IAO3C,MAAM,CAAC,yBAAyB,CAC9B,aAAa,EAAE,WAAW,CAAC,uBAAuB,CAAC;IAW9C,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,uBAAuB;CAuBrE"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _CacheProviderService_container, _CacheProviderService_logger;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const utils_1 = require("@medusajs/framework/utils");
16
+ const types_1 = require("../types");
17
+ class CacheProviderService {
18
+ constructor(container) {
19
+ _CacheProviderService_container.set(this, void 0);
20
+ _CacheProviderService_logger.set(this, void 0);
21
+ __classPrivateFieldSet(this, _CacheProviderService_container, container, "f");
22
+ __classPrivateFieldSet(this, _CacheProviderService_logger, container["logger"]
23
+ ? container.logger
24
+ : console, "f");
25
+ }
26
+ static getRegistrationIdentifier(providerClass) {
27
+ if (!providerClass.identifier) {
28
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_ARGUMENT, `Trying to register a caching provider without an identifier.`);
29
+ }
30
+ return `${providerClass.identifier}`;
31
+ }
32
+ retrieveProvider(providerId) {
33
+ try {
34
+ return __classPrivateFieldGet(this, _CacheProviderService_container, "f")[`${types_1.CachingProviderRegistrationPrefix}${providerId}`];
35
+ }
36
+ catch (err) {
37
+ if (err.name === "AwilixResolutionError") {
38
+ const errMessage = `
39
+ Unable to retrieve the caching provider with id: ${providerId}
40
+ Please make sure that the provider is registered in the container and it is configured correctly in your project configuration file.`;
41
+ // Log full error for debugging
42
+ __classPrivateFieldGet(this, _CacheProviderService_logger, "f").error(`AwilixResolutionError: ${err.message}`, err);
43
+ throw new Error(errMessage);
44
+ }
45
+ const errMessage = `Unable to retrieve the caching provider with id: ${providerId}, the following error occurred: ${err.message}`;
46
+ __classPrivateFieldGet(this, _CacheProviderService_logger, "f").error(errMessage);
47
+ throw new Error(errMessage);
48
+ }
49
+ }
50
+ }
51
+ _CacheProviderService_container = new WeakMap(), _CacheProviderService_logger = new WeakMap();
52
+ exports.default = CacheProviderService;
53
+ //# sourceMappingURL=cache-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-provider.js","sourceRoot":"","sources":["../../src/services/cache-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,qDAAuD;AACvD,oCAA4D;AAO5D,MAAqB,oBAAoB;IAIvC,YAAY,SAA+B;QAH3C,kDAAgC;QAChC,+CAAe;QAGb,uBAAA,IAAI,mCAAc,SAAS,MAAA,CAAA;QAC3B,uBAAA,IAAI,gCAAW,SAAS,CAAC,QAAQ,CAAC;YAChC,CAAC,CAAC,SAAS,CAAC,MAAM;YAClB,CAAC,CAAE,OAA6B,MAAA,CAAA;IACpC,CAAC;IAED,MAAM,CAAC,yBAAyB,CAC9B,aAAmD;QAEnD,IAAI,CAAE,aAAqB,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,IAAI,mBAAW,CACnB,mBAAW,CAAC,KAAK,CAAC,gBAAgB,EAClC,8DAA8D,CAC/D,CAAA;QACH,CAAC;QACD,OAAO,GAAI,aAAqB,CAAC,UAAU,EAAE,CAAA;IAC/C,CAAC;IAEM,gBAAgB,CAAC,UAAkB;QACxC,IAAI,CAAC;YACH,OAAO,uBAAA,IAAI,uCAAW,CACpB,GAAG,yCAAiC,GAAG,UAAU,EAAE,CACpD,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBACzC,MAAM,UAAU,GAAG;oDACyB,UAAU;qIACuE,CAAA;gBAE7H,+BAA+B;gBAC/B,uBAAA,IAAI,oCAAQ,CAAC,KAAK,CAAC,0BAA0B,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAA;gBAEhE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA;YAC7B,CAAC;YAED,MAAM,UAAU,GAAG,oDAAoD,UAAU,mCAAmC,GAAG,CAAC,OAAO,EAAE,CAAA;YACjI,uBAAA,IAAI,oCAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YAE9B,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;CACF;;kBA9CoB,oBAAoB"}
@@ -0,0 +1,3 @@
1
+ export { default as CachingModuleService } from "./cache-module";
2
+ export { default as CachingProviderService } from "./cache-provider";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CachingProviderService = exports.CachingModuleService = void 0;
7
+ var cache_module_1 = require("./cache-module");
8
+ Object.defineProperty(exports, "CachingModuleService", { enumerable: true, get: function () { return __importDefault(cache_module_1).default; } });
9
+ var cache_provider_1 = require("./cache-provider");
10
+ Object.defineProperty(exports, "CachingProviderService", { enumerable: true, get: function () { return __importDefault(cache_provider_1).default; } });
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAgE;AAAvD,qIAAA,OAAO,OAAwB;AACxC,mDAAoE;AAA3D,yIAAA,OAAO,OAA0B"}
@@ -0,0 +1 @@
1
+ {"root":["../src/index.ts","../src/loaders/hash.ts","../src/loaders/providers.ts","../src/providers/memory-cache.ts","../src/services/cache-module.ts","../src/services/cache-provider.ts","../src/services/index.ts","../src/types/index.ts","../src/utils/parser.ts","../src/utils/strategy.ts","../src/utils/__tests__/parser.test.ts"],"version":"5.6.2"}
@@ -0,0 +1,45 @@
1
+ import type { Constructor, ICachingStrategy, IEventBusModuleService, Logger, ModuleProviderExports, ModuleServiceInitializeOptions } from "@medusajs/framework/types";
2
+ import { Modules } from "@medusajs/framework/utils";
3
+ import { default as CacheProviderService } from "../services/cache-provider";
4
+ export declare const CachingDefaultProvider = "default_provider";
5
+ export declare const CachingIdentifiersRegistrationName = "caching_providers_identifier";
6
+ export declare const CachingProviderRegistrationPrefix = "lp_";
7
+ export type InjectedDependencies = {
8
+ cacheProviderService: CacheProviderService;
9
+ hasher: (data: string) => string;
10
+ logger?: Logger;
11
+ strategy: Constructor<ICachingStrategy>;
12
+ [CachingDefaultProvider]: string;
13
+ [Modules.EVENT_BUS]: IEventBusModuleService;
14
+ };
15
+ export type CachingModuleOptions = Partial<ModuleServiceInitializeOptions> & {
16
+ /**
17
+ * The strategy to be used. Default to the inbuilt default strategy.
18
+ */
19
+ /**
20
+ * Time to keep data in cache (in seconds)
21
+ */
22
+ ttl?: number;
23
+ /**
24
+ * Providers to be registered
25
+ */
26
+ providers?: {
27
+ /**
28
+ * The module provider to be registered
29
+ */
30
+ resolve: string | ModuleProviderExports;
31
+ /**
32
+ * If the provider is the default
33
+ */
34
+ is_default?: boolean;
35
+ /**
36
+ * The id of the provider
37
+ */
38
+ id: string;
39
+ /**
40
+ * key value pair of the configuration to be passed to the provider constructor
41
+ */
42
+ options?: Record<string, unknown>;
43
+ }[];
44
+ };
45
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,MAAM,EACN,qBAAqB,EACrB,8BAA8B,EAC/B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAE5E,eAAO,MAAM,sBAAsB,qBAAqB,CAAA;AACxD,eAAO,MAAM,kCAAkC,iCAAiC,CAAA;AAEhF,eAAO,MAAM,iCAAiC,QAAQ,CAAA;AAEtD,MAAM,MAAM,oBAAoB,GAAG;IACjC,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAA;IACvC,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAChC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAAA;CAC5C,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,8BAA8B,CAAC,GAAG;IAC3E;;OAEG;IAEH;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,SAAS,CAAC,EAAE;QACV;;WAEG;QACH,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAAA;QACvC;;WAEG;QACH,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB;;WAEG;QACH,EAAE,EAAE,MAAM,CAAA;QACV;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAClC,EAAE,CAAA;CACJ,CAAA"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CachingProviderRegistrationPrefix = exports.CachingIdentifiersRegistrationName = exports.CachingDefaultProvider = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ exports.CachingDefaultProvider = "default_provider";
6
+ exports.CachingIdentifiersRegistrationName = "caching_providers_identifier";
7
+ exports.CachingProviderRegistrationPrefix = "lp_";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAQA,qDAAmD;AAGtC,QAAA,sBAAsB,GAAG,kBAAkB,CAAA;AAC3C,QAAA,kCAAkC,GAAG,8BAA8B,CAAA;AAEnE,QAAA,iCAAiC,GAAG,KAAK,CAAA"}
@@ -0,0 +1,44 @@
1
+ import { ModuleJoinerConfig } from "@medusajs/framework/types";
2
+ import { GraphQLSchema } from "graphql";
3
+ export interface EntityReference {
4
+ type: string;
5
+ id: string | number;
6
+ field?: string;
7
+ isInArray?: boolean;
8
+ }
9
+ export interface InvalidationEvent {
10
+ entityType: string;
11
+ entityId: string | number;
12
+ relatedEntities: EntityReference[];
13
+ cacheKeys: string[];
14
+ }
15
+ export declare class CacheInvalidationParser {
16
+ private typeMap;
17
+ private idPrefixToEntityName;
18
+ constructor(schema: GraphQLSchema, joinerConfigs: ModuleJoinerConfig[]);
19
+ /**
20
+ * Parse an object to identify entities and their relationships
21
+ */
22
+ parseObjectForEntities(obj: any, parentType?: string, isInArray?: boolean): EntityReference[];
23
+ /**
24
+ * Detect entity type based on object structure and GraphQL type map
25
+ */
26
+ private detectEntityType;
27
+ /**
28
+ * Check if object structure matches GraphQL type fields
29
+ */
30
+ private objectMatchesType;
31
+ /**
32
+ * Get the expected type for a relationship field
33
+ */
34
+ private getRelationshipType;
35
+ /**
36
+ * Build invalidation events based on parsed entities
37
+ */
38
+ buildInvalidationEvents(entities: EntityReference[], operation?: "created" | "updated" | "deleted"): InvalidationEvent[];
39
+ /**
40
+ * Build list of cache keys that should be invalidated
41
+ */
42
+ private buildAffectedCacheKeys;
43
+ }
44
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/utils/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D,OAAO,EAEL,aAAa,EAId,MAAM,SAAS,CAAA;AAEhB,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,eAAe,EAAE,eAAe,EAAE,CAAA;IAClC,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,oBAAoB,CAAwB;gBAExC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE;IAwBtE;;OAEG;IACH,sBAAsB,CACpB,GAAG,EAAE,GAAG,EACR,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,GAAE,OAAe,GACzB,eAAe,EAAE;IA6CpB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyBxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmC3B;;OAEG;IACH,uBAAuB,CACrB,QAAQ,EAAE,eAAe,EAAE,EAC3B,SAAS,GAAE,SAAS,GAAG,SAAS,GAAG,SAAqB,GACvD,iBAAiB,EAAE;IA6BtB;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAgB/B"}
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CacheInvalidationParser = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const graphql_1 = require("graphql");
6
+ class CacheInvalidationParser {
7
+ constructor(schema, joinerConfigs) {
8
+ this.typeMap = new Map();
9
+ // Build type map for quick lookups
10
+ const schemaTypeMap = schema.getTypeMap();
11
+ Object.keys(schemaTypeMap).forEach((typeName) => {
12
+ const type = schemaTypeMap[typeName];
13
+ if ((0, graphql_1.isObjectType)(type) && !typeName.startsWith("__")) {
14
+ this.typeMap.set(typeName, type);
15
+ }
16
+ });
17
+ this.idPrefixToEntityName = joinerConfigs.reduce((acc, joinerConfig) => {
18
+ if (joinerConfig.idPrefixToEntityName) {
19
+ Object.entries(joinerConfig.idPrefixToEntityName).forEach(([idPrefix, entityName]) => {
20
+ acc[idPrefix] = entityName;
21
+ });
22
+ }
23
+ return acc;
24
+ }, {});
25
+ }
26
+ /**
27
+ * Parse an object to identify entities and their relationships
28
+ */
29
+ parseObjectForEntities(obj, parentType, isInArray = false) {
30
+ const entities = [];
31
+ if (!obj || typeof obj !== "object") {
32
+ return entities;
33
+ }
34
+ // Check if this object matches any known GraphQL types
35
+ const detectedType = this.detectEntityType(obj, parentType);
36
+ if (detectedType && obj.id) {
37
+ entities.push({
38
+ type: detectedType,
39
+ id: obj.id,
40
+ isInArray,
41
+ });
42
+ }
43
+ // Recursively parse nested objects and arrays
44
+ Object.keys(obj).forEach((key) => {
45
+ const value = obj[key];
46
+ if (Array.isArray(value)) {
47
+ value.forEach((item) => {
48
+ entities.push(...this.parseObjectForEntities(item, this.getRelationshipType(detectedType, key), true));
49
+ });
50
+ }
51
+ else if ((0, utils_1.isObject)(value)) {
52
+ entities.push(...this.parseObjectForEntities(value, this.getRelationshipType(detectedType, key), false));
53
+ }
54
+ });
55
+ return entities;
56
+ }
57
+ /**
58
+ * Detect entity type based on object structure and GraphQL type map
59
+ */
60
+ detectEntityType(obj, suggestedType) {
61
+ if (obj.id) {
62
+ const idParts = obj.id.split("_");
63
+ if (idParts.length > 1 && this.idPrefixToEntityName[idParts[0]]) {
64
+ return this.idPrefixToEntityName[idParts[0]];
65
+ }
66
+ }
67
+ if (suggestedType && this.typeMap.has(suggestedType)) {
68
+ const type = this.typeMap.get(suggestedType);
69
+ if (this.objectMatchesType(obj, type)) {
70
+ return suggestedType;
71
+ }
72
+ }
73
+ // Try to match against all known types
74
+ for (const [typeName, type] of this.typeMap) {
75
+ if (this.objectMatchesType(obj, type)) {
76
+ return typeName;
77
+ }
78
+ }
79
+ return null;
80
+ }
81
+ /**
82
+ * Check if object structure matches GraphQL type fields
83
+ */
84
+ objectMatchesType(obj, type) {
85
+ const fields = type.getFields();
86
+ const objKeys = Object.keys(obj);
87
+ // Must have id field for entities
88
+ if (!obj.id || !fields.id) {
89
+ return false;
90
+ }
91
+ // Check if at least 50% of non-null object fields match type fields
92
+ const matchingFields = objKeys.filter((key) => fields[key]).length;
93
+ return matchingFields >= Math.max(1, objKeys.length * 0.5);
94
+ }
95
+ /**
96
+ * Get the expected type for a relationship field
97
+ */
98
+ getRelationshipType(parentType, fieldName) {
99
+ if (!parentType || !this.typeMap.has(parentType)) {
100
+ return undefined;
101
+ }
102
+ const type = this.typeMap.get(parentType);
103
+ const field = type.getFields()[fieldName];
104
+ if (!field) {
105
+ return undefined;
106
+ }
107
+ let fieldType = field.type;
108
+ // Unwrap NonNull and List wrappers
109
+ if ((0, graphql_1.isNonNullType)(fieldType)) {
110
+ fieldType = fieldType.ofType;
111
+ }
112
+ if ((0, graphql_1.isListType)(fieldType)) {
113
+ fieldType = fieldType.ofType;
114
+ }
115
+ if ((0, graphql_1.isNonNullType)(fieldType)) {
116
+ fieldType = fieldType.ofType;
117
+ }
118
+ if ((0, graphql_1.isObjectType)(fieldType)) {
119
+ return fieldType.name;
120
+ }
121
+ return undefined;
122
+ }
123
+ /**
124
+ * Build invalidation events based on parsed entities
125
+ */
126
+ buildInvalidationEvents(entities, operation = "updated") {
127
+ const events = [];
128
+ const processedEntities = new Set();
129
+ entities.forEach((entity) => {
130
+ const entityKey = `${entity.type}:${entity.id}`;
131
+ if (processedEntities.has(entityKey)) {
132
+ return;
133
+ }
134
+ processedEntities.add(entityKey);
135
+ const relatedEntities = entities.filter((e) => e.type !== entity.type || e.id !== entity.id);
136
+ const affectedKeys = this.buildAffectedCacheKeys(entity, operation);
137
+ events.push({
138
+ entityType: entity.type,
139
+ entityId: entity.id,
140
+ relatedEntities,
141
+ cacheKeys: affectedKeys,
142
+ });
143
+ });
144
+ return events;
145
+ }
146
+ /**
147
+ * Build list of cache keys that should be invalidated
148
+ */
149
+ buildAffectedCacheKeys(entity, operation = "updated") {
150
+ const keys = new Set();
151
+ keys.add(`${entity.type}:${entity.id}`);
152
+ // Add list key only if entity was found in an array context or if an event of type created or
153
+ // deleted is triggered
154
+ if (entity.isInArray || ["created", "deleted"].includes(operation)) {
155
+ keys.add(`${entity.type}:list:*`);
156
+ }
157
+ return Array.from(keys);
158
+ }
159
+ }
160
+ exports.CacheInvalidationParser = CacheInvalidationParser;
161
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/utils/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { ICachingStrategy, ModuleJoinerConfig } from "@medusajs/framework/types";
2
+ import { type GraphQLSchema } from "@medusajs/framework/utils";
3
+ import { type CachingModuleService } from "../services";
4
+ import type { InjectedDependencies } from "../types";
5
+ import { EntityReference } from "./parser";
6
+ export declare class DefaultCacheStrategy implements ICachingStrategy {
7
+ #private;
8
+ constructor(container: InjectedDependencies, cacheModule: CachingModuleService);
9
+ objectHash(input: any): string;
10
+ onApplicationStart(schema: GraphQLSchema, joinerConfigs: ModuleJoinerConfig[]): Promise<void>;
11
+ computeKey(input: object): Promise<string>;
12
+ computeTags(input: object, options?: {
13
+ entities?: EntityReference[];
14
+ operation?: "created" | "updated" | "deleted";
15
+ }): Promise<string[]>;
16
+ }
17
+ //# sourceMappingURL=strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../src/utils/strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,KAAK,aAAa,EAInB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAA;AAElD,OAAO,EAA2B,eAAe,EAAE,MAAM,UAAU,CAAA;AAEnE,qBAAa,oBAAqB,YAAW,gBAAgB;;gBAOzD,SAAS,EAAE,oBAAoB,EAC/B,WAAW,EAAE,oBAAoB;IAOnC,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;IAKxB,kBAAkB,CACtB,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,kBAAkB,EAAE;IA0D/B,UAAU,CAAC,KAAK,EAAE,MAAM;IAIxB,WAAW,CACf,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAA;QAC5B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;KAC9C,GACA,OAAO,CAAC,MAAM,EAAE,CAAC;CAyBrB"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ var _DefaultCacheStrategy_cacheInvalidationParser, _DefaultCacheStrategy_cacheModule, _DefaultCacheStrategy_container, _DefaultCacheStrategy_hasher;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.DefaultCacheStrategy = void 0;
19
+ const utils_1 = require("@medusajs/framework/utils");
20
+ const fast_json_stable_stringify_1 = __importDefault(require("fast-json-stable-stringify"));
21
+ const parser_1 = require("./parser");
22
+ class DefaultCacheStrategy {
23
+ constructor(container, cacheModule) {
24
+ _DefaultCacheStrategy_cacheInvalidationParser.set(this, void 0);
25
+ _DefaultCacheStrategy_cacheModule.set(this, void 0);
26
+ _DefaultCacheStrategy_container.set(this, void 0);
27
+ _DefaultCacheStrategy_hasher.set(this, void 0);
28
+ __classPrivateFieldSet(this, _DefaultCacheStrategy_cacheModule, cacheModule, "f");
29
+ __classPrivateFieldSet(this, _DefaultCacheStrategy_container, container, "f");
30
+ __classPrivateFieldSet(this, _DefaultCacheStrategy_hasher, container.hasher, "f");
31
+ }
32
+ objectHash(input) {
33
+ const str = (0, fast_json_stable_stringify_1.default)(input);
34
+ return __classPrivateFieldGet(this, _DefaultCacheStrategy_hasher, "f").call(this, str);
35
+ }
36
+ async onApplicationStart(schema, joinerConfigs) {
37
+ __classPrivateFieldSet(this, _DefaultCacheStrategy_cacheInvalidationParser, new parser_1.CacheInvalidationParser(schema, joinerConfigs), "f");
38
+ const eventBus = __classPrivateFieldGet(this, _DefaultCacheStrategy_container, "f")[utils_1.Modules.EVENT_BUS];
39
+ const handleEvent = async (data) => {
40
+ try {
41
+ // We dont have to await anything here and the rest can be done in the background
42
+ return;
43
+ }
44
+ finally {
45
+ const eventName = data.name;
46
+ const operation = eventName.split(".").pop();
47
+ const entityType = eventName.split(".").slice(-2).shift();
48
+ const eventData = data.data;
49
+ const normalizedEventData = Array.isArray(eventData)
50
+ ? eventData
51
+ : [eventData];
52
+ const tags = [];
53
+ for (const item of normalizedEventData) {
54
+ const ids = Array.isArray(item.id) ? item.id : [item.id];
55
+ for (const id of ids) {
56
+ const entityReference = {
57
+ type: (0, utils_1.upperCaseFirst)((0, utils_1.toCamelCase)(entityType)),
58
+ id,
59
+ };
60
+ const tags_ = await this.computeTags(item, {
61
+ entities: [entityReference],
62
+ operation,
63
+ });
64
+ tags.push(...tags_);
65
+ }
66
+ }
67
+ void __classPrivateFieldGet(this, _DefaultCacheStrategy_cacheModule, "f").clear({
68
+ tags,
69
+ options: { autoInvalidate: true },
70
+ });
71
+ }
72
+ };
73
+ eventBus.subscribe("*", handleEvent);
74
+ eventBus.addInterceptor?.(handleEvent);
75
+ }
76
+ async computeKey(input) {
77
+ return this.objectHash(input);
78
+ }
79
+ async computeTags(input, options) {
80
+ // Parse the input object to identify entities
81
+ const entities_ = options?.entities ||
82
+ __classPrivateFieldGet(this, _DefaultCacheStrategy_cacheInvalidationParser, "f").parseObjectForEntities(input);
83
+ if (entities_.length === 0) {
84
+ return [];
85
+ }
86
+ // Build invalidation events to get comprehensive cache keys
87
+ const events = __classPrivateFieldGet(this, _DefaultCacheStrategy_cacheInvalidationParser, "f").buildInvalidationEvents(entities_, options?.operation);
88
+ // Collect all unique cache keys from all events as tags
89
+ const tags = new Set();
90
+ events.forEach((event) => {
91
+ event.cacheKeys.forEach((key) => tags.add(key));
92
+ });
93
+ return Array.from(tags);
94
+ }
95
+ }
96
+ exports.DefaultCacheStrategy = DefaultCacheStrategy;
97
+ _DefaultCacheStrategy_cacheInvalidationParser = new WeakMap(), _DefaultCacheStrategy_cacheModule = new WeakMap(), _DefaultCacheStrategy_container = new WeakMap(), _DefaultCacheStrategy_hasher = new WeakMap();
98
+ //# sourceMappingURL=strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../src/utils/strategy.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@medusajs/caching",
3
+ "version": "2.10.4-preview-20250930180200",
4
+ "description": "Caching Module for Medusa",
5
+ "main": "dist/index.js",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/medusajs/medusa",
9
+ "directory": "packages/modules/caching"
10
+ },
11
+ "files": [
12
+ "dist",
13
+ "!dist/**/__tests__",
14
+ "!dist/**/__mocks__",
15
+ "!dist/**/__fixtures__"
16
+ ],
17
+ "publishConfig": {
18
+ "access": "public"
19
+ },
20
+ "author": "Medusa",
21
+ "license": "MIT",
22
+ "scripts": {
23
+ "watch": "tsc --build --watch",
24
+ "watch:test": "tsc --build tsconfig.spec.json --watch",
25
+ "resolve:aliases": "tsc --showConfig -p tsconfig.json > tsconfig.resolved.json && tsc-alias -p tsconfig.resolved.json && rimraf tsconfig.resolved.json",
26
+ "build": "rimraf dist && tsc --build && npm run resolve:aliases",
27
+ "test": "jest --passWithNoTests --runInBand --bail --forceExit -- src/",
28
+ "test:integration": "jest --runInBand --forceExit -- integration-tests/__tests__/**/*.ts"
29
+ },
30
+ "devDependencies": {
31
+ "@medusajs/framework": "2.10.4-preview-20250930180200",
32
+ "@medusajs/test-utils": "2.10.4-preview-20250930180200",
33
+ "@swc/core": "^1.7.28",
34
+ "@swc/jest": "^0.2.36",
35
+ "jest": "^29.7.0",
36
+ "rimraf": "^3.0.2",
37
+ "tsc-alias": "^1.8.6",
38
+ "typescript": "^5.6.2"
39
+ },
40
+ "peerDependencies": {
41
+ "@medusajs/framework": "2.10.4-preview-20250930180200",
42
+ "awilix": "^8.0.1"
43
+ },
44
+ "dependencies": {
45
+ "fast-json-stable-stringify": "^2.1.0",
46
+ "node-cache": "^5.1.2",
47
+ "xxhash-wasm": "^1.1.0"
48
+ }
49
+ }