@minimaltech/node-infra 0.3.22 → 0.3.24

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 (139) hide show
  1. package/dist/base/applications/base.application.d.ts +4 -2
  2. package/dist/base/applications/base.application.js +8 -2
  3. package/dist/base/applications/base.application.js.map +1 -1
  4. package/dist/base/applications/default.application.d.ts +0 -3
  5. package/dist/base/applications/default.application.js.map +1 -1
  6. package/dist/base/controllers/relational.controller.js +1 -1
  7. package/dist/base/controllers/relational.controller.js.map +1 -1
  8. package/dist/base/datasources/base.datasource.d.ts +11 -0
  9. package/dist/base/datasources/base.datasource.js +19 -0
  10. package/dist/base/datasources/base.datasource.js.map +1 -0
  11. package/dist/base/datasources/index.d.ts +2 -0
  12. package/dist/base/datasources/index.js +19 -0
  13. package/dist/base/datasources/index.js.map +1 -0
  14. package/dist/base/datasources/types.d.ts +4 -0
  15. package/dist/base/datasources/types.js +3 -0
  16. package/dist/base/datasources/types.js.map +1 -0
  17. package/dist/base/index.d.ts +1 -1
  18. package/dist/base/index.js +1 -1
  19. package/dist/base/index.js.map +1 -1
  20. package/dist/base/repositories/base.repository.js.map +1 -1
  21. package/dist/base/repositories/index.d.ts +1 -1
  22. package/dist/base/repositories/index.js +1 -1
  23. package/dist/base/repositories/index.js.map +1 -1
  24. package/dist/base/repositories/relations/has-many-polymorphic/decorator.d.ts +1 -1
  25. package/dist/base/repositories/relations/has-many-polymorphic/decorator.js +1 -1
  26. package/dist/base/repositories/relations/has-many-polymorphic/index.d.ts +2 -2
  27. package/dist/base/repositories/relations/has-many-polymorphic/index.js +2 -2
  28. package/dist/base/repositories/relations/has-many-polymorphic/index.js.map +1 -1
  29. package/dist/base/repositories/searchable-tz-crud.repository.d.ts +17 -4
  30. package/dist/base/repositories/searchable-tz-crud.repository.js +76 -20
  31. package/dist/base/repositories/searchable-tz-crud.repository.js.map +1 -1
  32. package/dist/base/repositories/tz-crud.repository.d.ts +14 -0
  33. package/dist/base/repositories/tz-crud.repository.js +24 -0
  34. package/dist/base/repositories/tz-crud.repository.js.map +1 -1
  35. package/dist/common/constants.d.ts +40 -5
  36. package/dist/common/constants.js +58 -9
  37. package/dist/common/constants.js.map +1 -1
  38. package/dist/common/environments.d.ts +9 -0
  39. package/dist/common/environments.js +11 -1
  40. package/dist/common/environments.js.map +1 -1
  41. package/dist/common/types.d.ts +18 -3
  42. package/dist/components/authenticate/models/oauth2-client.model.js +3 -0
  43. package/dist/components/authenticate/models/oauth2-client.model.js.map +1 -1
  44. package/dist/components/authenticate/repositories/oauth2.repository.d.ts +1 -1
  45. package/dist/components/authenticate/repositories/oauth2.repository.js +4 -4
  46. package/dist/components/authenticate/repositories/oauth2.repository.js.map +1 -1
  47. package/dist/components/authorize/adapters/adapter-builder.d.ts +1 -1
  48. package/dist/components/authorize/adapters/base.adapter.d.ts +1 -1
  49. package/dist/components/authorize/adapters/casbin-postgres-adapter.helper.d.ts +1 -1
  50. package/dist/components/authorize/adapters/casbin-redis-adapter.helper.d.ts +1 -1
  51. package/dist/components/authorize/migrations/0000-create-view-policy.js +5 -5
  52. package/dist/components/authorize/migrations/0000-create-view-policy.js.map +1 -1
  53. package/dist/components/authorize/repositories/authorize.repository.d.ts +1 -1
  54. package/dist/components/authorize/repositories/authorize.repository.js +6 -6
  55. package/dist/components/authorize/repositories/authorize.repository.js.map +1 -1
  56. package/dist/components/authorize/services/enforcer.service.d.ts +1 -1
  57. package/dist/components/authorize/services/enforcer.service.js +2 -2
  58. package/dist/components/authorize/services/enforcer.service.js.map +1 -1
  59. package/dist/components/crash-report/common/keys.d.ts +1 -1
  60. package/dist/components/crash-report/common/keys.js +2 -2
  61. package/dist/components/crash-report/common/keys.js.map +1 -1
  62. package/dist/components/crash-report/component.js +1 -1
  63. package/dist/components/crash-report/component.js.map +1 -1
  64. package/dist/components/crash-report/providers/third-parties/base.d.ts +0 -1
  65. package/dist/components/crash-report/providers/third-parties/base.js.map +1 -1
  66. package/dist/components/grpc/helpers/grpc-server.js.map +1 -1
  67. package/dist/components/migration/repositories/migration.repository.d.ts +1 -1
  68. package/dist/components/migration/repositories/migration.repository.js +2 -2
  69. package/dist/components/migration/repositories/migration.repository.js.map +1 -1
  70. package/dist/components/socket-io/helpers/socket-io-server.helper.js +1 -7
  71. package/dist/components/socket-io/helpers/socket-io-server.helper.js.map +1 -1
  72. package/dist/datasources/index.d.ts +3 -2
  73. package/dist/datasources/index.js +3 -2
  74. package/dist/datasources/index.js.map +1 -1
  75. package/dist/datasources/kvmem/datasource.d.ts +5 -0
  76. package/dist/datasources/{kvmem.datasource.js → kvmem/datasource.js} +10 -10
  77. package/dist/datasources/kvmem/datasource.js.map +1 -0
  78. package/dist/datasources/kvmem/index.d.ts +1 -0
  79. package/dist/datasources/kvmem/index.js +18 -0
  80. package/dist/datasources/kvmem/index.js.map +1 -0
  81. package/dist/datasources/postgres/datasource.d.ts +7 -0
  82. package/dist/datasources/{postgres.datasource.js → postgres/datasource.js} +22 -21
  83. package/dist/datasources/postgres/datasource.js.map +1 -0
  84. package/dist/datasources/postgres/index.d.ts +2 -0
  85. package/dist/datasources/postgres/index.js +19 -0
  86. package/dist/datasources/postgres/index.js.map +1 -0
  87. package/dist/datasources/postgres/types.d.ts +9 -0
  88. package/dist/datasources/postgres/types.js +3 -0
  89. package/dist/datasources/postgres/types.js.map +1 -0
  90. package/dist/datasources/redis/connector.d.ts +36 -0
  91. package/dist/datasources/redis/connector.js +128 -0
  92. package/dist/datasources/redis/connector.js.map +1 -0
  93. package/dist/datasources/redis/datasource.d.ts +9 -0
  94. package/dist/datasources/redis/datasource.js +48 -0
  95. package/dist/datasources/redis/datasource.js.map +1 -0
  96. package/dist/datasources/redis/index.d.ts +3 -0
  97. package/dist/datasources/redis/index.js +20 -0
  98. package/dist/datasources/redis/index.js.map +1 -0
  99. package/dist/datasources/redis/types.d.ts +10 -0
  100. package/dist/datasources/redis/types.js +3 -0
  101. package/dist/datasources/redis/types.js.map +1 -0
  102. package/dist/helpers/application-environment.helper.d.ts +1 -0
  103. package/dist/helpers/application-environment.helper.js +3 -0
  104. package/dist/helpers/application-environment.helper.js.map +1 -1
  105. package/dist/helpers/logger/default-logger.d.ts +21 -8
  106. package/dist/helpers/logger/default-logger.js +102 -30
  107. package/dist/helpers/logger/default-logger.js.map +1 -1
  108. package/dist/helpers/logger/index.d.ts +2 -1
  109. package/dist/helpers/logger/index.js +2 -1
  110. package/dist/helpers/logger/index.js.map +1 -1
  111. package/dist/helpers/logger/transports/dgram.transport.d.ts +28 -0
  112. package/dist/helpers/logger/transports/dgram.transport.js +84 -0
  113. package/dist/helpers/logger/transports/dgram.transport.js.map +1 -0
  114. package/dist/helpers/logger/transports/index.d.ts +1 -0
  115. package/dist/helpers/logger/transports/index.js +18 -0
  116. package/dist/helpers/logger/transports/index.js.map +1 -0
  117. package/dist/helpers/queue/queue.helper.d.ts +0 -1
  118. package/dist/helpers/queue/queue.helper.js.map +1 -1
  119. package/dist/helpers/redis.helper.d.ts +118 -42
  120. package/dist/helpers/redis.helper.js +163 -62
  121. package/dist/helpers/redis.helper.js.map +1 -1
  122. package/dist/tsconfig.base.json +19 -8
  123. package/dist/utilities/date.utility.d.ts +7 -3
  124. package/dist/utilities/date.utility.js +28 -10
  125. package/dist/utilities/date.utility.js.map +1 -1
  126. package/dist/utilities/index.d.ts +1 -0
  127. package/dist/utilities/index.js +1 -0
  128. package/dist/utilities/index.js.map +1 -1
  129. package/dist/utilities/query.utility.d.ts +30 -0
  130. package/dist/utilities/query.utility.js +143 -0
  131. package/dist/utilities/query.utility.js.map +1 -0
  132. package/package.json +3 -3
  133. package/dist/base/base.datasource.d.ts +0 -9
  134. package/dist/base/base.datasource.js +0 -13
  135. package/dist/base/base.datasource.js.map +0 -1
  136. package/dist/datasources/kvmem.datasource.d.ts +0 -9
  137. package/dist/datasources/kvmem.datasource.js.map +0 -1
  138. package/dist/datasources/postgres.datasource.d.ts +0 -14
  139. package/dist/datasources/postgres.datasource.js.map +0 -1
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedisConnector = void 0;
4
+ const helpers_1 = require("../../helpers");
5
+ const utilities_1 = require("../../utilities");
6
+ class RedisConnector {
7
+ constructor(opts) {
8
+ this.settings = opts.settings;
9
+ }
10
+ initialize(opts) {
11
+ this.redisHelper = new helpers_1.RedisHelper(Object.assign(Object.assign({}, this.settings), { port: (0, utilities_1.int)(this.settings.port), onInitialized: () => {
12
+ opts.context.initialized = true;
13
+ opts.context.emit('initialized');
14
+ }, onConnected: () => {
15
+ opts.context.connected = true;
16
+ opts.context.emit('connected');
17
+ }, onReady: () => {
18
+ opts.context.ready = true;
19
+ opts.context.emit('ready');
20
+ }, onError: ({ error }) => {
21
+ opts.context.emit('error', error);
22
+ } }));
23
+ }
24
+ delete(_modelClass, key, _options) {
25
+ return new Promise((resolve, reject) => {
26
+ this.redisHelper.client
27
+ .del(key)
28
+ .then(() => resolve(true))
29
+ .catch(reject);
30
+ });
31
+ }
32
+ deleteAll(_modelClass, _options) {
33
+ return new Promise((resolve, reject) => {
34
+ this.redisHelper.client
35
+ .dbsize()
36
+ .then(size => {
37
+ this.redisHelper.client
38
+ .flushdb()
39
+ .then(() => resolve(size))
40
+ .catch(reject);
41
+ })
42
+ .catch(reject);
43
+ });
44
+ }
45
+ get(_modelClass, key, options) {
46
+ return new Promise((resolve, reject) => {
47
+ var _a;
48
+ const transform = (rs) => {
49
+ return rs;
50
+ };
51
+ this.redisHelper
52
+ .get({
53
+ key,
54
+ transform: (_a = options === null || options === void 0 ? void 0 : options.transform) !== null && _a !== void 0 ? _a : transform,
55
+ })
56
+ .then(rs => resolve(rs))
57
+ .catch(reject);
58
+ });
59
+ }
60
+ set(_modelClass, key, value, options) {
61
+ return new Promise((resolve, reject) => {
62
+ this.redisHelper
63
+ .set({ key, value, options })
64
+ .then(() => resolve(true))
65
+ .catch(reject);
66
+ });
67
+ }
68
+ expire(_modelClass, _key, _ttl, _options) {
69
+ throw new Error('Method not implemented.');
70
+ }
71
+ ttl(_modelClass, key, _ttl, _options) {
72
+ return new Promise((resolve, reject) => {
73
+ this.redisHelper.client
74
+ .ttl(key)
75
+ .then(rs => resolve(rs))
76
+ .catch(reject);
77
+ });
78
+ }
79
+ keys(_modelClass, _options) {
80
+ return new Promise((resolve, reject) => {
81
+ this.redisHelper.client
82
+ .keys('*')
83
+ .then(rs => resolve(rs))
84
+ .catch(reject);
85
+ });
86
+ }
87
+ iterateKeys(_modelClass, _filter, _options) {
88
+ throw new Error('Method not implemented.');
89
+ }
90
+ connect() {
91
+ return new Promise(resolve => {
92
+ this.redisHelper.connect().then(() => {
93
+ resolve();
94
+ });
95
+ });
96
+ }
97
+ disconnect() {
98
+ return new Promise((resolve, reject) => {
99
+ this.redisHelper
100
+ .disconnect()
101
+ .then(() => {
102
+ resolve();
103
+ })
104
+ .catch(reject);
105
+ });
106
+ }
107
+ ping() {
108
+ return new Promise((resolve, reject) => {
109
+ this.redisHelper.client
110
+ .ping()
111
+ .then(() => {
112
+ resolve();
113
+ })
114
+ .catch(reject);
115
+ });
116
+ }
117
+ execute(...args) {
118
+ if (!args.length || args.length > 3) {
119
+ throw (0, utilities_1.getError)({
120
+ message: '[execute] Invalid method signature | args: [0] command name [1] array of parameters [2] extra options',
121
+ });
122
+ }
123
+ const [command, parameters] = args;
124
+ return this.redisHelper.execute(command.toLowerCase(), parameters);
125
+ }
126
+ }
127
+ exports.RedisConnector = RedisConnector;
128
+ //# sourceMappingURL=connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector.js","sourceRoot":"","sources":["../../../src/datasources/redis/connector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { BaseDataSource } from '../../base/datasources';
2
+ import { Options } from '@loopback/repository';
3
+ import { IRedisConnector, IRedisOptions } from './types';
4
+ export declare class RedisDataSource extends BaseDataSource<IRedisOptions> {
5
+ static dataSourceName: string;
6
+ constructor(settings?: IRedisOptions);
7
+ getConnector(): IRedisConnector;
8
+ execute<R extends object = any>(command: string, parameters?: Array<string | number> | string | number | object, extra?: Options): Promise<R>;
9
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var _a, _b, _c, _d;
15
+ var RedisDataSource_1;
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.RedisDataSource = void 0;
18
+ const datasources_1 = require("../../base/datasources");
19
+ const core_1 = require("@loopback/core");
20
+ const connector_1 = require("./connector");
21
+ const options = {
22
+ connector: 'redis',
23
+ name: (_a = process.env.APP_ENV_REDIS_DATASOURCE_NAME) !== null && _a !== void 0 ? _a : 'redis',
24
+ host: (_b = process.env.APP_ENV_REDIS_DATASOURCE_HOST) !== null && _b !== void 0 ? _b : '0.0.0.0',
25
+ port: (_c = process.env.APP_ENV_REDIS_DATASOURCE_PORT) !== null && _c !== void 0 ? _c : '6379',
26
+ password: (_d = process.env.APP_ENV_REDIS_DATASOURCE_PASSWORD) !== null && _d !== void 0 ? _d : 'password',
27
+ };
28
+ let RedisDataSource = RedisDataSource_1 = class RedisDataSource extends datasources_1.BaseDataSource {
29
+ constructor(settings = options) {
30
+ super({ settings, scope: RedisDataSource_1.name });
31
+ this.connector = new connector_1.RedisConnector({ settings });
32
+ this.connector.initialize({ context: this });
33
+ this.logger.info('Redis DataSource Settings: %j', this.settings);
34
+ }
35
+ getConnector() {
36
+ return this.connector;
37
+ }
38
+ execute(command, parameters, extra) {
39
+ return this.getConnector().execute(command, parameters, extra);
40
+ }
41
+ };
42
+ exports.RedisDataSource = RedisDataSource;
43
+ RedisDataSource.dataSourceName = options.name;
44
+ exports.RedisDataSource = RedisDataSource = RedisDataSource_1 = __decorate([
45
+ __param(0, (0, core_1.inject)(`datasources.config.${options.name}`, { optional: true })),
46
+ __metadata("design:paramtypes", [Object])
47
+ ], RedisDataSource);
48
+ //# sourceMappingURL=datasource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../../src/datasources/redis/datasource.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAoD;AACpD,yCAAwC;AAExC,2CAA6C;AAG7C,MAAM,OAAO,GAAkB;IAC7B,SAAS,EAAE,OAAO;IAClB,IAAI,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,mCAAI,OAAO;IAC1D,IAAI,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,mCAAI,SAAS;IAC5D,IAAI,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,mCAAI,MAAM;IACzD,QAAQ,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,iCAAiC,mCAAI,UAAU;CACtE,CAAC;AAEF,IAAa,eAAe,uBAA5B,MAAa,eAAgB,SAAQ,4BAA6B;IAGhE,YAEE,WAA0B,OAAO;QAEjC,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAe,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjD,IAAI,CAAC,SAAS,GAAG,IAAI,0BAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAA4B,CAAC;IAC3C,CAAC;IAEQ,OAAO,CACd,OAAe,EACf,UAA8D,EAC9D,KAAe;QAEf,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAI,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;;AAzBU,0CAAe;AACnB,8BAAc,GAAG,OAAO,CAAC,IAAI,AAAf,CAAgB;0BAD1B,eAAe;IAIvB,WAAA,IAAA,aAAM,EAAC,sBAAsB,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;GAJxD,eAAe,CA0B3B"}
@@ -0,0 +1,3 @@
1
+ export * from './datasource';
2
+ export * from './connector';
3
+ export * from './types';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./datasource"), exports);
18
+ __exportStar(require("./connector"), exports);
19
+ __exportStar(require("./types"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/datasources/redis/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,8CAA4B;AAC5B,0CAAwB"}
@@ -0,0 +1,10 @@
1
+ import { IDataSourceOptions } from '../../base/datasources';
2
+ import { IRedisHelperProps, RedisHelper } from '../../helpers';
3
+ import { Entity, KVConnector, Options } from '@loopback/repository';
4
+ export interface IRedisOptions extends IDataSourceOptions, IRedisHelperProps {
5
+ }
6
+ export interface IRedisConnector<E extends Entity = any> extends KVConnector<E> {
7
+ redisHelper: RedisHelper;
8
+ execute<R extends object = any>(command: string, parameters?: Array<string | number> | string | number | object, options?: Options): Promise<R>;
9
+ execute<R extends object = any>(...args: any[]): Promise<R>;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/datasources/redis/types.ts"],"names":[],"mappings":""}
@@ -8,6 +8,7 @@ export declare class ApplicationEnvironment implements IApplicationEnvironment {
8
8
  });
9
9
  get<ReturnType>(key: string): ReturnType;
10
10
  set<ValueType>(key: string, value: ValueType): void;
11
+ isDevelopment(): boolean;
11
12
  keys(): string[];
12
13
  }
13
14
  export declare const applicationEnvironment: ApplicationEnvironment;
@@ -19,6 +19,9 @@ class ApplicationEnvironment {
19
19
  set(key, value) {
20
20
  this.arguments[key] = value;
21
21
  }
22
+ isDevelopment() {
23
+ return process.env.NODE_ENV === 'development';
24
+ }
22
25
  keys() {
23
26
  return Object.keys(this.arguments);
24
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"application-environment.helper.js","sourceRoot":"","sources":["../../src/helpers/application-environment.helper.ts"],"names":[],"mappings":";;;;AAEA,MAAa,sBAAsB;IAIjC,YAAY,IAA2E;QAF/E,cAAS,GAAwB,EAAE,CAAC;QAG1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,GAAG,CAAa,GAAW;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAe,CAAC;IAC3C,CAAC;IAED,GAAG,CAAY,GAAW,EAAE,KAAgB;QAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI;QACF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;CACF;AA3BD,wDA2BC;AAEY,QAAA,sBAAsB,GAAG,IAAI,sBAAsB,CAAC;IAC/D,MAAM,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,sBAAsB,mCAAI,SAAS;IACvD,IAAI,EAAE,OAAO,CAAC,GAAG;CAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"application-environment.helper.js","sourceRoot":"","sources":["../../src/helpers/application-environment.helper.ts"],"names":[],"mappings":";;;;AAEA,MAAa,sBAAsB;IAIjC,YAAY,IAA2E;QAF/E,cAAS,GAAwB,EAAE,CAAC;QAG1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,GAAG,CAAa,GAAW;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAe,CAAC;IAC3C,CAAC;IAED,GAAG,CAAY,GAAW,EAAE,KAAgB;QAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,aAAa;QACX,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;IAChD,CAAC;IAED,IAAI;QACF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;CACF;AA/BD,wDA+BC;AAEY,QAAA,sBAAsB,GAAG,IAAI,sBAAsB,CAAC;IAC/D,MAAM,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,sBAAsB,mCAAI,SAAS;IACvD,IAAI,EAAE,OAAO,CAAC,GAAG;CAClB,CAAC,CAAC"}
@@ -1,16 +1,29 @@
1
- import { format } from 'winston';
1
+ import winston from 'winston';
2
2
  import 'winston-daily-rotate-file';
3
- export declare const applicationLogFormatter: ReturnType<typeof format.combine>;
3
+ import { IDgramTransportOptions } from './transports';
4
+ export declare const applicationLogFormatter: ReturnType<typeof winston.format.combine>;
4
5
  export declare const defineCustomLogger: (opts: {
6
+ logLevels?: {
7
+ [name: string | symbol]: number;
8
+ };
9
+ logColors?: {
10
+ [name: string | symbol]: string;
11
+ };
5
12
  transports: {
6
13
  info: {
7
- folder: string;
8
- prefix: string;
14
+ file?: {
15
+ prefix: string;
16
+ folder: string;
17
+ };
18
+ dgram?: Partial<IDgramTransportOptions>;
9
19
  };
10
20
  error: {
11
- folder: string;
12
- prefix: string;
21
+ file: {
22
+ prefix: string;
23
+ folder: string;
24
+ };
25
+ dgram?: Partial<IDgramTransportOptions>;
13
26
  };
14
27
  };
15
- }) => import("winston").Logger;
16
- export declare const applicationLogger: import("winston").Logger;
28
+ }) => winston.Logger;
29
+ export declare const applicationLogger: winston.Logger;
@@ -2,49 +2,121 @@
2
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
- var _a;
5
+ var _a, _b, _c, _d, _e;
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.applicationLogger = exports.defineCustomLogger = exports.applicationLogFormatter = void 0;
8
+ const common_1 = require("../../common");
8
9
  const path_1 = __importDefault(require("path"));
9
- const winston_1 = require("winston");
10
+ const winston_1 = __importDefault(require("winston"));
10
11
  require("winston-daily-rotate-file");
11
- const common_1 = require("../../common");
12
- const LOGGER_FOLDER_PATH = (_a = process.env.APP_ENV_LOGGER_FOLDER_PATH) !== null && _a !== void 0 ? _a : './';
12
+ const transports_1 = require("./transports");
13
+ const utilities_1 = require("../../utilities");
13
14
  const LOGGER_PREFIX = common_1.App.APPLICATION_NAME;
14
- const consoleLogTransport = new winston_1.transports.Console({
15
- level: 'debug',
16
- });
17
- exports.applicationLogFormatter = winston_1.format.combine(winston_1.format.label({ label: LOGGER_PREFIX }), winston_1.format.splat(), winston_1.format.align(), winston_1.format.timestamp(), winston_1.format.simple(), winston_1.format.colorize(), winston_1.format.printf(({ level, message, label, timestamp }) => `${timestamp} [${label}] ${level}: ${message}`), winston_1.format.errors({ stack: true }));
15
+ const consoleLogTransport = new winston_1.default.transports.Console({ level: 'debug' });
16
+ exports.applicationLogFormatter = winston_1.default.format.combine(winston_1.default.format.label({ label: LOGGER_PREFIX }), winston_1.default.format.splat(), winston_1.default.format.align(), winston_1.default.format.timestamp(), winston_1.default.format.simple(), winston_1.default.format.colorize(), winston_1.default.format.printf(({ level, message, label, timestamp }) => `${timestamp} [${label}] ${level}: ${message}`), winston_1.default.format.errors({ stack: true }));
18
17
  const defineCustomLogger = (opts) => {
19
- const { transports: { info, error }, } = opts;
20
- const infoTransport = new winston_1.transports.DailyRotateFile({
21
- frequency: '1h',
22
- maxSize: '100m',
23
- maxFiles: '5d',
24
- datePattern: 'YYYYMMDD_HH',
25
- filename: path_1.default.join(info.folder, `/${info.prefix}-info-%DATE%.log`),
26
- level: 'info',
27
- });
28
- const errorTransport = new winston_1.transports.DailyRotateFile({
29
- frequency: '1h',
30
- maxSize: '100m',
31
- maxFiles: '5d',
32
- datePattern: 'YYYYMMDD_HH',
33
- filename: path_1.default.join(error.folder, `/${error.prefix}-error-%DATE%.log`),
34
- level: 'error',
35
- });
36
- return (0, winston_1.createLogger)({
18
+ const { logLevels = {
19
+ error: 1,
20
+ alert: 1,
21
+ emergency: 1,
22
+ warn: 2,
23
+ info: 3,
24
+ http: 4,
25
+ verbose: 5,
26
+ debug: 6,
27
+ silly: 7,
28
+ }, logColors = {
29
+ error: 'red',
30
+ alert: 'red',
31
+ emergency: 'red',
32
+ warn: 'yellow',
33
+ info: 'green',
34
+ http: 'magenta',
35
+ verbose: 'gray',
36
+ debug: 'blue',
37
+ silly: 'gray',
38
+ }, transports: { info: infoTransportOptions, error: errorTransportOptions }, } = opts;
39
+ /* const transports: { general: Array<winston.transport>; exception: Array<winston.transport> } = {
40
+ general: [consoleLogTransport, infoTransport, errorTransport],
41
+ exception: [consoleLogTransport, errorTransport],
42
+ }; */
43
+ const transports = {
44
+ general: [consoleLogTransport],
45
+ exception: [consoleLogTransport],
46
+ };
47
+ // File configure
48
+ if (infoTransportOptions.file) {
49
+ const transport = new winston_1.default.transports.DailyRotateFile({
50
+ frequency: '1h',
51
+ maxSize: '100m',
52
+ maxFiles: '5d',
53
+ datePattern: 'YYYYMMDD_HH',
54
+ filename: path_1.default.join(infoTransportOptions.file.folder, `/${infoTransportOptions.file.prefix}-info-%DATE%.log`),
55
+ level: 'info',
56
+ });
57
+ transports.general.push(transport);
58
+ }
59
+ if (errorTransportOptions.file) {
60
+ const transport = new winston_1.default.transports.DailyRotateFile({
61
+ frequency: '1h',
62
+ maxSize: '100m',
63
+ maxFiles: '5d',
64
+ datePattern: 'YYYYMMDD_HH',
65
+ filename: path_1.default.join(errorTransportOptions.file.folder, `/${errorTransportOptions.file.prefix}-error-%DATE%.log`),
66
+ level: 'error',
67
+ });
68
+ transports.general.push(transport);
69
+ transports.exception.push(transport);
70
+ }
71
+ // Stream configure
72
+ if (infoTransportOptions.dgram) {
73
+ const transport = transports_1.DgramTransport.fromPartial(infoTransportOptions.dgram);
74
+ if (transport) {
75
+ transports.general.push(transport);
76
+ }
77
+ }
78
+ if (errorTransportOptions.dgram) {
79
+ const transport = transports_1.DgramTransport.fromPartial(errorTransportOptions.dgram);
80
+ if (transport) {
81
+ transports.exception.push(transport);
82
+ }
83
+ }
84
+ // Color configure
85
+ winston_1.default.addColors(logColors);
86
+ // Logger
87
+ return winston_1.default.createLogger({
88
+ levels: logLevels,
37
89
  format: exports.applicationLogFormatter,
38
90
  exitOnError: false,
39
- transports: [consoleLogTransport, infoTransport, errorTransport],
40
- exceptionHandlers: [consoleLogTransport, errorTransport],
91
+ transports: transports.general,
92
+ exceptionHandlers: transports.exception,
41
93
  });
42
94
  };
43
95
  exports.defineCustomLogger = defineCustomLogger;
96
+ // -------------------------------------------------------------------------------------------
97
+ const LOGGER_FOLDER_PATH = (_a = process.env.APP_ENV_LOGGER_FOLDER_PATH) !== null && _a !== void 0 ? _a : './';
44
98
  exports.applicationLogger = (0, exports.defineCustomLogger)({
45
99
  transports: {
46
- info: { folder: LOGGER_FOLDER_PATH, prefix: LOGGER_PREFIX },
47
- error: { folder: LOGGER_FOLDER_PATH, prefix: LOGGER_PREFIX },
100
+ info: {
101
+ file: { folder: LOGGER_FOLDER_PATH, prefix: LOGGER_PREFIX },
102
+ dgram: {
103
+ host: process.env.APP_ENV_LOGGER_DGRAM_HOST,
104
+ port: (0, utilities_1.int)(process.env.APP_ENV_LOGGER_DGRAM_PORT),
105
+ label: process.env.APP_ENV_LOGGER_DGRAM_LABEL,
106
+ triggerLevels: (_c = (_b = process.env.APP_ENV_LOGGER_DGRAM_INFO_TRIGGER_LEVELS) === null || _b === void 0 ? void 0 : _b.split(',').map(el => el.trim())) !== null && _c !== void 0 ? _c : [],
107
+ socketOptions: { type: 'udp4' },
108
+ },
109
+ },
110
+ error: {
111
+ file: { folder: LOGGER_FOLDER_PATH, prefix: LOGGER_PREFIX },
112
+ dgram: {
113
+ host: process.env.APP_ENV_LOGGER_DGRAM_HOST,
114
+ port: (0, utilities_1.int)(process.env.APP_ENV_LOGGER_DGRAM_PORT),
115
+ label: process.env.APP_ENV_LOGGER_DGRAM_LABEL,
116
+ triggerLevels: (_e = (_d = process.env.APP_ENV_LOGGER_DGRAM_ERROR_TRIGGER_LEVELS) === null || _d === void 0 ? void 0 : _d.split(',').map(el => el.trim())) !== null && _e !== void 0 ? _e : [],
117
+ socketOptions: { type: 'udp4' },
118
+ },
119
+ },
48
120
  },
49
121
  });
50
122
  //# sourceMappingURL=default-logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"default-logger.js","sourceRoot":"","sources":["../../../src/helpers/logger/default-logger.ts"],"names":[],"mappings":";;;;;;;AAAA,gDAAwB;AACxB,qCAA2D;AAC3D,qCAAmC;AACnC,qCAA+B;AAE/B,MAAM,kBAAkB,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,0BAA0B,mCAAI,IAAI,CAAC;AAC1E,MAAM,aAAa,GAAG,YAAG,CAAC,gBAAgB,CAAC;AAE3C,MAAM,mBAAmB,GAAG,IAAI,oBAAU,CAAC,OAAO,CAAC;IACjD,KAAK,EAAE,OAAO;CACf,CAAC,CAAC;AAEU,QAAA,uBAAuB,GAAsC,gBAAM,CAAC,OAAO,CACtF,gBAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,EACtC,gBAAM,CAAC,KAAK,EAAE,EACd,gBAAM,CAAC,KAAK,EAAE,EACd,gBAAM,CAAC,SAAS,EAAE,EAClB,gBAAM,CAAC,MAAM,EAAE,EACf,gBAAM,CAAC,QAAQ,EAAE,EACjB,gBAAM,CAAC,MAAM,CACX,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,GAAG,SAAS,KAAK,KAAK,KAAK,KAAK,KAAK,OAAO,EAAE,CACzF,EACD,gBAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAC/B,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,IAKlC,EAAE,EAAE;IACH,MAAM,EACJ,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAC5B,GAAG,IAAI,CAAC;IAET,MAAM,aAAa,GAAG,IAAI,oBAAU,CAAC,eAAe,CAAC;QACnD,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,aAAa;QAC1B,QAAQ,EAAE,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,kBAAkB,CAAC;QACnE,KAAK,EAAE,MAAM;KACd,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,IAAI,oBAAU,CAAC,eAAe,CAAC;QACpD,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,aAAa;QAC1B,QAAQ,EAAE,cAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,mBAAmB,CAAC;QACtE,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;IAEH,OAAO,IAAA,sBAAY,EAAC;QAClB,MAAM,EAAE,+BAAuB;QAC/B,WAAW,EAAE,KAAK;QAClB,UAAU,EAAE,CAAC,mBAAmB,EAAE,aAAa,EAAE,cAAc,CAAC;QAChE,iBAAiB,EAAE,CAAC,mBAAmB,EAAE,cAAc,CAAC;KACzD,CAAC,CAAC;AACL,CAAC,CAAC;AAlCW,QAAA,kBAAkB,sBAkC7B;AAEW,QAAA,iBAAiB,GAAG,IAAA,0BAAkB,EAAC;IAClD,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE;QAC3D,KAAK,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE;KAC7D;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"default-logger.js","sourceRoot":"","sources":["../../../src/helpers/logger/default-logger.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
- export * from './default-logger';
2
1
  export * from './application-logger';
2
+ export * from './default-logger';
3
3
  export * from './factory';
4
+ export * from './transports';
@@ -14,7 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./default-logger"), exports);
18
17
  __exportStar(require("./application-logger"), exports);
18
+ __exportStar(require("./default-logger"), exports);
19
19
  __exportStar(require("./factory"), exports);
20
+ __exportStar(require("./transports"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/logger/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,uDAAqC;AACrC,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/logger/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,mDAAiC;AACjC,4CAA0B;AAC1B,+CAA6B"}
@@ -0,0 +1,28 @@
1
+ import dgram from 'dgram';
2
+ import Transport from 'winston-transport';
3
+ export interface IDgramTransportOptions extends Transport.TransportStreamOptions {
4
+ label: string;
5
+ host: string;
6
+ port: number;
7
+ triggerLevels: Array<string>;
8
+ socketOptions: dgram.SocketOptions;
9
+ }
10
+ export declare class DgramTransport extends Transport {
11
+ private label;
12
+ private host;
13
+ private port;
14
+ private triggerLevels;
15
+ private socketOptions;
16
+ private client;
17
+ constructor(opts: IDgramTransportOptions);
18
+ static fromPartial(opts?: Partial<IDgramTransportOptions>): DgramTransport | null;
19
+ private establish;
20
+ private formatMessage;
21
+ log(opts: {
22
+ level: string;
23
+ message: string;
24
+ label?: string;
25
+ timestamp?: string;
26
+ [extra: symbol]: any;
27
+ }, callback: Function): void;
28
+ }
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.DgramTransport = void 0;
18
+ const common_1 = require("../../../common");
19
+ const utilities_1 = require("../../../utilities");
20
+ const dgram_1 = __importDefault(require("dgram"));
21
+ const winston_transport_1 = __importDefault(require("winston-transport"));
22
+ class DgramTransport extends winston_transport_1.default {
23
+ constructor(opts) {
24
+ const { label, host, port, triggerLevels, socketOptions } = opts, defaultTransportOptions = __rest(opts, ["label", "host", "port", "triggerLevels", "socketOptions"]);
25
+ super(defaultTransportOptions);
26
+ this.label = label;
27
+ this.host = host;
28
+ this.port = port;
29
+ this.triggerLevels = new Set(triggerLevels);
30
+ this.socketOptions = socketOptions;
31
+ this.establish({ socketOptions: this.socketOptions });
32
+ }
33
+ static fromPartial(opts) {
34
+ var _a;
35
+ console.log('fromPartial: ', opts);
36
+ if (!(opts === null || opts === void 0 ? void 0 : opts.label) ||
37
+ !(opts === null || opts === void 0 ? void 0 : opts.host) ||
38
+ !(opts === null || opts === void 0 ? void 0 : opts.port) ||
39
+ !((_a = opts === null || opts === void 0 ? void 0 : opts.triggerLevels) === null || _a === void 0 ? void 0 : _a.length) ||
40
+ !(opts === null || opts === void 0 ? void 0 : opts.socketOptions)) {
41
+ return null;
42
+ }
43
+ return new DgramTransport(opts);
44
+ }
45
+ establish(opts) {
46
+ this.client = dgram_1.default.createSocket(opts.socketOptions);
47
+ this.client.on('error', error => {
48
+ var _a;
49
+ (_a = this.client) === null || _a === void 0 ? void 0 : _a.close();
50
+ this.client = null;
51
+ throw (0, utilities_1.getError)({
52
+ statusCode: common_1.ResultCodes.RS_5.InternalServerError,
53
+ message: `[DgramTransport][error] Error: ${error.message}`,
54
+ });
55
+ });
56
+ }
57
+ formatMessage(opts) {
58
+ var _a;
59
+ const { timestamp, label, message } = opts, rest = __rest(opts, ["timestamp", "label", "message"]);
60
+ return [timestamp, `[${(_a = this.label) !== null && _a !== void 0 ? _a : label}]`, rest[Symbol.for('level')], message].join(' ');
61
+ }
62
+ log(opts, callback) {
63
+ var _a;
64
+ setImmediate(() => {
65
+ this.emit('logged', opts);
66
+ });
67
+ const logLevel = opts[Symbol.for('level')];
68
+ if (!this.triggerLevels.has(logLevel)) {
69
+ callback();
70
+ }
71
+ if (!this.client) {
72
+ this.establish({ socketOptions: this.socketOptions });
73
+ }
74
+ const message = this.formatMessage(opts);
75
+ (_a = this.client) === null || _a === void 0 ? void 0 : _a.send(message, this.port, this.host, error => {
76
+ if (error) {
77
+ this.emit('error', error);
78
+ }
79
+ callback();
80
+ });
81
+ }
82
+ }
83
+ exports.DgramTransport = DgramTransport;
84
+ //# sourceMappingURL=dgram.transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dgram.transport.js","sourceRoot":"","sources":["../../../../src/helpers/logger/transports/dgram.transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './dgram.transport';