@common-stack/cache-api-server 6.0.6-alpha.0 → 6.0.6-alpha.41

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 (74) hide show
  1. package/lib/config/env-config.cjs +9 -0
  2. package/lib/config/env-config.cjs.map +1 -0
  3. package/lib/config/{env-config.js → env-config.mjs} +2 -4
  4. package/lib/config/env-config.mjs.map +1 -0
  5. package/lib/constants.cjs +5 -0
  6. package/lib/constants.cjs.map +1 -0
  7. package/lib/{constants.js → constants.mjs} +2 -3
  8. package/lib/constants.mjs.map +1 -0
  9. package/lib/containers/module.cjs +19 -0
  10. package/lib/containers/module.cjs.map +1 -0
  11. package/lib/containers/{module.js → module.mjs} +2 -7
  12. package/lib/containers/module.mjs.map +1 -0
  13. package/lib/engines/ioredis-engine.cjs +32 -0
  14. package/lib/engines/ioredis-engine.cjs.map +1 -0
  15. package/lib/engines/{ioredis-engine.js → ioredis-engine.mjs} +2 -4
  16. package/lib/engines/ioredis-engine.mjs.map +1 -0
  17. package/lib/index.cjs +1 -0
  18. package/lib/index.cjs.map +1 -0
  19. package/lib/index.mjs +1 -0
  20. package/lib/index.mjs.map +1 -0
  21. package/lib/module.cjs +8 -0
  22. package/lib/module.cjs.map +1 -0
  23. package/lib/module.mjs +8 -0
  24. package/lib/module.mjs.map +1 -0
  25. package/{src/services/cache-service.ts → lib/services/cache-service.cjs} +35 -58
  26. package/lib/services/cache-service.cjs.map +1 -0
  27. package/lib/services/{cache-service.js → cache-service.mjs} +8 -13
  28. package/lib/services/cache-service.mjs.map +1 -0
  29. package/package.json +10 -6
  30. package/CHANGELOG.md +0 -92
  31. package/lib/config/env-config.js.map +0 -1
  32. package/lib/config/index.js +0 -2
  33. package/lib/config/index.js.map +0 -1
  34. package/lib/constants.js.map +0 -1
  35. package/lib/containers/index.js +0 -2
  36. package/lib/containers/index.js.map +0 -1
  37. package/lib/containers/module.js.map +0 -1
  38. package/lib/engines/in-memory.js +0 -19
  39. package/lib/engines/in-memory.js.map +0 -1
  40. package/lib/engines/ioredis-engine.js.map +0 -1
  41. package/lib/index.js +0 -6
  42. package/lib/index.js.map +0 -1
  43. package/lib/interfaces/cache-engine.js +0 -2
  44. package/lib/interfaces/cache-engine.js.map +0 -1
  45. package/lib/interfaces/cache-service.js +0 -2
  46. package/lib/interfaces/cache-service.js.map +0 -1
  47. package/lib/interfaces/common/ICache.js +0 -2
  48. package/lib/interfaces/common/ICache.js.map +0 -1
  49. package/lib/interfaces/common/index.js +0 -2
  50. package/lib/interfaces/common/index.js.map +0 -1
  51. package/lib/interfaces/index.js +0 -3
  52. package/lib/interfaces/index.js.map +0 -1
  53. package/lib/module.js +0 -12
  54. package/lib/module.js.map +0 -1
  55. package/lib/services/cache-service.js.map +0 -1
  56. package/lib/services/index.js +0 -2
  57. package/lib/services/index.js.map +0 -1
  58. package/src/config/env-config.ts +0 -22
  59. package/src/config/index.ts +0 -1
  60. package/src/constants.ts +0 -4
  61. package/src/containers/index.ts +0 -1
  62. package/src/containers/module.ts +0 -30
  63. package/src/engines/in-memory.ts +0 -24
  64. package/src/engines/ioredis-engine.ts +0 -39
  65. package/src/index.ts +0 -7
  66. package/src/interfaces/cache-engine.ts +0 -8
  67. package/src/interfaces/cache-service.ts +0 -19
  68. package/src/interfaces/common/ICache.ts +0 -5
  69. package/src/interfaces/common/index.ts +0 -1
  70. package/src/interfaces/index.ts +0 -2
  71. package/src/module.ts +0 -16
  72. package/src/services/index.ts +0 -1
  73. package/tsconfig.json +0 -18
  74. package/webpack.config.js +0 -62
@@ -0,0 +1,9 @@
1
+ 'use strict';var envalid=require('envalid');const config = envalid.cleanEnv(process.env, {
2
+ REDIS_URL: envalid.str(),
3
+ REDIS_SENTINEL_ENABLED: envalid.bool({ devDefault: false }),
4
+ REDIS_SENTINEL_NAME: envalid.str({ default: 'mymaster' }),
5
+ REDIS_CLUSTER_ENABLED: envalid.bool({ default: false }),
6
+ REDIS_CLUSTER_URL: envalid.json({ desc: "Send cluster nodes as array of host and port object. ex: [{ host: 'node1', port: 6678}]" }),
7
+ REDIS_CACHE_MAX_AGE_in_sec: envalid.num({ default: 2592000, desc: 'Max. age in seconds. Default is 30 days' }),
8
+ NODE_ENV: envalid.str({ choices: ['production', 'test', 'staging', 'development'], default: 'production' }),
9
+ });exports.config=config;//# sourceMappingURL=env-config.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-config.cjs","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":["cleanEnv","str","bool","json","num"],"mappings":"kDAYa,MAAM,GAAGA,gBAAQ,CAAU,OAAO,CAAC,GAAG,EAAE;IACjD,SAAS,EAAEC,WAAG,EAAE;IAChB,sBAAsB,EAAEC,YAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACnD,mBAAmB,EAAED,WAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IACjD,qBAAqB,EAAEC,YAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC/C,iBAAiB,EAAEC,YAAI,CAAC,EAAE,IAAI,EAAE,yFAAyF,EAAE,CAAC;AAC5H,IAAA,0BAA0B,EAAEC,WAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,yCAAyC,EAAE,CAAC;IACtG,QAAQ,EAAEH,WAAG,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AACtG,CAAA"}
@@ -1,5 +1,4 @@
1
- import { str, cleanEnv, json, num, bool } from 'envalid';
2
- export const config = cleanEnv(process.env, {
1
+ import {cleanEnv,str,bool,json,num}from'envalid';const config = cleanEnv(process.env, {
3
2
  REDIS_URL: str(),
4
3
  REDIS_SENTINEL_ENABLED: bool({ devDefault: false }),
5
4
  REDIS_SENTINEL_NAME: str({ default: 'mymaster' }),
@@ -7,5 +6,4 @@ export const config = cleanEnv(process.env, {
7
6
  REDIS_CLUSTER_URL: json({ desc: "Send cluster nodes as array of host and port object. ex: [{ host: 'node1', port: 6678}]" }),
8
7
  REDIS_CACHE_MAX_AGE_in_sec: num({ default: 2592000, desc: 'Max. age in seconds. Default is 30 days' }),
9
8
  NODE_ENV: str({ choices: ['production', 'test', 'staging', 'development'], default: 'production' }),
10
- });
11
- //# sourceMappingURL=env-config.js.map
9
+ });export{config};//# sourceMappingURL=env-config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-config.mjs","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":[],"mappings":"uDAYa,MAAM,GAAG,QAAQ,CAAU,OAAO,CAAC,GAAG,EAAE;IACjD,SAAS,EAAE,GAAG,EAAE;IAChB,sBAAsB,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACnD,mBAAmB,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IACjD,qBAAqB,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC/C,iBAAiB,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,yFAAyF,EAAE,CAAC;AAC5H,IAAA,0BAA0B,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,yCAAyC,EAAE,CAAC;IACtG,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AACtG,CAAA"}
@@ -0,0 +1,5 @@
1
+ 'use strict';exports.Types=void 0;
2
+ (function (Types) {
3
+ Types["CacheEngine"] = "CacheEngine";
4
+ Types["CacheService"] = "CacheService";
5
+ })(exports.Types || (exports.Types = {}));//# sourceMappingURL=constants.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.cjs","sources":["../src/constants.ts"],"sourcesContent":[null],"names":["Types"],"mappings":"aAAYA,qBAGX;AAHD,CAAA,UAAY,KAAK,EAAA;AACb,IAAA,KAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,KAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AACjC,CAAC,EAHWA,aAAK,KAALA,aAAK,GAGhB,EAAA,CAAA,CAAA"}
@@ -1,6 +1,5 @@
1
- export var Types;
1
+ var Types;
2
2
  (function (Types) {
3
3
  Types["CacheEngine"] = "CacheEngine";
4
4
  Types["CacheService"] = "CacheService";
5
- })(Types || (Types = {}));
6
- //# sourceMappingURL=constants.js.map
5
+ })(Types || (Types = {}));export{Types};//# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.mjs","sources":["../src/constants.ts"],"sourcesContent":[null],"names":[],"mappings":"IAAY,MAGX;AAHD,CAAA,UAAY,KAAK,EAAA;AACb,IAAA,KAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,KAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AACjC,CAAC,EAHW,KAAK,KAAL,KAAK,GAGhB,EAAA,CAAA,CAAA"}
@@ -0,0 +1,19 @@
1
+ 'use strict';var inversify=require('inversify'),cacheService=require('../services/cache-service.cjs'),constants=require('../constants.cjs'),ioredisEngine=require('../engines/ioredis-engine.cjs');const moduleFunc = (settings) => new inversify.ContainerModule((bind) => {
2
+ /**
3
+ *
4
+ * @returns: () => cache;
5
+ */
6
+ bind(constants.Types.CacheService).toFactory((context) => {
7
+ return () => {
8
+ // TODO: to make it singleton we need to check if Cache already exist then return same.
9
+ const cacheEngine = context.container.get(constants.Types.CacheEngine);
10
+ const logger = context.container.get('Logger');
11
+ const cache = new cacheService.Cache(cacheEngine, logger);
12
+ return cache;
13
+ };
14
+ }).whenTargetIsDefault();
15
+ bind(constants.Types.CacheEngine)
16
+ .toConstantValue(new ioredisEngine.Redis(settings.redisConnection))
17
+ // .inSingletonScope()
18
+ .whenTargetIsDefault();
19
+ });exports.moduleFunc=moduleFunc;//# sourceMappingURL=module.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.cjs","sources":["../../src/containers/module.ts"],"sourcesContent":[null],"names":["ContainerModule","Types","Cache","Redis"],"mappings":"mMAOO,MAAM,UAAU,GACnB,CAAC,QAAa,KAAK,IAAIA,yBAAe,CAAC,CAAC,IAAqB,KAAI;AAE7D;;;AAGG;IACH,IAAI,CAA4BC,eAAK,CAAC,YAAY,CAAC,CAAC,SAAS,CAAQ,CAAC,OAA2B,KAAI;AACjG,QAAA,OAAO,MAAK;;AAER,YAAA,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAeA,eAAK,CAAC,WAAW,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAoB,QAAQ,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,IAAIC,kBAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAC7C,YAAA,OAAO,KAAK,CAAC;AACjB,SAAC,CAAC;AACN,KAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;AAEzB,IAAA,IAAI,CAAeD,eAAK,CAAC,WAAW,CAAC;SAChC,eAAe,CAAC,IAAIE,mBAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;;AAEpD,SAAA,mBAAmB,EAAE,CAAC;AAC/B,CAAC"}
@@ -1,8 +1,4 @@
1
- import { ContainerModule } from 'inversify';
2
- import { Cache } from '../services';
3
- import { Types } from '../constants';
4
- import { Redis } from '../engines/ioredis-engine';
5
- export const moduleFunc = (settings) => new ContainerModule((bind) => {
1
+ import {ContainerModule}from'inversify';import {Cache}from'../services/cache-service.mjs';import {Types}from'../constants.mjs';import {Redis}from'../engines/ioredis-engine.mjs';const moduleFunc = (settings) => new ContainerModule((bind) => {
6
2
  /**
7
3
  *
8
4
  * @returns: () => cache;
@@ -20,5 +16,4 @@ export const moduleFunc = (settings) => new ContainerModule((bind) => {
20
16
  .toConstantValue(new Redis(settings.redisConnection))
21
17
  // .inSingletonScope()
22
18
  .whenTargetIsDefault();
23
- });
24
- //# sourceMappingURL=module.js.map
19
+ });export{moduleFunc};//# sourceMappingURL=module.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.mjs","sources":["../../src/containers/module.ts"],"sourcesContent":[null],"names":[],"mappings":"iLAOO,MAAM,UAAU,GACnB,CAAC,QAAa,KAAK,IAAI,eAAe,CAAC,CAAC,IAAqB,KAAI;AAE7D;;;AAGG;IACH,IAAI,CAA4B,KAAK,CAAC,YAAY,CAAC,CAAC,SAAS,CAAQ,CAAC,OAA2B,KAAI;AACjG,QAAA,OAAO,MAAK;;AAER,YAAA,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAe,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAoB,QAAQ,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAC7C,YAAA,OAAO,KAAK,CAAC;AACjB,SAAC,CAAC;AACN,KAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;AAEzB,IAAA,IAAI,CAAe,KAAK,CAAC,WAAW,CAAC;SAChC,eAAe,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;;AAEpD,SAAA,mBAAmB,EAAE,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,32 @@
1
+ 'use strict';var IORedis=require('ioredis');class Redis {
2
+ client;
3
+ getAsync;
4
+ constructor(options, isCluster, clusterNodes) {
5
+ if (isCluster) {
6
+ this.client = new IORedis.Cluster(clusterNodes, options);
7
+ }
8
+ else {
9
+ this.client = new IORedis(options);
10
+ }
11
+ }
12
+ async set(key, data) {
13
+ if (data.maxAge) {
14
+ await this.client.set(key, JSON.stringify(data), 'EX', data.maxAge);
15
+ return data;
16
+ }
17
+ await this.client.set(key, JSON.stringify(data));
18
+ return data;
19
+ }
20
+ async get(key) {
21
+ const cacheString = await this.client.get(key);
22
+ return JSON.parse(cacheString);
23
+ }
24
+ async drop(key) {
25
+ await this.client.del(key);
26
+ return true;
27
+ }
28
+ async invalidate(keys) {
29
+ (keys || []).forEach(key => this.client.del(key));
30
+ return true;
31
+ }
32
+ }exports.Redis=Redis;//# sourceMappingURL=ioredis-engine.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ioredis-engine.cjs","sources":["../../src/engines/ioredis-engine.ts"],"sourcesContent":[null],"names":["Cluster"],"mappings":"kDAGa,KAAK,CAAA;AACN,IAAA,MAAM,CAA2B;AACjC,IAAA,QAAQ,CAAC;AAEjB,IAAA,WAAA,CAAY,OAAsC,EAAE,SAAmB,EAAE,YAA4B,EAAA;QACjG,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,MAAM,GAAG,IAAIA,eAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;SACpD;aAAM;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;SACtC;KACJ;AAEM,IAAA,MAAM,GAAG,CAAC,GAAW,EAAE,IAAS,EAAA;AACnC,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACpE,YAAA,OAAO,IAAI,CAAC;SACf;AACD,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACjD,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,MAAM,GAAG,CAAC,GAAW,EAAA;QACxB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/C,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;KAClC;IAEM,MAAM,IAAI,CAAC,GAAW,EAAA;QACzB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3B,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,MAAM,UAAU,CAAC,IAAe,EAAA;QACnC,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAClD,QAAA,OAAO,IAAI,CAAC;KACf;AACJ"}
@@ -1,5 +1,4 @@
1
- import IORedis, { Cluster } from 'ioredis';
2
- export class Redis {
1
+ import IORedis,{Cluster}from'ioredis';class Redis {
3
2
  client;
4
3
  getAsync;
5
4
  constructor(options, isCluster, clusterNodes) {
@@ -30,5 +29,4 @@ export class Redis {
30
29
  (keys || []).forEach(key => this.client.del(key));
31
30
  return true;
32
31
  }
33
- }
34
- //# sourceMappingURL=ioredis-engine.js.map
32
+ }export{Redis};//# sourceMappingURL=ioredis-engine.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ioredis-engine.mjs","sources":["../../src/engines/ioredis-engine.ts"],"sourcesContent":[null],"names":[],"mappings":"4CAGa,KAAK,CAAA;AACN,IAAA,MAAM,CAA2B;AACjC,IAAA,QAAQ,CAAC;AAEjB,IAAA,WAAA,CAAY,OAAsC,EAAE,SAAmB,EAAE,YAA4B,EAAA;QACjG,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;SACpD;aAAM;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;SACtC;KACJ;AAEM,IAAA,MAAM,GAAG,CAAC,GAAW,EAAE,IAAS,EAAA;AACnC,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACpE,YAAA,OAAO,IAAI,CAAC;SACf;AACD,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACjD,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,MAAM,GAAG,CAAC,GAAW,EAAA;QACxB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/C,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;KAClC;IAEM,MAAM,IAAI,CAAC,GAAW,EAAA;QACzB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3B,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,MAAM,UAAU,CAAC,IAAe,EAAA;QACnC,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAClD,QAAA,OAAO,IAAI,CAAC;KACf;AACJ"}
package/lib/index.cjs ADDED
@@ -0,0 +1 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var serverCore=require('@common-stack/server-core'),module$1=require('./module.cjs'),constants=require('./constants.cjs'),cacheService=require('./services/cache-service.cjs');var index = new serverCore.Feature(module$1.default);Object.defineProperty(exports,'Types',{enumerable:true,get:function(){return constants.Types}});exports.Cache=cacheService.Cache;exports.default=index;//# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":[null],"names":["Feature","module"],"mappings":"qPAKA,YAAe,IAAIA,kBAAO,CAACC,gBAAM,CAAC"}
package/lib/index.mjs ADDED
@@ -0,0 +1 @@
1
+ import {Feature}from'@common-stack/server-core';import module from'./module.mjs';export{Types}from'./constants.mjs';export{Cache}from'./services/cache-service.mjs';var index = new Feature(module);export{index as default};//# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":"oKAKA,YAAe,IAAI,OAAO,CAAC,MAAM,CAAC"}
package/lib/module.cjs ADDED
@@ -0,0 +1,8 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var serverCore=require('@common-stack/server-core'),constants=require('./constants.cjs'),module$2=require('./containers/module.cjs');const createServiceFunc = (container) => ({
2
+ cache: container.get(constants.Types.CacheService),
3
+ });
4
+ var module$1 = new serverCore.Feature({
5
+ schema: [],
6
+ createServiceFunc,
7
+ createContainerFunc: [module$2.moduleFunc],
8
+ });exports.default=module$1;//# sourceMappingURL=module.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.cjs","sources":["../src/module.ts"],"sourcesContent":[null],"names":["Types","Feature","moduleFunc"],"mappings":"2MAOA,MAAM,iBAAiB,GAAG,CAAC,SAA+B,MAAM;IAC5D,KAAK,EAAE,SAAS,CAAC,GAAG,CAACA,eAAK,CAAC,YAAY,CAAC;AAC3C,CAAA,CAAC,CAAC;AAEH,eAAe,IAAIC,kBAAO,CAAC;AACvB,IAAA,MAAM,EAAE,EAAE;IACV,iBAAiB;IACjB,mBAAmB,EAAE,CAACC,mBAAU,CAAC;AACpC,CAAA,CAAC"}
package/lib/module.mjs ADDED
@@ -0,0 +1,8 @@
1
+ import {Feature}from'@common-stack/server-core';import {Types}from'./constants.mjs';import {moduleFunc}from'./containers/module.mjs';const createServiceFunc = (container) => ({
2
+ cache: container.get(Types.CacheService),
3
+ });
4
+ var module = new Feature({
5
+ schema: [],
6
+ createServiceFunc,
7
+ createContainerFunc: [moduleFunc],
8
+ });export{module as default};//# sourceMappingURL=module.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.mjs","sources":["../src/module.ts"],"sourcesContent":[null],"names":[],"mappings":"qIAOA,MAAM,iBAAiB,GAAG,CAAC,SAA+B,MAAM;IAC5D,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC;AAC3C,CAAA,CAAC,CAAC;AAEH,aAAe,IAAI,OAAO,CAAC;AACvB,IAAA,MAAM,EAAE,EAAE;IACV,iBAAiB;IACjB,mBAAmB,EAAE,CAAC,UAAU,CAAC;AACpC,CAAA,CAAC"}
@@ -1,120 +1,97 @@
1
- import * as _ from 'lodash-es';
2
- import * as url from 'url';
3
- import { CdmLogger } from '@cdm-logger/core';
4
- import { logger as cdmLogger } from '@cdm-logger/server';
5
- import { ICacheService, ICacheEngine, ICacheOptions, ICacheSetOptions } from '../interfaces';
6
- import { Redis } from '../engines/ioredis-engine';
7
- import { config } from '../config';
8
-
9
- export class Cache implements ICacheService {
10
- private static DEFAULT_SCOPE = 'cde_cache';
11
- private static instance: Cache;
12
-
13
- private logger: CdmLogger.ILogger;
14
- private engine: ICacheEngine;
15
-
16
- constructor(
17
- engine: ICacheEngine,
18
- logger?: CdmLogger.ILogger,
19
- ) {
1
+ 'use strict';var url=require('url'),server=require('@cdm-logger/server'),ioredisEngine=require('../engines/ioredis-engine.cjs'),envConfig=require('../config/env-config.cjs');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var url__namespace=/*#__PURE__*/_interopNamespaceDefault(url);class Cache {
2
+ static DEFAULT_SCOPE = 'cde_cache';
3
+ static instance;
4
+ logger;
5
+ engine;
6
+ constructor(engine, logger) {
20
7
  this.engine = engine;
21
8
  if (logger) {
22
9
  this.logger = logger.child(this.constructor.name);
23
- } else {
24
- this.logger = cdmLogger.child(this.constructor.name);
10
+ }
11
+ else {
12
+ this.logger = server.logger.child(this.constructor.name);
25
13
  }
26
14
  }
27
-
28
- public static get Instance() {
15
+ static get Instance() {
29
16
  if (this.instance) {
30
17
  return this.instance;
31
18
  }
32
- const { port, hostname } = url.parse(config.REDIS_URL) as { port: any, hostname: string };
19
+ const { port, hostname } = url__namespace.parse(envConfig.config.REDIS_URL);
33
20
  let options;
34
21
  let client;
35
- if (config.REDIS_SENTINEL_ENABLED) {
22
+ if (envConfig.config.REDIS_SENTINEL_ENABLED) {
36
23
  options = {
37
24
  sentinels: [{ host: hostname, port }],
38
- name: config.REDIS_SENTINEL_NAME,
25
+ name: envConfig.config.REDIS_SENTINEL_NAME,
39
26
  };
40
- client = new Redis(options);
41
- } else if (config.REDIS_CLUSTER_ENABLED) {
27
+ client = new ioredisEngine.Redis(options);
28
+ }
29
+ else if (envConfig.config.REDIS_CLUSTER_ENABLED) {
42
30
  options = {};
43
- client = new Redis(options, true, config.REDIS_CLUSTER_URL);
44
- } else {
31
+ client = new ioredisEngine.Redis(options, true, envConfig.config.REDIS_CLUSTER_URL);
32
+ }
33
+ else {
45
34
  options = { host: hostname, port };
46
- client = new Redis(options);
35
+ client = new ioredisEngine.Redis(options);
47
36
  }
48
37
  this.instance = new this(client);
49
38
  return this.instance;
50
39
  }
51
-
52
- private key(key: string, scope?: string) {
40
+ key(key, scope) {
53
41
  return `${scope || Cache.DEFAULT_SCOPE}.${key}`;
54
42
  }
55
-
56
- private isExpired(createdAt: number, maxAge: number) {
43
+ isExpired(createdAt, maxAge) {
57
44
  const now = parseInt(`${Date.now() / 1000}`, null);
58
45
  return now - createdAt > maxAge;
59
46
  }
60
-
61
- private getOptions(opts: ICacheOptions) {
47
+ getOptions(opts) {
62
48
  return Object.assign(this.defaults, opts || {});
63
49
  }
64
-
65
50
  get defaults() {
66
51
  return {
67
52
  scope: Cache.DEFAULT_SCOPE,
68
- maxAge: config.REDIS_CACHE_MAX_AGE_in_sec,
53
+ maxAge: envConfig.config.REDIS_CACHE_MAX_AGE_in_sec,
69
54
  createdAt: parseInt(`${Date.now() / 1000}`, null),
70
55
  };
71
56
  }
72
-
73
- public async set(key: string, payload: any, options?: ICacheSetOptions) {
57
+ async set(key, payload, options) {
74
58
  const opts = this.getOptions(options);
75
59
  const cache = Object.assign({}, { payload }, opts);
76
-
77
60
  const path = this.key(key, opts.scope);
78
- const result = this.engine.set(path, cache);
79
-
61
+ this.engine.set(path, cache);
80
62
  return payload;
81
63
  }
82
-
83
- public async get(key: string, options?: ICacheOptions) {
64
+ async get(key, options) {
84
65
  const opts = this.getOptions(options);
85
66
  const path = this.key(key, opts.scope);
86
67
  const cache = await this.engine.get(path);
87
-
88
68
  if (cache == null) {
89
69
  return null;
90
70
  }
91
-
92
71
  if (this.isExpired(cache.createdAt, cache.maxAge)) {
93
72
  this.engine.drop(path);
94
73
  return null;
95
- } else {
74
+ }
75
+ else {
96
76
  return opts.parse
97
77
  ? cache.payload
98
78
  : cache.payload; // not really doing anything here
99
79
  }
100
80
  }
101
-
102
- public async drop(key, options?: ICacheOptions) {
81
+ async drop(key, options) {
103
82
  const opts = this.getOptions(options);
104
83
  const path = this.key(key, opts.scope);
105
-
106
- const ok = this.engine.drop(path);
84
+ this.engine.drop(path);
107
85
  return true;
108
86
  }
109
-
110
- public async invalidate(keys, options?: ICacheOptions) {
87
+ async invalidate(keys, options) {
111
88
  if (keys.length <= 0) {
112
89
  return this.engine.invalidate();
113
- } else {
90
+ }
91
+ else {
114
92
  const opts = this.getOptions(options);
115
93
  const paths = keys.map(key => this.key(key, opts.scope));
116
-
117
94
  return this.engine.invalidate(paths);
118
95
  }
119
96
  }
120
- }
97
+ }exports.Cache=Cache;//# sourceMappingURL=cache-service.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-service.cjs","sources":["../../src/services/cache-service.ts"],"sourcesContent":[null],"names":["cdmLogger","url","config","Redis"],"mappings":"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"}
@@ -1,19 +1,15 @@
1
- import * as url from 'url';
2
- import { logger as cdmLogger } from '@cdm-logger/server';
3
- import { Redis } from '../engines/ioredis-engine';
4
- import { config } from '../config';
5
- export class Cache {
1
+ import*as url from'url';import {logger}from'@cdm-logger/server';import {Redis}from'../engines/ioredis-engine.mjs';import {config}from'../config/env-config.mjs';class Cache {
6
2
  static DEFAULT_SCOPE = 'cde_cache';
7
3
  static instance;
8
4
  logger;
9
5
  engine;
10
- constructor(engine, logger) {
6
+ constructor(engine, logger$1) {
11
7
  this.engine = engine;
12
- if (logger) {
13
- this.logger = logger.child(this.constructor.name);
8
+ if (logger$1) {
9
+ this.logger = logger$1.child(this.constructor.name);
14
10
  }
15
11
  else {
16
- this.logger = cdmLogger.child(this.constructor.name);
12
+ this.logger = logger.child(this.constructor.name);
17
13
  }
18
14
  }
19
15
  static get Instance() {
@@ -62,7 +58,7 @@ export class Cache {
62
58
  const opts = this.getOptions(options);
63
59
  const cache = Object.assign({}, { payload }, opts);
64
60
  const path = this.key(key, opts.scope);
65
- const result = this.engine.set(path, cache);
61
+ this.engine.set(path, cache);
66
62
  return payload;
67
63
  }
68
64
  async get(key, options) {
@@ -85,7 +81,7 @@ export class Cache {
85
81
  async drop(key, options) {
86
82
  const opts = this.getOptions(options);
87
83
  const path = this.key(key, opts.scope);
88
- const ok = this.engine.drop(path);
84
+ this.engine.drop(path);
89
85
  return true;
90
86
  }
91
87
  async invalidate(keys, options) {
@@ -98,5 +94,4 @@ export class Cache {
98
94
  return this.engine.invalidate(paths);
99
95
  }
100
96
  }
101
- }
102
- //# sourceMappingURL=cache-service.js.map
97
+ }export{Cache};//# sourceMappingURL=cache-service.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-service.mjs","sources":["../../src/services/cache-service.ts"],"sourcesContent":[null],"names":["logger","cdmLogger"],"mappings":"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"}
package/package.json CHANGED
@@ -1,16 +1,20 @@
1
1
  {
2
2
  "name": "@common-stack/cache-api-server",
3
- "version": "6.0.6-alpha.0",
3
+ "version": "6.0.6-alpha.41",
4
4
  "description": "Sample core for higher packages to depend on",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
7
- "main": "lib/index.js",
8
- "module": "lib/index.js",
7
+ "main": "lib/index.cjs",
8
+ "module": "lib/index.mjs",
9
+ "types": "lib/index.d.ts",
10
+ "files": [
11
+ "lib"
12
+ ],
9
13
  "typings": "lib/index.d.ts",
10
14
  "scripts": {
11
15
  "build": "npm run build:clean && npm run build:lib",
12
16
  "build:clean": "rimraf lib",
13
- "build:lib": "tsc",
17
+ "build:lib": "rollup -c rollup.config.mjs",
14
18
  "build:lib:watch": "npm run build:lib -- --watch",
15
19
  "jest": "./node_modules/.bin/jest",
16
20
  "prepublish": "npm run build",
@@ -22,7 +26,7 @@
22
26
  "watch": "npm run build:lib:watch"
23
27
  },
24
28
  "dependencies": {
25
- "@common-stack/server-core": "6.0.6-alpha.0"
29
+ "@common-stack/server-core": "6.0.6-alpha.5"
26
30
  },
27
31
  "devDependencies": {
28
32
  "envalid": "^6.0.0"
@@ -33,7 +37,7 @@
33
37
  "publishConfig": {
34
38
  "access": "public"
35
39
  },
36
- "gitHead": "b0d198e30e60e102b7abc06e8b20cd7df6251dfa",
40
+ "gitHead": "f1eaeaa1c0613e7b20e21cafe4cdf58f6c2c2151",
37
41
  "typescript": {
38
42
  "definition": "lib/index.d.ts"
39
43
  }
package/CHANGELOG.md DELETED
@@ -1,92 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- ## [6.0.6-alpha.0](https://github.com/cdmbase/common-stack/compare/v5.0.6-alpha.8...v6.0.6-alpha.0) (2024-08-26)
7
-
8
- **Note:** Version bump only for package @common-stack/cache-api-server
9
-
10
- ## [6.0.1-alpha.0](https://github.com/cdmbase/common-stack/compare/v5.0.6-alpha.8...v6.0.1-alpha.0) (2024-08-26)
11
-
12
- **Note:** Version bump only for package @common-stack/cache-api-server
13
-
14
- ## [5.0.6-alpha.3](https://github.com/cdmbase/common-stack/compare/v5.0.6-alpha.2...v5.0.6-alpha.3) (2024-08-16)
15
-
16
- **Note:** Version bump only for package @common-stack/cache-api-server
17
-
18
- ## [5.0.6-alpha.1](https://github.com/cdmbase/common-stack/compare/v5.0.6-alpha.0...v5.0.6-alpha.1) (2024-08-15)
19
-
20
- **Note:** Version bump only for package @common-stack/cache-api-server
21
-
22
- ## [5.0.6-alpha.0](https://github.com/cdmbase/common-stack/compare/v5.0.5-alpha.10...v5.0.6-alpha.0) (2024-08-15)
23
-
24
- **Note:** Version bump only for package @common-stack/cache-api-server
25
-
26
- ## [5.0.5-alpha.0](https://github.com/cdmbase/common-stack/compare/v5.0.5-alpha.10...v5.0.5-alpha.0) (2024-08-15)
27
-
28
- **Note:** Version bump only for package @common-stack/cache-api-server
29
-
30
- ## [5.0.5-alpha.0](https://github.com/cdmbase/common-stack/compare/v0.0.251...v5.0.5-alpha.0) (2024-08-11)
31
-
32
- **Note:** Version bump only for package @common-stack/cache-api-server
33
-
34
- ## [5.0.4-alpha.21](https://github.com/cdmbase/common-stack/compare/v5.0.4-alpha.20...v5.0.4-alpha.21) (2024-08-11)
35
-
36
- **Note:** Version bump only for package @common-stack/cache-api-server
37
-
38
- ## [5.0.4-alpha.19](https://github.com/cdmbase/common-stack/compare/v5.0.4-alpha.18...v5.0.4-alpha.19) (2024-08-10)
39
-
40
- **Note:** Version bump only for package @common-stack/cache-api-server
41
-
42
- ## [5.0.4-alpha.18](https://github.com/cdmbase/common-stack/compare/v5.0.4-alpha.17...v5.0.4-alpha.18) (2024-08-10)
43
-
44
- **Note:** Version bump only for package @common-stack/cache-api-server
45
-
46
- ## [5.0.4-alpha.17](https://github.com/cdmbase/common-stack/compare/v5.0.4-alpha.16...v5.0.4-alpha.17) (2024-08-10)
47
-
48
- **Note:** Version bump only for package @common-stack/cache-api-server
49
-
50
- ## [5.0.4-alpha.16](https://github.com/cdmbase/common-stack/compare/v5.0.4-alpha.15...v5.0.4-alpha.16) (2024-08-10)
51
-
52
- **Note:** Version bump only for package @common-stack/cache-api-server
53
-
54
- ## [5.0.4-alpha.15](https://github.com/cdmbase/common-stack/compare/v5.0.4-alpha.14...v5.0.4-alpha.15) (2024-08-10)
55
-
56
- **Note:** Version bump only for package @common-stack/cache-api-server
57
-
58
- ## [5.0.4-alpha.14](https://github.com/cdmbase/common-stack/compare/v5.0.4-alpha.13...v5.0.4-alpha.14) (2024-08-10)
59
-
60
- **Note:** Version bump only for package @common-stack/cache-api-server
61
-
62
- ## [5.0.4-alpha.13](https://github.com/cdmbase/common-stack/compare/v5.0.4-alpha.12...v5.0.4-alpha.13) (2024-08-10)
63
-
64
- **Note:** Version bump only for package @common-stack/cache-api-server
65
-
66
- ## [5.0.4-alpha.12](https://github.com/cdmbase/common-stack/compare/v5.0.4-alpha.11...v5.0.4-alpha.12) (2024-08-10)
67
-
68
- **Note:** Version bump only for package @common-stack/cache-api-server
69
-
70
- ## [5.0.4-alpha.11](https://github.com/cdmbase/common-stack/compare/v5.0.4-alpha.10...v5.0.4-alpha.11) (2024-08-08)
71
-
72
- **Note:** Version bump only for package @common-stack/cache-api-server
73
-
74
- ## [5.0.4-alpha.7](https://github.com/cdmbase/common-stack/compare/v5.0.4-alpha.6...v5.0.4-alpha.7) (2024-08-01)
75
-
76
- **Note:** Version bump only for package @common-stack/cache-api-server
77
-
78
- ## [5.0.4-alpha.5](https://github.com/cdmbase/common-stack/compare/v5.0.4-alpha.4...v5.0.4-alpha.5) (2024-08-01)
79
-
80
- **Note:** Version bump only for package @common-stack/cache-api-server
81
-
82
- ## [5.0.4-alpha.0](https://github.com/cdmbase/common-stack/compare/v0.0.251...v5.0.4-alpha.0) (2024-07-24)
83
-
84
- **Note:** Version bump only for package @common-stack/cache-api-server
85
-
86
- ## [5.0.3-alpha.0](https://github.com/cdmbase/common-stack/compare/v0.0.251...v5.0.3-alpha.0) (2024-07-24)
87
-
88
- **Note:** Version bump only for package @common-stack/cache-api-server
89
-
90
- ## [5.0.2-alpha.0](https://github.com/cdmbase/common-stack/compare/v0.0.251...v5.0.2-alpha.0) (2024-07-17)
91
-
92
- **Note:** Version bump only for package @common-stack/cache-api-server
@@ -1 +0,0 @@
1
- {"version":3,"file":"env-config.js","sourceRoot":"","sources":["../../src/config/env-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAYzD,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAU,OAAO,CAAC,GAAG,EAAE;IACjD,SAAS,EAAE,GAAG,EAAE;IAChB,sBAAsB,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACnD,mBAAmB,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IACjD,qBAAqB,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC/C,iBAAiB,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,yFAAyF,EAAE,CAAC;IAC5H,0BAA0B,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,yCAAyC,EAAE,CAAC;IACtG,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;CACtG,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './env-config';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,KAGX;AAHD,WAAY,KAAK;IACb,oCAA2B,CAAA;IAC3B,sCAA6B,CAAA;AACjC,CAAC,EAHW,KAAK,KAAL,KAAK,QAGhB"}
@@ -1,2 +0,0 @@
1
- export * from './module';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/containers/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/containers/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAc,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAGlD,MAAM,CAAC,MAAM,UAAU,GACnB,CAAC,QAAa,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,CAAC,IAAqB,EAAE,EAAE;IAE7D;;;OAGG;IACH,IAAI,CAA4B,KAAK,CAAC,YAAY,CAAC,CAAC,SAAS,CAAQ,CAAC,OAA2B,EAAE,EAAE;QACjG,OAAO,GAAG,EAAE;YACR,wFAAwF;YACxF,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAe,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAoB,QAAQ,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC;IACN,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;IAEzB,IAAI,CAAe,KAAK,CAAC,WAAW,CAAC;SAChC,eAAe,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACrD,sBAAsB;SACrB,mBAAmB,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC"}
@@ -1,19 +0,0 @@
1
- export class InMemory {
2
- cache = new Map();
3
- async set(key, data) {
4
- this.cache.set(key, data);
5
- return data;
6
- }
7
- async get(key) {
8
- return this.cache.get(key);
9
- }
10
- async drop(key) {
11
- this.cache.delete(key);
12
- return true;
13
- }
14
- async invalidate(keys) {
15
- (keys || []).forEach(key => this.cache.delete(key));
16
- return true;
17
- }
18
- }
19
- //# sourceMappingURL=in-memory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"in-memory.js","sourceRoot":"","sources":["../../src/engines/in-memory.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,QAAQ;IACT,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IAEnB,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,IAAS;QACnC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAW;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,GAAW;QACzB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,IAAe;QACnC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ioredis-engine.js","sourceRoot":"","sources":["../../src/engines/ioredis-engine.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAE,OAAO,EAAsE,MAAM,SAAS,CAAC;AAG/G,MAAM,OAAO,KAAK;IACN,MAAM,CAA2B;IACjC,QAAQ,CAAC;IAEjB,YAAY,OAAsC,EAAE,SAAmB,EAAE,YAA4B;QACjG,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,IAAS;QACnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAW;QACxB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,GAAW;QACzB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,IAAe;QACnC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
package/lib/index.js DELETED
@@ -1,6 +0,0 @@
1
- import { Feature } from '@common-stack/server-core';
2
- import module from './module';
3
- export * from './constants';
4
- export { Cache } from './services';
5
- export default new Feature(module);
6
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cache-engine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache-engine.js","sourceRoot":"","sources":["../../src/interfaces/cache-engine.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cache-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache-service.js","sourceRoot":"","sources":["../../src/interfaces/cache-service.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ICache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ICache.js","sourceRoot":"","sources":["../../../src/interfaces/common/ICache.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export * from './ICache';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './cache-engine';
2
- export * from './cache-service';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
package/lib/module.js DELETED
@@ -1,12 +0,0 @@
1
- import { Feature } from '@common-stack/server-core';
2
- import { Types } from './constants';
3
- import { moduleFunc } from './containers';
4
- const createServiceFunc = (container) => ({
5
- cache: container.get(Types.CacheService),
6
- });
7
- export default new Feature({
8
- schema: [],
9
- createServiceFunc,
10
- createContainerFunc: [moduleFunc],
11
- });
12
- //# sourceMappingURL=module.js.map
package/lib/module.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,iBAAiB,GAAG,CAAC,SAA+B,EAAE,EAAE,CAAC,CAAC;IAC5D,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC;CAC3C,CAAC,CAAC;AAEH,eAAe,IAAI,OAAO,CAAC;IACvB,MAAM,EAAE,EAAE;IACV,iBAAiB;IACjB,mBAAmB,EAAE,CAAC,UAAU,CAAC;CACpC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache-service.js","sourceRoot":"","sources":["../../src/services/cache-service.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from './cache-service';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -1,22 +0,0 @@
1
- import { str, cleanEnv, json, num, bool } from 'envalid';
2
-
3
- export interface IConfig {
4
- NODE_ENV: string;
5
- REDIS_URL: string;
6
- REDIS_CACHE_MAX_AGE_in_sec: number;
7
- REDIS_SENTINEL_ENABLED: boolean;
8
- REDIS_SENTINEL_NAME?: string;
9
- REDIS_CLUSTER_ENABLED?: boolean;
10
- REDIS_CLUSTER_URL?: any;
11
- }
12
-
13
- export const config = cleanEnv<IConfig>(process.env, {
14
- REDIS_URL: str(),
15
- REDIS_SENTINEL_ENABLED: bool({ devDefault: false }),
16
- REDIS_SENTINEL_NAME: str({ default: 'mymaster' }),
17
- REDIS_CLUSTER_ENABLED: bool({ default: false }),
18
- REDIS_CLUSTER_URL: json({ desc: "Send cluster nodes as array of host and port object. ex: [{ host: 'node1', port: 6678}]" }),
19
- REDIS_CACHE_MAX_AGE_in_sec: num({ default: 2592000, desc: 'Max. age in seconds. Default is 30 days' }),
20
- NODE_ENV: str({ choices: ['production', 'test', 'staging', 'development'], default: 'production' }),
21
- });
22
-
@@ -1 +0,0 @@
1
- export * from './env-config';
package/src/constants.ts DELETED
@@ -1,4 +0,0 @@
1
- export enum Types {
2
- CacheEngine = 'CacheEngine',
3
- CacheService = 'CacheService',
4
- }
@@ -1 +0,0 @@
1
- export * from './module';
@@ -1,30 +0,0 @@
1
- import { ContainerModule, interfaces } from 'inversify';
2
- import { CdmLogger } from '@cdm-logger/core';
3
- import { Cache } from '../services';
4
- import { Types } from '../constants';
5
- import { Redis } from '../engines/ioredis-engine';
6
- import { ICacheEngine } from '../interfaces';
7
-
8
- export const moduleFunc: (settings: any, pubsub) => interfaces.ContainerModule =
9
- (settings: any) => new ContainerModule((bind: interfaces.Bind) => {
10
-
11
- /**
12
- *
13
- * @returns: () => cache;
14
- */
15
- bind<interfaces.Factory<Cache>>(Types.CacheService).toFactory<Cache>((context: interfaces.Context) => {
16
- return () => {
17
- // TODO: to make it singleton we need to check if Cache already exist then return same.
18
- const cacheEngine = context.container.get<ICacheEngine>(Types.CacheEngine);
19
- const logger = context.container.get<CdmLogger.ILogger>('Logger');
20
- const cache = new Cache(cacheEngine, logger);
21
- return cache;
22
- };
23
- }).whenTargetIsDefault();
24
-
25
- bind<ICacheEngine>(Types.CacheEngine)
26
- .toConstantValue(new Redis(settings.redisConnection))
27
- // .inSingletonScope()
28
- .whenTargetIsDefault();
29
- });
30
-
@@ -1,24 +0,0 @@
1
- import { ICacheEngine } from '../interfaces';
2
-
3
- export class InMemory implements ICacheEngine {
4
- private cache = new Map();
5
-
6
- public async set(key: string, data: any) {
7
- this.cache.set(key, data);
8
- return data;
9
- }
10
-
11
- public async get(key: string) {
12
- return this.cache.get(key);
13
- }
14
-
15
- public async drop(key: string) {
16
- this.cache.delete(key);
17
- return true;
18
- }
19
-
20
- public async invalidate(keys?: string[]) {
21
- (keys || []).forEach(key => this.cache.delete(key));
22
- return true;
23
- }
24
- }
@@ -1,39 +0,0 @@
1
- import IORedis, { Cluster, ClusterNode, ClusterOptions, Redis as RedisInterface, RedisOptions } from 'ioredis';
2
- import { ICacheEngine } from '../interfaces';
3
-
4
- export class Redis implements ICacheEngine {
5
- private client: RedisInterface | Cluster;
6
- private getAsync;
7
-
8
- constructor(options: RedisOptions | ClusterOptions, isCluster?: boolean, clusterNodes?: ClusterNode[]) {
9
- if (isCluster) {
10
- this.client = new Cluster(clusterNodes, options);
11
- } else {
12
- this.client = new IORedis(options);
13
- }
14
- }
15
-
16
- public async set(key: string, data: any) {
17
- if (data.maxAge) {
18
- await this.client.set(key, JSON.stringify(data), 'EX', data.maxAge);
19
- return data;
20
- }
21
- await this.client.set(key, JSON.stringify(data));
22
- return data;
23
- }
24
-
25
- public async get(key: string) {
26
- const cacheString = await this.client.get(key);
27
- return JSON.parse(cacheString);
28
- }
29
-
30
- public async drop(key: string) {
31
- await this.client.del(key);
32
- return true;
33
- }
34
-
35
- public async invalidate(keys?: string[]) {
36
- (keys || []).forEach(key => this.client.del(key));
37
- return true;
38
- }
39
- }
package/src/index.ts DELETED
@@ -1,7 +0,0 @@
1
- import { Feature } from '@common-stack/server-core';
2
- import module from './module';
3
-
4
- export * from './constants';
5
- export { Cache } from './services';
6
- export default new Feature(module);
7
-
@@ -1,8 +0,0 @@
1
- import { ICache } from './common';
2
-
3
- export interface ICacheEngine {
4
- get(key: string): Promise<ICache>;
5
- drop(key: string): Promise<boolean>;
6
- invalidate(keys?: string[]): Promise<boolean>;
7
- set(key: string, cache: ICache): Promise<ICache>;
8
- }
@@ -1,19 +0,0 @@
1
- export interface ICacheOptions {
2
- parse?: string;
3
- scope?: string;
4
- }
5
-
6
- export interface ICacheSetOptions extends ICacheOptions {
7
- maxAge?: number;
8
- createdAt?: any;
9
- }
10
-
11
- export interface ICacheService {
12
- defaults: ICacheSetOptions;
13
-
14
- invalidate(key: string): Promise<boolean>;
15
- get(key: string, options: ICacheOptions): Promise<any>;
16
- drop(key: string, options: ICacheOptions): Promise<boolean>;
17
- invalidate(keys?: string[], options?: ICacheOptions): Promise<boolean>;
18
- set(key: string, data: any, options?: ICacheSetOptions): Promise<any>;
19
- }
@@ -1,5 +0,0 @@
1
- export interface ICache {
2
- payload: any;
3
- maxAge: number;
4
- createdAt: number;
5
- }
@@ -1 +0,0 @@
1
- export * from './ICache';
@@ -1,2 +0,0 @@
1
- export * from './cache-engine';
2
- export * from './cache-service';
package/src/module.ts DELETED
@@ -1,16 +0,0 @@
1
- import * as _ from 'lodash-es';
2
- import { interfaces } from 'inversify';
3
- import { Feature } from '@common-stack/server-core';
4
-
5
- import { Types } from './constants';
6
- import { moduleFunc } from './containers';
7
-
8
- const createServiceFunc = (container: interfaces.Container) => ({
9
- cache: container.get(Types.CacheService),
10
- });
11
-
12
- export default new Feature({
13
- schema: [],
14
- createServiceFunc,
15
- createContainerFunc: [moduleFunc],
16
- });
@@ -1 +0,0 @@
1
- export * from './cache-service';
package/tsconfig.json DELETED
@@ -1,18 +0,0 @@
1
- {
2
- "extends": "../../../tsconfig.json",
3
- "compilerOptions": {
4
- "resolveJsonModule": true,
5
- "rootDir": "src",
6
- "outDir": "lib",
7
- "declarationDir": "lib",
8
- "declaration": true,
9
- "skipLibCheck": true,
10
- },
11
- "include": ["src"],
12
- "exclude": [
13
- "node_modules",
14
- "lib",
15
- "dist",
16
- "webpack.config.js"
17
- ]
18
- }
package/webpack.config.js DELETED
@@ -1,62 +0,0 @@
1
- const nodeExternals = require('webpack-node-externals');
2
- const webpack = require('webpack');
3
- const EnvListLoader = require('@common-stack/env-list-loader');
4
- const path = require('path');
5
-
6
- const webpackOpts = {
7
- mode: 'development',
8
- entry: {
9
- index: './src/index.ts',
10
- },
11
- target: 'node',
12
- output: {
13
- path: path.join(__dirname, 'lib'),
14
- filename: '[name].js',
15
- libraryTarget: 'commonjs2',
16
- },
17
- resolve: {
18
- extensions: ['.ts', '.tsx', '.graphql', '.graphqls', '.gql'],
19
- },
20
- plugins: [
21
- new webpack.LoaderOptionsPlugin({
22
- options: {
23
- test: /\.tsx?$/,
24
- ts: {
25
- compiler: 'typescript',
26
- configFile: 'tsconfig.json',
27
- },
28
- tslint: {
29
- emitErrors: true,
30
- failOnHint: true,
31
- },
32
- },
33
- }),
34
- new EnvListLoader.Plugin
35
- ],
36
- devtool: 'source-map',
37
- module: {
38
- rules: [
39
- {
40
- test: /\.tsx?$/,
41
- use: 'ts-loader',
42
- },
43
- {
44
- test: /\.(gql)$/,
45
- exclude: /node_modules/,
46
- use: ['graphql-tag/loader'],
47
- },
48
- {
49
- test: /\.graphql?/,
50
- exclude: /node_modules/,
51
- use: 'raw-loader',
52
- },
53
- {
54
- test: /(env|public)-config.ts$/,
55
- use: '@common-stack/env-list-loader',
56
- },
57
- ],
58
- },
59
- externals: [nodeExternals({ modulesDir: '../../../node_modules' }), nodeExternals()],
60
- };
61
-
62
- module.exports = webpackOpts;