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

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 (48) hide show
  1. package/CHANGELOG.md +108 -0
  2. package/lib/config/{env-config.mjs → env-config.js} +1 -1
  3. package/lib/{constants.mjs → constants.js} +1 -1
  4. package/lib/containers/{module.mjs → module.js} +2 -2
  5. package/lib/engines/{ioredis-engine.mjs → ioredis-engine.js} +1 -1
  6. package/lib/index.js +1 -0
  7. package/lib/{module.mjs → module.js} +2 -2
  8. package/lib/services/{cache-service.mjs → cache-service.js} +2 -2
  9. package/package.json +5 -7
  10. package/rollup.config.mjs +41 -0
  11. package/src/config/env-config.ts +22 -0
  12. package/src/config/index.ts +1 -0
  13. package/src/constants.ts +4 -0
  14. package/src/containers/index.ts +1 -0
  15. package/src/containers/module.ts +30 -0
  16. package/src/engines/in-memory.ts +24 -0
  17. package/src/engines/ioredis-engine.ts +39 -0
  18. package/src/index.ts +7 -0
  19. package/src/interfaces/cache-engine.ts +8 -0
  20. package/src/interfaces/cache-service.ts +19 -0
  21. package/src/interfaces/common/ICache.ts +5 -0
  22. package/src/interfaces/common/index.ts +1 -0
  23. package/src/interfaces/index.ts +2 -0
  24. package/src/module.ts +16 -0
  25. package/{lib/services/cache-service.cjs → src/services/cache-service.ts} +58 -35
  26. package/src/services/index.ts +1 -0
  27. package/tsconfig.json +18 -0
  28. package/lib/config/env-config.cjs +0 -9
  29. package/lib/config/env-config.cjs.map +0 -1
  30. package/lib/config/env-config.mjs.map +0 -1
  31. package/lib/constants.cjs +0 -5
  32. package/lib/constants.cjs.map +0 -1
  33. package/lib/constants.mjs.map +0 -1
  34. package/lib/containers/module.cjs +0 -19
  35. package/lib/containers/module.cjs.map +0 -1
  36. package/lib/containers/module.mjs.map +0 -1
  37. package/lib/engines/ioredis-engine.cjs +0 -32
  38. package/lib/engines/ioredis-engine.cjs.map +0 -1
  39. package/lib/engines/ioredis-engine.mjs.map +0 -1
  40. package/lib/index.cjs +0 -1
  41. package/lib/index.cjs.map +0 -1
  42. package/lib/index.mjs +0 -1
  43. package/lib/index.mjs.map +0 -1
  44. package/lib/module.cjs +0 -8
  45. package/lib/module.cjs.map +0 -1
  46. package/lib/module.mjs.map +0 -1
  47. package/lib/services/cache-service.cjs.map +0 -1
  48. package/lib/services/cache-service.mjs.map +0 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,108 @@
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.43](https://github.com/cdmbase/common-stack/compare/v6.0.6-alpha.42...v6.0.6-alpha.43) (2024-10-02)
7
+
8
+ **Note:** Version bump only for package @common-stack/cache-api-server
9
+
10
+ ## [6.0.6-alpha.42](https://github.com/cdmbase/common-stack/compare/v6.0.6-alpha.41...v6.0.6-alpha.42) (2024-10-02)
11
+
12
+ **Note:** Version bump only for package @common-stack/cache-api-server
13
+
14
+ ## [6.0.6-alpha.41](https://github.com/cdmbase/common-stack/compare/v6.0.6-alpha.40...v6.0.6-alpha.41) (2024-10-02)
15
+
16
+ **Note:** Version bump only for package @common-stack/cache-api-server
17
+
18
+ ## [6.0.6-alpha.5](https://github.com/cdmbase/common-stack/compare/v6.0.6-alpha.4...v6.0.6-alpha.5) (2024-08-27)
19
+
20
+ **Note:** Version bump only for package @common-stack/cache-api-server
21
+
22
+ ## [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)
23
+
24
+ **Note:** Version bump only for package @common-stack/cache-api-server
25
+
26
+ ## [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)
27
+
28
+ **Note:** Version bump only for package @common-stack/cache-api-server
29
+
30
+ ## [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)
31
+
32
+ **Note:** Version bump only for package @common-stack/cache-api-server
33
+
34
+ ## [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)
35
+
36
+ **Note:** Version bump only for package @common-stack/cache-api-server
37
+
38
+ ## [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)
39
+
40
+ **Note:** Version bump only for package @common-stack/cache-api-server
41
+
42
+ ## [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)
43
+
44
+ **Note:** Version bump only for package @common-stack/cache-api-server
45
+
46
+ ## [5.0.5-alpha.0](https://github.com/cdmbase/common-stack/compare/v0.0.251...v5.0.5-alpha.0) (2024-08-11)
47
+
48
+ **Note:** Version bump only for package @common-stack/cache-api-server
49
+
50
+ ## [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)
51
+
52
+ **Note:** Version bump only for package @common-stack/cache-api-server
53
+
54
+ ## [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)
55
+
56
+ **Note:** Version bump only for package @common-stack/cache-api-server
57
+
58
+ ## [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)
59
+
60
+ **Note:** Version bump only for package @common-stack/cache-api-server
61
+
62
+ ## [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)
63
+
64
+ **Note:** Version bump only for package @common-stack/cache-api-server
65
+
66
+ ## [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)
67
+
68
+ **Note:** Version bump only for package @common-stack/cache-api-server
69
+
70
+ ## [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)
71
+
72
+ **Note:** Version bump only for package @common-stack/cache-api-server
73
+
74
+ ## [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)
75
+
76
+ **Note:** Version bump only for package @common-stack/cache-api-server
77
+
78
+ ## [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)
79
+
80
+ **Note:** Version bump only for package @common-stack/cache-api-server
81
+
82
+ ## [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)
83
+
84
+ **Note:** Version bump only for package @common-stack/cache-api-server
85
+
86
+ ## [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)
87
+
88
+ **Note:** Version bump only for package @common-stack/cache-api-server
89
+
90
+ ## [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)
91
+
92
+ **Note:** Version bump only for package @common-stack/cache-api-server
93
+
94
+ ## [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)
95
+
96
+ **Note:** Version bump only for package @common-stack/cache-api-server
97
+
98
+ ## [5.0.4-alpha.0](https://github.com/cdmbase/common-stack/compare/v0.0.251...v5.0.4-alpha.0) (2024-07-24)
99
+
100
+ **Note:** Version bump only for package @common-stack/cache-api-server
101
+
102
+ ## [5.0.3-alpha.0](https://github.com/cdmbase/common-stack/compare/v0.0.251...v5.0.3-alpha.0) (2024-07-24)
103
+
104
+ **Note:** Version bump only for package @common-stack/cache-api-server
105
+
106
+ ## [5.0.2-alpha.0](https://github.com/cdmbase/common-stack/compare/v0.0.251...v5.0.2-alpha.0) (2024-07-17)
107
+
108
+ **Note:** Version bump only for package @common-stack/cache-api-server
@@ -6,4 +6,4 @@ import {cleanEnv,str,bool,json,num}from'envalid';const config = cleanEnv(process
6
6
  REDIS_CLUSTER_URL: json({ desc: "Send cluster nodes as array of host and port object. ex: [{ host: 'node1', port: 6678}]" }),
7
7
  REDIS_CACHE_MAX_AGE_in_sec: num({ default: 2592000, desc: 'Max. age in seconds. Default is 30 days' }),
8
8
  NODE_ENV: str({ choices: ['production', 'test', 'staging', 'development'], default: 'production' }),
9
- });export{config};//# sourceMappingURL=env-config.mjs.map
9
+ });export{config};
@@ -2,4 +2,4 @@ var Types;
2
2
  (function (Types) {
3
3
  Types["CacheEngine"] = "CacheEngine";
4
4
  Types["CacheService"] = "CacheService";
5
- })(Types || (Types = {}));export{Types};//# sourceMappingURL=constants.mjs.map
5
+ })(Types || (Types = {}));export{Types};
@@ -1,4 +1,4 @@
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) => {
1
+ import {ContainerModule}from'inversify';import {Cache}from'../services/cache-service.js';import {Types}from'../constants.js';import {Redis}from'../engines/ioredis-engine.js';const moduleFunc = (settings) => new ContainerModule((bind) => {
2
2
  /**
3
3
  *
4
4
  * @returns: () => cache;
@@ -16,4 +16,4 @@ import {ContainerModule}from'inversify';import {Cache}from'../services/cache-ser
16
16
  .toConstantValue(new Redis(settings.redisConnection))
17
17
  // .inSingletonScope()
18
18
  .whenTargetIsDefault();
19
- });export{moduleFunc};//# sourceMappingURL=module.mjs.map
19
+ });export{moduleFunc};
@@ -29,4 +29,4 @@ import IORedis,{Cluster}from'ioredis';class Redis {
29
29
  (keys || []).forEach(key => this.client.del(key));
30
30
  return true;
31
31
  }
32
- }export{Redis};//# sourceMappingURL=ioredis-engine.mjs.map
32
+ }export{Redis};
package/lib/index.js ADDED
@@ -0,0 +1 @@
1
+ import {Feature}from'@common-stack/server-core';import module from'./module.js';export{Types}from'./constants.js';export{Cache}from'./services/cache-service.js';var index = new Feature(module);export{index as default};
@@ -1,8 +1,8 @@
1
- import {Feature}from'@common-stack/server-core';import {Types}from'./constants.mjs';import {moduleFunc}from'./containers/module.mjs';const createServiceFunc = (container) => ({
1
+ import {Feature}from'@common-stack/server-core';import {Types}from'./constants.js';import {moduleFunc}from'./containers/module.js';const createServiceFunc = (container) => ({
2
2
  cache: container.get(Types.CacheService),
3
3
  });
4
4
  var module = new Feature({
5
5
  schema: [],
6
6
  createServiceFunc,
7
7
  createContainerFunc: [moduleFunc],
8
- });export{module as default};//# sourceMappingURL=module.mjs.map
8
+ });export{module as default};
@@ -1,4 +1,4 @@
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 {
1
+ import*as url from'url';import {logger}from'@cdm-logger/server';import {Redis}from'../engines/ioredis-engine.js';import {config}from'../config/env-config.js';class Cache {
2
2
  static DEFAULT_SCOPE = 'cde_cache';
3
3
  static instance;
4
4
  logger;
@@ -94,4 +94,4 @@ import*as url from'url';import {logger}from'@cdm-logger/server';import {Redis}fr
94
94
  return this.engine.invalidate(paths);
95
95
  }
96
96
  }
97
- }export{Cache};//# sourceMappingURL=cache-service.mjs.map
97
+ }export{Cache};
package/package.json CHANGED
@@ -1,15 +1,13 @@
1
1
  {
2
2
  "name": "@common-stack/cache-api-server",
3
- "version": "6.0.6-alpha.41",
3
+ "version": "6.0.6-alpha.43",
4
4
  "description": "Sample core for higher packages to depend on",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
7
- "main": "lib/index.cjs",
8
- "module": "lib/index.mjs",
7
+ "main": "lib/index.js",
8
+ "type": "module",
9
+ "module": "lib/index.js",
9
10
  "types": "lib/index.d.ts",
10
- "files": [
11
- "lib"
12
- ],
13
11
  "typings": "lib/index.d.ts",
14
12
  "scripts": {
15
13
  "build": "npm run build:clean && npm run build:lib",
@@ -37,7 +35,7 @@
37
35
  "publishConfig": {
38
36
  "access": "public"
39
37
  },
40
- "gitHead": "f1eaeaa1c0613e7b20e21cafe4cdf58f6c2c2151",
38
+ "gitHead": "1600614d42fd3a0b93d6ec1eb62418caa2ce5c3b",
41
39
  "typescript": {
42
40
  "definition": "lib/index.d.ts"
43
41
  }
@@ -0,0 +1,41 @@
1
+ import graphql from '@rollup/plugin-graphql';
2
+ import image from '@rollup/plugin-image';
3
+ import typescript from '@rollup/plugin-typescript';
4
+ import { string } from 'rollup-plugin-string';
5
+
6
+ // Define a base configuration for reuse
7
+ const baseConfig = {
8
+ plugins: [
9
+ image(),
10
+ graphql({
11
+ include: '**/*.gql',
12
+ }),
13
+ string({
14
+ include: '**/*.graphql',
15
+ }),
16
+ typescript({ noEmitOnError: true }),
17
+ ],
18
+ // marking all node modules as external
19
+ external: (id) => !/^[./]/.test(id),
20
+ };
21
+
22
+ // Configuration for index.ts
23
+ const indexConfig = {
24
+ ...baseConfig,
25
+ input: 'src/index.ts',
26
+ output: [
27
+ {
28
+ dir: 'lib',
29
+ format: 'es',
30
+ name: 'FrontendStackReact',
31
+ compact: true,
32
+ exports: 'named',
33
+ sourcemap: false,
34
+ preserveModules: true,
35
+ chunkFileNames: 'index-[hash].[format].js',
36
+ globals: baseConfig.globals,
37
+ },
38
+ ],
39
+ };
40
+
41
+ export default [indexConfig];
@@ -0,0 +1,22 @@
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
+
@@ -0,0 +1 @@
1
+ export * from './env-config';
@@ -0,0 +1,4 @@
1
+ export enum Types {
2
+ CacheEngine = 'CacheEngine',
3
+ CacheService = 'CacheService',
4
+ }
@@ -0,0 +1 @@
1
+ export * from './module';
@@ -0,0 +1,30 @@
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
+
@@ -0,0 +1,24 @@
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
+ }
@@ -0,0 +1,39 @@
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 ADDED
@@ -0,0 +1,7 @@
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
+
@@ -0,0 +1,8 @@
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
+ }
@@ -0,0 +1,19 @@
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
+ }
@@ -0,0 +1,5 @@
1
+ export interface ICache {
2
+ payload: any;
3
+ maxAge: number;
4
+ createdAt: number;
5
+ }
@@ -0,0 +1 @@
1
+ export * from './ICache';
@@ -0,0 +1,2 @@
1
+ export * from './cache-engine';
2
+ export * from './cache-service';
package/src/module.ts ADDED
@@ -0,0 +1,16 @@
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,97 +1,120 @@
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) {
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
+ ) {
7
20
  this.engine = engine;
8
21
  if (logger) {
9
22
  this.logger = logger.child(this.constructor.name);
10
- }
11
- else {
12
- this.logger = server.logger.child(this.constructor.name);
23
+ } else {
24
+ this.logger = cdmLogger.child(this.constructor.name);
13
25
  }
14
26
  }
15
- static get Instance() {
27
+
28
+ public static get Instance() {
16
29
  if (this.instance) {
17
30
  return this.instance;
18
31
  }
19
- const { port, hostname } = url__namespace.parse(envConfig.config.REDIS_URL);
32
+ const { port, hostname } = url.parse(config.REDIS_URL) as { port: any, hostname: string };
20
33
  let options;
21
34
  let client;
22
- if (envConfig.config.REDIS_SENTINEL_ENABLED) {
35
+ if (config.REDIS_SENTINEL_ENABLED) {
23
36
  options = {
24
37
  sentinels: [{ host: hostname, port }],
25
- name: envConfig.config.REDIS_SENTINEL_NAME,
38
+ name: config.REDIS_SENTINEL_NAME,
26
39
  };
27
- client = new ioredisEngine.Redis(options);
28
- }
29
- else if (envConfig.config.REDIS_CLUSTER_ENABLED) {
40
+ client = new Redis(options);
41
+ } else if (config.REDIS_CLUSTER_ENABLED) {
30
42
  options = {};
31
- client = new ioredisEngine.Redis(options, true, envConfig.config.REDIS_CLUSTER_URL);
32
- }
33
- else {
43
+ client = new Redis(options, true, config.REDIS_CLUSTER_URL);
44
+ } else {
34
45
  options = { host: hostname, port };
35
- client = new ioredisEngine.Redis(options);
46
+ client = new Redis(options);
36
47
  }
37
48
  this.instance = new this(client);
38
49
  return this.instance;
39
50
  }
40
- key(key, scope) {
51
+
52
+ private key(key: string, scope?: string) {
41
53
  return `${scope || Cache.DEFAULT_SCOPE}.${key}`;
42
54
  }
43
- isExpired(createdAt, maxAge) {
55
+
56
+ private isExpired(createdAt: number, maxAge: number) {
44
57
  const now = parseInt(`${Date.now() / 1000}`, null);
45
58
  return now - createdAt > maxAge;
46
59
  }
47
- getOptions(opts) {
60
+
61
+ private getOptions(opts: ICacheOptions) {
48
62
  return Object.assign(this.defaults, opts || {});
49
63
  }
64
+
50
65
  get defaults() {
51
66
  return {
52
67
  scope: Cache.DEFAULT_SCOPE,
53
- maxAge: envConfig.config.REDIS_CACHE_MAX_AGE_in_sec,
68
+ maxAge: config.REDIS_CACHE_MAX_AGE_in_sec,
54
69
  createdAt: parseInt(`${Date.now() / 1000}`, null),
55
70
  };
56
71
  }
57
- async set(key, payload, options) {
72
+
73
+ public async set(key: string, payload: any, options?: ICacheSetOptions) {
58
74
  const opts = this.getOptions(options);
59
75
  const cache = Object.assign({}, { payload }, opts);
76
+
60
77
  const path = this.key(key, opts.scope);
61
- this.engine.set(path, cache);
78
+ const result = this.engine.set(path, cache);
79
+
62
80
  return payload;
63
81
  }
64
- async get(key, options) {
82
+
83
+ public async get(key: string, options?: ICacheOptions) {
65
84
  const opts = this.getOptions(options);
66
85
  const path = this.key(key, opts.scope);
67
86
  const cache = await this.engine.get(path);
87
+
68
88
  if (cache == null) {
69
89
  return null;
70
90
  }
91
+
71
92
  if (this.isExpired(cache.createdAt, cache.maxAge)) {
72
93
  this.engine.drop(path);
73
94
  return null;
74
- }
75
- else {
95
+ } else {
76
96
  return opts.parse
77
97
  ? cache.payload
78
98
  : cache.payload; // not really doing anything here
79
99
  }
80
100
  }
81
- async drop(key, options) {
101
+
102
+ public async drop(key, options?: ICacheOptions) {
82
103
  const opts = this.getOptions(options);
83
104
  const path = this.key(key, opts.scope);
84
- this.engine.drop(path);
105
+
106
+ const ok = this.engine.drop(path);
85
107
  return true;
86
108
  }
87
- async invalidate(keys, options) {
109
+
110
+ public async invalidate(keys, options?: ICacheOptions) {
88
111
  if (keys.length <= 0) {
89
112
  return this.engine.invalidate();
90
- }
91
- else {
113
+ } else {
92
114
  const opts = this.getOptions(options);
93
115
  const paths = keys.map(key => this.key(key, opts.scope));
116
+
94
117
  return this.engine.invalidate(paths);
95
118
  }
96
119
  }
97
- }exports.Cache=Cache;//# sourceMappingURL=cache-service.cjs.map
120
+ }
@@ -0,0 +1 @@
1
+ export * from './cache-service';
package/tsconfig.json ADDED
@@ -0,0 +1,18 @@
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
+ }
@@ -1,9 +0,0 @@
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
@@ -1 +0,0 @@
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 +0,0 @@
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"}
package/lib/constants.cjs DELETED
@@ -1,5 +0,0 @@
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
@@ -1 +0,0 @@
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 +0,0 @@
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"}
@@ -1,19 +0,0 @@
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
@@ -1 +0,0 @@
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 +0,0 @@
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"}
@@ -1,32 +0,0 @@
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
@@ -1 +0,0 @@
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 +0,0 @@
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 DELETED
@@ -1 +0,0 @@
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
package/lib/index.cjs.map DELETED
@@ -1 +0,0 @@
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 DELETED
@@ -1 +0,0 @@
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
package/lib/index.mjs.map DELETED
@@ -1 +0,0 @@
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 DELETED
@@ -1,8 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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 +0,0 @@
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 +0,0 @@
1
- {"version":3,"file":"cache-service.mjs","sources":["../../src/services/cache-service.ts"],"sourcesContent":[null],"names":["logger","cdmLogger"],"mappings":"sKAQa,KAAK,CAAA;AACN,IAAA,OAAO,aAAa,GAAG,WAAW,CAAC;IACnC,OAAO,QAAQ,CAAQ;AAEvB,IAAA,MAAM,CAAoB;AAC1B,IAAA,MAAM,CAAe;IAE7B,WACI,CAAA,MAAoB,EACpBA,QAA0B,EAAA;AAE1B,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAIA,QAAM,EAAE;AACR,YAAA,IAAI,CAAC,MAAM,GAAGA,QAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACrD;aAAM;AACH,YAAA,IAAI,CAAC,MAAM,GAAGC,MAAS,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACxD;KACJ;AAEM,IAAA,WAAW,QAAQ,GAAA;AACtB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO,IAAI,CAAC,QAAQ,CAAC;SACxB;AACD,QAAA,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAoC,CAAC;AAC1F,QAAA,IAAI,OAAO,CAAC;AACZ,QAAA,IAAI,MAAM,CAAC;AACX,QAAA,IAAI,MAAM,CAAC,sBAAsB,EAAE;AAC/B,YAAA,OAAO,GAAG;gBACN,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACrC,IAAI,EAAE,MAAM,CAAC,mBAAmB;aACnC,CAAC;AACF,YAAA,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;SAC/B;AAAM,aAAA,IAAI,MAAM,CAAC,qBAAqB,EAAE;YACrC,OAAO,GAAG,EAAE,CAAC;AACb,YAAA,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;SAC/D;aAAM;YACH,OAAO,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACnC,YAAA,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;SAC/B;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;IAEO,GAAG,CAAC,GAAW,EAAE,KAAc,EAAA;QACnC,OAAO,CAAA,EAAG,KAAK,IAAI,KAAK,CAAC,aAAa,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,CAAC;KACnD;IAEO,SAAS,CAAC,SAAiB,EAAE,MAAc,EAAA;AAC/C,QAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA,CAAE,EAAE,IAAI,CAAC,CAAC;AACnD,QAAA,OAAO,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC;KACnC;AAEO,IAAA,UAAU,CAAC,IAAmB,EAAA;AAClC,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;KACnD;AAED,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO;YACH,KAAK,EAAE,KAAK,CAAC,aAAa;YAC1B,MAAM,EAAE,MAAM,CAAC,0BAA0B;AACzC,YAAA,SAAS,EAAE,QAAQ,CAAC,CAAA,EAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAE,CAAA,EAAE,IAAI,CAAC;SACpD,CAAC;KACL;AAEM,IAAA,MAAM,GAAG,CAAC,GAAW,EAAE,OAAY,EAAE,OAA0B,EAAA;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACtC,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;AAEnD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,QAAe,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;AAE5C,QAAA,OAAO,OAAO,CAAC;KAClB;AAEM,IAAA,MAAM,GAAG,CAAC,GAAW,EAAE,OAAuB,EAAA;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACtC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAE1C,QAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACf,YAAA,OAAO,IAAI,CAAC;SACf;AAED,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;AAC/C,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvB,YAAA,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,IAAI,CAAC,KAAK;kBACX,KAAK,CAAC,OAAO;AACf,kBAAE,KAAK,CAAC,OAAO,CAAC;SACvB;KACJ;AAEM,IAAA,MAAM,IAAI,CAAC,GAAG,EAAE,OAAuB,EAAA;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACtC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC;KACf;AAEM,IAAA,MAAM,UAAU,CAAC,IAAI,EAAE,OAAuB,EAAA;AACjD,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;AAClB,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;SACnC;aAAM;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACxC;KACJ;"}