@triproject/nestjs-core 1.0.35 → 1.0.37

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.
@@ -4,5 +4,5 @@ export declare class AppController {
4
4
  private _cacheKey;
5
5
  cache<T>(callback: () => Promise<T>, ttl?: number): Promise<T>;
6
6
  cacheWithTimestamp<T>(callback: () => Promise<T>, ttl?: number): Promise<import("../drivers/cache").CacheWithTimestamp<() => Promise<T>>>;
7
- clearCache(): Promise<void>;
7
+ clearCache(keyPattern?: string): Promise<void>;
8
8
  }
@@ -34,7 +34,8 @@ let AppController = class AppController {
34
34
  async cacheWithTimestamp(callback, ttl = 60_000) {
35
35
  return await this.appCache.cacheWithTimeStamp(this._cacheKey(), callback, ttl);
36
36
  }
37
- async clearCache() {
37
+ async clearCache(keyPattern) {
38
+ if (keyPattern) return await this.appCache.delAll(keyPattern);
38
39
  await this.appCache.delAll(this.constructor.name);
39
40
  }
40
41
  };
@@ -23,7 +23,7 @@ let AppCache = class AppCache {
23
23
  let keys = [
24
24
  this.PREFIX
25
25
  ];
26
- return Array.isArray(key) ? keys.push(...key) : keys.push(key?.toString()), keys.flat().flat().filter((d)=>d).map((d)=>d?.toString()?.toUpperCase()).join('::').replaceAll(/[^a-zA-Z0-9\-:]/g, '-');
26
+ return Array.isArray(key) ? keys.push(...key) : keys.push(key?.toString()), keys.flat().flat().filter((d)=>d).map((d)=>d?.toString()?.toUpperCase()).join('::').replaceAll(/[^a-zA-Z0-9\-:*]/g, '-');
27
27
  }
28
28
  async set(key, value, ttl = 60) {
29
29
  await this.connection.set(this._parseKey(key), JSON.stringify({
@@ -44,7 +44,7 @@ let AppCache = class AppCache {
44
44
  await this.connection.del(this._parseKey(key));
45
45
  }
46
46
  async delAll(key) {
47
- for (let k of (await this.connection.keys(`${this._parseKey(key)}*`)))await this.connection.del(k);
47
+ for (let k of (await this.connection.keys(this._parseKey('*' + key + '*'))))await this.connection.del(k);
48
48
  }
49
49
  async cache(key, fn, ttl = 60) {
50
50
  let data = await this.get(key);
@@ -57,7 +57,7 @@ let AppLogger = class AppLogger extends _common.ConsoleLogger {
57
57
  'development',
58
58
  'local',
59
59
  'staging'
60
- ].includes(_config.NODE_ENV) || (stacks = stacks.slice(0, this.LOG_STACKS)), (error?.name ?? 'UnknownErrorException') + ' ' + stacks.join(`\n`);
60
+ ].includes(_config.NODE_ENV.toLocaleLowerCase()) || (stacks = stacks.slice(0, this.LOG_STACKS)), (error?.name ?? 'UnknownErrorException') + ' ' + stacks.join(`\n`);
61
61
  }
62
62
  _parseMessage(arg) {
63
63
  return arg instanceof Error ? [
@@ -88,7 +88,7 @@ let AppLogger = class AppLogger extends _common.ConsoleLogger {
88
88
  return error.split('\n').map((d)=>d.endsWith('Exception') ? d.replace(/(.*)Exception(.*)/, (0, _loggercontract.logErrorBg)('$1Exception') + (0, _loggercontract.logError)('$2')) : (0, _loggercontract.logError)(d)).join('\n│ ');
89
89
  }
90
90
  _console(logMeta) {
91
- return console.log('\n' + (this._formatBgLevel(logMeta.level, logMeta.timestamp, logMeta.host?.substring(0, 20), 'LOG' === logMeta.level.toUpperCase() ? 'INFO' : logMeta.level.toUpperCase(), logMeta?.context) + (0, _util.styleText)('reset', " ") + logMeta.message.map(([type, value])=>{
91
+ return console.log('\n' + (this._formatBgLevel(logMeta.level, logMeta.timestamp, logMeta.host?.substring(0, 20), ('LOG' === logMeta.level.toUpperCase() ? 'INFO' : logMeta.level.toUpperCase()).padEnd(5, ' '), logMeta?.context) + (0, _util.styleText)('reset', " ") + logMeta.message.map(([type, value])=>{
92
92
  if ('function' != typeof value) return 'error' === type ? (0, _loggercontract.logError)(this._formatConsoleError(value)) : 'object' === type ? (0, _loggercontract.logWarn)((0, _loggercontract.logWarnBg)('Object') + ' ' + value.split('\n').map(_loggercontract.logWarn).join('\n ')) : value;
93
93
  }).filter((d)=>d).join('\n ')));
94
94
  }
@@ -97,12 +97,10 @@ let AppLogger = class AppLogger extends _common.ConsoleLogger {
97
97
  logMeta && (this._console(logMeta), _loggerdriver.loggerDriver.log(logMeta));
98
98
  }
99
99
  error(...args) {
100
- if ('DEVELOPMENT' === _config.NODE_ENV.toUpperCase()) return void console.error('\x1b[31m', ...args);
101
100
  let logMeta = this._mapLog('error', ...args);
102
101
  logMeta && (this._console(logMeta), _loggerdriver.loggerDriver.error(logMeta));
103
102
  }
104
103
  fatal(...args) {
105
- if ('DEVELOPMENT' === _config.NODE_ENV.toUpperCase()) return void console.error('\x1b[31m', ...args);
106
104
  let logMeta = this._mapLog('fatal', ...args);
107
105
  logMeta && (this._console(logMeta), _loggerdriver.loggerDriver.fatal(logMeta));
108
106
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triproject/nestjs-core",
3
- "version": "1.0.35",
3
+ "version": "1.0.37",
4
4
  "author": "",
5
5
  "license": "ISC",
6
6
  "description": "A collection of NestJS modules and utilities to speed up development.",
@@ -114,7 +114,8 @@
114
114
  "sequelize": "^6.37.7",
115
115
  "sequelize-typescript": "^2.1.6",
116
116
  "speakeasy": "^2.0.0",
117
- "ua-parser-js": "^2.0.7"
117
+ "ua-parser-js": "^2.0.7",
118
+ "reflect-metadata": "^0.2.2"
118
119
  },
119
120
  "peerDependenciesMeta": {
120
121
  "amqplib": {
@@ -197,6 +198,7 @@
197
198
  }
198
199
  },
199
200
  "devDependencies": {
201
+ "reflect-metadata": "^0.2.2",
200
202
  "@nestjs/cli": "^11.0.14",
201
203
  "@nestjs/schematics": "^11.0.9",
202
204
  "@nestjs/testing": "^11.1.11",