@geekmidas/cache 10.0.0-alpha.98 → 10.0.0

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 (96) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/dist/{rolldown-runtime-VH7oDXx4.cjs → chunk-CUT6urMc.cjs} +10 -8
  3. package/dist/expo.cjs +10 -10
  4. package/dist/expo.cjs.map +1 -1
  5. package/dist/expo.d.cts +6 -2
  6. package/dist/expo.d.cts.map +1 -1
  7. package/dist/expo.d.mts +6 -2
  8. package/dist/expo.d.mts.map +1 -1
  9. package/dist/expo.mjs +6 -4
  10. package/dist/expo.mjs.map +1 -1
  11. package/dist/file.cjs +19 -16
  12. package/dist/file.cjs.map +1 -1
  13. package/dist/file.d.cts +6 -3
  14. package/dist/file.d.cts.map +1 -1
  15. package/dist/file.d.mts +6 -3
  16. package/dist/file.d.mts.map +1 -1
  17. package/dist/file.mjs +12 -7
  18. package/dist/file.mjs.map +1 -1
  19. package/dist/index-BSYYdwRm.d.cts +36 -0
  20. package/dist/index-BSYYdwRm.d.cts.map +1 -0
  21. package/dist/index-Dx96gr-9.d.mts +36 -0
  22. package/dist/index-Dx96gr-9.d.mts.map +1 -0
  23. package/dist/index.cjs +2 -17
  24. package/dist/index.d.cts +2 -2
  25. package/dist/index.d.mts +2 -2
  26. package/dist/index.mjs +2 -12
  27. package/dist/memory.cjs +11 -8
  28. package/dist/memory.cjs.map +1 -1
  29. package/dist/memory.d.cts +6 -2
  30. package/dist/memory.d.cts.map +1 -1
  31. package/dist/memory.d.mts +6 -2
  32. package/dist/memory.d.mts.map +1 -1
  33. package/dist/memory.mjs +8 -5
  34. package/dist/memory.mjs.map +1 -1
  35. package/dist/src-CrE4Nl5T.mjs +14 -0
  36. package/dist/src-CrE4Nl5T.mjs.map +1 -0
  37. package/dist/src-zfYb7mdS.cjs +20 -0
  38. package/dist/src-zfYb7mdS.cjs.map +1 -0
  39. package/dist/upstash.cjs +6 -46
  40. package/dist/upstash.cjs.map +1 -1
  41. package/dist/upstash.d.cts +6 -27
  42. package/dist/upstash.d.cts.map +1 -1
  43. package/dist/upstash.d.mts +6 -27
  44. package/dist/upstash.d.mts.map +1 -1
  45. package/dist/upstash.mjs +4 -41
  46. package/dist/upstash.mjs.map +1 -1
  47. package/package.json +6 -53
  48. package/src/__benchmarks__/memory.bench.ts +51 -0
  49. package/src/__tests__/cache.spec.ts +144 -0
  50. package/src/__tests__/file.spec.ts +192 -0
  51. package/src/__tests__/integration.spec.ts +282 -0
  52. package/src/__tests__/memory.spec.ts +134 -0
  53. package/src/__tests__/upstash.spec.ts +276 -0
  54. package/src/expo.ts +50 -0
  55. package/src/file.ts +126 -0
  56. package/src/index.ts +48 -0
  57. package/src/memory.ts +38 -0
  58. package/src/upstash.ts +41 -0
  59. package/tsconfig.json +9 -0
  60. package/tsdown.config.ts +5 -0
  61. package/dist/index-BbdGhmWP.d.cts +0 -62
  62. package/dist/index-BbdGhmWP.d.cts.map +0 -1
  63. package/dist/index-BbdGhmWP.d.mts +0 -62
  64. package/dist/index-BbdGhmWP.d.mts.map +0 -1
  65. package/dist/index.cjs.map +0 -1
  66. package/dist/index.mjs.map +0 -1
  67. package/dist/postgres.cjs +0 -185
  68. package/dist/postgres.cjs.map +0 -1
  69. package/dist/postgres.d.cts +0 -71
  70. package/dist/postgres.d.cts.map +0 -1
  71. package/dist/postgres.d.mts +0 -71
  72. package/dist/postgres.d.mts.map +0 -1
  73. package/dist/postgres.mjs +0 -180
  74. package/dist/postgres.mjs.map +0 -1
  75. package/dist/redis.cjs +0 -88
  76. package/dist/redis.cjs.map +0 -1
  77. package/dist/redis.d.cts +0 -27
  78. package/dist/redis.d.cts.map +0 -1
  79. package/dist/redis.d.mts +0 -27
  80. package/dist/redis.d.mts.map +0 -1
  81. package/dist/redis.mjs +0 -85
  82. package/dist/redis.mjs.map +0 -1
  83. package/dist/registry.cjs +0 -48
  84. package/dist/registry.cjs.map +0 -1
  85. package/dist/registry.d.cts +0 -2
  86. package/dist/registry.d.mts +0 -2
  87. package/dist/registry.mjs +0 -44
  88. package/dist/registry.mjs.map +0 -1
  89. package/dist/telemetry.cjs +0 -38
  90. package/dist/telemetry.cjs.map +0 -1
  91. package/dist/telemetry.d.cts +0 -6
  92. package/dist/telemetry.d.cts.map +0 -1
  93. package/dist/telemetry.d.mts +0 -6
  94. package/dist/telemetry.d.mts.map +0 -1
  95. package/dist/telemetry.mjs +0 -37
  96. package/dist/telemetry.mjs.map +0 -1
@@ -1,6 +0,0 @@
1
- //#region src/telemetry.d.ts
2
- export type CacheOperation = 'get' | 'set' | 'delete';
3
- /** Run `fn` inside a `cache.<operation>` span for a backend. */
4
- export declare function traceCache<T>(system: string, operation: CacheOperation, fn: () => Promise<T>): Promise<T>;
5
- //#endregion
6
- //# sourceMappingURL=telemetry.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"telemetry.d.mts","names":[],"sources":["../src/telemetry.ts"],"mappings":";YAYY;;wBAGU,WAAW,GAChC,gBACA,WAAW,gBACX,UAAU,QAAQ,KAChB,QAAQ"}
@@ -1,37 +0,0 @@
1
- import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
2
- //#region src/telemetry.ts
3
- /**
4
- * A span per cache call, through the global OpenTelemetry tracer — a no-op
5
- * without a registered provider.
6
- *
7
- * `cache.get`, `cache.set` and `cache.delete`, each with the backend as
8
- * `db.system` and, on a read, whether it hit. Never the key or the value: a key
9
- * often names a user, and a value is whatever was cached.
10
- *
11
- * @module
12
- */
13
- /** Run `fn` inside a `cache.<operation>` span for a backend. */
14
- async function traceCache(system, operation, fn) {
15
- const span = trace.getTracer("@geekmidas/cache").startSpan(`cache.${operation}`, {
16
- kind: SpanKind.CLIENT,
17
- attributes: {
18
- "db.system": system,
19
- "cache.operation": operation
20
- }
21
- });
22
- try {
23
- const result = await fn();
24
- if (operation === "get") span.setAttribute("cache.hit", result !== void 0);
25
- return result;
26
- } catch (error) {
27
- if (error instanceof Error) span.recordException(error);
28
- span.setStatus({ code: SpanStatusCode.ERROR });
29
- throw error;
30
- } finally {
31
- span.end();
32
- }
33
- }
34
- //#endregion
35
- export { traceCache };
36
-
37
- //# sourceMappingURL=telemetry.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"telemetry.mjs","names":[],"sources":["../src/telemetry.ts"],"sourcesContent":["/**\n * A span per cache call, through the global OpenTelemetry tracer — a no-op\n * without a registered provider.\n *\n * `cache.get`, `cache.set` and `cache.delete`, each with the backend as\n * `db.system` and, on a read, whether it hit. Never the key or the value: a key\n * often names a user, and a value is whatever was cached.\n *\n * @module\n */\nimport { SpanKind, SpanStatusCode, trace } from '@opentelemetry/api';\n\nexport type CacheOperation = 'get' | 'set' | 'delete';\n\n/** Run `fn` inside a `cache.<operation>` span for a backend. */\nexport async function traceCache<T>(\n\tsystem: string,\n\toperation: CacheOperation,\n\tfn: () => Promise<T>,\n): Promise<T> {\n\tconst span = trace\n\t\t.getTracer('@geekmidas/cache')\n\t\t.startSpan(`cache.${operation}`, {\n\t\t\tkind: SpanKind.CLIENT,\n\t\t\tattributes: { 'db.system': system, 'cache.operation': operation },\n\t\t});\n\ttry {\n\t\tconst result = await fn();\n\t\tif (operation === 'get')\n\t\t\tspan.setAttribute('cache.hit', result !== undefined);\n\t\treturn result;\n\t} catch (error) {\n\t\tif (error instanceof Error) span.recordException(error);\n\t\tspan.setStatus({ code: SpanStatusCode.ERROR });\n\t\tthrow error;\n\t} finally {\n\t\tspan.end();\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAeA,eAAsB,WACrB,QACA,WACA,IACa;CACb,MAAM,OAAO,MACX,UAAU,kBAAkB,CAAC,CAC7B,UAAU,SAAS,aAAa;EAChC,MAAM,SAAS;EACf,YAAY;GAAE,aAAa;GAAQ,mBAAmB;EAAU;CACjE,CAAC;CACF,IAAI;EACH,MAAM,SAAS,MAAM,GAAG;EACxB,IAAI,cAAc,OACjB,KAAK,aAAa,aAAa,WAAW,KAAA,CAAS;EACpD,OAAO;CACR,SAAS,OAAO;EACf,IAAI,iBAAiB,OAAO,KAAK,gBAAgB,KAAK;EACtD,KAAK,UAAU,EAAE,MAAM,eAAe,MAAM,CAAC;EAC7C,MAAM;CACP,UAAU;EACT,KAAK,IAAI;CACV;AACD"}