express-memorize 1.3.0 → 1.5.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 (57) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +208 -70
  3. package/dist/MemorizeStore.d.ts +31 -8
  4. package/dist/MemorizeStore.d.ts.map +1 -1
  5. package/dist/MemorizeStore.js +100 -14
  6. package/dist/MemorizeStore.js.map +1 -1
  7. package/dist/adapters/express.d.ts +25 -0
  8. package/dist/adapters/express.d.ts.map +1 -0
  9. package/dist/adapters/express.js +62 -0
  10. package/dist/adapters/express.js.map +1 -0
  11. package/dist/adapters/fetch.d.ts +45 -0
  12. package/dist/adapters/fetch.d.ts.map +1 -0
  13. package/dist/adapters/fetch.js +72 -0
  14. package/dist/adapters/fetch.js.map +1 -0
  15. package/dist/adapters/hono.d.ts +34 -0
  16. package/dist/adapters/hono.d.ts.map +1 -0
  17. package/dist/adapters/hono.js +63 -0
  18. package/dist/adapters/hono.js.map +1 -0
  19. package/dist/adapters/nestjs.d.ts +84 -0
  20. package/dist/adapters/nestjs.d.ts.map +1 -0
  21. package/dist/adapters/nestjs.js +194 -0
  22. package/dist/adapters/nestjs.js.map +1 -0
  23. package/dist/domain/CacheEntry.d.ts +5 -1
  24. package/dist/domain/CacheEntry.d.ts.map +1 -1
  25. package/dist/domain/CacheInfo.d.ts +1 -1
  26. package/dist/domain/CacheInfo.d.ts.map +1 -1
  27. package/dist/domain/Memorize.d.ts +99 -4
  28. package/dist/domain/Memorize.d.ts.map +1 -1
  29. package/dist/domain/MemorizeCallOptions.d.ts +4 -3
  30. package/dist/domain/MemorizeCallOptions.d.ts.map +1 -1
  31. package/dist/domain/MemorizeEvent.d.ts +2 -1
  32. package/dist/domain/MemorizeEvent.d.ts.map +1 -1
  33. package/dist/domain/MemorizeEventType.d.ts +3 -1
  34. package/dist/domain/MemorizeEventType.d.ts.map +1 -1
  35. package/dist/domain/MemorizeEventType.js +2 -0
  36. package/dist/domain/MemorizeEventType.js.map +1 -1
  37. package/dist/domain/MemorizeEvictEvent.d.ts +18 -0
  38. package/dist/domain/MemorizeEvictEvent.d.ts.map +1 -0
  39. package/dist/domain/MemorizeEvictEvent.js +3 -0
  40. package/dist/domain/MemorizeEvictEvent.js.map +1 -0
  41. package/dist/domain/MemorizeOptions.d.ts +14 -1
  42. package/dist/domain/MemorizeOptions.d.ts.map +1 -1
  43. package/dist/domain/MemorizeSetEvent.d.ts +3 -1
  44. package/dist/domain/MemorizeSetEvent.d.ts.map +1 -1
  45. package/dist/domain/MemorizeStats.d.ts +12 -0
  46. package/dist/domain/MemorizeStats.d.ts.map +1 -0
  47. package/dist/domain/MemorizeStats.js +3 -0
  48. package/dist/domain/MemorizeStats.js.map +1 -0
  49. package/dist/domain/index.d.ts +2 -0
  50. package/dist/domain/index.d.ts.map +1 -1
  51. package/dist/index.d.ts +1 -1
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/memorize.d.ts +19 -16
  54. package/dist/memorize.d.ts.map +1 -1
  55. package/dist/memorize.js +51 -45
  56. package/dist/memorize.js.map +1 -1
  57. package/package.json +50 -12
@@ -3,37 +3,40 @@ import { MemorizeOptions } from './domain/MemorizeOptions';
3
3
  import { MemorizeCallOptions } from './domain/MemorizeCallOptions';
4
4
  export type { Memorize, MemorizeOptions, MemorizeCallOptions };
5
5
  /**
6
- * Creates an in-memory cache for an Express application.
6
+ * Creates an in-memory cache instance.
7
7
  *
8
- * Returns a {@link Memorize} instance that can be used as per-route middleware,
9
- * a global `app.use()` middleware, or a cache management API — all sharing the
10
- * same underlying store.
8
+ * Returns a {@link Memorize} instance that can be used as Express middleware,
9
+ * as a direct service-level cache, or as a cache management API — all sharing
10
+ * the same underlying store.
11
11
  *
12
- * **Only `GET` requests are cached.** Responses are cached only when the HTTP
13
- * status code is in the `2xx` range. The cache key is `req.originalUrl`, which
14
- * includes the query string.
12
+ * **HTTP middleware:** Only `GET` requests with a `2xx` status code are cached.
13
+ * The cache key is `req.originalUrl`, which includes the query string.
14
+ *
15
+ * **Direct cache:** Use {@link Memorize.set}, {@link Memorize.getValue}, and
16
+ * {@link Memorize.remember} to cache arbitrary values from services, workers,
17
+ * or any non-HTTP code.
15
18
  *
16
19
  * @param options - Global configuration for the cache instance.
17
20
  *
18
- * @example Per-route middleware
21
+ * @example Express middleware
19
22
  * ```ts
20
23
  * const cache = memorize({ ttl: 30_000 });
21
24
  *
22
- * app.get('/users', cache(), (req, res) => {
23
- * res.json({ data: users });
24
- * });
25
+ * app.get('/users', cache.express(), handler);
26
+ * app.get('/users', cache(), handler); // backwards-compatible alias
25
27
  * ```
26
28
  *
27
- * @example Global middleware
29
+ * @example Service-level caching
28
30
  * ```ts
29
- * const cache = memorize({ ttl: 60_000 });
30
- * app.use(cache()); // caches all GET routes
31
+ * const cache = memorize({ ttl: 30_000 });
32
+ *
33
+ * const users = await cache.remember('users:list', () => userService.findAll());
34
+ * cache.set('config', appConfig);
35
+ * const config = cache.getValue<AppConfig>('config');
31
36
  * ```
32
37
  *
33
38
  * @example Cache invalidation
34
39
  * ```ts
35
- * const cache = memorize({ ttl: 30_000 });
36
- *
37
40
  * app.post('/users', (req, res) => {
38
41
  * users.push(req.body);
39
42
  * cache.delete('/users');
@@ -1 +1 @@
1
- {"version":3,"file":"memorize.d.ts","sourceRoot":"","sources":["../src/memorize.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,mBAAmB,EAAE,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,QAAQ,CA8ChE"}
1
+ {"version":3,"file":"memorize.d.ts","sourceRoot":"","sources":["../src/memorize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGnE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,mBAAmB,EAAE,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAgB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,QAAQ,CA6ChE"}
package/dist/memorize.js CHANGED
@@ -2,38 +2,42 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.memorize = memorize;
4
4
  const MemorizeStore_1 = require("./MemorizeStore");
5
+ const express_1 = require("./adapters/express");
5
6
  /**
6
- * Creates an in-memory cache for an Express application.
7
+ * Creates an in-memory cache instance.
7
8
  *
8
- * Returns a {@link Memorize} instance that can be used as per-route middleware,
9
- * a global `app.use()` middleware, or a cache management API — all sharing the
10
- * same underlying store.
9
+ * Returns a {@link Memorize} instance that can be used as Express middleware,
10
+ * as a direct service-level cache, or as a cache management API — all sharing
11
+ * the same underlying store.
11
12
  *
12
- * **Only `GET` requests are cached.** Responses are cached only when the HTTP
13
- * status code is in the `2xx` range. The cache key is `req.originalUrl`, which
14
- * includes the query string.
13
+ * **HTTP middleware:** Only `GET` requests with a `2xx` status code are cached.
14
+ * The cache key is `req.originalUrl`, which includes the query string.
15
+ *
16
+ * **Direct cache:** Use {@link Memorize.set}, {@link Memorize.getValue}, and
17
+ * {@link Memorize.remember} to cache arbitrary values from services, workers,
18
+ * or any non-HTTP code.
15
19
  *
16
20
  * @param options - Global configuration for the cache instance.
17
21
  *
18
- * @example Per-route middleware
22
+ * @example Express middleware
19
23
  * ```ts
20
24
  * const cache = memorize({ ttl: 30_000 });
21
25
  *
22
- * app.get('/users', cache(), (req, res) => {
23
- * res.json({ data: users });
24
- * });
26
+ * app.get('/users', cache.express(), handler);
27
+ * app.get('/users', cache(), handler); // backwards-compatible alias
25
28
  * ```
26
29
  *
27
- * @example Global middleware
30
+ * @example Service-level caching
28
31
  * ```ts
29
- * const cache = memorize({ ttl: 60_000 });
30
- * app.use(cache()); // caches all GET routes
32
+ * const cache = memorize({ ttl: 30_000 });
33
+ *
34
+ * const users = await cache.remember('users:list', () => userService.findAll());
35
+ * cache.set('config', appConfig);
36
+ * const config = cache.getValue<AppConfig>('config');
31
37
  * ```
32
38
  *
33
39
  * @example Cache invalidation
34
40
  * ```ts
35
- * const cache = memorize({ ttl: 30_000 });
36
- *
37
41
  * app.post('/users', (req, res) => {
38
42
  * users.push(req.body);
39
43
  * cache.delete('/users');
@@ -50,36 +54,34 @@ const MemorizeStore_1 = require("./MemorizeStore");
50
54
  * ```
51
55
  */
52
56
  function memorize(options = {}) {
53
- const { ttl } = options;
54
- const store = new MemorizeStore_1.MemorizeStore();
57
+ const { ttl, maxEntries } = options;
58
+ const store = new MemorizeStore_1.MemorizeStore(maxEntries);
59
+ const expressMiddleware = (0, express_1.createExpressMiddleware)(store, ttl);
55
60
  const cache = function (callOptions) {
56
- var _a;
57
- const effectiveTtl = (_a = callOptions === null || callOptions === void 0 ? void 0 : callOptions.ttl) !== null && _a !== void 0 ? _a : ttl;
58
- return function (req, res, next) {
59
- if (req.method !== 'GET' || (callOptions === null || callOptions === void 0 ? void 0 : callOptions.noCache)) {
60
- next();
61
- return;
62
- }
63
- const key = req.originalUrl;
64
- const cached = store.getRaw(key);
65
- if (cached) {
66
- res.setHeader('X-Cache', 'HIT');
67
- res.setHeader('Content-Type', cached.contentType);
68
- res.status(cached.statusCode).send(cached.body);
69
- return;
70
- }
71
- const originalSend = res.send.bind(res);
72
- res.send = function (body) {
73
- var _a;
74
- if (res.statusCode >= 200 && res.statusCode < 300) {
75
- const contentType = (_a = res.getHeader('Content-Type')) !== null && _a !== void 0 ? _a : 'application/octet-stream';
76
- store.set(key, { body, statusCode: res.statusCode, contentType }, effectiveTtl);
77
- }
78
- res.setHeader('X-Cache', 'MISS');
79
- return originalSend(body);
80
- };
81
- next();
82
- };
61
+ return expressMiddleware(callOptions);
62
+ };
63
+ cache.express = (callOptions) => expressMiddleware(callOptions);
64
+ cache.set = (key, value, entryTtl) => {
65
+ store.set(key, { body: JSON.stringify(value), statusCode: 200, contentType: 'application/json' }, entryTtl !== null && entryTtl !== void 0 ? entryTtl : ttl);
66
+ };
67
+ cache.getValue = (key) => {
68
+ const info = store.get(key);
69
+ if (!info)
70
+ return undefined;
71
+ try {
72
+ return JSON.parse(info.body);
73
+ }
74
+ catch (_a) {
75
+ return undefined;
76
+ }
77
+ };
78
+ cache.remember = async (key, factory, rememberTtl) => {
79
+ const existing = cache.getValue(key);
80
+ if (existing !== undefined)
81
+ return existing;
82
+ const value = await factory();
83
+ cache.set(key, value, rememberTtl);
84
+ return value;
83
85
  };
84
86
  cache.get = (key) => store.get(key);
85
87
  cache.getAll = () => store.getAll();
@@ -87,6 +89,10 @@ function memorize(options = {}) {
87
89
  cache.deleteMatching = (pattern) => store.deleteMatching(pattern);
88
90
  cache.clear = () => store.clear();
89
91
  cache.on = store.on.bind(store);
92
+ cache.size = () => store.size();
93
+ cache.byteSize = () => store.byteSize();
94
+ cache.getStats = () => store.getStats();
95
+ cache._store = store;
90
96
  return cache;
91
97
  }
92
98
  //# sourceMappingURL=memorize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memorize.js","sourceRoot":"","sources":["../src/memorize.ts"],"names":[],"mappings":";;AAuDA,4BA8CC;AApGD,mDAAgD;AAOhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,SAAgB,QAAQ,CAAC,UAA2B,EAAE;IACpD,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IACxB,MAAM,KAAK,GAAG,IAAI,6BAAa,EAAE,CAAC;IAElC,MAAM,KAAK,GAAG,UAAU,WAAiC;;QACvD,MAAM,YAAY,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,mCAAI,GAAG,CAAC;QAE7C,OAAO,UAAU,GAAY,EAAE,GAAa,EAAE,IAAkB;YAC9D,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,KAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAA,EAAE,CAAC;gBACjD,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YAED,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC;YAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEjC,IAAI,MAAM,EAAE,CAAC;gBACX,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAChC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;gBAClD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiC,CAAC;YAExE,GAAG,CAAC,IAAI,GAAG,UAAU,IAAc;;gBACjC,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;oBAClD,MAAM,WAAW,GAAG,MAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAY,mCAAI,0BAA0B,CAAC;oBAC5F,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,YAAY,CAAC,CAAC;gBAClF,CAAC;gBACD,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACjC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC,CAAC;YAEF,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAa,CAAC;IAEd,KAAK,CAAC,GAAG,GAAc,CAAC,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvD,KAAK,CAAC,MAAM,GAAW,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC5C,KAAK,CAAC,MAAM,GAAW,CAAC,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1D,KAAK,CAAC,cAAc,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1E,KAAK,CAAC,KAAK,GAAY,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC3C,KAAK,CAAC,EAAE,GAAe,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAmB,CAAC;IAE9D,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"memorize.js","sourceRoot":"","sources":["../src/memorize.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,32 @@
1
1
  {
2
2
  "name": "express-memorize",
3
- "version": "1.3.0",
3
+ "version": "1.5.0",
4
4
  "description": "In-memory cache middleware for Express.js. Caches GET responses with optional TTL — zero dependencies, fully typed.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
+ "sideEffects": false,
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "default": "./dist/index.js"
12
+ },
13
+ "./express": {
14
+ "types": "./dist/adapters/express.d.ts",
15
+ "default": "./dist/adapters/express.js"
16
+ },
17
+ "./hono": {
18
+ "types": "./dist/adapters/hono.d.ts",
19
+ "default": "./dist/adapters/hono.js"
20
+ },
21
+ "./nestjs": {
22
+ "types": "./dist/adapters/nestjs.d.ts",
23
+ "default": "./dist/adapters/nestjs.js"
24
+ },
25
+ "./fetch": {
26
+ "types": "./dist/adapters/fetch.d.ts",
27
+ "default": "./dist/adapters/fetch.js"
28
+ }
29
+ },
7
30
  "homepage": "https://github.com/ElJijuna/express-memorize#readme",
8
31
  "repository": {
9
32
  "type": "git",
@@ -25,16 +48,6 @@
25
48
  "docs": "typedoc",
26
49
  "docs:watch": "typedoc --watch"
27
50
  },
28
- "jest": {
29
- "preset": "ts-jest",
30
- "testEnvironment": "node",
31
- "testMatch": [
32
- "**/__tests__/**/*.test.ts"
33
- ],
34
- "fakeTimers": {
35
- "enableGlobally": false
36
- }
37
- },
38
51
  "keywords": [
39
52
  "express",
40
53
  "middleware",
@@ -47,16 +60,41 @@
47
60
  ],
48
61
  "license": "MIT",
49
62
  "peerDependencies": {
50
- "express": ">=4.0.0"
63
+ "@nestjs/common": ">=9.0.0",
64
+ "@nestjs/core": ">=9.0.0",
65
+ "express": ">=4.0.0",
66
+ "hono": ">=4.0.0",
67
+ "rxjs": ">=7.0.0"
68
+ },
69
+ "peerDependenciesMeta": {
70
+ "@nestjs/common": {
71
+ "optional": true
72
+ },
73
+ "@nestjs/core": {
74
+ "optional": true
75
+ },
76
+ "hono": {
77
+ "optional": true
78
+ },
79
+ "rxjs": {
80
+ "optional": true
81
+ }
51
82
  },
52
83
  "devDependencies": {
84
+ "@semantic-release/changelog": "^6.0.3",
53
85
  "@types/express": "^4.17.21",
54
86
  "@types/jest": "^29.0.0",
55
87
  "@types/node": "^20.0.0",
88
+ "hono": "^4.12.16",
56
89
  "jest": "^29.0.0",
90
+ "semantic-release": "^24.2.9",
57
91
  "ts-jest": "^29.0.0",
58
92
  "typedoc": "^0.28.18",
59
93
  "typedoc-material-theme": "^1.4.1",
60
94
  "typescript": "^5.0.0"
95
+ },
96
+ "author": "pilmee <pilmee@gmail.com> (https://github.com/ElJijuna)",
97
+ "publishConfig": {
98
+ "access": "public"
61
99
  }
62
100
  }