@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.
- package/dist/config/env/grpc.env.d.ts +2 -0
- package/dist/config/env/grpc.env.js +13 -0
- package/dist/config/env/index.d.ts +3 -0
- package/dist/config/env/index.js +19 -0
- package/dist/config/env/redis.env.d.ts +2 -0
- package/dist/config/env/redis.env.js +16 -0
- package/dist/config/env/rmq.env.d.ts +2 -0
- package/dist/config/env/rmq.env.js +13 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.js +19 -0
- package/dist/config/interfaces/all-configs.interface.d.ts +8 -0
- package/dist/config/interfaces/all-configs.interface.js +2 -0
- package/dist/config/interfaces/grpc.interface.d.ts +4 -0
- package/dist/config/interfaces/grpc.interface.js +2 -0
- package/dist/config/interfaces/index.d.ts +1 -0
- package/dist/config/interfaces/index.js +17 -0
- package/dist/config/interfaces/redis.interface.d.ts +7 -0
- package/dist/config/interfaces/redis.interface.js +2 -0
- package/dist/config/interfaces/rmq.interface.d.ts +4 -0
- package/dist/config/interfaces/rmq.interface.js +2 -0
- package/dist/config/validators/grpc.validator.d.ts +4 -0
- package/dist/config/validators/grpc.validator.js +28 -0
- package/dist/config/validators/index.d.ts +4 -0
- package/dist/config/validators/index.js +20 -0
- package/dist/config/validators/media-grpc.validator.d.ts +3 -0
- package/dist/config/validators/media-grpc.validator.js +21 -0
- package/dist/config/validators/redis.validator.d.ts +7 -0
- package/dist/config/validators/redis.validator.js +41 -0
- package/dist/config/validators/rmq.validator.d.ts +4 -0
- package/dist/config/validators/rmq.validator.js +26 -0
- package/dist/grpc/factory/grpc-client.factory.js +26 -66
- package/dist/grpc/grpc.module.js +40 -79
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/validate-env.d.ts +2 -0
- package/dist/utils/validate-env.js +24 -0
- package/package.json +4 -2
|
@@ -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,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,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,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,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 @@
|
|
|
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,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,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,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,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,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
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var
|
|
6
|
-
|
|
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
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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);
|
package/dist/grpc/grpc.module.js
CHANGED
|
@@ -1,38 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var
|
|
6
|
-
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
package/dist/index.js
CHANGED
package/dist/utils/index.d.ts
CHANGED
package/dist/utils/index.js
CHANGED
|
@@ -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,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.
|
|
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
|
}
|