@barupost/common 0.0.1 → 0.0.3

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 (37) hide show
  1. package/package.json +2 -2
  2. package/dist/enums/index.d.ts +0 -1
  3. package/dist/enums/index.js +0 -17
  4. package/dist/enums/rpc-status.enum.d.ts +0 -19
  5. package/dist/enums/rpc-status.enum.js +0 -23
  6. package/dist/grpc/abstract-grpc.client.d.ts +0 -13
  7. package/dist/grpc/abstract-grpc.client.js +0 -27
  8. package/dist/grpc/constants/grpc.constants.d.ts +0 -1
  9. package/dist/grpc/constants/grpc.constants.js +0 -4
  10. package/dist/grpc/decorators/index.d.ts +0 -1
  11. package/dist/grpc/decorators/index.js +0 -17
  12. package/dist/grpc/decorators/inject-grpc-client.decorator.d.ts +0 -1
  13. package/dist/grpc/decorators/inject-grpc-client.decorator.js +0 -7
  14. package/dist/grpc/factory/grpc-client.factory.d.ts +0 -11
  15. package/dist/grpc/factory/grpc-client.factory.js +0 -33
  16. package/dist/grpc/grpc.module.d.ts +0 -5
  17. package/dist/grpc/grpc.module.js +0 -53
  18. package/dist/grpc/index.d.ts +0 -3
  19. package/dist/grpc/index.js +0 -19
  20. package/dist/grpc/registry/grpc.registry.d.ts +0 -32
  21. package/dist/grpc/registry/grpc.registry.js +0 -36
  22. package/dist/index.d.ts +0 -4
  23. package/dist/index.js +0 -20
  24. package/dist/mappers/base-mapper.d.ts +0 -6
  25. package/dist/mappers/base-mapper.js +0 -15
  26. package/dist/mappers/index.d.ts +0 -1
  27. package/dist/mappers/index.js +0 -17
  28. package/dist/utils/convert-enum.d.ts +0 -1
  29. package/dist/utils/convert-enum.js +0 -6
  30. package/dist/utils/index.d.ts +0 -4
  31. package/dist/utils/index.js +0 -20
  32. package/dist/utils/long-to-number.d.ts +0 -21
  33. package/dist/utils/long-to-number.js +0 -50
  34. package/dist/utils/timestamp-to-iso.d.ts +0 -2
  35. package/dist/utils/timestamp-to-iso.js +0 -6
  36. package/dist/utils/validate-env.d.ts +0 -2
  37. package/dist/utils/validate-env.js +0 -24
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@barupost/common",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "Core shared components for BaruMetric microservice ecosystem",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,7 +21,7 @@
21
21
  "typescript": "^5.9.3"
22
22
  },
23
23
  "dependencies": {
24
- "@barupost/contracts": "^0.0.1",
24
+ "@barupost/contracts": "^0.0.3",
25
25
  "@nestjs/common": "^11.1.11",
26
26
  "@nestjs/config": "^4.0.2",
27
27
  "@nestjs/microservices": "^11.1.11",
@@ -1 +0,0 @@
1
- export * from './rpc-status.enum';
@@ -1,17 +0,0 @@
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("./rpc-status.enum"), exports);
@@ -1,19 +0,0 @@
1
- export declare enum RpcStatus {
2
- OK = 0,
3
- CANCELLED = 1,
4
- UNKNOWN = 2,
5
- INVALID_ARGUMENT = 3,
6
- DEADLINE_EXCEEDED = 4,
7
- NOT_FOUND = 5,
8
- ALREADY_EXISTS = 6,
9
- PERMISSION_DENIED = 7,
10
- RESOURCE_EXHAUSTED = 8,
11
- FAILED_PRECONDITION = 9,
12
- ABORTED = 10,
13
- OUT_OF_RANGE = 11,
14
- UNIMPLEMENTED = 12,
15
- INTERNAL = 13,
16
- UNAVAILABLE = 14,
17
- DATA_LOSS = 15,
18
- UNAUTHENTICATED = 16
19
- }
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RpcStatus = void 0;
4
- var RpcStatus;
5
- (function (RpcStatus) {
6
- RpcStatus[RpcStatus["OK"] = 0] = "OK";
7
- RpcStatus[RpcStatus["CANCELLED"] = 1] = "CANCELLED";
8
- RpcStatus[RpcStatus["UNKNOWN"] = 2] = "UNKNOWN";
9
- RpcStatus[RpcStatus["INVALID_ARGUMENT"] = 3] = "INVALID_ARGUMENT";
10
- RpcStatus[RpcStatus["DEADLINE_EXCEEDED"] = 4] = "DEADLINE_EXCEEDED";
11
- RpcStatus[RpcStatus["NOT_FOUND"] = 5] = "NOT_FOUND";
12
- RpcStatus[RpcStatus["ALREADY_EXISTS"] = 6] = "ALREADY_EXISTS";
13
- RpcStatus[RpcStatus["PERMISSION_DENIED"] = 7] = "PERMISSION_DENIED";
14
- RpcStatus[RpcStatus["RESOURCE_EXHAUSTED"] = 8] = "RESOURCE_EXHAUSTED";
15
- RpcStatus[RpcStatus["FAILED_PRECONDITION"] = 9] = "FAILED_PRECONDITION";
16
- RpcStatus[RpcStatus["ABORTED"] = 10] = "ABORTED";
17
- RpcStatus[RpcStatus["OUT_OF_RANGE"] = 11] = "OUT_OF_RANGE";
18
- RpcStatus[RpcStatus["UNIMPLEMENTED"] = 12] = "UNIMPLEMENTED";
19
- RpcStatus[RpcStatus["INTERNAL"] = 13] = "INTERNAL";
20
- RpcStatus[RpcStatus["UNAVAILABLE"] = 14] = "UNAVAILABLE";
21
- RpcStatus[RpcStatus["DATA_LOSS"] = 15] = "DATA_LOSS";
22
- RpcStatus[RpcStatus["UNAUTHENTICATED"] = 16] = "UNAUTHENTICATED";
23
- })(RpcStatus || (exports.RpcStatus = RpcStatus = {}));
@@ -1,13 +0,0 @@
1
- import type { OnModuleInit } from '@nestjs/common';
2
- import { ClientGrpc } from '@nestjs/microservices';
3
- import { type Observable } from 'rxjs';
4
- type UnwrapObservable<U> = U extends Observable<infer R> ? R : U;
5
- export declare abstract class AbstractGrpcClient<T extends Record<string, any>> implements OnModuleInit {
6
- private readonly client;
7
- private readonly serviceName;
8
- protected service: T;
9
- protected constructor(client: ClientGrpc, serviceName: string);
10
- onModuleInit(): void;
11
- call<K extends keyof T>(method: K, payload: Parameters<T[K]>[0]): Promise<UnwrapObservable<ReturnType<T[K]>>>;
12
- }
13
- export {};
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractGrpcClient = void 0;
4
- const rxjs_1 = require("rxjs");
5
- class AbstractGrpcClient {
6
- client;
7
- serviceName;
8
- service;
9
- constructor(client, serviceName) {
10
- this.client = client;
11
- this.serviceName = serviceName;
12
- }
13
- onModuleInit() {
14
- this.service = this.client.getService(this.serviceName);
15
- }
16
- async call(method, payload) {
17
- try {
18
- const observable = this.service[method](payload);
19
- const result = await (0, rxjs_1.lastValueFrom)(observable);
20
- return result;
21
- }
22
- catch (error) {
23
- throw error;
24
- }
25
- }
26
- }
27
- exports.AbstractGrpcClient = AbstractGrpcClient;
@@ -1 +0,0 @@
1
- export declare const GRPC_CLIENT_PREFIX = "GRPC_CLIENT";
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GRPC_CLIENT_PREFIX = void 0;
4
- exports.GRPC_CLIENT_PREFIX = 'GRPC_CLIENT';
@@ -1 +0,0 @@
1
- export * from './inject-grpc-client.decorator';
@@ -1,17 +0,0 @@
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("./inject-grpc-client.decorator"), exports);
@@ -1 +0,0 @@
1
- export declare const InjectGrpcClient: (name: string) => PropertyDecorator & ParameterDecorator;
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InjectGrpcClient = void 0;
4
- const common_1 = require("@nestjs/common");
5
- const grpc_constants_1 = require("../constants/grpc.constants");
6
- const InjectGrpcClient = (name) => (0, common_1.Inject)(`${grpc_constants_1.GRPC_CLIENT_PREFIX}_${name}`);
7
- exports.InjectGrpcClient = InjectGrpcClient;
@@ -1,11 +0,0 @@
1
- import { ClientGrpc } from '@nestjs/microservices';
2
- export declare class GrpcClientFactory {
3
- private clients;
4
- createClient(options: {
5
- package: string;
6
- protoPath: string;
7
- url: string;
8
- }): ClientGrpc;
9
- register(token: string, client: ClientGrpc): void;
10
- getClient<T extends ClientGrpc = ClientGrpc>(token: string): T;
11
- }
@@ -1,33 +0,0 @@
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.GrpcClientFactory = void 0;
10
- const common_1 = require("@nestjs/common");
11
- const microservices_1 = require("@nestjs/microservices");
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
- };
30
- exports.GrpcClientFactory = GrpcClientFactory;
31
- exports.GrpcClientFactory = GrpcClientFactory = __decorate([
32
- (0, common_1.Injectable)()
33
- ], GrpcClientFactory);
@@ -1,5 +0,0 @@
1
- import { type DynamicModule } from '@nestjs/common';
2
- import { GRPC_CLIENTS } from './registry/grpc.registry';
3
- export declare class GrpcModule {
4
- static register(clients: Array<keyof typeof GRPC_CLIENTS>): DynamicModule;
5
- }
@@ -1,53 +0,0 @@
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 GrpcModule_1;
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.GrpcModule = void 0;
11
- const common_1 = require("@nestjs/common");
12
- const config_1 = require("@nestjs/config");
13
- const grpc_constants_1 = require("./constants/grpc.constants");
14
- const grpc_client_factory_1 = require("./factory/grpc-client.factory");
15
- const grpc_registry_1 = require("./registry/grpc.registry");
16
- let GrpcModule = GrpcModule_1 = class GrpcModule {
17
- static register(clients) {
18
- return {
19
- module: GrpcModule_1,
20
- imports: [
21
- config_1.ConfigModule, // ← вот это ключевое добавление!
22
- ],
23
- providers: [
24
- grpc_client_factory_1.GrpcClientFactory,
25
- ...clients.map(token => {
26
- const cfg = grpc_registry_1.GRPC_CLIENTS[token];
27
- return {
28
- provide: `${grpc_constants_1.GRPC_CLIENT_PREFIX}_${token}`,
29
- useFactory: (factory, config) => {
30
- const url = config.getOrThrow(cfg.env);
31
- const client = factory.createClient({
32
- package: cfg.package,
33
- protoPath: cfg.protoPath,
34
- url
35
- });
36
- factory.register(token, client);
37
- return client;
38
- },
39
- inject: [grpc_client_factory_1.GrpcClientFactory, config_1.ConfigService]
40
- };
41
- })
42
- ],
43
- exports: [
44
- grpc_client_factory_1.GrpcClientFactory,
45
- ...clients.map(token => `${grpc_constants_1.GRPC_CLIENT_PREFIX}_${token}`)
46
- ]
47
- };
48
- }
49
- };
50
- exports.GrpcModule = GrpcModule;
51
- exports.GrpcModule = GrpcModule = GrpcModule_1 = __decorate([
52
- (0, common_1.Module)({})
53
- ], GrpcModule);
@@ -1,3 +0,0 @@
1
- export * from './decorators';
2
- export * from './grpc.module';
3
- export * from './abstract-grpc.client';
@@ -1,19 +0,0 @@
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("./decorators"), exports);
18
- __exportStar(require("./grpc.module"), exports);
19
- __exportStar(require("./abstract-grpc.client"), exports);
@@ -1,32 +0,0 @@
1
- export declare const GRPC_CLIENTS: {
2
- readonly AUTH_PACKAGE: {
3
- readonly package: "auth.v1";
4
- readonly protoPath: string;
5
- readonly env: "AUTH_GRPC_URL";
6
- };
7
- readonly ACCOUNT_PACKAGE: {
8
- readonly package: "account.v1";
9
- readonly protoPath: string;
10
- readonly env: "AUTH_GRPC_URL";
11
- };
12
- readonly USERS_PACKAGE: {
13
- readonly package: "users.v1";
14
- readonly protoPath: string;
15
- readonly env: "USERS_GRPC_URL";
16
- };
17
- readonly MEDIA_PACKAGE: {
18
- readonly package: "media.v1";
19
- readonly protoPath: string;
20
- readonly env: "MEDIA_GRPC_URL";
21
- };
22
- readonly SESSION_PACKAGE: {
23
- readonly package: "session.v1";
24
- readonly protoPath: string;
25
- readonly env: "AUTH_GRPC_URL";
26
- };
27
- readonly POSTS_PACKAGE: {
28
- readonly package: "posts.v1";
29
- readonly protoPath: string;
30
- readonly env: "POSTS_GRPC_URL";
31
- };
32
- };
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GRPC_CLIENTS = void 0;
4
- const contracts_1 = require("@barupost/contracts");
5
- exports.GRPC_CLIENTS = {
6
- AUTH_PACKAGE: {
7
- package: 'auth.v1',
8
- protoPath: contracts_1.PROTO_PATHS.AUTH,
9
- env: 'AUTH_GRPC_URL'
10
- },
11
- ACCOUNT_PACKAGE: {
12
- package: 'account.v1',
13
- protoPath: contracts_1.PROTO_PATHS.ACCOUNT,
14
- env: 'AUTH_GRPC_URL'
15
- },
16
- USERS_PACKAGE: {
17
- package: 'users.v1',
18
- protoPath: contracts_1.PROTO_PATHS.USERS,
19
- env: 'USERS_GRPC_URL'
20
- },
21
- MEDIA_PACKAGE: {
22
- package: 'media.v1',
23
- protoPath: contracts_1.PROTO_PATHS.MEDIA,
24
- env: 'MEDIA_GRPC_URL'
25
- },
26
- SESSION_PACKAGE: {
27
- package: 'session.v1',
28
- protoPath: contracts_1.PROTO_PATHS.SESSION,
29
- env: 'AUTH_GRPC_URL'
30
- },
31
- POSTS_PACKAGE: {
32
- package: 'posts.v1',
33
- protoPath: contracts_1.PROTO_PATHS.POSTS,
34
- env: 'POSTS_GRPC_URL'
35
- }
36
- };
package/dist/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export * from './enums';
2
- export * from './grpc';
3
- export * from './mappers';
4
- export * from './utils';
package/dist/index.js DELETED
@@ -1,20 +0,0 @@
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("./enums"), exports);
18
- __exportStar(require("./grpc"), exports);
19
- __exportStar(require("./mappers"), exports);
20
- __exportStar(require("./utils"), exports);
@@ -1,6 +0,0 @@
1
- export declare abstract class BaseProtoMapper {
2
- protected static toProtoTimestamp(date?: Date | null): {
3
- seconds: number;
4
- nanos: number;
5
- } | undefined;
6
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseProtoMapper = void 0;
4
- class BaseProtoMapper {
5
- static toProtoTimestamp(date) {
6
- if (!date)
7
- return undefined;
8
- const ms = date.getTime();
9
- return {
10
- seconds: Math.floor(ms / 1000),
11
- nanos: (ms % 1000) * 1_000_000
12
- };
13
- }
14
- }
15
- exports.BaseProtoMapper = BaseProtoMapper;
@@ -1 +0,0 @@
1
- export * from './base-mapper';
@@ -1,17 +0,0 @@
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("./base-mapper"), exports);
@@ -1 +0,0 @@
1
- export declare function convertEnum<T extends object>(target: T, value: string): T[keyof T];
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertEnum = convertEnum;
4
- function convertEnum(target, value) {
5
- return target[value];
6
- }
@@ -1,4 +0,0 @@
1
- export * from './convert-enum';
2
- export * from './long-to-number';
3
- export * from './timestamp-to-iso';
4
- export * from './validate-env';
@@ -1,20 +0,0 @@
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("./convert-enum"), exports);
18
- __exportStar(require("./long-to-number"), exports);
19
- __exportStar(require("./timestamp-to-iso"), exports);
20
- __exportStar(require("./validate-env"), exports);
@@ -1,21 +0,0 @@
1
- export type ProtoLong = {
2
- low: number;
3
- high: number;
4
- unsigned: boolean;
5
- };
6
- /**
7
- * Преобразует 64-битное целое число из protobuf (представленное как low/high части) в число JavaScript.
8
- *
9
- * Числа JavaScript являются числами с плавающей точкой двойной точности и могут безопасно
10
- * представлять целые числа только до 2^53 - 1 (Number.MAX_SAFE_INTEGER). Значения вне этого диапазона
11
- * потеряют точность, но преобразование всё равно выполняется без выброса исключений.
12
- *
13
- * @param long - Объект ProtoLong для преобразования, или null/undefined.
14
- * @returns Числовое представление 64-битного целого числа, или 0 если входное значение null/undefined.
15
- */
16
- export declare function longToNumber(long: ProtoLong | null | undefined): number;
17
- /**
18
- * Если боишься переполнения (число > 2^53-1), лучше возвращать строку.
19
- * Тогда в UI можно отображать как есть, без потери точности.
20
- */
21
- export declare function longToString(long: ProtoLong | null | undefined): string;
@@ -1,50 +0,0 @@
1
- "use strict";
2
- // src/utils/long-to-number.ts
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.longToNumber = longToNumber;
5
- exports.longToString = longToString;
6
- /**
7
- * Преобразует 64-битное целое число из protobuf (представленное как low/high части) в число JavaScript.
8
- *
9
- * Числа JavaScript являются числами с плавающей точкой двойной точности и могут безопасно
10
- * представлять целые числа только до 2^53 - 1 (Number.MAX_SAFE_INTEGER). Значения вне этого диапазона
11
- * потеряют точность, но преобразование всё равно выполняется без выброса исключений.
12
- *
13
- * @param long - Объект ProtoLong для преобразования, или null/undefined.
14
- * @returns Числовое представление 64-битного целого числа, или 0 если входное значение null/undefined.
15
- */
16
- function longToNumber(long) {
17
- if (!long)
18
- return 0;
19
- const { low, high, unsigned } = long;
20
- if (unsigned) {
21
- // Обрабатываем low и high как беззнаковые 32-битные значения.
22
- // Примечание: умножение на 2**32 может превысить Number.MAX_SAFE_INTEGER, но мы это допускаем.
23
- return high * 0x100000000 + (low >>> 0);
24
- }
25
- else {
26
- // Для знаковых longs:
27
- // - low — беззнаковое 32-битное
28
- // - high — знаковое 32-битное (дополнительный код)
29
- // Выражение ниже корректно даёт отрицательные значения, когда high отрицателен.
30
- return high * 0x100000000 + (low >>> 0);
31
- }
32
- }
33
- /**
34
- * Если боишься переполнения (число > 2^53-1), лучше возвращать строку.
35
- * Тогда в UI можно отображать как есть, без потери точности.
36
- */
37
- function longToString(long) {
38
- if (!long)
39
- return '0';
40
- // Если в проекте подключена библиотека long.js (часто идёт с protobufjs или ts-proto)
41
- // Можно использовать её:
42
- // return Long.fromBits(long.low, long.high, long.unsigned).toString();
43
- // Простая реализация без зависимости
44
- if (long.high === 0 && long.low >= 0) {
45
- return long.low.toString();
46
- }
47
- // Для больших чисел: простое преобразование (может потерять точность, но для отображения сойдёт)
48
- const num = longToNumber(long);
49
- return num.toString();
50
- }
@@ -1,2 +0,0 @@
1
- import { Timestamp } from '@barupost/contracts/gen/ts/google/protobuf/timestamp';
2
- export declare function timestampToISO(ts: Timestamp): string | null;
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.timestampToISO = timestampToISO;
4
- function timestampToISO(ts) {
5
- return new Date(ts.seconds * 1000 + ts.nanos / 1_000_000).toISOString();
6
- }
@@ -1,2 +0,0 @@
1
- import { ClassConstructor } from 'class-transformer';
2
- export declare function validateEnv<T extends object>(config: Record<string, string | undefined>, envVariablesClass: ClassConstructor<T>): T;
@@ -1,24 +0,0 @@
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
- }