jcc-express-mvc 1.8.22 → 1.8.27

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 (64) hide show
  1. package/Core/Cache.d.ts +1 -1
  2. package/Core/Cache.d.ts.map +1 -1
  3. package/Core/Cache.js +3 -15
  4. package/Core/index.d.ts +2 -0
  5. package/Core/index.d.ts.map +1 -1
  6. package/Core/index.js +5 -1
  7. package/global.d.ts +1 -0
  8. package/lib/Application/ApplicationBuilder.d.ts.map +1 -1
  9. package/lib/Application/ApplicationBuilder.js +2 -0
  10. package/lib/Cache/CacheFacade.d.ts +24 -0
  11. package/lib/Cache/CacheFacade.d.ts.map +1 -0
  12. package/lib/Cache/CacheFacade.js +60 -0
  13. package/lib/Cache/FileCacheDriver.d.ts +2 -0
  14. package/lib/Cache/FileCacheDriver.d.ts.map +1 -1
  15. package/lib/Cache/FileCacheDriver.js +26 -1
  16. package/lib/Cache/MemoryDriver.d.ts +2 -0
  17. package/lib/Cache/MemoryDriver.d.ts.map +1 -1
  18. package/lib/Cache/MemoryDriver.js +18 -0
  19. package/lib/Cache/RedisDriver.d.ts +2 -0
  20. package/lib/Cache/RedisDriver.d.ts.map +1 -1
  21. package/lib/Cache/RedisDriver.js +20 -2
  22. package/lib/Cache/TaggedCache.d.ts +5 -3
  23. package/lib/Cache/TaggedCache.d.ts.map +1 -1
  24. package/lib/Cache/TaggedCache.js +8 -2
  25. package/lib/Cache/index.d.ts +6 -17
  26. package/lib/Cache/index.d.ts.map +1 -1
  27. package/lib/Cache/index.js +101 -43
  28. package/lib/Command-Line/CacheCommand.d.ts +7 -0
  29. package/lib/Command-Line/CacheCommand.d.ts.map +1 -0
  30. package/lib/Command-Line/CacheCommand.js +21 -0
  31. package/lib/Command-Line/NodeArtisanCommand.d.ts +2 -0
  32. package/lib/Command-Line/NodeArtisanCommand.d.ts.map +1 -1
  33. package/lib/Command-Line/NodeArtisanCommand.js +11 -0
  34. package/lib/Command-Line/WatchCommand.d.ts.map +1 -1
  35. package/lib/Command-Line/WatchCommand.js +50 -4
  36. package/lib/Command-Line/files/Request.d.ts.map +1 -1
  37. package/lib/Command-Line/files/Request.js +3 -5
  38. package/lib/Container/index.js +1 -1
  39. package/lib/Error/AppError.d.ts.map +1 -1
  40. package/lib/Error/AppErrorHandler.js +3 -4
  41. package/lib/Global/helpers.d.ts.map +1 -1
  42. package/lib/Global/helpers.js +9 -7
  43. package/lib/Inertia/index.d.ts.map +1 -1
  44. package/lib/Inertia/index.js +3 -1
  45. package/lib/Interface/index.d.ts +8 -0
  46. package/lib/Interface/index.d.ts.map +1 -1
  47. package/lib/Providers/CacheServiceProvider.d.ts +11 -0
  48. package/lib/Providers/CacheServiceProvider.d.ts.map +1 -0
  49. package/lib/Providers/CacheServiceProvider.js +34 -0
  50. package/lib/Request/FormRequest.d.ts +1 -1
  51. package/lib/Request/FormRequest.d.ts.map +1 -1
  52. package/lib/Request/FormRequest.js +4 -3
  53. package/lib/Routes/Route.d.ts +18 -12
  54. package/lib/Routes/Route.d.ts.map +1 -1
  55. package/lib/Routes/Route.js +32 -13
  56. package/lib/Routes/RouteBuilder.d.ts +4 -2
  57. package/lib/Routes/RouteBuilder.d.ts.map +1 -1
  58. package/lib/Routes/RouteBuilder.js +16 -17
  59. package/lib/Validation/Validator/index.d.ts.map +1 -1
  60. package/lib/Validation/Validator/index.js +1 -4
  61. package/lib/util/index.d.ts +5 -0
  62. package/lib/util/index.d.ts.map +1 -1
  63. package/lib/util/index.js +16 -1
  64. package/package.json +1 -1
package/Core/Cache.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from "../lib/Cache";
1
+ export { CacheFacade as Cache } from "../lib/Cache/CacheFacade";
2
2
  //# sourceMappingURL=Cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../jcc-express-mvc/Core/Cache.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../jcc-express-mvc/Core/Cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC"}
package/Core/Cache.js CHANGED
@@ -1,17 +1,5 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("../lib/Cache"), exports);
3
+ exports.Cache = void 0;
4
+ var CacheFacade_1 = require("../lib/Cache/CacheFacade");
5
+ Object.defineProperty(exports, "Cache", { enumerable: true, get: function () { return CacheFacade_1.CacheFacade; } });
package/Core/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  export * from "../lib/Application/Application";
2
+ export { SessionServiceProvider } from "../lib/Providers/SessionServiceProvider";
3
+ export { SessionManager } from "../lib/Session/SessionManager";
2
4
  export * from "../lib/Routes/Route";
3
5
  export { csrf } from "../lib/Security/CsrfMiddleware";
4
6
  export type { CsrfOptions } from "../lib/Security/CsrfMiddleware";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../jcc-express-mvc/Core/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,YAAY,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../jcc-express-mvc/Core/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,YAAY,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC"}
package/Core/index.js CHANGED
@@ -14,8 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.methodSpoofing = exports.csrf = void 0;
17
+ exports.methodSpoofing = exports.csrf = exports.SessionManager = exports.SessionServiceProvider = void 0;
18
18
  __exportStar(require("../lib/Application/Application"), exports);
19
+ var SessionServiceProvider_1 = require("../lib/Providers/SessionServiceProvider");
20
+ Object.defineProperty(exports, "SessionServiceProvider", { enumerable: true, get: function () { return SessionServiceProvider_1.SessionServiceProvider; } });
21
+ var SessionManager_1 = require("../lib/Session/SessionManager");
22
+ Object.defineProperty(exports, "SessionManager", { enumerable: true, get: function () { return SessionManager_1.SessionManager; } });
19
23
  __exportStar(require("../lib/Routes/Route"), exports);
20
24
  var CsrfMiddleware_1 = require("../lib/Security/CsrfMiddleware");
21
25
  Object.defineProperty(exports, "csrf", { enumerable: true, get: function () { return CsrfMiddleware_1.csrf; } });
package/global.d.ts CHANGED
@@ -60,6 +60,7 @@ declare global {
60
60
  var can: typeof GateFacade.can;
61
61
  var authorize: typeof GateFacade.authorize;
62
62
  var session: () => Request["jccSession"];
63
+ var defer: (callback: () => any) => void;
63
64
  }
64
65
 
65
66
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationBuilder.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Application/ApplicationBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAU3C,qBAAa,kBAAkB;IACtB,GAAG,EAAE,WAAW,CAAC;gBAEZ,GAAG,EAAE,WAAW;IAIrB,UAAU,CAAC,MAAM,EAAE,GAAG;IAKtB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IActC,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE;IAOtC,aAAa,CAClB,SAAS,EAAE,KAAK,CAAC,KAAK,GAAG,EAAE,WAAW,KAAK,eAAe,CAAC;IAyB7D,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,gBAAgB;IAIjB,WAAW;IAKX,cAAc;IAWd,MAAM;CAKd"}
1
+ {"version":3,"file":"ApplicationBuilder.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Application/ApplicationBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAW3C,qBAAa,kBAAkB;IACtB,GAAG,EAAE,WAAW,CAAC;gBAEZ,GAAG,EAAE,WAAW;IAIrB,UAAU,CAAC,MAAM,EAAE,GAAG;IAKtB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IActC,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE;IAOtC,aAAa,CAClB,SAAS,EAAE,KAAK,CAAC,KAAK,GAAG,EAAE,WAAW,KAAK,eAAe,CAAC;IA0B7D,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,gBAAgB;IAIjB,WAAW;IAKX,cAAc;IAWd,MAAM;CAKd"}
@@ -8,6 +8,7 @@ const helpers_1 = require("../Global/helpers");
8
8
  const AuthServiceProvider_1 = require("../Providers/AuthServiceProvider");
9
9
  const SessionServiceProvider_1 = require("../Providers/SessionServiceProvider");
10
10
  const QueueServiceProvider_1 = require("../Queue/QueueServiceProvider");
11
+ const CacheServiceProvider_1 = require("../Providers/CacheServiceProvider");
11
12
  class ApplicationBuilder {
12
13
  constructor(app) {
13
14
  this.app = app;
@@ -45,6 +46,7 @@ class ApplicationBuilder {
45
46
  const chain = [
46
47
  DatabaseServiceProvider_1.DatabaseServiceProvider,
47
48
  SessionServiceProvider_1.SessionServiceProvider,
49
+ CacheServiceProvider_1.CacheServiceProvider,
48
50
  ...ordered,
49
51
  QueueServiceProvider_1.QueueServiceProvider,
50
52
  ];
@@ -0,0 +1,24 @@
1
+ import { TaggedCache } from "./TaggedCache";
2
+ /**
3
+ * static facade for cache operations.
4
+ */
5
+ export declare class CacheFacade {
6
+ static store(name?: string): import("../Interface").CacheDriver;
7
+ static get<T = any>(key: string, fallback?: T | (() => T) | (() => Promise<T>)): Promise<T | null>;
8
+ static put<T = any>(key: string, value: T, seconds?: number): Promise<void>;
9
+ static forget(key: string): Promise<boolean>;
10
+ static flush(): Promise<void>;
11
+ static forever<T = any>(key: string, value: T): Promise<void>;
12
+ static increment(key: string, value?: number): Promise<number>;
13
+ static decrement(key: string, value?: number): Promise<number>;
14
+ static many<T = any>(keys: string[]): Promise<Record<string, T | null>>;
15
+ static putMany(values: Record<string, any>, seconds?: number): Promise<void>;
16
+ static has(key: string): Promise<boolean>;
17
+ static remember<T = any>(key: string, seconds: number, callback: () => Promise<T> | T): Promise<T>;
18
+ static rememberForever<T = any>(key: string, callback: () => Promise<T> | T): Promise<T>;
19
+ static pull<T = any>(key: string, fallback?: T | (() => T) | (() => Promise<T>)): Promise<T | null>;
20
+ static add<T = any>(key: string, value: T, seconds?: number): Promise<boolean>;
21
+ static tags(tags: string[]): TaggedCache;
22
+ }
23
+ export declare const CacheFacde: typeof CacheFacade;
24
+ //# sourceMappingURL=CacheFacade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CacheFacade.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Cache/CacheFacade.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,qBAAa,WAAW;IACtB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM;WAIb,GAAG,CAAC,CAAC,GAAG,GAAG,EACtB,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAC5C,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;WAIP,GAAG,CAAC,CAAC,GAAG,GAAG,EACtB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;WAIH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAIrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;WAItB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;WAItD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAIvD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAIvD,IAAI,CAAC,CAAC,GAAG,GAAG,EACvB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;WAIvB,OAAO,CAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;WAIH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAIlC,QAAQ,CAAC,CAAC,GAAG,GAAG,EAC3B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;WAIA,eAAe,CAAC,CAAC,GAAG,GAAG,EAClC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;WAIA,IAAI,CAAC,CAAC,GAAG,GAAG,EACvB,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAC5C,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;WAIP,GAAG,CAAC,CAAC,GAAG,GAAG,EACtB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC;IAInB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW;CAGzC;AAGD,eAAO,MAAM,UAAU,oBAAc,CAAC"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CacheFacde = exports.CacheFacade = void 0;
4
+ const index_1 = require("./index");
5
+ /**
6
+ * static facade for cache operations.
7
+ */
8
+ class CacheFacade {
9
+ static store(name) {
10
+ return index_1.Cache.getInstance().store(name);
11
+ }
12
+ static async get(key, fallback) {
13
+ return index_1.Cache.getInstance().get(key, fallback);
14
+ }
15
+ static async put(key, value, seconds) {
16
+ return index_1.Cache.getInstance().put(key, value, seconds);
17
+ }
18
+ static async forget(key) {
19
+ return index_1.Cache.getInstance().forget(key);
20
+ }
21
+ static async flush() {
22
+ return index_1.Cache.getInstance().flush();
23
+ }
24
+ static async forever(key, value) {
25
+ return index_1.Cache.getInstance().forever(key, value);
26
+ }
27
+ static async increment(key, value) {
28
+ return index_1.Cache.getInstance().increment(key, value);
29
+ }
30
+ static async decrement(key, value) {
31
+ return index_1.Cache.getInstance().decrement(key, value);
32
+ }
33
+ static async many(keys) {
34
+ return index_1.Cache.getInstance().many(keys);
35
+ }
36
+ static async putMany(values, seconds) {
37
+ return index_1.Cache.getInstance().putMany(values, seconds);
38
+ }
39
+ static async has(key) {
40
+ return index_1.Cache.getInstance().has(key);
41
+ }
42
+ static async remember(key, seconds, callback) {
43
+ return index_1.Cache.getInstance().remember(key, seconds, callback);
44
+ }
45
+ static async rememberForever(key, callback) {
46
+ return index_1.Cache.getInstance().rememberForever(key, callback);
47
+ }
48
+ static async pull(key, fallback) {
49
+ return index_1.Cache.getInstance().pull(key, fallback);
50
+ }
51
+ static async add(key, value, seconds) {
52
+ return index_1.Cache.getInstance().add(key, value, seconds);
53
+ }
54
+ static tags(tags) {
55
+ return index_1.Cache.getInstance().tags(tags);
56
+ }
57
+ }
58
+ exports.CacheFacade = CacheFacade;
59
+ // Backwards-compatible alias for requested name typo.
60
+ exports.CacheFacde = CacheFacade;
@@ -18,6 +18,8 @@ export declare class FileDriver implements CacheDriver {
18
18
  many(keys: string[]): Promise<Record<string, any>>;
19
19
  putMany(values: Record<string, any>, seconds?: number): Promise<void>;
20
20
  has(key: string): Promise<boolean>;
21
+ remember<T = any>(key: string, seconds: number, callback: () => Promise<T> | T): Promise<T>;
22
+ rememberForever<T = any>(key: string, callback: () => Promise<T> | T): Promise<T>;
21
23
  size(): Promise<number>;
22
24
  cleanup(): Promise<number>;
23
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FileCacheDriver.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Cache/FileCacheDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAK3C,qBAAa,UAAW,YAAW,WAAW;IAC5C,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO;YAIhC,cAAc;IAQ5B,OAAO,CAAC,WAAW;YAML,aAAa;YAWb,cAAc;IAQtB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAc5C,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAetB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAO1D,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAUlD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKlC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IASvB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAoBjC"}
1
+ {"version":3,"file":"FileCacheDriver.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Cache/FileCacheDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAM3C,qBAAa,UAAW,YAAW,WAAW;IAC5C,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO;YAShC,cAAc;IAQ5B,OAAO,CAAC,WAAW;YAML,aAAa;YAWb,cAAc;IAQtB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAc5C,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAetB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAO1D,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAUlD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlC,QAAQ,CAAC,CAAC,GAAG,GAAG,EACpB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;IAWP,eAAe,CAAC,CAAC,GAAG,GAAG,EAC3B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;IAYP,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IASvB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAoBjC"}
@@ -32,14 +32,21 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
39
  exports.FileDriver = void 0;
37
40
  const fs = __importStar(require("fs/promises"));
38
41
  const path = __importStar(require("path"));
39
42
  const crypto = __importStar(require("crypto"));
43
+ const app_root_path_1 = __importDefault(require("app-root-path"));
44
+ const Config_1 = require("../Config/Config");
40
45
  class FileDriver {
41
46
  constructor(config = {}) {
42
- this.cacheDir = config.cacheDir || path.join(process.cwd(), "cache");
47
+ this.cacheDir =
48
+ config.cacheDir ||
49
+ path.join(app_root_path_1.default.path, Config_1.config.get("CACHE_PATH", "storage/framework/cache"));
43
50
  }
44
51
  async ensureCacheDir() {
45
52
  try {
@@ -129,6 +136,24 @@ class FileDriver {
129
136
  async has(key) {
130
137
  return (await this.get(key)) !== null;
131
138
  }
139
+ async remember(key, seconds, callback) {
140
+ const cached = await this.get(key);
141
+ if (cached !== null) {
142
+ return cached;
143
+ }
144
+ const value = await Promise.resolve(callback());
145
+ await this.put(key, value, seconds);
146
+ return value;
147
+ }
148
+ async rememberForever(key, callback) {
149
+ const cached = await this.get(key);
150
+ if (cached !== null) {
151
+ return cached;
152
+ }
153
+ const value = await Promise.resolve(callback());
154
+ await this.forever(key, value);
155
+ return value;
156
+ }
132
157
  // Additional utility methods specific to file cache
133
158
  async size() {
134
159
  try {
@@ -11,5 +11,7 @@ export declare class MemoryDriver implements CacheDriver {
11
11
  many(keys: string[]): Promise<Record<string, any>>;
12
12
  putMany(values: Record<string, any>, seconds?: number): Promise<void>;
13
13
  has(key: string): Promise<boolean>;
14
+ remember<T = any>(key: string, seconds: number, callback: () => Promise<T> | T): Promise<T>;
15
+ rememberForever<T = any>(key: string, callback: () => Promise<T> | T): Promise<T>;
14
16
  }
15
17
  //# sourceMappingURL=MemoryDriver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryDriver.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Cache/MemoryDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,qBAAa,YAAa,YAAW,WAAW;IAC9C,OAAO,CAAC,KAAK,CAA4D;IAEnE,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAY5C,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAO1D,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAQlD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGzC"}
1
+ {"version":3,"file":"MemoryDriver.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Cache/MemoryDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,qBAAa,YAAa,YAAW,WAAW;IAC9C,OAAO,CAAC,KAAK,CAA4D;IAEnE,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAY5C,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAO1D,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAQlD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlC,QAAQ,CAAC,CAAC,GAAG,GAAG,EACpB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;IAWP,eAAe,CAAC,CAAC,GAAG,GAAG,EAC3B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;CAUd"}
@@ -52,5 +52,23 @@ class MemoryDriver {
52
52
  async has(key) {
53
53
  return (await this.get(key)) !== null;
54
54
  }
55
+ async remember(key, seconds, callback) {
56
+ const cached = await this.get(key);
57
+ if (cached !== null) {
58
+ return cached;
59
+ }
60
+ const value = await Promise.resolve(callback());
61
+ await this.put(key, value, seconds);
62
+ return value;
63
+ }
64
+ async rememberForever(key, callback) {
65
+ const cached = await this.get(key);
66
+ if (cached !== null) {
67
+ return cached;
68
+ }
69
+ const value = await Promise.resolve(callback());
70
+ await this.forever(key, value);
71
+ return value;
72
+ }
55
73
  }
56
74
  exports.MemoryDriver = MemoryDriver;
@@ -19,5 +19,7 @@ export declare class RedisDriver implements CacheDriver {
19
19
  putMany(values: Record<string, any>, seconds?: number): Promise<void>;
20
20
  has(key: string): Promise<boolean>;
21
21
  disconnect(): Promise<void>;
22
+ remember<T = any>(key: string, seconds: number, callback: () => Promise<T> | T): Promise<T>;
23
+ rememberForever<T = any>(key: string, callback: () => Promise<T> | T): Promise<T>;
22
24
  }
23
25
  //# sourceMappingURL=RedisDriver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RedisDriver.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Cache/RedisDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,qBAAa,WAAY,YAAW,WAAW;IAC7C,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAWK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAM5C,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1D,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAYlD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBrE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAKlC"}
1
+ {"version":3,"file":"RedisDriver.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Cache/RedisDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,qBAAa,WAAY,YAAW,WAAW;IAC7C,OAAO,CAAC,MAAM,CAAM;gBAER,MAAM,EAAE;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAYK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAM5C,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1D,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAYlD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBrE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,QAAQ,CAAC,CAAC,GAAG,GAAG,EACpB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;IAWP,eAAe,CAAC,CAAC,GAAG,GAAG,EAC3B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;CAUd"}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RedisDriver = void 0;
4
- const redis_1 = require("redis");
5
4
  class RedisDriver {
6
5
  constructor(config) {
7
- this.client = (0, redis_1.createClient)({
6
+ const redis = require("redis");
7
+ this.client = redis.createClient({
8
8
  socket: {
9
9
  host: config.host || "localhost",
10
10
  port: config.port || 6379,
@@ -89,5 +89,23 @@ class RedisDriver {
89
89
  await this.client.quit();
90
90
  }
91
91
  }
92
+ async remember(key, seconds, callback) {
93
+ const cached = await this.get(key);
94
+ if (cached !== null) {
95
+ return cached;
96
+ }
97
+ const value = await Promise.resolve(callback());
98
+ await this.put(key, value, seconds);
99
+ return value;
100
+ }
101
+ async rememberForever(key, callback) {
102
+ const cached = await this.get(key);
103
+ if (cached !== null) {
104
+ return cached;
105
+ }
106
+ const value = await Promise.resolve(callback());
107
+ await this.forever(key, value);
108
+ return value;
109
+ }
92
110
  }
93
111
  exports.RedisDriver = RedisDriver;
@@ -1,12 +1,14 @@
1
- import { Cache } from ".";
1
+ import { CacheManager } from ".";
2
2
  export declare class TaggedCache {
3
3
  private cache;
4
4
  private tags;
5
- constructor(cache: Cache, tags: string[]);
5
+ constructor(cache: CacheManager, tags: string[]);
6
6
  private getTaggedKey;
7
- get<T = any>(key: string): Promise<T | null>;
7
+ get<T = any>(key: string, fallback?: T | (() => T) | (() => Promise<T>)): Promise<T | null>;
8
8
  put<T = any>(key: string, value: T, seconds?: number): Promise<void>;
9
9
  forget(key: string): Promise<boolean>;
10
10
  flush(): Promise<void>;
11
+ remember<T = any>(key: string, seconds: number, callback: () => Promise<T> | T): Promise<T>;
12
+ rememberForever<T = any>(key: string, callback: () => Promise<T> | T): Promise<T>;
11
13
  }
12
14
  //# sourceMappingURL=TaggedCache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaggedCache.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Cache/TaggedCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;AAE1B,qBAAa,WAAW;IACV,OAAO,CAAC,KAAK;IAAS,OAAO,CAAC,IAAI;gBAA1B,KAAK,EAAE,KAAK,EAAU,IAAI,EAAE,MAAM,EAAE;IAExD,OAAO,CAAC,YAAY;IAId,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAI5C,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAapE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAa7B"}
1
+ {"version":3,"file":"TaggedCache.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Cache/TaggedCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC;AAEjC,qBAAa,WAAW;IACV,OAAO,CAAC,KAAK;IAAgB,OAAO,CAAC,IAAI;gBAAjC,KAAK,EAAE,YAAY,EAAU,IAAI,EAAE,MAAM,EAAE;IAE/D,OAAO,CAAC,YAAY;IAId,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAI3F,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAapE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IActB,QAAQ,CAAC,CAAC,GAAG,GAAG,EACpB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;IAIP,eAAe,CAAC,CAAC,GAAG,GAAG,EAC3B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;CAGd"}
@@ -9,8 +9,8 @@ class TaggedCache {
9
9
  getTaggedKey(key) {
10
10
  return `tagged:${this.tags.join(":")}:${key}`;
11
11
  }
12
- async get(key) {
13
- return this.cache.get(this.getTaggedKey(key));
12
+ async get(key, fallback) {
13
+ return this.cache.get(this.getTaggedKey(key), fallback);
14
14
  }
15
15
  async put(key, value, seconds) {
16
16
  await this.cache.put(this.getTaggedKey(key), value, seconds);
@@ -38,5 +38,11 @@ class TaggedCache {
38
38
  await this.cache.forget(tagKey);
39
39
  }
40
40
  }
41
+ async remember(key, seconds, callback) {
42
+ return this.cache.store().remember(this.getTaggedKey(key), seconds, callback);
43
+ }
44
+ async rememberForever(key, callback) {
45
+ return this.cache.store().rememberForever(this.getTaggedKey(key), callback);
46
+ }
41
47
  }
42
48
  exports.TaggedCache = TaggedCache;
@@ -1,17 +1,5 @@
1
- import { CacheConfig } from "../Interface";
1
+ import { CacheConfig, CacheDriver } from "../Interface";
2
2
  import { TaggedCache } from "./TaggedCache";
3
- interface CacheStore<T> {
4
- get(key: string): Promise<T | null>;
5
- put(key: string, value: T, seconds?: number): Promise<void>;
6
- forget(key: string): Promise<boolean>;
7
- forever(key: string, value: T): Promise<void>;
8
- flush(): Promise<void>;
9
- many(keys: string[]): Promise<Record<string, T | null>>;
10
- putMany(values: Record<string, T>, seconds?: number): Promise<void>;
11
- has(key: string): Promise<boolean>;
12
- increment(key: string, value?: number): Promise<number>;
13
- decrement(key: string, value?: number): Promise<number>;
14
- }
15
3
  export declare class Cache {
16
4
  private static instance;
17
5
  private drivers;
@@ -19,8 +7,8 @@ export declare class Cache {
19
7
  constructor(config: CacheConfig);
20
8
  static getInstance(config?: CacheConfig): Cache;
21
9
  private initializeDrivers;
22
- store<T = any>(name?: string): CacheStore<T>;
23
- get<T>(key: string): Promise<T | null>;
10
+ store<T = any>(name?: string): CacheDriver;
11
+ get<T>(key: string, fallback?: T | (() => T) | (() => Promise<T>)): Promise<T | null>;
24
12
  put<T>(key: string, value: T, seconds?: number): Promise<void>;
25
13
  forget(key: string): Promise<boolean>;
26
14
  flush(): Promise<void>;
@@ -32,9 +20,10 @@ export declare class Cache {
32
20
  has(key: string): Promise<boolean>;
33
21
  remember<T>(key: string, seconds: number, callback: () => Promise<T> | T): Promise<T>;
34
22
  rememberForever<T = any>(key: string, callback: () => Promise<T> | T): Promise<T>;
35
- pull<T = any>(key: string): Promise<T | null>;
23
+ pull<T = any>(key: string, fallback?: T | (() => T) | (() => Promise<T>)): Promise<T | null>;
36
24
  add<T = any>(key: string, value: T, seconds?: number): Promise<boolean>;
37
25
  tags(tags: string[]): TaggedCache;
38
26
  }
39
- export {};
27
+ export { Cache as CacheManager };
28
+ export { CacheFacade, CacheFacde } from "./CacheFacade";
40
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Cache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAe,MAAM,cAAc,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,UAAU,UAAU,CAAC,CAAC;IACpB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACpC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACzD;AAED,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAQ;IAC/B,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,MAAM,CAAc;gBAEhB,MAAM,EAAE,WAAW;IAK/B,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,KAAK;IAY/C,OAAO,CAAC,iBAAiB;IA0BzB,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;IAYtC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAOtC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa9D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvD,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAO1D,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlC,QAAQ,CAAC,CAAC,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;IAsBP,eAAe,CAAC,CAAC,GAAG,GAAG,EAC3B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;IAYP,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAS7C,GAAG,CAAC,CAAC,GAAG,GAAG,EACf,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC;IASnB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW;CAGlC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Cache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAkB5C,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAQ;IAC/B,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,MAAM,CAAc;gBAEhB,MAAM,EAAE,WAAW;IAK/B,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,KAAK;IAa/C,OAAO,CAAC,iBAAiB;IA8BzB,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW;IAYpC,GAAG,CAAC,CAAC,EACT,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAC5C,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAmBd,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa9D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvD,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAO1D,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlC,QAAQ,CAAC,CAAC,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;IAeP,eAAe,CAAC,CAAC,GAAG,GAAG,EAC3B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;IAYP,IAAI,CAAC,CAAC,GAAG,GAAG,EAChB,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAC5C,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IASd,GAAG,CAAC,CAAC,GAAG,GAAG,EACf,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC;IASnB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW;CAGlC;AACD,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}