@barumetric/common 1.1.4 → 1.1.6

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 (39) hide show
  1. package/dist/config/env/grpc.env.d.ts +2 -0
  2. package/dist/config/env/grpc.env.js +13 -0
  3. package/dist/config/env/index.d.ts +3 -0
  4. package/dist/config/env/index.js +19 -0
  5. package/dist/config/env/redis.env.d.ts +2 -0
  6. package/dist/config/env/redis.env.js +16 -0
  7. package/dist/config/env/rmq.env.d.ts +2 -0
  8. package/dist/config/env/rmq.env.js +13 -0
  9. package/dist/config/index.d.ts +3 -0
  10. package/dist/config/index.js +19 -0
  11. package/dist/config/interfaces/all-configs.interface.d.ts +8 -0
  12. package/dist/config/interfaces/all-configs.interface.js +2 -0
  13. package/dist/config/interfaces/grpc.interface.d.ts +4 -0
  14. package/dist/config/interfaces/grpc.interface.js +2 -0
  15. package/dist/config/interfaces/index.d.ts +1 -0
  16. package/dist/config/interfaces/index.js +17 -0
  17. package/dist/config/interfaces/redis.interface.d.ts +7 -0
  18. package/dist/config/interfaces/redis.interface.js +2 -0
  19. package/dist/config/interfaces/rmq.interface.d.ts +4 -0
  20. package/dist/config/interfaces/rmq.interface.js +2 -0
  21. package/dist/config/validators/grpc.validator.d.ts +4 -0
  22. package/dist/config/validators/grpc.validator.js +28 -0
  23. package/dist/config/validators/index.d.ts +4 -0
  24. package/dist/config/validators/index.js +20 -0
  25. package/dist/config/validators/media-grpc.validator.d.ts +3 -0
  26. package/dist/config/validators/media-grpc.validator.js +21 -0
  27. package/dist/config/validators/redis.validator.d.ts +7 -0
  28. package/dist/config/validators/redis.validator.js +41 -0
  29. package/dist/config/validators/rmq.validator.d.ts +4 -0
  30. package/dist/config/validators/rmq.validator.js +26 -0
  31. package/dist/grpc/factory/grpc-client.factory.js +26 -66
  32. package/dist/grpc/grpc.module.js +40 -79
  33. package/dist/index.d.ts +1 -0
  34. package/dist/index.js +1 -0
  35. package/dist/utils/index.d.ts +1 -0
  36. package/dist/utils/index.js +1 -0
  37. package/dist/utils/validate-env.d.ts +2 -0
  38. package/dist/utils/validate-env.js +24 -0
  39. package/package.json +4 -2
@@ -0,0 +1,2 @@
1
+ import { GrpcConfig } from '../interfaces/grpc.interface';
2
+ export declare const grpcEnv: import("@nestjs/config").ConfigFactory<GrpcConfig> & import("@nestjs/config").ConfigFactoryKeyHost<GrpcConfig | Promise<GrpcConfig>>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.grpcEnv = void 0;
4
+ const config_1 = require("@nestjs/config");
5
+ const utils_1 = require("../../utils");
6
+ const validators_1 = require("../validators");
7
+ exports.grpcEnv = (0, config_1.registerAs)('grpc', () => {
8
+ (0, utils_1.validateEnv)(process.env, validators_1.GrpcValidator);
9
+ return {
10
+ host: process.env.GRPC_HOST,
11
+ port: parseInt(process.env.GRPC_PORT)
12
+ };
13
+ });
@@ -0,0 +1,3 @@
1
+ export * from './grpc.env';
2
+ export * from './rmq.env';
3
+ export * from './redis.env';
@@ -0,0 +1,19 @@
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("./grpc.env"), exports);
18
+ __exportStar(require("./rmq.env"), exports);
19
+ __exportStar(require("./redis.env"), exports);
@@ -0,0 +1,2 @@
1
+ import { RedisConfig } from '../interfaces/redis.interface';
2
+ export declare const redisEnv: import("@nestjs/config").ConfigFactory<RedisConfig> & import("@nestjs/config").ConfigFactoryKeyHost<RedisConfig | Promise<RedisConfig>>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.redisEnv = void 0;
4
+ const config_1 = require("@nestjs/config");
5
+ const utils_1 = require("../../utils");
6
+ const validators_1 = require("../validators");
7
+ exports.redisEnv = (0, config_1.registerAs)('redis', () => {
8
+ (0, utils_1.validateEnv)(process.env, validators_1.RedisValidator);
9
+ return {
10
+ user: process.env.REDIS_USER,
11
+ password: process.env.REDIS_PASSWORD,
12
+ host: process.env.REDIS_HOST,
13
+ port: parseInt(process.env.REDIS_PORT),
14
+ db: parseInt(process.env.REDIS_DB)
15
+ };
16
+ });
@@ -0,0 +1,2 @@
1
+ import { RmqConfig } from '../interfaces/rmq.interface';
2
+ export declare const rmqEnv: import("@nestjs/config").ConfigFactory<RmqConfig> & import("@nestjs/config").ConfigFactoryKeyHost<RmqConfig | Promise<RmqConfig>>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rmqEnv = void 0;
4
+ const config_1 = require("@nestjs/config");
5
+ const utils_1 = require("../../utils");
6
+ const validators_1 = require("../validators");
7
+ exports.rmqEnv = (0, config_1.registerAs)('rmq', () => {
8
+ (0, utils_1.validateEnv)(process.env, validators_1.RmqValidator);
9
+ return {
10
+ url: process.env.RMQ_URL,
11
+ queue: process.env.RMQ_QUEUE
12
+ };
13
+ });
@@ -0,0 +1,3 @@
1
+ export * from './env';
2
+ export * from './interfaces';
3
+ export * from './validators';
@@ -0,0 +1,19 @@
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("./env"), exports);
18
+ __exportStar(require("./interfaces"), exports);
19
+ __exportStar(require("./validators"), exports);
@@ -0,0 +1,8 @@
1
+ import { GrpcConfig } from './grpc.interface';
2
+ import type { RedisConfig } from './redis.interface';
3
+ import type { RmqConfig } from './rmq.interface';
4
+ export interface AllConfigs {
5
+ grpc: GrpcConfig;
6
+ rmq: RmqConfig;
7
+ redis: RedisConfig;
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export interface GrpcConfig {
2
+ host: string;
3
+ port: number;
4
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export * from './all-configs.interface';
@@ -0,0 +1,17 @@
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("./all-configs.interface"), exports);
@@ -0,0 +1,7 @@
1
+ export interface RedisConfig {
2
+ user: string;
3
+ password: string;
4
+ host: string;
5
+ port: number;
6
+ db: number;
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export interface RmqConfig {
2
+ url: string;
3
+ queue: string;
4
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export declare class GrpcValidator {
2
+ GRPC_HOST: string;
3
+ GRPC_PORT: number;
4
+ }
@@ -0,0 +1,28 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.GrpcValidator = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class GrpcValidator {
15
+ GRPC_HOST;
16
+ GRPC_PORT;
17
+ }
18
+ exports.GrpcValidator = GrpcValidator;
19
+ __decorate([
20
+ (0, class_validator_1.IsString)(),
21
+ __metadata("design:type", String)
22
+ ], GrpcValidator.prototype, "GRPC_HOST", void 0);
23
+ __decorate([
24
+ (0, class_validator_1.IsInt)(),
25
+ (0, class_validator_1.Min)(1),
26
+ (0, class_validator_1.Max)(65535),
27
+ __metadata("design:type", Number)
28
+ ], GrpcValidator.prototype, "GRPC_PORT", void 0);
@@ -0,0 +1,4 @@
1
+ export * from './rmq.validator';
2
+ export * from './redis.validator';
3
+ export * from './media-grpc.validator';
4
+ export * from './grpc.validator';
@@ -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("./rmq.validator"), exports);
18
+ __exportStar(require("./redis.validator"), exports);
19
+ __exportStar(require("./media-grpc.validator"), exports);
20
+ __exportStar(require("./grpc.validator"), exports);
@@ -0,0 +1,3 @@
1
+ export declare class MediaGrpcValidator {
2
+ MEDIA_GRPC_URL: string;
3
+ }
@@ -0,0 +1,21 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MediaGrpcValidator = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class MediaGrpcValidator {
15
+ MEDIA_GRPC_URL;
16
+ }
17
+ exports.MediaGrpcValidator = MediaGrpcValidator;
18
+ __decorate([
19
+ (0, class_validator_1.IsString)(),
20
+ __metadata("design:type", String)
21
+ ], MediaGrpcValidator.prototype, "MEDIA_GRPC_URL", void 0);
@@ -0,0 +1,7 @@
1
+ export declare class RedisValidator {
2
+ REDIS_USER: string;
3
+ REDIS_PASSWORD: string;
4
+ REDIS_HOST: string;
5
+ REDIS_PORT: number;
6
+ REDIS_DB: number;
7
+ }
@@ -0,0 +1,41 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RedisValidator = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class RedisValidator {
15
+ REDIS_USER;
16
+ REDIS_PASSWORD;
17
+ REDIS_HOST;
18
+ REDIS_PORT;
19
+ REDIS_DB;
20
+ }
21
+ exports.RedisValidator = RedisValidator;
22
+ __decorate([
23
+ (0, class_validator_1.IsString)(),
24
+ __metadata("design:type", String)
25
+ ], RedisValidator.prototype, "REDIS_USER", void 0);
26
+ __decorate([
27
+ (0, class_validator_1.IsString)(),
28
+ __metadata("design:type", String)
29
+ ], RedisValidator.prototype, "REDIS_PASSWORD", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsString)(),
32
+ __metadata("design:type", String)
33
+ ], RedisValidator.prototype, "REDIS_HOST", void 0);
34
+ __decorate([
35
+ (0, class_validator_1.IsInt)(),
36
+ __metadata("design:type", Number)
37
+ ], RedisValidator.prototype, "REDIS_PORT", void 0);
38
+ __decorate([
39
+ (0, class_validator_1.IsInt)(),
40
+ __metadata("design:type", Number)
41
+ ], RedisValidator.prototype, "REDIS_DB", void 0);
@@ -0,0 +1,4 @@
1
+ export declare class RmqValidator {
2
+ RMQ_URL: string;
3
+ RMQ_QUEUE: string;
4
+ }
@@ -0,0 +1,26 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RmqValidator = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class RmqValidator {
15
+ RMQ_URL;
16
+ RMQ_QUEUE;
17
+ }
18
+ exports.RmqValidator = RmqValidator;
19
+ __decorate([
20
+ (0, class_validator_1.IsString)(),
21
+ __metadata("design:type", String)
22
+ ], RmqValidator.prototype, "RMQ_URL", void 0);
23
+ __decorate([
24
+ (0, class_validator_1.IsString)(),
25
+ __metadata("design:type", String)
26
+ ], RmqValidator.prototype, "RMQ_QUEUE", void 0);
@@ -1,73 +1,33 @@
1
1
  "use strict";
2
- var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
- function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
5
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
6
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
7
- var _, done = false;
8
- for (var i = decorators.length - 1; i >= 0; i--) {
9
- var context = {};
10
- for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
11
- for (var p in contextIn.access) context.access[p] = contextIn.access[p];
12
- context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
13
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
14
- if (kind === "accessor") {
15
- if (result === void 0) continue;
16
- if (result === null || typeof result !== "object") throw new TypeError("Object expected");
17
- if (_ = accept(result.get)) descriptor.get = _;
18
- if (_ = accept(result.set)) descriptor.set = _;
19
- if (_ = accept(result.init)) initializers.unshift(_);
20
- }
21
- else if (_ = accept(result)) {
22
- if (kind === "field") initializers.unshift(_);
23
- else descriptor[key] = _;
24
- }
25
- }
26
- if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
- done = true;
28
- };
29
- var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
- var useValue = arguments.length > 2;
31
- for (var i = 0; i < initializers.length; i++) {
32
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
- }
34
- return useValue ? value : void 0;
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;
35
7
  };
36
8
  Object.defineProperty(exports, "__esModule", { value: true });
37
9
  exports.GrpcClientFactory = void 0;
38
10
  const common_1 = require("@nestjs/common");
39
11
  const microservices_1 = require("@nestjs/microservices");
40
- let GrpcClientFactory = (() => {
41
- let _classDecorators = [(0, common_1.Injectable)()];
42
- let _classDescriptor;
43
- let _classExtraInitializers = [];
44
- let _classThis;
45
- var GrpcClientFactory = class {
46
- static { _classThis = this; }
47
- static {
48
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
49
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
50
- GrpcClientFactory = _classThis = _classDescriptor.value;
51
- if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
52
- __runInitializers(_classThis, _classExtraInitializers);
53
- }
54
- clients = new Map();
55
- createClient(options) {
56
- return microservices_1.ClientProxyFactory.create({
57
- transport: microservices_1.Transport.GRPC,
58
- options
59
- });
60
- }
61
- register(token, client) {
62
- this.clients.set(token, client);
63
- }
64
- getClient(token) {
65
- const client = this.clients.get(token);
66
- if (!client)
67
- throw new Error(`Grpc client "${token}" not found`);
68
- return client;
69
- }
70
- };
71
- return GrpcClientFactory = _classThis;
72
- })();
12
+ let GrpcClientFactory = class GrpcClientFactory {
13
+ clients = new Map();
14
+ createClient(options) {
15
+ return microservices_1.ClientProxyFactory.create({
16
+ transport: microservices_1.Transport.GRPC,
17
+ options
18
+ });
19
+ }
20
+ register(token, client) {
21
+ this.clients.set(token, client);
22
+ }
23
+ getClient(token) {
24
+ const client = this.clients.get(token);
25
+ if (!client)
26
+ throw new Error(`Grpc client "${token}" not found`);
27
+ return client;
28
+ }
29
+ };
73
30
  exports.GrpcClientFactory = GrpcClientFactory;
31
+ exports.GrpcClientFactory = GrpcClientFactory = __decorate([
32
+ (0, common_1.Injectable)()
33
+ ], GrpcClientFactory);
@@ -1,38 +1,11 @@
1
1
  "use strict";
2
- var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
- function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
5
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
6
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
7
- var _, done = false;
8
- for (var i = decorators.length - 1; i >= 0; i--) {
9
- var context = {};
10
- for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
11
- for (var p in contextIn.access) context.access[p] = contextIn.access[p];
12
- context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
13
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
14
- if (kind === "accessor") {
15
- if (result === void 0) continue;
16
- if (result === null || typeof result !== "object") throw new TypeError("Object expected");
17
- if (_ = accept(result.get)) descriptor.get = _;
18
- if (_ = accept(result.set)) descriptor.set = _;
19
- if (_ = accept(result.init)) initializers.unshift(_);
20
- }
21
- else if (_ = accept(result)) {
22
- if (kind === "field") initializers.unshift(_);
23
- else descriptor[key] = _;
24
- }
25
- }
26
- if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
- done = true;
28
- };
29
- var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
- var useValue = arguments.length > 2;
31
- for (var i = 0; i < initializers.length; i++) {
32
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
- }
34
- return useValue ? value : void 0;
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;
35
7
  };
8
+ var GrpcModule_1;
36
9
  Object.defineProperty(exports, "__esModule", { value: true });
37
10
  exports.GrpcModule = void 0;
38
11
  const common_1 = require("@nestjs/common");
@@ -40,50 +13,38 @@ const config_1 = require("@nestjs/config");
40
13
  const grpc_constants_1 = require("./constants/grpc.constants");
41
14
  const grpc_client_factory_1 = require("./factory/grpc-client.factory");
42
15
  const grpc_registry_1 = require("./registry/grpc.registry");
43
- let GrpcModule = (() => {
44
- let _classDecorators = [(0, common_1.Module)({})];
45
- let _classDescriptor;
46
- let _classExtraInitializers = [];
47
- let _classThis;
48
- var GrpcModule = class {
49
- static { _classThis = this; }
50
- static {
51
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
52
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
53
- GrpcModule = _classThis = _classDescriptor.value;
54
- if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
55
- __runInitializers(_classThis, _classExtraInitializers);
56
- }
57
- static register(clients) {
58
- return {
59
- module: GrpcModule,
60
- providers: [
61
- grpc_client_factory_1.GrpcClientFactory,
62
- ...clients.map(token => {
63
- const cfg = grpc_registry_1.GRPC_CLIENTS[token];
64
- return {
65
- provide: `${grpc_constants_1.GRPC_CLIENT_PREFIX}_${token}`,
66
- useFactory: (factory, config) => {
67
- const url = config.getOrThrow(cfg.env);
68
- const client = factory.createClient({
69
- package: cfg.package,
70
- protoPath: cfg.protoPath,
71
- url
72
- });
73
- factory.register(token, client);
74
- return client;
75
- },
76
- inject: [grpc_client_factory_1.GrpcClientFactory, config_1.ConfigService]
77
- };
78
- })
79
- ],
80
- exports: [
81
- grpc_client_factory_1.GrpcClientFactory,
82
- ...clients.map(token => `${grpc_constants_1.GRPC_CLIENT_PREFIX}_${token}`)
83
- ]
84
- };
85
- }
86
- };
87
- return GrpcModule = _classThis;
88
- })();
16
+ let GrpcModule = GrpcModule_1 = class GrpcModule {
17
+ static register(clients) {
18
+ return {
19
+ module: GrpcModule_1,
20
+ providers: [
21
+ grpc_client_factory_1.GrpcClientFactory,
22
+ ...clients.map(token => {
23
+ const cfg = grpc_registry_1.GRPC_CLIENTS[token];
24
+ return {
25
+ provide: `${grpc_constants_1.GRPC_CLIENT_PREFIX}_${token}`,
26
+ useFactory: (factory, config) => {
27
+ const url = config.getOrThrow(cfg.env);
28
+ const client = factory.createClient({
29
+ package: cfg.package,
30
+ protoPath: cfg.protoPath,
31
+ url
32
+ });
33
+ factory.register(token, client);
34
+ return client;
35
+ },
36
+ inject: [grpc_client_factory_1.GrpcClientFactory, config_1.ConfigService]
37
+ };
38
+ })
39
+ ],
40
+ exports: [
41
+ grpc_client_factory_1.GrpcClientFactory,
42
+ ...clients.map(token => `${grpc_constants_1.GRPC_CLIENT_PREFIX}_${token}`)
43
+ ]
44
+ };
45
+ }
46
+ };
89
47
  exports.GrpcModule = GrpcModule;
48
+ exports.GrpcModule = GrpcModule = GrpcModule_1 = __decorate([
49
+ (0, common_1.Module)({})
50
+ ], GrpcModule);
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './enums';
2
2
  export * from './grpc';
3
3
  export * from './utils';
4
+ export * from './config';
package/dist/index.js CHANGED
@@ -17,3 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./enums"), exports);
18
18
  __exportStar(require("./grpc"), exports);
19
19
  __exportStar(require("./utils"), exports);
20
+ __exportStar(require("./config"), exports);
@@ -1,3 +1,4 @@
1
1
  export * from './convert-enum';
2
2
  export * from './long-to-number';
3
3
  export * from './timestamp-to-iso';
4
+ export * from './validate-env';
@@ -17,3 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./convert-enum"), exports);
18
18
  __exportStar(require("./long-to-number"), exports);
19
19
  __exportStar(require("./timestamp-to-iso"), exports);
20
+ __exportStar(require("./validate-env"), exports);
@@ -0,0 +1,2 @@
1
+ import { ClassConstructor } from 'class-transformer';
2
+ export declare function validateEnv<T extends object>(config: Record<string, string | undefined>, envVariablesClass: ClassConstructor<T>): T;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateEnv = validateEnv;
4
+ const class_transformer_1 = require("class-transformer");
5
+ const class_validator_1 = require("class-validator");
6
+ function validateEnv(config, envVariablesClass) {
7
+ const validatedConfig = (0, class_transformer_1.plainToClass)(envVariablesClass, config, {
8
+ enableImplicitConversion: true
9
+ });
10
+ const errors = (0, class_validator_1.validateSync)(validatedConfig, {
11
+ skipMissingProperties: false
12
+ });
13
+ if (errors.length > 0) {
14
+ const errorMsg = errors
15
+ .map(error => `\nError in ${error.property}:\n` +
16
+ Object.entries(error.constraints || {})
17
+ .map(([key, value]) => `+ ${key}: ${value}`)
18
+ .join('\n'))
19
+ .join('\n');
20
+ console.error(`\n${errors.toString()}`);
21
+ throw new Error(errorMsg);
22
+ }
23
+ return validatedConfig;
24
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@barumetric/common",
3
- "version": "1.1.4",
3
+ "version": "1.1.6",
4
4
  "description": "Core shared components for BaruMetric microservice ecosystem",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -24,6 +24,8 @@
24
24
  "@barumetric/contracts": "^1.2.5",
25
25
  "@nestjs/common": "^11.1.11",
26
26
  "@nestjs/config": "^4.0.2",
27
- "@nestjs/microservices": "^11.1.11"
27
+ "@nestjs/microservices": "^11.1.11",
28
+ "class-transformer": "^0.5.1",
29
+ "class-validator": "^0.14.3"
28
30
  }
29
31
  }