@gennext/lb-infra 0.0.11 → 0.0.17
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.
- package/README.md +67 -102
- package/dist/base/base.helper.d.ts +4 -2
- package/dist/base/base.helper.d.ts.map +1 -1
- package/dist/base/base.helper.js +8 -2
- package/dist/base/base.helper.js.map +1 -1
- package/dist/base/datasources/base.datasource.d.ts +2 -2
- package/dist/base/datasources/base.datasource.d.ts.map +1 -1
- package/dist/base/datasources/base.datasource.js.map +1 -1
- package/dist/base/models/base.model.d.ts +10 -0
- package/dist/base/models/base.model.d.ts.map +1 -1
- package/dist/base/models/base.model.js +10 -3
- package/dist/base/models/base.model.js.map +1 -1
- package/dist/datasources/redis/connector.d.ts +1 -1
- package/dist/datasources/redis/connector.d.ts.map +1 -1
- package/dist/datasources/redis/connector.js +8 -4
- package/dist/datasources/redis/connector.js.map +1 -1
- package/dist/datasources/redis/types.d.ts +1 -1
- package/dist/datasources/redis/types.d.ts.map +1 -1
- package/dist/helpers/logger/application-logger.d.ts +0 -3
- package/dist/helpers/logger/application-logger.d.ts.map +1 -1
- package/dist/helpers/logger/application-logger.js +7 -31
- package/dist/helpers/logger/application-logger.js.map +1 -1
- package/dist/helpers/logger/common/types.d.ts +0 -7
- package/dist/helpers/logger/common/types.d.ts.map +1 -1
- package/dist/helpers/logger/common/types.js +1 -10
- package/dist/helpers/logger/common/types.js.map +1 -1
- package/dist/helpers/logger/config-merger.d.ts +27 -0
- package/dist/helpers/logger/config-merger.d.ts.map +1 -0
- package/dist/helpers/logger/config-merger.js +55 -0
- package/dist/helpers/logger/config-merger.js.map +1 -0
- package/dist/helpers/logger/config.d.ts +9 -11
- package/dist/helpers/logger/config.d.ts.map +1 -1
- package/dist/helpers/logger/config.js +18 -30
- package/dist/helpers/logger/config.js.map +1 -1
- package/dist/helpers/logger/default-logger.d.ts.map +1 -1
- package/dist/helpers/logger/default-logger.js +3 -5
- package/dist/helpers/logger/default-logger.js.map +1 -1
- package/dist/helpers/logger/enhanced-factory.d.ts +3 -3
- package/dist/helpers/logger/enhanced-factory.d.ts.map +1 -1
- package/dist/helpers/logger/enhanced-factory.js +10 -7
- package/dist/helpers/logger/enhanced-factory.js.map +1 -1
- package/dist/helpers/logger/factory.d.ts +1 -37
- package/dist/helpers/logger/factory.d.ts.map +1 -1
- package/dist/helpers/logger/factory.js +11 -86
- package/dist/helpers/logger/factory.js.map +1 -1
- package/dist/helpers/logger/http/access-logger.d.ts +14 -5
- package/dist/helpers/logger/http/access-logger.d.ts.map +1 -1
- package/dist/helpers/logger/http/access-logger.js +186 -157
- package/dist/helpers/logger/http/access-logger.js.map +1 -1
- package/dist/helpers/logger/http/index.d.ts +1 -1
- package/dist/helpers/logger/http/index.d.ts.map +1 -1
- package/dist/helpers/logger/http/index.js +1 -1
- package/dist/helpers/logger/http/index.js.map +1 -1
- package/dist/helpers/logger/http/request-context.d.ts +10 -6
- package/dist/helpers/logger/http/request-context.d.ts.map +1 -1
- package/dist/helpers/logger/http/request-context.js +32 -22
- package/dist/helpers/logger/http/request-context.js.map +1 -1
- package/dist/helpers/logger/http/request-id-manager.d.ts +13 -8
- package/dist/helpers/logger/http/request-id-manager.d.ts.map +1 -1
- package/dist/helpers/logger/http/request-id-manager.js +24 -70
- package/dist/helpers/logger/http/request-id-manager.js.map +1 -1
- package/dist/helpers/logger/http/types.d.ts +3 -3
- package/dist/helpers/logger/http/types.d.ts.map +1 -1
- package/dist/helpers/logger/index.d.ts +4 -3
- package/dist/helpers/logger/index.d.ts.map +1 -1
- package/dist/helpers/logger/index.js +4 -3
- package/dist/helpers/logger/index.js.map +1 -1
- package/dist/helpers/logger/transports/dgram.transport.d.ts +0 -1
- package/dist/helpers/logger/transports/dgram.transport.d.ts.map +1 -1
- package/dist/helpers/logger/transports/dgram.transport.js +2 -2
- package/dist/helpers/logger/transports/dgram.transport.js.map +1 -1
- package/dist/helpers/redis/default.helper.d.ts.map +1 -1
- package/dist/helpers/redis/default.helper.js +19 -17
- package/dist/helpers/redis/default.helper.js.map +1 -1
- package/dist/helpers/redis/index.d.ts.map +1 -1
- package/dist/helpers/redis/index.js.map +1 -1
- package/dist/helpers/redis/redis-cluster.helper.js +2 -2
- package/dist/helpers/redis/redis-cluster.helper.js.map +1 -1
- package/dist/helpers/redis/redis.helper.d.ts +34 -0
- package/dist/helpers/redis/redis.helper.d.ts.map +1 -1
- package/dist/helpers/redis/redis.helper.js +34 -0
- package/dist/helpers/redis/redis.helper.js.map +1 -1
- package/dist/utilities/crypto.utility.d.ts +28 -0
- package/dist/utilities/crypto.utility.d.ts.map +1 -1
- package/dist/utilities/crypto.utility.js +28 -0
- package/dist/utilities/crypto.utility.js.map +1 -1
- package/dist/utilities/date.utility.d.ts +57 -0
- package/dist/utilities/date.utility.d.ts.map +1 -1
- package/dist/utilities/date.utility.js +58 -16
- package/dist/utilities/date.utility.js.map +1 -1
- package/dist/utilities/error.utility.d.ts +63 -0
- package/dist/utilities/error.utility.d.ts.map +1 -1
- package/dist/utilities/error.utility.js +82 -4
- package/dist/utilities/error.utility.js.map +1 -1
- package/dist/utilities/lodash.utility.d.ts +1 -0
- package/dist/utilities/lodash.utility.d.ts.map +1 -1
- package/dist/utilities/lodash.utility.js +3 -1
- package/dist/utilities/lodash.utility.js.map +1 -1
- package/dist/utilities/model.utility.d.ts +15 -0
- package/dist/utilities/model.utility.d.ts.map +1 -1
- package/dist/utilities/model.utility.js +15 -2
- package/dist/utilities/model.utility.js.map +1 -1
- package/dist/utilities/module.utility.d.ts +8 -0
- package/dist/utilities/module.utility.d.ts.map +1 -1
- package/dist/utilities/module.utility.js +10 -2
- package/dist/utilities/module.utility.js.map +1 -1
- package/dist/utilities/parse.utility.d.ts +59 -0
- package/dist/utilities/parse.utility.d.ts.map +1 -1
- package/dist/utilities/parse.utility.js +76 -15
- package/dist/utilities/parse.utility.js.map +1 -1
- package/dist/utilities/performance.utility.d.ts +13 -0
- package/dist/utilities/performance.utility.d.ts.map +1 -1
- package/dist/utilities/performance.utility.js +15 -2
- package/dist/utilities/performance.utility.js.map +1 -1
- package/dist/utilities/promise.utility.d.ts +18 -18
- package/dist/utilities/promise.utility.d.ts.map +1 -1
- package/dist/utilities/promise.utility.js +16 -17
- package/dist/utilities/promise.utility.js.map +1 -1
- package/dist/utilities/query.utility.d.ts +24 -3
- package/dist/utilities/query.utility.d.ts.map +1 -1
- package/dist/utilities/query.utility.js +29 -7
- package/dist/utilities/query.utility.js.map +1 -1
- package/dist/utilities/request.utility.d.ts +36 -3
- package/dist/utilities/request.utility.d.ts.map +1 -1
- package/dist/utilities/request.utility.js +38 -8
- package/dist/utilities/request.utility.js.map +1 -1
- package/dist/utilities/url.utility.d.ts +16 -0
- package/dist/utilities/url.utility.d.ts.map +1 -1
- package/dist/utilities/url.utility.js +16 -0
- package/dist/utilities/url.utility.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -1,146 +1,111 @@
|
|
|
1
1
|
# @gennext/lb-infra
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Thư viện hạ tầng tiêu chuẩn (Infrastructure Library) dành cho các dịch vụ backend LoopBack 4 tại Gennex. Package này cung cấp các thành phần cốt lõi để chuẩn hóa mã nguồn, cải thiện tính ổn định và khả năng quan sát (observability) của hệ thống.
|
|
4
4
|
|
|
5
|
-
## Tính năng chính
|
|
5
|
+
## ✨ Tính năng chính
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
7
|
+
- 🚀 **Base Components:** Cung cấp Base Model, Base Entity, Base DataSource và Base Helper chuẩn hóa.
|
|
8
|
+
- 🪵 **Enhanced Logger:** Logger nâng cao dựa trên Winston, hỗ trợ Request ID tự động (AsyncLocalStorage), Data Masking dữ liệu nhạy cảm và Access Log.
|
|
9
|
+
- 📦 **Redis Helpers:** Wrapper cho ioredis hỗ trợ Cluster, tự động nén dữ liệu (zlib), và tích hợp sẵn JSON commands (RedisJSON).
|
|
10
|
+
- 🛠️ **Utilities:** Bộ tiện ích phong phú cho Crypto, Date (DayJS), Error Handling, Model mapping, và Promise concurrency control.
|
|
11
|
+
- 🚦 **Standardized Error Handling:** Hệ thống Error class chuyên biệt (NotImplemented, Validation, ApplicationError) hỗ trợ metadata và serialization.
|
|
12
|
+
- 🔌 **Standard Exports:** Re-export các module LoopBack phổ biến (@lb/auth, @lb/core, @lb/rest, @lb/repo) để đồng bộ phiên bản.
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
## Cài đặt
|
|
17
|
-
|
|
18
|
-
Sử dụng `bun` hoặc `npm`/`yarn`:
|
|
14
|
+
## 📦 Cài đặt
|
|
19
15
|
|
|
20
16
|
```bash
|
|
21
17
|
bun add @gennext/lb-infra
|
|
18
|
+
# Hoặc dùng npm/yarn
|
|
19
|
+
npm install @gennext/lb-infra
|
|
22
20
|
```
|
|
23
21
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
## Hướng dẫn sử dụng
|
|
22
|
+
## 🚀 Sử dụng nhanh
|
|
27
23
|
|
|
28
|
-
### 1. Cấu hình Logger
|
|
24
|
+
### 1. Cấu hình & Sử dụng Logger
|
|
25
|
+
Logger hỗ trợ tự động đính kèm `requestId` xuyên suốt luồng xử lý (trên cả console và file log).
|
|
29
26
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
```typescript
|
|
27
|
+
```ts
|
|
33
28
|
import { LoggerFactory } from '@gennext/lb-infra';
|
|
34
29
|
|
|
35
|
-
// Cấu hình toàn cục (
|
|
30
|
+
// Cấu hình toàn cục (thường gọi ở main.ts hoặc app.ts)
|
|
36
31
|
LoggerFactory.config({
|
|
37
32
|
mode: 'modern',
|
|
33
|
+
defaultRequestIDSystem: 'requestContext',
|
|
34
|
+
defaultLogFormat: 'modern',
|
|
38
35
|
defaultDataMasking: {
|
|
39
|
-
|
|
40
|
-
maskdataOptions: {
|
|
41
|
-
genericStrings: [
|
|
42
|
-
{
|
|
43
|
-
config: { maskWith: '*', fixedOutputLength: 8 },
|
|
44
|
-
fields: ['*password', '*secret', '*token'],
|
|
45
|
-
},
|
|
46
|
-
],
|
|
47
|
-
},
|
|
36
|
+
useMaskDataLib: true,
|
|
48
37
|
},
|
|
49
|
-
defaultRequestIDSystem: 'asyncLocalStorage',
|
|
50
|
-
defaultLogFormat: 'modern',
|
|
51
38
|
});
|
|
52
39
|
|
|
53
|
-
const logger = LoggerFactory.getLogger(['
|
|
54
|
-
logger.info('
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### 2. Sử dụng Base Model
|
|
58
|
-
|
|
59
|
-
Kế thừa các lớp cơ sở để chuẩn hóa các Entity trong LoopBack 4.
|
|
60
|
-
|
|
61
|
-
```typescript
|
|
62
|
-
import { BaseNumberIdEntity } from '@gennext/lb-infra';
|
|
63
|
-
import { property } from '@loopback/repository';
|
|
64
|
-
|
|
65
|
-
export class User extends BaseNumberIdEntity {
|
|
66
|
-
@property({ type: 'string', required: true })
|
|
67
|
-
username: string;
|
|
68
|
-
|
|
69
|
-
@property({ type: 'string' })
|
|
70
|
-
email?: string;
|
|
71
|
-
}
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### 3. Kết nối PostgreSQL
|
|
75
|
-
|
|
76
|
-
`PostgresDataSource` tự động đọc cấu hình từ biến môi trường.
|
|
77
|
-
|
|
78
|
-
```typescript
|
|
79
|
-
import { PostgresDataSource } from '@gennext/lb-infra';
|
|
80
|
-
|
|
81
|
-
// Tự động kết nối dựa trên APP_ENV_POSTGRES_* env
|
|
82
|
-
const dataSource = new PostgresDataSource();
|
|
40
|
+
const logger = LoggerFactory.getLogger(['user-service', 'auth']);
|
|
41
|
+
logger.info('Dịch vụ đã sẵn sàng');
|
|
83
42
|
```
|
|
84
43
|
|
|
85
|
-
###
|
|
44
|
+
### 2. Sử dụng Redis Helper
|
|
45
|
+
Hỗ trợ đầy đủ các thao tác với Object, String và RedisJSON.
|
|
86
46
|
|
|
87
|
-
```
|
|
47
|
+
```ts
|
|
88
48
|
import { RedisHelper } from '@gennext/lb-infra';
|
|
89
49
|
|
|
90
|
-
const
|
|
91
|
-
name: '
|
|
92
|
-
host:
|
|
50
|
+
const cache = new RedisHelper({
|
|
51
|
+
name: 'app-cache',
|
|
52
|
+
host: process.env.REDIS_HOST,
|
|
93
53
|
port: 6379,
|
|
94
|
-
password: 'your-password'
|
|
95
54
|
});
|
|
96
55
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
```
|
|
56
|
+
// Lưu trữ object (tự động serialize JSON)
|
|
57
|
+
await cache.set({ key: 'user:1', value: { id: 1, name: 'Gennex' } });
|
|
100
58
|
|
|
101
|
-
|
|
59
|
+
// Đọc và chuyển đổi object
|
|
60
|
+
const user = await cache.getObject({ key: 'user:1' });
|
|
61
|
+
```
|
|
102
62
|
|
|
103
|
-
|
|
104
|
-
|
|
63
|
+
### 3. Xử lý Lỗi (Error Handling)
|
|
64
|
+
Hỗ trợ các class lỗi có cấu trúc, giúp Frontend dễ dàng xử lý thông báo lỗi.
|
|
105
65
|
|
|
106
|
-
|
|
107
|
-
|
|
66
|
+
```ts
|
|
67
|
+
import { ValidationError, NotImplementedError } from '@gennext/lb-infra';
|
|
108
68
|
|
|
109
|
-
//
|
|
110
|
-
|
|
69
|
+
// Khi dữ liệu không hợp lệ
|
|
70
|
+
throw new ValidationError('Email không đúng định dạng', { email: 'invalid-email' });
|
|
111
71
|
|
|
112
|
-
//
|
|
113
|
-
|
|
72
|
+
// Khi tính năng chưa được triển khai
|
|
73
|
+
throw new NotImplementedError('exportToExcel');
|
|
114
74
|
```
|
|
115
75
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
76
|
+
### 4. Utilities tiện ích
|
|
77
|
+
```ts
|
|
78
|
+
import { sleep, executePromiseWithLimit } from '@gennext/lb-infra';
|
|
119
79
|
|
|
120
|
-
|
|
80
|
+
// Chờ 1 giây
|
|
81
|
+
await sleep(1000);
|
|
121
82
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
83
|
+
// Chạy 100 task đồng thời, nhưng giới hạn tối đa 5 task cùng lúc
|
|
84
|
+
await executePromiseWithLimit({
|
|
85
|
+
tasks: myTaskArray,
|
|
86
|
+
limit: 5
|
|
87
|
+
});
|
|
88
|
+
```
|
|
128
89
|
|
|
129
|
-
|
|
130
|
-
- `APP_ENV_ENABLE_ACCESS_LOG`: Bật/tắt log truy cập (true/false)
|
|
131
|
-
- `APP_ENV_LOG_FORMAT`: Định dạng log (`legacy` hoặc `modern`)
|
|
90
|
+
## 📂 Cấu trúc thư mục
|
|
132
91
|
|
|
133
|
-
|
|
92
|
+
- `src/base`: Các lớp cơ sở cho Model, DataSource, Helper.
|
|
93
|
+
- `src/common`: Các kiểu dữ liệu, hằng số và mã kết quả chung.
|
|
94
|
+
- `src/datasources`: Triển khai các kết nối dữ liệu (Postgres, Redis).
|
|
95
|
+
- `src/helpers`: Các module bổ trợ quan trọng (Logger, Redis).
|
|
96
|
+
- `src/utilities`: Các hàm tiện ích dùng chung.
|
|
134
97
|
|
|
135
|
-
## Tài liệu chi tiết
|
|
98
|
+
## 📖 Tài liệu chi tiết
|
|
136
99
|
|
|
137
|
-
|
|
100
|
+
- [Tài liệu cấu hình Logger](docs/ENHANCED_LOGGER_USAGE.md)
|
|
101
|
+
- [Hướng dẫn cấu hình chung](docs/CONFIG_USAGE.md)
|
|
102
|
+
- [Chi tiết hệ thống xử lý lỗi](docs/ERROR_HANDLING.md)
|
|
138
103
|
|
|
139
|
-
|
|
140
|
-
- [Hướng dẫn Logger nâng cao](./docs/ENHANCED_LOGGER_USAGE.md)
|
|
141
|
-
- [Chi tiết về infra](./docs/lb-infra.md)
|
|
104
|
+
## 🛠️ Scripts hỗ trợ (Maintainer)
|
|
142
105
|
|
|
143
|
-
|
|
106
|
+
- `bun run build`: Biên dịch mã nguồn sang thư mục `dist`.
|
|
107
|
+
- `bun run test`: Chạy bộ test suite (Node.js test runner).
|
|
108
|
+
- `bun run lint`: Kiểm tra chất lượng và định dạng mã nguồn.
|
|
144
109
|
|
|
145
|
-
##
|
|
146
|
-
|
|
110
|
+
## 📄 License
|
|
111
|
+
MIT - Gennex Technology.
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Logger } from '../helpers/logger';
|
|
2
2
|
export declare class BaseHelper {
|
|
3
3
|
protected identifier: string;
|
|
4
|
-
protected
|
|
4
|
+
protected scope: string;
|
|
5
|
+
private _logger?;
|
|
5
6
|
constructor(opts: {
|
|
6
7
|
scope: string;
|
|
7
8
|
identifier?: string;
|
|
8
9
|
});
|
|
10
|
+
protected get logger(): Logger;
|
|
9
11
|
}
|
|
10
12
|
//# sourceMappingURL=base.helper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.helper.d.ts","sourceRoot":"","sources":["../../src/base/base.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"base.helper.d.ts","sourceRoot":"","sources":["../../src/base/base.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,kBAAkB,CAAC;AAEzD,qBAAa,UAAU;IACrB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAKxD,SAAS,KAAK,MAAM,IAAI,MAAM,CAO7B;CACF"}
|
package/dist/base/base.helper.js
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseHelper = void 0;
|
|
4
|
-
const
|
|
4
|
+
const logger_1 = require("../helpers/logger");
|
|
5
5
|
class BaseHelper {
|
|
6
6
|
constructor(opts) {
|
|
7
|
-
this.
|
|
7
|
+
this.scope = opts.scope;
|
|
8
8
|
this.identifier = opts.identifier ?? '';
|
|
9
9
|
}
|
|
10
|
+
get logger() {
|
|
11
|
+
if (!this._logger) {
|
|
12
|
+
this._logger = logger_1.LoggerFactory.getLogger([this.scope, this.identifier].filter(el => el && el.length > 0));
|
|
13
|
+
}
|
|
14
|
+
return this._logger;
|
|
15
|
+
}
|
|
10
16
|
}
|
|
11
17
|
exports.BaseHelper = BaseHelper;
|
|
12
18
|
//# sourceMappingURL=base.helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.helper.js","sourceRoot":"","sources":["../../src/base/base.helper.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"base.helper.js","sourceRoot":"","sources":["../../src/base/base.helper.ts"],"names":[],"mappings":";;;AAAA,6CAAyD;AAEzD,MAAa,UAAU;IAKrB,YAAY,IAA4C;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,IAAc,MAAM;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,sBAAa,CAAC,SAAS,CACpC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAChE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAlBD,gCAkBC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ValueOrPromise } from '../../common';
|
|
2
|
-
import {
|
|
2
|
+
import { Logger } from '../../helpers';
|
|
3
3
|
import { Connector, JugglerDataSource } from '@loopback/repository';
|
|
4
4
|
import { IDataSourceOptions } from './types';
|
|
5
5
|
export declare class BaseDataSource<S extends IDataSourceOptions = IDataSourceOptions, C extends Connector = Connector> extends JugglerDataSource {
|
|
6
|
-
protected logger:
|
|
6
|
+
protected logger: Logger;
|
|
7
7
|
constructor(opts: {
|
|
8
8
|
scope: string;
|
|
9
9
|
settings: S;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.datasource.d.ts","sourceRoot":"","sources":["../../../src/base/datasources/base.datasource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"base.datasource.d.ts","sourceRoot":"","sources":["../../../src/base/datasources/base.datasource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAiB,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,qBAAa,cAAc,CACzB,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,EACjD,CAAC,SAAS,SAAS,GAAG,SAAS,CAC/B,SAAQ,iBAAiB;IACzB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEb,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,CAAC,CAAA;KAAE;IAY/D,mBAAmB,IAAI,cAAc,CAAC,MAAM,CAAC;CAM9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.datasource.js","sourceRoot":"","sources":["../../../src/base/datasources/base.datasource.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"base.datasource.js","sourceRoot":"","sources":["../../../src/base/datasources/base.datasource.ts"],"names":[],"mappings":";;;AACA,uCAAkD;AAClD,qDAAoE;AAGpE,MAAa,cAGX,SAAQ,8BAAiB;IAGzB,YAAY,IAAmD;QAC7D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAE5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,uBAAa,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,mBAAmB;QACjB,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE1E,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACzC,OAAO,GAAG,QAAQ,MAAM,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;IACzE,CAAC;CACF;AAxBD,wCAwBC"}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
import { Entity } from '@loopback/repository';
|
|
2
2
|
export declare class BaseEntity extends Entity {
|
|
3
3
|
}
|
|
4
|
+
/**
|
|
5
|
+
* Base key-value entity with arbitrary payload
|
|
6
|
+
* @template T - Type of payload data
|
|
7
|
+
*/
|
|
4
8
|
export declare class BaseKVEntity<T = any> extends BaseEntity {
|
|
5
9
|
payload: T;
|
|
6
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Base entity with auto-generated numeric ID
|
|
13
|
+
*/
|
|
7
14
|
export declare class BaseNumberIdEntity extends BaseEntity {
|
|
8
15
|
id: number;
|
|
9
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Base entity with string-based (manual) ID
|
|
19
|
+
*/
|
|
10
20
|
export declare class BaseStringIdEntity extends BaseEntity {
|
|
11
21
|
id: string;
|
|
12
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.model.d.ts","sourceRoot":"","sources":["../../../src/base/models/base.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"base.model.d.ts","sourceRoot":"","sources":["../../../src/base/models/base.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,sBAAsB,CAAC;AAExD,qBAAa,UAAW,SAAQ,MAAM;CAAG;AAEzC;;;GAGG;AACH,qBAAa,YAAY,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,UAAU;IAEnD,OAAO,EAAG,CAAC,CAAC;CACb;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;IAEhD,EAAE,EAAG,MAAM,CAAC;CACb;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;IAEhD,EAAE,EAAG,MAAM,CAAC;CACb;AAED,qBAAa,YAAa,SAAQ,kBAAkB;CAAG;AACvD,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,kBAAkB,CAAC"}
|
|
@@ -11,11 +11,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.BaseIdEntity = exports.BaseStringIdEntity = exports.BaseNumberIdEntity = exports.BaseKVEntity = exports.BaseEntity = void 0;
|
|
13
13
|
const repository_1 = require("@loopback/repository");
|
|
14
|
-
// ---------------------------------------------------------------------
|
|
15
14
|
class BaseEntity extends repository_1.Entity {
|
|
16
15
|
}
|
|
17
16
|
exports.BaseEntity = BaseEntity;
|
|
18
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Base key-value entity with arbitrary payload
|
|
19
|
+
* @template T - Type of payload data
|
|
20
|
+
*/
|
|
19
21
|
class BaseKVEntity extends BaseEntity {
|
|
20
22
|
}
|
|
21
23
|
exports.BaseKVEntity = BaseKVEntity;
|
|
@@ -23,7 +25,9 @@ __decorate([
|
|
|
23
25
|
(0, repository_1.property)({ type: 'object' }),
|
|
24
26
|
__metadata("design:type", Object)
|
|
25
27
|
], BaseKVEntity.prototype, "payload", void 0);
|
|
26
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Base entity with auto-generated numeric ID
|
|
30
|
+
*/
|
|
27
31
|
class BaseNumberIdEntity extends BaseEntity {
|
|
28
32
|
}
|
|
29
33
|
exports.BaseNumberIdEntity = BaseNumberIdEntity;
|
|
@@ -31,6 +35,9 @@ __decorate([
|
|
|
31
35
|
(0, repository_1.property)({ type: 'number', id: true, generated: true }),
|
|
32
36
|
__metadata("design:type", Number)
|
|
33
37
|
], BaseNumberIdEntity.prototype, "id", void 0);
|
|
38
|
+
/**
|
|
39
|
+
* Base entity with string-based (manual) ID
|
|
40
|
+
*/
|
|
34
41
|
class BaseStringIdEntity extends BaseEntity {
|
|
35
42
|
}
|
|
36
43
|
exports.BaseStringIdEntity = BaseStringIdEntity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.model.js","sourceRoot":"","sources":["../../../src/base/models/base.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAwD;AAExD,
|
|
1
|
+
{"version":3,"file":"base.model.js","sourceRoot":"","sources":["../../../src/base/models/base.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAwD;AAExD,MAAa,UAAW,SAAQ,mBAAM;CAAG;AAAzC,gCAAyC;AAEzC;;;GAGG;AACH,MAAa,YAAsB,SAAQ,UAAU;CAGpD;AAHD,oCAGC;AADC;IADC,IAAA,qBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;6CACjB;AAGd;;GAEG;AACH,MAAa,kBAAmB,SAAQ,UAAU;CAGjD;AAHD,gDAGC;AADC;IADC,IAAA,qBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;8CAC5C;AAGd;;GAEG;AACH,MAAa,kBAAmB,SAAQ,UAAU;CAGjD;AAHD,gDAGC;AADC;IADC,IAAA,qBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;;8CAC3B;AAGd,MAAa,YAAa,SAAQ,kBAAkB;CAAG;AAAvD,oCAAuD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RedisHelper } from '../../helpers';
|
|
1
|
+
import { RedisHelper } from '../../helpers/redis/redis.helper';
|
|
2
2
|
import { Class, Entity, EntityData, Filter, Model, Options } from '@loopback/repository';
|
|
3
3
|
import EventEmitter from 'node:events';
|
|
4
4
|
import { IRedisConnector, IRedisOptions } from './types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../src/datasources/redis/connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../src/datasources/redis/connector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RedisConnector = void 0;
|
|
4
|
-
const
|
|
4
|
+
const redis_helper_1 = require("../../helpers/redis/redis.helper");
|
|
5
5
|
const utilities_1 = require("../../utilities");
|
|
6
6
|
class RedisConnector {
|
|
7
7
|
constructor(opts) {
|
|
8
8
|
this.settings = opts.settings;
|
|
9
9
|
}
|
|
10
10
|
initialize(opts) {
|
|
11
|
-
this.redisHelper = new
|
|
11
|
+
this.redisHelper = new redis_helper_1.RedisHelper({
|
|
12
12
|
...this.settings,
|
|
13
13
|
port: (0, utilities_1.int)(this.settings.port),
|
|
14
14
|
onInitialized: () => {
|
|
@@ -72,7 +72,9 @@ class RedisConnector {
|
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
expire(_modelClass, _key, _ttl, _options) {
|
|
75
|
-
throw new
|
|
75
|
+
throw new utilities_1.NotImplementedError('expire', {
|
|
76
|
+
connector: this.constructor.name,
|
|
77
|
+
});
|
|
76
78
|
}
|
|
77
79
|
ttl(_modelClass, key, _ttl, _options) {
|
|
78
80
|
return new Promise((resolve, reject) => {
|
|
@@ -91,7 +93,9 @@ class RedisConnector {
|
|
|
91
93
|
});
|
|
92
94
|
}
|
|
93
95
|
iterateKeys(_modelClass, _filter, _options) {
|
|
94
|
-
throw new
|
|
96
|
+
throw new utilities_1.NotImplementedError('iterateKeys', {
|
|
97
|
+
connector: this.constructor.name,
|
|
98
|
+
});
|
|
95
99
|
}
|
|
96
100
|
connect() {
|
|
97
101
|
return new Promise(resolve => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../../../src/datasources/redis/connector.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../../../src/datasources/redis/connector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IDataSourceOptions } from '../../base/datasources';
|
|
2
|
-
import { IRedisHelperProps, RedisHelper } from '../../helpers';
|
|
2
|
+
import { IRedisHelperProps, RedisHelper } from '../../helpers/redis';
|
|
3
3
|
import { Entity, KVConnector, Options } from '@loopback/repository';
|
|
4
4
|
export interface IRedisOptions extends IDataSourceOptions, IRedisHelperProps {
|
|
5
5
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/datasources/redis/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/datasources/redis/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpE,MAAM,WAAW,aAAc,SAAQ,kBAAkB,EAAE,iBAAiB;CAAG;AAE/E,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC7E,WAAW,EAAE,WAAW,CAAC;IAEzB,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,EAC5B,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAC9D,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,CAAC,CAAC,CAAC;IAEd,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC7D"}
|
|
@@ -15,8 +15,5 @@ export declare class Logger {
|
|
|
15
15
|
info(message: string, ...args: any[]): void;
|
|
16
16
|
warn(message: string, ...args: any[]): void;
|
|
17
17
|
error(message: string, ...args: any[]): void;
|
|
18
|
-
emerg(message: string, ...args: any[]): void;
|
|
19
|
-
}
|
|
20
|
-
export declare class ApplicationLogger extends Logger {
|
|
21
18
|
}
|
|
22
19
|
//# sourceMappingURL=application-logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application-logger.d.ts","sourceRoot":"","sources":["../../../src/helpers/logger/application-logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"application-logger.d.ts","sourceRoot":"","sources":["../../../src/helpers/logger/application-logger.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAcrC,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4C;IACxE,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAiB;gBAE1B,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAA;KAAE;IAIpD,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,eAAe;IAOvB,SAAS,CAAC,KAAK,EAAE,MAAM;IAYvB,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAQrD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAUrC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAGpC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAGpC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;CAGtC"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
const
|
|
8
|
-
const
|
|
3
|
+
exports.Logger = void 0;
|
|
4
|
+
const error_utility_1 = require("../../utilities/error.utility");
|
|
5
|
+
const lodash_utility_1 = require("../../utilities/lodash.utility");
|
|
9
6
|
const default_logger_1 = require("./default-logger");
|
|
10
7
|
const extraLogEnvs = (process.env.APP_ENV_EXTRA_LOG_ENVS ?? '').split(',').map(el => el.trim()) ?? [];
|
|
11
8
|
const LOG_ENVIRONMENTS = new Set([
|
|
@@ -22,21 +19,15 @@ class Logger {
|
|
|
22
19
|
this.scopes = [];
|
|
23
20
|
this.customLogger = opts?.customLogger;
|
|
24
21
|
}
|
|
25
|
-
// ---------------------------------------------------------------------
|
|
26
22
|
getLogger() {
|
|
27
23
|
return this.customLogger ?? default_logger_1.applicationLogger;
|
|
28
24
|
}
|
|
29
|
-
// ---------------------------------------------------------------------
|
|
30
25
|
_enhanceMessage(parts, message) {
|
|
31
26
|
const enhanced = parts?.reduce((prevState = '', current) => {
|
|
32
|
-
|
|
33
|
-
return current;
|
|
34
|
-
}
|
|
35
|
-
return prevState.concat(`-${current}`);
|
|
27
|
+
return (0, lodash_utility_1.isEmpty)(prevState) ? current : prevState.concat(`-${current}`);
|
|
36
28
|
}, '');
|
|
37
|
-
return `[${enhanced}]${message}`;
|
|
29
|
+
return `[${enhanced}] ${message}`;
|
|
38
30
|
}
|
|
39
|
-
// ---------------------------------------------------------------------
|
|
40
31
|
withScope(scope) {
|
|
41
32
|
if (this.scopes.length < 2) {
|
|
42
33
|
this.scopes.push(scope);
|
|
@@ -48,18 +39,13 @@ class Logger {
|
|
|
48
39
|
this.scopes[1] = scope;
|
|
49
40
|
return this;
|
|
50
41
|
}
|
|
51
|
-
// ---------------------------------------------------------------------
|
|
52
42
|
log(level, message, ...args) {
|
|
53
43
|
const logger = this.getLogger();
|
|
54
44
|
if (!logger) {
|
|
55
|
-
throw (0,
|
|
56
|
-
message: `[doLog] Level: ${level} | Invalid logger instance!`,
|
|
57
|
-
});
|
|
45
|
+
throw (0, error_utility_1.getError)({ message: `[Log] Level: ${level} | Invalid logger instance!` });
|
|
58
46
|
}
|
|
59
|
-
|
|
60
|
-
logger.log(level, enhanced, ...args);
|
|
47
|
+
logger.log(level, this._enhanceMessage(this.scopes, message), ...args);
|
|
61
48
|
}
|
|
62
|
-
// ---------------------------------------------------------------------
|
|
63
49
|
debug(message, ...args) {
|
|
64
50
|
if (this.environment && !LOG_ENVIRONMENTS.has(this.environment)) {
|
|
65
51
|
return;
|
|
@@ -69,25 +55,15 @@ class Logger {
|
|
|
69
55
|
}
|
|
70
56
|
this.log('debug', message, ...args);
|
|
71
57
|
}
|
|
72
|
-
// ---------------------------------------------------------------------
|
|
73
58
|
info(message, ...args) {
|
|
74
59
|
this.log('info', message, ...args);
|
|
75
60
|
}
|
|
76
|
-
// ---------------------------------------------------------------------
|
|
77
61
|
warn(message, ...args) {
|
|
78
62
|
this.log('warn', message, ...args);
|
|
79
63
|
}
|
|
80
|
-
// ---------------------------------------------------------------------
|
|
81
64
|
error(message, ...args) {
|
|
82
65
|
this.log('error', message, ...args);
|
|
83
66
|
}
|
|
84
|
-
// ---------------------------------------------------------------------
|
|
85
|
-
emerg(message, ...args) {
|
|
86
|
-
this.log('emerg', message, ...args);
|
|
87
|
-
}
|
|
88
67
|
}
|
|
89
68
|
exports.Logger = Logger;
|
|
90
|
-
class ApplicationLogger extends Logger {
|
|
91
|
-
}
|
|
92
|
-
exports.ApplicationLogger = ApplicationLogger;
|
|
93
69
|
//# sourceMappingURL=application-logger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application-logger.js","sourceRoot":"","sources":["../../../src/helpers/logger/application-logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"application-logger.js","sourceRoot":"","sources":["../../../src/helpers/logger/application-logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,14 +14,7 @@ export declare class LogLevels {
|
|
|
14
14
|
}
|
|
15
15
|
export type TLogLevel = TConstValue<typeof LogLevels>;
|
|
16
16
|
export type TLogFormat = 'legacy' | 'modern';
|
|
17
|
-
export type TLogMode = 'legacy' | 'modern';
|
|
18
17
|
export type TRequestIDSystem = 'asyncLocalStorage' | 'requestContext';
|
|
19
|
-
export declare class LogModes {
|
|
20
|
-
static readonly LEGACY = "legacy";
|
|
21
|
-
static readonly MODERN = "modern";
|
|
22
|
-
static readonly MODE_SET: Set<string>;
|
|
23
|
-
static isValid(input: string): boolean;
|
|
24
|
-
}
|
|
25
18
|
export declare class RequestIDSystems {
|
|
26
19
|
static readonly ASYNC_LOCAL_STORAGE = "asyncLocalStorage";
|
|
27
20
|
static readonly REQUEST_CONTEXT = "requestContext";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/helpers/logger/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,OAAO,aAAa;IACpC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAEhC,MAAM,CAAC,QAAQ,CAAC,UAAU,cAUvB;IAEH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAED,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,SAAS,CAAC,CAAC;AACtD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC7C,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/helpers/logger/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,OAAO,aAAa;IACpC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAEhC,MAAM,CAAC,QAAQ,CAAC,UAAU,cAUvB;IAEH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAED,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,SAAS,CAAC,CAAC;AACtD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC7C,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;AAEtE,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,QAAQ,CAAC,mBAAmB,uBAAuB;IAC1D,MAAM,CAAC,QAAQ,CAAC,eAAe,oBAAoB;IAEnD,MAAM,CAAC,QAAQ,CAAC,UAAU,cAA6D;IAEvF,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC"}
|