@nmxjs/api 1.0.0

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 (102) hide show
  1. package/.github/workflows/npm.yaml +31 -0
  2. package/README.md +1 -0
  3. package/dist/ApiRouterCore/ApiRouteCoreModule.d.ts +5 -0
  4. package/dist/ApiRouterCore/ApiRouteCoreModule.js +41 -0
  5. package/dist/ApiRouterCore/ApiRouteCoreModule.js.map +1 -0
  6. package/dist/ApiRouterCore/constants/apiRouterKey.d.ts +1 -0
  7. package/dist/ApiRouterCore/constants/apiRouterKey.js +5 -0
  8. package/dist/ApiRouterCore/constants/apiRouterKey.js.map +1 -0
  9. package/dist/ApiRouterCore/constants/endErrorText.d.ts +1 -0
  10. package/dist/ApiRouterCore/constants/endErrorText.js +5 -0
  11. package/dist/ApiRouterCore/constants/endErrorText.js.map +1 -0
  12. package/dist/ApiRouterCore/constants/getGrpcOptionsKey.d.ts +1 -0
  13. package/dist/ApiRouterCore/constants/getGrpcOptionsKey.js +5 -0
  14. package/dist/ApiRouterCore/constants/getGrpcOptionsKey.js.map +1 -0
  15. package/dist/ApiRouterCore/constants/index.d.ts +3 -0
  16. package/dist/ApiRouterCore/constants/index.js +20 -0
  17. package/dist/ApiRouterCore/constants/index.js.map +1 -0
  18. package/dist/ApiRouterCore/decorators/ControllerEndpoints.d.ts +1 -0
  19. package/dist/ApiRouterCore/decorators/ControllerEndpoints.js +19 -0
  20. package/dist/ApiRouterCore/decorators/ControllerEndpoints.js.map +1 -0
  21. package/dist/ApiRouterCore/decorators/index.d.ts +1 -0
  22. package/dist/ApiRouterCore/decorators/index.js +18 -0
  23. package/dist/ApiRouterCore/decorators/index.js.map +1 -0
  24. package/dist/ApiRouterCore/index.d.ts +5 -0
  25. package/dist/ApiRouterCore/index.js +22 -0
  26. package/dist/ApiRouterCore/index.js.map +1 -0
  27. package/dist/ApiRouterCore/interfaces/GetGrpcOptions.d.ts +2 -0
  28. package/dist/ApiRouterCore/interfaces/GetGrpcOptions.js +3 -0
  29. package/dist/ApiRouterCore/interfaces/GetGrpcOptions.js.map +1 -0
  30. package/dist/ApiRouterCore/interfaces/IApiRouterCoreModuleOptions.d.ts +5 -0
  31. package/dist/ApiRouterCore/interfaces/IApiRouterCoreModuleOptions.js +3 -0
  32. package/dist/ApiRouterCore/interfaces/IApiRouterCoreModuleOptions.js.map +1 -0
  33. package/dist/ApiRouterCore/interfaces/IBuildGrpcOptions.d.ts +6 -0
  34. package/dist/ApiRouterCore/interfaces/IBuildGrpcOptions.js +3 -0
  35. package/dist/ApiRouterCore/interfaces/IBuildGrpcOptions.js.map +1 -0
  36. package/dist/ApiRouterCore/interfaces/index.d.ts +3 -0
  37. package/dist/ApiRouterCore/interfaces/index.js +20 -0
  38. package/dist/ApiRouterCore/interfaces/index.js.map +1 -0
  39. package/dist/ApiRouterCore/utils/RpcExceptionInterceptor.d.ts +4 -0
  40. package/dist/ApiRouterCore/utils/RpcExceptionInterceptor.js +44 -0
  41. package/dist/ApiRouterCore/utils/RpcExceptionInterceptor.js.map +1 -0
  42. package/dist/ApiRouterCore/utils/buildGrpcOptions.d.ts +3 -0
  43. package/dist/ApiRouterCore/utils/buildGrpcOptions.js +29 -0
  44. package/dist/ApiRouterCore/utils/buildGrpcOptions.js.map +1 -0
  45. package/dist/ApiRouterCore/utils/index.d.ts +2 -0
  46. package/dist/ApiRouterCore/utils/index.js +19 -0
  47. package/dist/ApiRouterCore/utils/index.js.map +1 -0
  48. package/dist/ApiService/ApiServiceModule.d.ts +2 -0
  49. package/dist/ApiService/ApiServiceModule.js +32 -0
  50. package/dist/ApiService/ApiServiceModule.js.map +1 -0
  51. package/dist/ApiService/constants/apiServiceFactoryKey.d.ts +1 -0
  52. package/dist/ApiService/constants/apiServiceFactoryKey.js +5 -0
  53. package/dist/ApiService/constants/apiServiceFactoryKey.js.map +1 -0
  54. package/dist/ApiService/constants/index.d.ts +1 -0
  55. package/dist/ApiService/constants/index.js +18 -0
  56. package/dist/ApiService/constants/index.js.map +1 -0
  57. package/dist/ApiService/index.d.ts +3 -0
  58. package/dist/ApiService/index.js +20 -0
  59. package/dist/ApiService/index.js.map +1 -0
  60. package/dist/ApiService/interfaces/IApiSchema.d.ts +4 -0
  61. package/dist/ApiService/interfaces/IApiSchema.js +3 -0
  62. package/dist/ApiService/interfaces/IApiSchema.js.map +1 -0
  63. package/dist/ApiService/interfaces/IApiService.d.ts +4 -0
  64. package/dist/ApiService/interfaces/IApiService.js +3 -0
  65. package/dist/ApiService/interfaces/IApiService.js.map +1 -0
  66. package/dist/ApiService/interfaces/IApiServiceFactory.d.ts +6 -0
  67. package/dist/ApiService/interfaces/IApiServiceFactory.js +3 -0
  68. package/dist/ApiService/interfaces/IApiServiceFactory.js.map +1 -0
  69. package/dist/ApiService/interfaces/IApiServiceWithInfo.d.ts +10 -0
  70. package/dist/ApiService/interfaces/IApiServiceWithInfo.js +3 -0
  71. package/dist/ApiService/interfaces/IApiServiceWithInfo.js.map +1 -0
  72. package/dist/ApiService/interfaces/ICreateApiServiceOptions.d.ts +6 -0
  73. package/dist/ApiService/interfaces/ICreateApiServiceOptions.js +3 -0
  74. package/dist/ApiService/interfaces/ICreateApiServiceOptions.js.map +1 -0
  75. package/dist/ApiService/interfaces/IGenerateProtoMessagesOptions.d.ts +4 -0
  76. package/dist/ApiService/interfaces/IGenerateProtoMessagesOptions.js +3 -0
  77. package/dist/ApiService/interfaces/IGenerateProtoMessagesOptions.js.map +1 -0
  78. package/dist/ApiService/interfaces/IGenerateProtoOptions.d.ts +5 -0
  79. package/dist/ApiService/interfaces/IGenerateProtoOptions.js +3 -0
  80. package/dist/ApiService/interfaces/IGenerateProtoOptions.js.map +1 -0
  81. package/dist/ApiService/interfaces/index.d.ts +6 -0
  82. package/dist/ApiService/interfaces/index.js +23 -0
  83. package/dist/ApiService/interfaces/index.js.map +1 -0
  84. package/dist/ApiService/services/CreateApiService.d.ts +9 -0
  85. package/dist/ApiService/services/CreateApiService.js +56 -0
  86. package/dist/ApiService/services/CreateApiService.js.map +1 -0
  87. package/dist/ApiService/services/GenerateProtoMessagesService.d.ts +4 -0
  88. package/dist/ApiService/services/GenerateProtoMessagesService.js +56 -0
  89. package/dist/ApiService/services/GenerateProtoMessagesService.js.map +1 -0
  90. package/dist/ApiService/services/GenerateProtoService.d.ts +15 -0
  91. package/dist/ApiService/services/GenerateProtoService.js +72 -0
  92. package/dist/ApiService/services/GenerateProtoService.js.map +1 -0
  93. package/dist/ApiService/services/GetPackageNameService.d.ts +3 -0
  94. package/dist/ApiService/services/GetPackageNameService.js +23 -0
  95. package/dist/ApiService/services/GetPackageNameService.js.map +1 -0
  96. package/dist/ApiService/services/index.d.ts +4 -0
  97. package/dist/ApiService/services/index.js +21 -0
  98. package/dist/ApiService/services/index.js.map +1 -0
  99. package/dist/index.d.ts +2 -0
  100. package/dist/index.js +19 -0
  101. package/dist/index.js.map +1 -0
  102. package/package.json +33 -0
@@ -0,0 +1,31 @@
1
+ name: Npm Publish
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+
8
+ jobs:
9
+ containerize:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - name: Clone files
13
+ uses: actions/checkout@v3
14
+
15
+ - name: Use node
16
+ uses: actions/setup-node@v3
17
+ with:
18
+ node-version: 18.18.0
19
+ cache: 'yarn'
20
+ registry-url: https://registry.npmjs.org
21
+
22
+ - name: Install dependencies
23
+ run: yarn install --frozen-lockfile
24
+
25
+ - name: Build
26
+ run: yarn build
27
+
28
+ - name: Publish
29
+ run: npm publish --access public
30
+ env:
31
+ NODE_AUTH_TOKEN: ${{secrets.NPM_AUTH_TOKEN}}
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # nm-api
@@ -0,0 +1,5 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { IApiRouterCoreModuleOptions } from './interfaces';
3
+ export declare class ApiRouteCoreModule {
4
+ static forRoot({ imports, apiRouterFactory, servicesKeys }: IApiRouterCoreModuleOptions): DynamicModule;
5
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApiRouteCoreModule = void 0;
4
+ const utils_1 = require("./utils");
5
+ const constants_1 = require("./constants");
6
+ class ApiRouteCoreModule {
7
+ static forRoot({ imports, apiRouterFactory, servicesKeys }) {
8
+ return {
9
+ global: true,
10
+ imports,
11
+ module: ApiRouteCoreModule,
12
+ providers: [
13
+ {
14
+ provide: constants_1.apiRouterKey,
15
+ useFactory: apiRouterFactory,
16
+ inject: servicesKeys,
17
+ },
18
+ {
19
+ provide: constants_1.getGrpcOptionsKey,
20
+ useFactory: (...services) => (serviceName) => {
21
+ var _a, _b;
22
+ const servicesInfo = services.filter(v => (v === null || v === void 0 ? void 0 : v.serviceName) === serviceName);
23
+ if (!servicesInfo.length) {
24
+ return null;
25
+ }
26
+ return (0, utils_1.buildGrpcOptions)({
27
+ host: (_a = servicesInfo.find(v => v.host)) === null || _a === void 0 ? void 0 : _a.host,
28
+ port: (_b = servicesInfo.find(v => v.port)) === null || _b === void 0 ? void 0 : _b.port,
29
+ packages: Array.from(new Set(servicesInfo.map(v => v.package))),
30
+ protoPaths: servicesInfo.map(v => v.protoPath),
31
+ });
32
+ },
33
+ inject: servicesKeys,
34
+ },
35
+ ],
36
+ exports: [constants_1.apiRouterKey, constants_1.getGrpcOptionsKey],
37
+ };
38
+ }
39
+ }
40
+ exports.ApiRouteCoreModule = ApiRouteCoreModule;
41
+ //# sourceMappingURL=ApiRouteCoreModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiRouteCoreModule.js","sourceRoot":"","sources":["../../src/ApiRouterCore/ApiRouteCoreModule.ts"],"names":[],"mappings":";;;AACA,mCAA2C;AAC3C,2CAA8D;AAI9D,MAAa,kBAAkB;IACtB,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAA+B;QAC5F,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,OAAO;YACP,MAAM,EAAE,kBAAkB;YAC1B,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,wBAAY;oBACrB,UAAU,EAAE,gBAAgB;oBAC5B,MAAM,EAAE,YAAY;iBACrB;gBACD;oBACE,OAAO,EAAE,6BAAiB;oBAC1B,UAAU,EACR,CAAC,GAAG,QAA+B,EAAE,EAAE,CACvC,CAAC,WAAmB,EAAE,EAAE;;wBACtB,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,WAAW,MAAK,WAAW,CAAC,CAAC;wBAE1E,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;4BACzB,OAAO,IAAI,CAAC;wBACd,CAAC;wBAED,OAAO,IAAA,wBAAgB,EAAC;4BACtB,IAAI,EAAE,MAAA,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,0CAAE,IAAI;4BAC1C,IAAI,EAAE,MAAA,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,0CAAE,IAAI;4BAC1C,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;4BAC/D,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;yBAC/C,CAAC,CAAC;oBACL,CAAC;oBACH,MAAM,EAAE,YAAY;iBACrB;aACF;YACD,OAAO,EAAE,CAAC,wBAAY,EAAE,6BAAiB,CAAC;SAC3C,CAAC;IACJ,CAAC;CACF;AApCD,gDAoCC"}
@@ -0,0 +1 @@
1
+ export declare const apiRouterKey: unique symbol;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.apiRouterKey = void 0;
4
+ exports.apiRouterKey = Symbol('API_ROUTER_KEY');
5
+ //# sourceMappingURL=apiRouterKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiRouterKey.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/constants/apiRouterKey.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const endErrorText = "\t\u3000";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.endErrorText = void 0;
4
+ exports.endErrorText = '  ';
5
+ //# sourceMappingURL=endErrorText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endErrorText.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/constants/endErrorText.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,IAAI,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const getGrpcOptionsKey: unique symbol;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGrpcOptionsKey = void 0;
4
+ exports.getGrpcOptionsKey = Symbol('GET_GRPC_OPTIONS_KEY');
5
+ //# sourceMappingURL=getGrpcOptionsKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getGrpcOptionsKey.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/constants/getGrpcOptionsKey.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './apiRouterKey';
2
+ export * from './endErrorText';
3
+ export * from './getGrpcOptionsKey';
@@ -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("./apiRouterKey"), exports);
18
+ __exportStar(require("./endErrorText"), exports);
19
+ __exportStar(require("./getGrpcOptionsKey"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,iDAA+B;AAC/B,sDAAoC"}
@@ -0,0 +1 @@
1
+ export declare const ControllerEndpoints: (serviceName: string) => (target: Function) => void;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ControllerEndpoints = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const microservices_1 = require("@nestjs/microservices");
6
+ const utils_1 = require("@nmxjs/utils");
7
+ const ControllerEndpoints = (serviceName) => (target) => {
8
+ (0, common_1.Controller)()(target);
9
+ if (!(0, utils_1.isWorkerApp)()) {
10
+ Object.getOwnPropertyNames(target.prototype).forEach(key => {
11
+ if (key === 'constructor') {
12
+ return;
13
+ }
14
+ (0, microservices_1.GrpcMethod)(serviceName, key)(target, key, Object.getOwnPropertyDescriptor(target.prototype, key));
15
+ });
16
+ }
17
+ };
18
+ exports.ControllerEndpoints = ControllerEndpoints;
19
+ //# sourceMappingURL=ControllerEndpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControllerEndpoints.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/decorators/ControllerEndpoints.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAC5C,yDAAmD;AACnD,wCAA2C;AAEpC,MAAM,mBAAmB,GAAG,CAAC,WAAmB,EAAE,EAAE,CAAC,CAAC,MAAgB,EAAE,EAAE;IAC/E,IAAA,mBAAU,GAAE,CAAC,MAAM,CAAC,CAAC;IACrB,IAAI,CAAC,IAAA,mBAAW,GAAE,EAAE,CAAC;QACnB,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACzD,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YACD,IAAA,0BAAU,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;QACpG,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,mBAAmB,uBAU9B"}
@@ -0,0 +1 @@
1
+ export * from './ControllerEndpoints';
@@ -0,0 +1,18 @@
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("./ControllerEndpoints"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC"}
@@ -0,0 +1,5 @@
1
+ export * from './utils';
2
+ export * from './constants';
3
+ export * from './decorators';
4
+ export * from './interfaces';
5
+ export * from './ApiRouteCoreModule';
@@ -0,0 +1,22 @@
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("./utils"), exports);
18
+ __exportStar(require("./constants"), exports);
19
+ __exportStar(require("./decorators"), exports);
20
+ __exportStar(require("./interfaces"), exports);
21
+ __exportStar(require("./ApiRouteCoreModule"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ApiRouterCore/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,8CAA4B;AAC5B,+CAA6B;AAC7B,+CAA6B;AAC7B,uDAAqC"}
@@ -0,0 +1,2 @@
1
+ import { GrpcOptions } from '@nestjs/microservices';
2
+ export type GetGrpcOptions = (serviceName: string) => GrpcOptions;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=GetGrpcOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetGrpcOptions.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/interfaces/GetGrpcOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ModuleMetadata } from '@nestjs/common';
2
+ export interface IApiRouterCoreModuleOptions extends Required<Pick<ModuleMetadata, 'imports'>> {
3
+ servicesKeys: string[];
4
+ apiRouterFactory(...any: any[]): object;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IApiRouterCoreModuleOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IApiRouterCoreModuleOptions.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/interfaces/IApiRouterCoreModuleOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export interface IBuildGrpcOptions {
2
+ port?: number;
3
+ host?: string;
4
+ packages: string[];
5
+ protoPaths: string[];
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IBuildGrpcOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IBuildGrpcOptions.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/interfaces/IBuildGrpcOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './GetGrpcOptions';
2
+ export * from './IBuildGrpcOptions';
3
+ export * from './IApiRouterCoreModuleOptions';
@@ -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("./GetGrpcOptions"), exports);
18
+ __exportStar(require("./IBuildGrpcOptions"), exports);
19
+ __exportStar(require("./IApiRouterCoreModuleOptions"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,sDAAoC;AACpC,gEAA8C"}
@@ -0,0 +1,4 @@
1
+ import { NestInterceptor, CallHandler, ExecutionContext } from '@nestjs/common';
2
+ export declare class RpcExceptionInterceptor implements NestInterceptor {
3
+ intercept(context: ExecutionContext, next: CallHandler): import("rxjs").Observable<any>;
4
+ }
@@ -0,0 +1,44 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.RpcExceptionInterceptor = void 0;
10
+ const rxjs_1 = require("rxjs");
11
+ const microservices_1 = require("@nestjs/microservices");
12
+ const utils_1 = require("@nmxjs/utils");
13
+ const common_1 = require("@nestjs/common");
14
+ const constants_1 = require("../constants");
15
+ let RpcExceptionInterceptor = class RpcExceptionInterceptor {
16
+ intercept(context, next) {
17
+ var _a, _b, _c;
18
+ const requestId = (0, utils_1.uuid)();
19
+ const path = (_c = (_b = (_a = context.getArgByIndex(2)) === null || _a === void 0 ? void 0 : _a.call) === null || _b === void 0 ? void 0 : _b.handler) === null || _c === void 0 ? void 0 : _c.path;
20
+ common_1.Logger.debug(`Rpc Request: ${(0, utils_1.readableJson)(Object.assign({ requestId, data: context.getArgByIndex(0) }, (path ? { path } : { event: context.getArgByIndex(1).args[0] })))}`);
21
+ return next.handle().pipe((0, rxjs_1.tap)(data => {
22
+ common_1.Logger.debug(`Rpc Response: ${(0, utils_1.readableJson)({
23
+ requestId,
24
+ data,
25
+ })}`);
26
+ }), (0, rxjs_1.catchError)(e => {
27
+ const splitResult = e.message.split(constants_1.endErrorText);
28
+ const errorMessage = splitResult.length === 1 ? e.stack : splitResult[0];
29
+ common_1.Logger.debug(`Rpc Response: ${(0, utils_1.readableJson)({
30
+ requestId,
31
+ error: {
32
+ message: errorMessage,
33
+ },
34
+ })}`);
35
+ common_1.Logger.error(errorMessage);
36
+ throw new microservices_1.RpcException(`${errorMessage}${constants_1.endErrorText}`);
37
+ }));
38
+ }
39
+ };
40
+ exports.RpcExceptionInterceptor = RpcExceptionInterceptor;
41
+ exports.RpcExceptionInterceptor = RpcExceptionInterceptor = __decorate([
42
+ (0, common_1.Injectable)()
43
+ ], RpcExceptionInterceptor);
44
+ //# sourceMappingURL=RpcExceptionInterceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RpcExceptionInterceptor.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/utils/RpcExceptionInterceptor.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+BAAuC;AACvC,yDAAqD;AACrD,wCAAkD;AAClD,2CAAoG;AACpG,4CAA4C;AAGrC,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAC3B,SAAS,CAAC,OAAyB,EAAE,IAAiB;;QAC3D,MAAM,SAAS,GAAG,IAAA,YAAI,GAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAA,MAAA,MAAA,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,0CAAE,IAAI,0CAAE,OAAO,0CAAE,IAAI,CAAC;QAC3D,eAAM,CAAC,KAAK,CACV,gBAAgB,IAAA,oBAAY,kBAC1B,SAAS,EACT,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAC3B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAClE,EAAE,CACL,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,UAAG,EAAC,IAAI,CAAC,EAAE;YACT,eAAM,CAAC,KAAK,CACV,iBAAiB,IAAA,oBAAY,EAAC;gBAC5B,SAAS;gBACT,IAAI;aACL,CAAC,EAAE,CACL,CAAC;QACJ,CAAC,CAAC,EACF,IAAA,iBAAU,EAAC,CAAC,CAAC,EAAE;YACb,MAAM,WAAW,GAAa,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,wBAAY,CAAC,CAAC;YAC5D,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACzE,eAAM,CAAC,KAAK,CACV,iBAAiB,IAAA,oBAAY,EAAC;gBAC5B,SAAS;gBACT,KAAK,EAAE;oBACL,OAAO,EAAE,YAAY;iBACtB;aACF,CAAC,EAAE,CACL,CAAC;YACF,eAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3B,MAAM,IAAI,4BAAY,CAAC,GAAG,YAAY,GAAG,wBAAY,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AApCY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;GACA,uBAAuB,CAoCnC"}
@@ -0,0 +1,3 @@
1
+ import { GrpcOptions } from '@nestjs/microservices';
2
+ import { IBuildGrpcOptions } from '../interfaces';
3
+ export declare const buildGrpcOptions: ({ host, port, packages, protoPaths }: IBuildGrpcOptions) => GrpcOptions;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildGrpcOptions = void 0;
4
+ const microservices_1 = require("@nestjs/microservices");
5
+ const buildGrpcOptions = ({ host, port, packages, protoPaths }) => ({
6
+ transport: microservices_1.Transport.GRPC,
7
+ options: {
8
+ url: `${host || '127.0.0.1'}:${port || 6000}`,
9
+ package: packages,
10
+ protoPath: protoPaths,
11
+ keepalive: {
12
+ keepaliveTimeMs: 40000,
13
+ keepaliveTimeoutMs: 20000,
14
+ keepalivePermitWithoutCalls: 1,
15
+ },
16
+ channelOptions: {
17
+ 'grpc.use_local_subchannel_pool': 0,
18
+ 'grpc.default_compression_algorithm': 2,
19
+ 'grpc.default_compression_level': 3,
20
+ },
21
+ loader: {
22
+ defaults: true,
23
+ arrays: true,
24
+ objects: true,
25
+ },
26
+ },
27
+ });
28
+ exports.buildGrpcOptions = buildGrpcOptions;
29
+ //# sourceMappingURL=buildGrpcOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildGrpcOptions.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/utils/buildGrpcOptions.ts"],"names":[],"mappings":";;;AAAA,yDAA+D;AAGxD,MAAM,gBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAqB,EAAe,EAAE,CAAC,CAAC;IACzG,SAAS,EAAE,yBAAS,CAAC,IAAI;IACzB,OAAO,EAAE;QACP,GAAG,EAAE,GAAG,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI,EAAE;QAC7C,OAAO,EAAE,QAAQ;QACjB,SAAS,EAAE,UAAU;QACrB,SAAS,EAAE;YACT,eAAe,EAAE,KAAK;YACtB,kBAAkB,EAAE,KAAK;YACzB,2BAA2B,EAAE,CAAC;SAC/B;QACD,cAAc,EAAE;YACd,gCAAgC,EAAE,CAAC;YACnC,oCAAoC,EAAE,CAAC;YACvC,gCAAgC,EAAE,CAAC;SACpC;QACD,MAAM,EAAE;YACN,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,IAAI;SACd;KACF;CACF,CAAC,CAAC;AAtBU,QAAA,gBAAgB,oBAsB1B"}
@@ -0,0 +1,2 @@
1
+ export * from './buildGrpcOptions';
2
+ export * from './RpcExceptionInterceptor';
@@ -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("./buildGrpcOptions"), exports);
18
+ __exportStar(require("./RpcExceptionInterceptor"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,4DAA0C"}
@@ -0,0 +1,2 @@
1
+ export declare class ApiServiceModule {
2
+ }
@@ -0,0 +1,32 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ApiServiceModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const constants_1 = require("./constants");
12
+ const Services = require("./services");
13
+ let ApiServiceModule = class ApiServiceModule {
14
+ };
15
+ exports.ApiServiceModule = ApiServiceModule;
16
+ exports.ApiServiceModule = ApiServiceModule = __decorate([
17
+ (0, common_1.Global)(),
18
+ (0, common_1.Module)({
19
+ providers: [
20
+ ...Object.values(Services),
21
+ {
22
+ provide: constants_1.apiServiceFactoryKey,
23
+ useFactory: (createApiService) => ({
24
+ create: createApiService.call.bind(createApiService),
25
+ }),
26
+ inject: [Services.CreateApiService],
27
+ },
28
+ ],
29
+ exports: [constants_1.apiServiceFactoryKey],
30
+ })
31
+ ], ApiServiceModule);
32
+ //# sourceMappingURL=ApiServiceModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiServiceModule.js","sourceRoot":"","sources":["../../src/ApiService/ApiServiceModule.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAEhD,2CAAmD;AACnD,uCAAuC;AAgBhC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAAG,CAAA;AAAnB,4CAAgB;2BAAhB,gBAAgB;IAd5B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE;YACT,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC1B;gBACE,OAAO,EAAE,gCAAoB;gBAC7B,UAAU,EAAE,CAAC,gBAA2C,EAAsB,EAAE,CAAC,CAAC;oBAChF,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;iBACrD,CAAC;gBACF,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;aACpC;SACF;QACD,OAAO,EAAE,CAAC,gCAAoB,CAAC;KAChC,CAAC;GACW,gBAAgB,CAAG"}
@@ -0,0 +1 @@
1
+ export declare const apiServiceFactoryKey: unique symbol;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.apiServiceFactoryKey = void 0;
4
+ exports.apiServiceFactoryKey = Symbol('API_SERVICE_FACTORY_KEY');
5
+ //# sourceMappingURL=apiServiceFactoryKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiServiceFactoryKey.js","sourceRoot":"","sources":["../../../src/ApiService/constants/apiServiceFactoryKey.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './apiServiceFactoryKey';
@@ -0,0 +1,18 @@
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("./apiServiceFactoryKey"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiService/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC"}
@@ -0,0 +1,3 @@
1
+ export * from './constants';
2
+ export * from './interfaces';
3
+ export * from './ApiServiceModule';
@@ -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("./constants"), exports);
18
+ __exportStar(require("./interfaces"), exports);
19
+ __exportStar(require("./ApiServiceModule"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ApiService/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,+CAA6B;AAC7B,qDAAmC"}
@@ -0,0 +1,4 @@
1
+ export type IApiSchema = Record<string, {
2
+ request?: object;
3
+ response: object;
4
+ }>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IApiSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IApiSchema.js","sourceRoot":"","sources":["../../../src/ApiService/interfaces/IApiSchema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { IApiSchema } from './IApiSchema';
2
+ export type IApiService<T extends IApiSchema> = {
3
+ [key in keyof T]: T[key]['request'] extends object ? (request: T[key]['request']['prototype']) => Promise<T[key]['response']['prototype']> : () => Promise<T[key]['response']['prototype']>;
4
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IApiService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IApiService.js","sourceRoot":"","sources":["../../../src/ApiService/interfaces/IApiService.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { ICreateApiServiceOptions } from './ICreateApiServiceOptions';
2
+ import { IApiServiceWithInfo } from './IApiServiceWithInfo';
3
+ import { IApiService } from './IApiService';
4
+ export interface IApiServiceFactory<T extends IApiService<any> = IApiService<any>> {
5
+ create(options: ICreateApiServiceOptions): IApiServiceWithInfo<T>;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IApiServiceFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IApiServiceFactory.js","sourceRoot":"","sources":["../../../src/ApiService/interfaces/IApiServiceFactory.ts"],"names":[],"mappings":""}