@haku-sci/utils 8.4.0 → 9.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.
@@ -0,0 +1,8 @@
1
+ export interface HakuError {
2
+ service?: string;
3
+ message: string;
4
+ status?: number;
5
+ stack?: string;
6
+ cause?: HakuError;
7
+ }
8
+ export declare function toHakuError(error: any, service?: string): HakuError;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toHakuError = toHakuError;
4
+ const remote_service_exception_1 = require("./remote-service.exception");
5
+ function toHakuError(error, service) {
6
+ return {
7
+ service,
8
+ message: error?.message ?? String(error),
9
+ status: error?.getStatus?.() ?? error?.status ?? error?.statusCode,
10
+ stack: error?.stack,
11
+ cause: error instanceof remote_service_exception_1.RemoteServiceException ? error.getResponse() : undefined,
12
+ };
13
+ }
14
+ //# sourceMappingURL=haku-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"haku-error.js","sourceRoot":"","sources":["../../src/TCP/haku-error.ts"],"names":[],"mappings":";;AAcA,kCAQC;AAtBD,yEAAoE;AAcpE,SAAgB,WAAW,CAAC,KAAU,EAAE,OAAgB;IACtD,OAAO;QACL,OAAO;QACP,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;QACxC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,KAAK,EAAE,MAAM,IAAI,KAAK,EAAE,UAAU;QAClE,KAAK,EAAE,KAAK,EAAE,KAAK;QACnB,KAAK,EAAE,KAAK,YAAY,iDAAsB,CAAC,CAAC,CAAE,KAAK,CAAC,WAAW,EAAgB,CAAC,CAAC,CAAC,SAAS;KAChG,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { HttpException } from '@nestjs/common';
2
+ export declare class RemoteServiceException extends HttpException {
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RemoteServiceException = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ class RemoteServiceException extends common_1.HttpException {
6
+ }
7
+ exports.RemoteServiceException = RemoteServiceException;
8
+ //# sourceMappingURL=remote-service.exception.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-service.exception.js","sourceRoot":"","sources":["../../src/TCP/remote-service.exception.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAI/C,MAAa,sBAAuB,SAAQ,sBAAa;CAAI;AAA7D,wDAA6D"}
@@ -1,6 +1,7 @@
1
1
  import { Logger } from '@nestjs/common';
2
2
  export declare class TCPService {
3
3
  static sendMessage(service: any, action: string, resource?: string, payload?: {}): Promise<any>;
4
+ private static trySendMessage;
4
5
  static registerHakuSciMessageHandlers(app: any, logger: Logger): Promise<void>;
5
6
  private static enablePatternRouting;
6
7
  private static normalizeErrors;
@@ -18,24 +18,41 @@ const exceptionFilter_1 = require("../microservice/exceptionFilter");
18
18
  const constants_1 = require("@nestjs/microservices/constants");
19
19
  const constants_2 = require("@nestjs/common/constants");
20
20
  const nestjs_discovery_1 = require("@golevelup/nestjs-discovery");
21
+ const remote_service_exception_1 = require("./remote-service.exception");
22
+ const UNDELIVERED_ERROR_CODES = new Set(['ECONNREFUSED', 'EHOSTUNREACH', 'ENOTFOUND', 'EAI_AGAIN']);
23
+ class UndeliveredMessageException extends common_1.HttpException {
24
+ }
21
25
  let TCPService = TCPService_1 = class TCPService {
22
26
  static async sendMessage(service, action, resource, payload = {}) {
27
+ const callSite = new Error().stack?.split('\n').slice(2).join('\n');
28
+ try {
29
+ return await TCPService_1.trySendMessage(service, action, resource, payload, false, callSite);
30
+ }
31
+ catch (err) {
32
+ if (err instanceof UndeliveredMessageException)
33
+ return await TCPService_1.trySendMessage(service, action, resource, payload, true, callSite);
34
+ throw err;
35
+ }
36
+ }
37
+ static async trySendMessage(service, action, resource, payload, forceRefresh, callSite) {
23
38
  let client;
24
39
  try {
25
40
  client = await microservices_1.ClientProxyFactory.create({
26
41
  transport: microservices_1.Transport.TCP,
27
- options: await consul_1.Consul.getServiceURI(service),
42
+ options: await consul_1.Consul.getServiceURI(service, forceRefresh),
28
43
  });
29
44
  }
30
45
  catch (err) {
31
46
  const status = err?.status || err?.statusCode || common_1.HttpStatus.SERVICE_UNAVAILABLE;
32
- throw new common_1.HttpException({ message: err?.message || 'Unknown error', service }, status);
47
+ throw new UndeliveredMessageException({ message: err?.message || 'Unknown error', service }, status);
33
48
  }
34
49
  try {
35
50
  payload["sender"] = await utils.microServiceName();
36
51
  let response$ = await client.send([resource, action].join("/"), payload).pipe((0, rxjs_1.catchError)(err => {
37
52
  const inner = err?.error ?? err;
38
- const status = inner?.status || inner?.statusCode || err?.status || common_1.HttpStatus.SERVICE_UNAVAILABLE;
53
+ const undelivered = UNDELIVERED_ERROR_CODES.has(err?.code);
54
+ const status = inner?.status || inner?.statusCode || err?.status ||
55
+ (undelivered ? common_1.HttpStatus.SERVICE_UNAVAILABLE : common_1.HttpStatus.INTERNAL_SERVER_ERROR);
39
56
  const message = (typeof inner === 'object' ? inner?.message : inner) ||
40
57
  err?.message ||
41
58
  'Unknown error';
@@ -44,7 +61,11 @@ let TCPService = TCPService_1 = class TCPService {
44
61
  message,
45
62
  service,
46
63
  };
47
- return (0, rxjs_1.throwError)(() => new common_1.HttpException(payload, status));
64
+ if (undelivered)
65
+ return (0, rxjs_1.throwError)(() => new UndeliveredMessageException(payload, status));
66
+ const remote = new remote_service_exception_1.RemoteServiceException(payload, status);
67
+ remote.stack = `${remote.name}: ${remote.message}\n${callSite}`;
68
+ return (0, rxjs_1.throwError)(() => remote);
48
69
  }));
49
70
  const watchdogTimeout = parseInt(process.env.WATCHDOG);
50
71
  if (!isNaN(watchdogTimeout) && watchdogTimeout > 0)
@@ -141,7 +162,7 @@ let TCPService = TCPService_1 = class TCPService {
141
162
  const prototype = Object.getPrototypeOf(instance);
142
163
  const tcpParamMeta = Reflect.getMetadata(tcp_param_decorator_1.TCP_PARAM_METADATA_KEY, prototype, methodName) ?? [];
143
164
  const senderParamIndex = Reflect.getMetadata(tcp_param_decorator_1.TCP_SENDER_METADATA_KEY, prototype, methodName);
144
- return async function boundHandler(data, context) {
165
+ return async function boundHandler(data) {
145
166
  try {
146
167
  const { sender, ...rest } = data ?? {};
147
168
  let payload = rest;
@@ -165,11 +186,7 @@ let TCPService = TCPService_1 = class TCPService {
165
186
  return TCPService_1.normalizeErrors(result);
166
187
  }
167
188
  catch (err) {
168
- const host = {
169
- switchToRpc: () => ({ getContext: () => context }),
170
- getArgByIndex: (i) => (i === 0 ? data : context),
171
- };
172
- return new exceptionFilter_1.AllExceptionsFilter(logger).catch(err, host);
189
+ return new exceptionFilter_1.AllExceptionsFilter(logger).catch(err);
173
190
  }
174
191
  };
175
192
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tcp.service.js","sourceRoot":"","sources":["../../src/TCP/tcp.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tcp.service.js","sourceRoot":"","sources":["../../src/TCP/tcp.service.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export * from './microservice/microservice.service';
2
2
  export * from './microservice/consul';
3
3
  export * from './TCP/tcp.service';
4
+ export * from './TCP/remote-service.exception';
5
+ export * from './TCP/haku-error';
4
6
  export * from './TCP/tcp.module';
5
7
  export * from './TCP/restrict-sender.decorator';
6
8
  export * from './TCP/tcp-param.decorator';
package/dist/index.js CHANGED
@@ -17,6 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./microservice/microservice.service"), exports);
18
18
  __exportStar(require("./microservice/consul"), exports);
19
19
  __exportStar(require("./TCP/tcp.service"), exports);
20
+ __exportStar(require("./TCP/remote-service.exception"), exports);
21
+ __exportStar(require("./TCP/haku-error"), exports);
20
22
  __exportStar(require("./TCP/tcp.module"), exports);
21
23
  __exportStar(require("./TCP/restrict-sender.decorator"), exports);
22
24
  __exportStar(require("./TCP/tcp-param.decorator"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD;AACpD,wDAAsC;AACtC,oDAAkC;AAClC,mDAAiC;AACjC,kEAAgD;AAChD,4DAA0C;AAC1C,oEAAkD;AAClD,+DAA6C;AAC7C,gEAA8C;AAC9C,sDAAoC;AACpC,uDAAqC;AACrC,uDAAqC;AACrC,mDAAiC;AACjC,gEAA8C;AAC9C,8CAA4B;AAC5B,iEAA+C;AAC/C,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD;AACpD,wDAAsC;AACtC,oDAAkC;AAClC,iEAA+C;AAC/C,mDAAiC;AACjC,mDAAiC;AACjC,kEAAgD;AAChD,4DAA0C;AAC1C,oEAAkD;AAClD,+DAA6C;AAC7C,gEAA8C;AAC9C,sDAAoC;AACpC,uDAAqC;AACrC,uDAAqC;AACrC,mDAAiC;AACjC,gEAA8C;AAC9C,8CAA4B;AAC5B,iEAA+C;AAC/C,0CAAwB"}
@@ -1,8 +1,9 @@
1
1
  import * as net from 'net';
2
2
  import { Logger } from '@nestjs/common';
3
3
  export declare class Consul {
4
+ private static readonly serviceURICache;
4
5
  static registerService(server: net.AddressInfo | net.Server, logger: Logger): Promise<void>;
5
- static getServiceURI(serviceName: string): Promise<{
6
+ static getServiceURI(serviceName: string, forceRefresh?: boolean): Promise<{
6
7
  host: string;
7
8
  port: number;
8
9
  }>;
@@ -41,22 +41,26 @@ class Consul {
41
41
  await axios_1.default.put(`${process.env["CONSUL_URL"]}/v1/agent/service/register`, serviceData);
42
42
  logger.log(`Service registered with Consul on ${externalAddress}:${externalPort}`);
43
43
  }
44
- static async getServiceURI(serviceName) {
44
+ static async getServiceURI(serviceName, forceRefresh = false) {
45
+ if (!forceRefresh && Consul.serviceURICache.has(serviceName))
46
+ return Consul.serviceURICache.get(serviceName);
45
47
  const response = await axios_1.default.get(`${process.env["CONSUL_URL"]}/v1/catalog/service/${serviceName}`);
46
48
  const serviceInfo = response.data;
47
49
  if (serviceInfo.length > 0) {
48
50
  const service = serviceInfo[0];
49
- const address = service.ServiceAddress || service.Address;
50
- const port = service.ServicePort;
51
- return {
52
- host: address,
53
- port: port,
51
+ const uri = {
52
+ host: service.ServiceAddress || service.Address,
53
+ port: service.ServicePort,
54
54
  };
55
+ Consul.serviceURICache.set(serviceName, uri);
56
+ return uri;
55
57
  }
56
58
  else {
59
+ Consul.serviceURICache.delete(serviceName);
57
60
  throw new common_1.ServiceUnavailableException(`Service ${serviceName} not found in Consul catalog`);
58
61
  }
59
62
  }
60
63
  }
61
64
  exports.Consul = Consul;
65
+ Consul.serviceURICache = new Map();
62
66
  //# sourceMappingURL=consul.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consul.js","sourceRoot":"","sources":["../../src/microservice/consul.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consul.js","sourceRoot":"","sources":["../../src/microservice/consul.ts"],"names":[],"mappings":";;;AAAA,iCAA0B;AAC1B,6BAA6B;AAC7B,+BAA+B;AAE/B,kCAAiC;AACjC,2CAAqE;AAIrE,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAmB;IACxD,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;IACvB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH,MAAa,MAAM;IAGjB,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAoC,EAAE,MAAc;QAC/E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;YAC5B,OAAO;QACT,MAAM,gBAAgB,GAAG,OAAQ,MAAqB,EAAE,OAAO,KAAK,UAAU,CAAC;QAE/E,IAAI,gBAAgB,IAAK,MAAqB,CAAC,OAAO,EAAE,KAAK,IAAI;YAC/D,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAE,MAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1F,MAAM,aAAa,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAE,MAAqB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAoB,CAAC;QAGxG,MAAM,SAAS,GAAG,gBAAgB;YAChC,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK;YACnF,CAAC,CAAC,KAAK,CAAC;QAEV,MAAM,eAAe,GAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,aAAa,CAAC,OAAO,CAAC;QACzH,MAAM,YAAY,GAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,aAAa,CAAC,IAAI,CAAA;QAClF,MAAM,gBAAgB,GAAG,SAAS,KAAK,KAAK;YAC1C,CAAC,CAAC,MAAM,KAAK,CAAC,gBAAgB,EAAE;YAChC,CAAC,CAAC,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,IAAI,SAAS,EAAE,CAAC;QACrD,MAAM,WAAW,GAAG;YAClB,EAAE,EAAE,gBAAgB;YACpB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE;gBACL,GAAG,EAAE,GAAG,eAAe,IAAI,YAAY,EAAE;gBACzC,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,IAAI;gBACb,8BAA8B,EAAE,IAAI;aACrC;SACF,CAAC;QAEF,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC;QACvF,MAAM,CAAC,GAAG,CAAC,qCAAqC,eAAe,IAAI,YAAY,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,WAAmB,EAAE,YAAY,GAAG,KAAK;QAClE,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC;YAC1D,OAAO,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,uBAAuB,WAAW,EAAE,CAAC,CAAC;QACnG,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;QAElC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAG;gBACV,IAAI,EAAE,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,OAAO;gBAC/C,IAAI,EAAE,OAAO,CAAC,WAAW;aAC1B,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAC7C,OAAO,GAAG,CAAC;QACb,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC3C,MAAM,IAAI,oCAA2B,CAAC,WAAW,WAAW,8BAA8B,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;;AA1DH,wBA2DC;AA1DyB,sBAAe,GAAG,IAAI,GAAG,EAA0C,CAAC"}
@@ -1,10 +1,10 @@
1
- import { ArgumentsHost, Logger, RpcExceptionFilter } from '@nestjs/common';
1
+ import { Logger, RpcExceptionFilter } from '@nestjs/common';
2
2
  import { Observable } from 'rxjs';
3
3
  export declare class AllExceptionsFilter implements RpcExceptionFilter<any> {
4
4
  private readonly logger;
5
5
  constructor(logger: Logger);
6
- handleUnknownError(exception: any, status: string): Observable<never>;
6
+ handleUnknownError(exception: any): Observable<never>;
7
7
  isError(exception: any): exception is Error;
8
- catch(exception: any, host: ArgumentsHost): Observable<any>;
8
+ catch(exception: any): Observable<any>;
9
9
  private handleException;
10
10
  }
@@ -13,23 +13,33 @@ exports.AllExceptionsFilter = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
14
  const rxjs_1 = require("rxjs");
15
15
  const microservices_1 = require("@nestjs/microservices");
16
+ const remote_service_exception_1 = require("../TCP/remote-service.exception");
17
+ const haku_error_1 = require("../TCP/haku-error");
16
18
  let AllExceptionsFilter = class AllExceptionsFilter {
17
19
  constructor(logger) {
18
20
  this.logger = logger;
19
21
  this.logger.log('ExceptionsHandler initialized');
20
22
  }
21
- handleUnknownError(exception, status) {
23
+ handleUnknownError(exception) {
22
24
  return this.handleException(exception);
23
25
  }
24
26
  isError(exception) {
25
- throw new Error('Method not implemented.');
27
+ return exception instanceof Error;
26
28
  }
27
- catch(exception, host) {
29
+ catch(exception) {
28
30
  return this.handleException(exception);
29
31
  }
30
32
  handleException(exception) {
31
- console.error(exception);
32
- return (0, rxjs_1.throwError)(() => new microservices_1.RpcException(exception));
33
+ const status = exception?.getStatus?.() ?? exception?.status ?? exception?.statusCode;
34
+ if (exception instanceof remote_service_exception_1.RemoteServiceException)
35
+ this.logger.debug(`Relayed from ${exception.getResponse()?.['service']}: ${exception.message}`);
36
+ else if (typeof status === 'number' && status < 500)
37
+ this.logger.warn(exception instanceof Error ? exception : exception?.message ?? exception);
38
+ else if (exception instanceof Error)
39
+ this.logger.error(exception.message, exception.stack);
40
+ else
41
+ this.logger.error(exception);
42
+ return (0, rxjs_1.throwError)(() => new microservices_1.RpcException((0, haku_error_1.toHakuError)(exception)));
33
43
  }
34
44
  };
35
45
  exports.AllExceptionsFilter = AllExceptionsFilter;
@@ -1 +1 @@
1
- {"version":3,"file":"exceptionFilter.js","sourceRoot":"","sources":["../../src/microservice/exceptionFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAkF;AAClF,+BAA8C;AAC9C,yDAAqD;AAE9C,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAE9B,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,kBAAkB,CAAC,SAAc,EAAE,MAAc;QAC/C,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAsB,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,SAAc;QACpB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,SAAc,EAAE,IAAmB;QACvC,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAEO,eAAe,CAAC,SAAc;QACpC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACzB,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,IAAI,4BAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IACvD,CAAC;CACF,CAAA;AAtBY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,cAAK,EAAC,4BAAY,CAAC;qCAGE,eAAM;GAFf,mBAAmB,CAsB/B"}
1
+ {"version":3,"file":"exceptionFilter.js","sourceRoot":"","sources":["../../src/microservice/exceptionFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AACnE,+BAA8C;AAC9C,yDAAqD;AACrD,8EAAyE;AACzE,kDAAgD;AAEzC,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAE9B,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,kBAAkB,CAAC,SAAc;QAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAsB,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,SAAc;QACpB,OAAO,SAAS,YAAY,KAAK,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,SAAc;QAClB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAGO,eAAe,CAAC,SAAc;QACpC,MAAM,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,SAAS,EAAE,MAAM,IAAI,SAAS,EAAE,UAAU,CAAC;QACtF,IAAI,SAAS,YAAY,iDAAsB;YAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;aAC7F,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,GAAG,GAAG;YACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC;aACxF,IAAI,SAAS,YAAY,KAAK;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;;YAEtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,IAAI,4BAAY,CAAC,IAAA,wBAAW,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;CACF,CAAA;AA/BY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,cAAK,EAAC,4BAAY,CAAC;qCAGE,eAAM;GAFf,mBAAmB,CA+B/B"}
@@ -0,0 +1 @@
1
+ export declare function createDatabaseFolderIfNotExists(): void;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDatabaseFolderIfNotExists = createDatabaseFolderIfNotExists;
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ function createDatabaseFolderIfNotExists() {
7
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(process.env.SQL_DB), { recursive: true });
8
+ }
9
+ //# sourceMappingURL=sqlite.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite.service.js","sourceRoot":"","sources":["../../src/microservice/sqlite.service.ts"],"names":[],"mappings":";;AAIA,0EAEC;AAND,2BAA+B;AAC/B,+BAA+B;AAG/B,SAAgB,+BAA+B;IAC7C,IAAA,cAAS,EAAC,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haku-sci/utils",
3
- "version": "8.4.0",
3
+ "version": "9.0.0",
4
4
  "description": "utils from haku-sci. Library only",
5
5
  "main": "./dist/index.js",
6
6
  "types": "dist/index.d.ts",