@xrystal/core 3.6.0 → 3.6.2

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 (74) hide show
  1. package/README.md +14 -1
  2. package/package.json +1 -1
  3. package/source/loader/logger/index.d.ts +1 -1
  4. package/source/loader/logger/index.js +19 -23
  5. package/x/dist/index.d.ts +0 -2
  6. package/x/dist/index.js +0 -8
  7. package/x/dist/loader/configs/index.d.ts +0 -13
  8. package/x/dist/loader/configs/index.js +0 -17
  9. package/x/dist/loader/events/index.d.ts +0 -6
  10. package/x/dist/loader/events/index.js +0 -25
  11. package/x/dist/loader/index.d.ts +0 -6
  12. package/x/dist/loader/index.js +0 -6
  13. package/x/dist/loader/localizations/index.d.ts +0 -14
  14. package/x/dist/loader/localizations/index.js +0 -32
  15. package/x/dist/loader/logger/index.d.ts +0 -28
  16. package/x/dist/loader/logger/index.js +0 -179
  17. package/x/dist/loader/system/index.d.ts +0 -8
  18. package/x/dist/loader/system/index.js +0 -14
  19. package/x/dist/project/index.d.ts +0 -6
  20. package/x/dist/project/index.js +0 -63
  21. package/x/dist/utils/constants/index.d.ts +0 -8
  22. package/x/dist/utils/constants/index.js +0 -10
  23. package/x/dist/utils/helpers/date/index.d.ts +0 -16
  24. package/x/dist/utils/helpers/date/index.js +0 -48
  25. package/x/dist/utils/helpers/filters/index.d.ts +0 -17
  26. package/x/dist/utils/helpers/filters/index.js +0 -44
  27. package/x/dist/utils/helpers/hash/crypto.d.ts +0 -3
  28. package/x/dist/utils/helpers/hash/crypto.js +0 -22
  29. package/x/dist/utils/helpers/id/index.d.ts +0 -13
  30. package/x/dist/utils/helpers/id/index.js +0 -24
  31. package/x/dist/utils/helpers/index.d.ts +0 -17
  32. package/x/dist/utils/helpers/index.js +0 -17
  33. package/x/dist/utils/helpers/ip/index.d.ts +0 -1
  34. package/x/dist/utils/helpers/ip/index.js +0 -3
  35. package/x/dist/utils/helpers/is/index.d.ts +0 -11
  36. package/x/dist/utils/helpers/is/index.js +0 -35
  37. package/x/dist/utils/helpers/locales/index.d.ts +0 -52
  38. package/x/dist/utils/helpers/locales/index.js +0 -161
  39. package/x/dist/utils/helpers/locales copy/index.d.ts +0 -52
  40. package/x/dist/utils/helpers/locales copy/index.js +0 -161
  41. package/x/dist/utils/helpers/math/index.d.ts +0 -2
  42. package/x/dist/utils/helpers/math/index.js +0 -14
  43. package/x/dist/utils/helpers/objects/index.d.ts +0 -1
  44. package/x/dist/utils/helpers/objects/index.js +0 -55
  45. package/x/dist/utils/helpers/path/index.d.ts +0 -2
  46. package/x/dist/utils/helpers/path/index.js +0 -4
  47. package/x/dist/utils/helpers/regex/checkSpecialRegexControl.d.ts +0 -1
  48. package/x/dist/utils/helpers/regex/checkSpecialRegexControl.js +0 -3
  49. package/x/dist/utils/helpers/string/index.d.ts +0 -1
  50. package/x/dist/utils/helpers/string/index.js +0 -9
  51. package/x/dist/utils/helpers/timer/index.d.ts +0 -3
  52. package/x/dist/utils/helpers/timer/index.js +0 -5
  53. package/x/dist/utils/helpers/tmp/index.d.ts +0 -8
  54. package/x/dist/utils/helpers/tmp/index.js +0 -109
  55. package/x/dist/utils/helpers/validates/index.d.ts +0 -5
  56. package/x/dist/utils/helpers/validates/index.js +0 -20
  57. package/x/dist/utils/index.d.ts +0 -3
  58. package/x/dist/utils/index.js +0 -3
  59. package/x/dist/utils/models/classes/class.controller.d.ts +0 -80
  60. package/x/dist/utils/models/classes/class.controller.js +0 -164
  61. package/x/dist/utils/models/classes/class.response.d.ts +0 -17
  62. package/x/dist/utils/models/classes/class.response.js +0 -37
  63. package/x/dist/utils/models/classes/class.services.d.ts +0 -129
  64. package/x/dist/utils/models/classes/class.services.js +0 -344
  65. package/x/dist/utils/models/classes/class.tmp-file-loader.d.ts +0 -8
  66. package/x/dist/utils/models/classes/class.tmp-file-loader.js +0 -38
  67. package/x/dist/utils/models/classes/class.x.d.ts +0 -12
  68. package/x/dist/utils/models/classes/class.x.js +0 -16
  69. package/x/dist/utils/models/enums/index.d.ts +0 -117
  70. package/x/dist/utils/models/enums/index.js +0 -133
  71. package/x/dist/utils/models/index.d.ts +0 -8
  72. package/x/dist/utils/models/index.js +0 -8
  73. package/x/dist/utils/models/types/index.d.ts +0 -3
  74. package/x/dist/utils/models/types/index.js +0 -2
package/README.md CHANGED
@@ -1 +1,14 @@
1
- ## **DOCUMENT**
1
+ ## **DOCUMENT**
2
+
3
+ # LOG Schema
4
+ '
5
+ service: this.serviceName,
6
+ level,
7
+
8
+ message,
9
+ ...rest,
10
+ timestamp: new Date().toISOString(),
11
+
12
+ id: id || null,
13
+ env: this.environment
14
+ '
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "author": "Yusuf Yasir KAYGUSUZ",
3
3
  "name": "@xrystal/core",
4
- "version": "3.6.0",
4
+ "version": "3.6.2",
5
5
  "description": "Project core for xrystal",
6
6
  "publishConfig": {
7
7
  "access": "public",
@@ -17,7 +17,7 @@ export default class LoggerService {
17
17
  private getConsoleFormat;
18
18
  winston: CustomLogger;
19
19
  constructor();
20
- runWithId: (id: string, callback: () => void) => void;
20
+ runWithId: <T>(id: string, callback: () => T) => T;
21
21
  load: (config: Record<string, any>) => Promise<void>;
22
22
  winstonLoader: ({ loadPath, loggerLevel }: {
23
23
  loadPath: string;
@@ -12,12 +12,8 @@ class KafkaTransport extends Transport {
12
12
  this.service = service;
13
13
  }
14
14
  log(info, callback) {
15
- setImmediate(() => {
16
- this.emit("logged", info);
17
- });
18
- this.service["logToKafka"](info).finally(() => {
19
- callback();
20
- });
15
+ setImmediate(() => this.emit("logged", info));
16
+ this.service["logToKafka"](info).finally(() => callback());
21
17
  }
22
18
  }
23
19
  const customLevels = {
@@ -51,9 +47,14 @@ export default class LoggerService {
51
47
  };
52
48
  getTracingFormat = format((info) => {
53
49
  const store = LoggerService.storage.getStore();
54
- if (store) {
50
+ if (store && store.has("correlationId")) {
55
51
  info.id = store.get("correlationId");
56
52
  }
53
+ Object.keys(info).forEach(key => {
54
+ if (info[key] instanceof Headers) {
55
+ info[key] = Object.fromEntries(info[key].entries());
56
+ }
57
+ });
57
58
  return info;
58
59
  });
59
60
  getConsoleFormat() {
@@ -68,11 +69,8 @@ export default class LoggerService {
68
69
  winston = winston.createLogger({
69
70
  level: "debug",
70
71
  levels: customLevels,
71
- transports: [
72
- new winston.transports.Console({
73
- format: this.getConsoleFormat()
74
- })
75
- ]
72
+ format: this.getConsoleFormat(),
73
+ transports: [new winston.transports.Console()]
76
74
  });
77
75
  constructor() {
78
76
  winston.addColors(customColors);
@@ -96,10 +94,7 @@ export default class LoggerService {
96
94
  });
97
95
  this.kafkaProducer = kafka.producer({
98
96
  createPartitioner: Partitioners.DefaultPartitioner,
99
- retry: {
100
- initialRetryTime: 500,
101
- retries: 5
102
- }
97
+ retry: { initialRetryTime: 500, retries: 5 }
103
98
  });
104
99
  const connectKafka = async () => {
105
100
  try {
@@ -121,7 +116,8 @@ export default class LoggerService {
121
116
  };
122
117
  winstonLoader = ({ loadPath, loggerLevel }) => {
123
118
  const { combine, timestamp, json, errors } = format;
124
- const jsonFileFormat = combine(this.getTracingFormat(), timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), errors({ stack: true }), json({ replacer: this.safeReplacer }));
119
+ const tracing = this.getTracingFormat();
120
+ const jsonFileFormat = combine(tracing, timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), errors({ stack: true }), json({ replacer: this.safeReplacer }));
125
121
  const transports = [
126
122
  new winston.transports.Console({
127
123
  format: this.getConsoleFormat()
@@ -144,13 +140,13 @@ export default class LoggerService {
144
140
  if (this.kafkaProducer) {
145
141
  transports.push(new KafkaTransport({ level: loggerLevel }, this));
146
142
  }
147
- const winstonLogger = winston.createLogger({
143
+ this.winston = winston.createLogger({
148
144
  level: loggerLevel,
149
145
  levels: customLevels,
146
+ format: tracing,
150
147
  transports
151
148
  });
152
- this.winston = winstonLogger;
153
- return winstonLogger;
149
+ return this.winston;
154
150
  };
155
151
  async logToKafka(info) {
156
152
  if (!this.kafkaProducer || !this.isKafkaReady)
@@ -161,13 +157,13 @@ export default class LoggerService {
161
157
  topic: this.kafkaTopic,
162
158
  messages: [{
163
159
  value: JSON.stringify({
164
- id: id || null,
165
160
  service: this.serviceName,
166
- env: this.environment,
167
161
  level,
168
162
  message,
169
163
  ...rest,
170
- timestamp: new Date().toISOString()
164
+ timestamp: new Date().toISOString(),
165
+ id: id || null,
166
+ env: this.environment
171
167
  }, this.safeReplacer)
172
168
  }]
173
169
  });
package/x/dist/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- declare let tmp: any;
2
- export default tmp;
package/x/dist/index.js DELETED
@@ -1,8 +0,0 @@
1
- import coreLoader from "./project/index.js";
2
- let tmp;
3
- // => tmp project tool => xrystal
4
- await (async () => {
5
- tmp = await coreLoader();
6
- })();
7
- //
8
- export default tmp;
@@ -1,13 +0,0 @@
1
- import SystemService from '../system/index';
2
- export default class ConfigsService {
3
- protected _globalEnvFileName: string;
4
- protected _systemService: SystemService;
5
- static tmpFolderPath: string;
6
- private _envLoadPath;
7
- load: ({ tmpFolderPath, systemService, envLoadPath, globalEnvFileName }: {
8
- tmpFolderPath: string;
9
- systemService: SystemService;
10
- envLoadPath: string;
11
- globalEnvFileName?: string | null;
12
- }) => any;
13
- }
@@ -1,17 +0,0 @@
1
- export default class ConfigsService {
2
- _globalEnvFileName = 'global';
3
- _systemService;
4
- static tmpFolderPath;
5
- _envLoadPath = '';
6
- load = ({ tmpFolderPath, systemService, envLoadPath, globalEnvFileName }) => {
7
- ConfigsService.tmpFolderPath = tmpFolderPath;
8
- this._systemService = systemService;
9
- this._envLoadPath = `${envLoadPath}`;
10
- /*
11
- this._dynamicEnvLoader({
12
- nodeEnv
13
- globalEnvFileName
14
- })
15
- */
16
- };
17
- }
@@ -1,6 +0,0 @@
1
- export default class EventsService {
2
- private logger;
3
- load: ({}: {}) => any;
4
- private _globalLoader;
5
- get global(): any;
6
- }
@@ -1,25 +0,0 @@
1
- import LoggersLoader from '../logger/index';
2
- import { x, LoggerLayerEnum } from '../../utils/index';
3
- export default class EventsService {
4
- logger = x.get(LoggersLoader);
5
- load = ({}) => {
6
- this._globalLoader();
7
- };
8
- _globalLoader = () => {
9
- process.on("uncaughtException", (exception) => {
10
- this.logger.winston.log({
11
- level: LoggerLayerEnum[LoggerLayerEnum.CRITICAL].toLowerCase(),
12
- message: `UncaughtException: ${exception}`,
13
- });
14
- });
15
- process.on("unhandledRejection", (exception) => {
16
- this.logger.winston.log({
17
- level: LoggerLayerEnum[LoggerLayerEnum.CRITICAL].toLowerCase(),
18
- message: `UnhandledRejection: ${exception}`,
19
- });
20
- });
21
- };
22
- get global() {
23
- return this._globalLoader();
24
- }
25
- }
@@ -1,6 +0,0 @@
1
- import SystemService from "./system";
2
- import ConfigsService from "./configs";
3
- import LoggerService from "./logger";
4
- import EventsService from "./events";
5
- import LocalizationsService from "./localizations";
6
- export { SystemService, ConfigsService, LoggerService, EventsService, LocalizationsService };
@@ -1,6 +0,0 @@
1
- import SystemService from "./system";
2
- import ConfigsService from "./configs";
3
- import LoggerService from "./logger";
4
- import EventsService from "./events";
5
- import LocalizationsService from "./localizations";
6
- export { SystemService, ConfigsService, LoggerService, EventsService, LocalizationsService };
@@ -1,14 +0,0 @@
1
- export default class LocalizationsService {
2
- _instance: any;
3
- load: ({ loadPath, fallbackLang, preloadLang, }: {
4
- loadPath: string;
5
- fallbackLang: string;
6
- preloadLang: string;
7
- }) => any;
8
- i18next: ({ loadPath, fallbackLang, preloadLang, }: {
9
- loadPath?: string;
10
- fallbackLang?: string;
11
- preloadLang?: any;
12
- }) => any;
13
- get instance(): any;
14
- }
@@ -1,32 +0,0 @@
1
- import i18next from "i18next";
2
- import Backend from 'i18next-fs-backend';
3
- import * as middleware from 'i18next-http-middleware';
4
- export default class LocalizationsService {
5
- _instance = null;
6
- load = ({ loadPath, fallbackLang, preloadLang, }) => {
7
- this.i18next({
8
- loadPath,
9
- fallbackLang,
10
- preloadLang,
11
- });
12
- };
13
- i18next = ({ loadPath, fallbackLang, preloadLang, }) => {
14
- if (this._instance) {
15
- return this._instance;
16
- }
17
- i18next
18
- .use(Backend)
19
- .use(middleware.LanguageDetector)
20
- .init({
21
- fallbackLng: fallbackLang,
22
- preload: preloadLang,
23
- backend: { loadPath: `${loadPath}/{{lng}}.json` }
24
- });
25
- if (i18next)
26
- this._instance = i18next;
27
- return i18next;
28
- };
29
- get instance() {
30
- return this._instance;
31
- }
32
- }
@@ -1,28 +0,0 @@
1
- import winston from "winston";
2
- import "winston-daily-rotate-file";
3
- import { AsyncLocalStorage } from "node:async_hooks";
4
- interface CustomLogger extends winston.Logger {
5
- critical: winston.LeveledLogMethod;
6
- http: winston.LeveledLogMethod;
7
- }
8
- export default class LoggerService {
9
- static readonly storage: AsyncLocalStorage<Map<string, string>>;
10
- private serviceName;
11
- private environment;
12
- private kafkaProducer;
13
- private kafkaTopic;
14
- private isKafkaReady;
15
- private safeReplacer;
16
- private getTracingFormat;
17
- private getConsoleFormat;
18
- winston: CustomLogger;
19
- constructor();
20
- runWithId: (id: string, callback: () => void) => void;
21
- load: (config: Record<string, any>) => Promise<void>;
22
- winstonLoader: ({ loadPath, loggerLevel }: {
23
- loadPath: string;
24
- loggerLevel: string;
25
- }) => CustomLogger;
26
- private logToKafka;
27
- }
28
- export {};
@@ -1,179 +0,0 @@
1
- import winston, { format } from "winston";
2
- import Transport from "winston-transport";
3
- import "winston-daily-rotate-file";
4
- import path from "node:path";
5
- import { AsyncLocalStorage } from "node:async_hooks";
6
- import { Kafka, Partitioners, logLevel } from "kafkajs";
7
- import { LoggerLayerEnum } from "../../utils";
8
- class KafkaTransport extends Transport {
9
- service;
10
- constructor(opts, service) {
11
- super(opts);
12
- this.service = service;
13
- }
14
- log(info, callback) {
15
- setImmediate(() => {
16
- this.emit("logged", info);
17
- });
18
- this.service["logToKafka"](info).finally(() => {
19
- callback();
20
- });
21
- }
22
- }
23
- const customLevels = {
24
- critical: LoggerLayerEnum.CRITICAL,
25
- error: LoggerLayerEnum.ERROR,
26
- info: LoggerLayerEnum.INFO,
27
- http: LoggerLayerEnum.HTTP,
28
- debug: LoggerLayerEnum.DEBUG,
29
- };
30
- const customColors = {
31
- critical: "red",
32
- error: "magenta",
33
- warn: "yellow",
34
- info: "green",
35
- http: "cyan",
36
- debug: "blue"
37
- };
38
- export default class LoggerService {
39
- static storage = new AsyncLocalStorage();
40
- serviceName = "";
41
- environment = "";
42
- kafkaProducer = null;
43
- kafkaTopic = "";
44
- isKafkaReady = false;
45
- safeReplacer = (key, value) => {
46
- if (value instanceof Headers)
47
- return Object.fromEntries(value.entries());
48
- if (value instanceof Error)
49
- return { message: value.message, stack: value.stack };
50
- return value;
51
- };
52
- getTracingFormat = format((info) => {
53
- const store = LoggerService.storage.getStore();
54
- if (store) {
55
- info.id = store.get("correlationId");
56
- }
57
- return info;
58
- });
59
- getConsoleFormat() {
60
- return format.combine(this.getTracingFormat(), format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), format.colorize({ all: true }), format.printf((info) => {
61
- const msg = typeof info.message === "object"
62
- ? JSON.stringify(info.message, this.safeReplacer)
63
- : info.message;
64
- const idPart = info.id ? ` : id: ${info.id}` : "";
65
- return `${info.timestamp} [${this.serviceName}] ${info.level}: ${msg}${idPart}`;
66
- }));
67
- }
68
- winston = winston.createLogger({
69
- level: "debug",
70
- levels: customLevels,
71
- transports: [
72
- new winston.transports.Console({
73
- format: this.getConsoleFormat()
74
- })
75
- ]
76
- });
77
- constructor() {
78
- winston.addColors(customColors);
79
- }
80
- runWithId = (id, callback) => {
81
- const store = new Map();
82
- store.set("correlationId", id);
83
- return LoggerService.storage.run(store, callback);
84
- };
85
- load = async (config) => {
86
- this.serviceName = config?.serviceName || "service";
87
- this.environment = config?.env || "dev";
88
- this.kafkaTopic = config?.kafkaTopic || "logs";
89
- const rawBrokers = config?.kafkaBrokers;
90
- const brokers = rawBrokers ? String(rawBrokers).split(",").map((b) => b.trim()) : [];
91
- if (brokers.length > 0) {
92
- const kafka = new Kafka({
93
- clientId: this.serviceName,
94
- brokers: brokers,
95
- logLevel: logLevel.NOTHING
96
- });
97
- this.kafkaProducer = kafka.producer({
98
- createPartitioner: Partitioners.DefaultPartitioner,
99
- retry: {
100
- initialRetryTime: 500,
101
- retries: 5
102
- }
103
- });
104
- const connectKafka = async () => {
105
- try {
106
- await this.kafkaProducer?.connect();
107
- this.isKafkaReady = true;
108
- this.winston.info("Kafka connected successfully");
109
- }
110
- catch (err) {
111
- this.isKafkaReady = false;
112
- setTimeout(connectKafka, 10000);
113
- }
114
- };
115
- connectKafka();
116
- }
117
- this.winstonLoader({
118
- loadPath: config?.loadPath || "./logs",
119
- loggerLevel: config?.loggerLevel || "debug"
120
- });
121
- };
122
- winstonLoader = ({ loadPath, loggerLevel }) => {
123
- const { combine, timestamp, json, errors } = format;
124
- const jsonFileFormat = combine(this.getTracingFormat(), timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), errors({ stack: true }), json({ replacer: this.safeReplacer }));
125
- const transports = [
126
- new winston.transports.Console({
127
- format: this.getConsoleFormat()
128
- }),
129
- new winston.transports.DailyRotateFile({
130
- filename: path.resolve(loadPath, "error", "%DATE%_error.log"),
131
- level: "error",
132
- format: jsonFileFormat,
133
- maxSize: "2mb",
134
- maxFiles: "7d"
135
- }),
136
- new winston.transports.DailyRotateFile({
137
- filename: path.resolve(loadPath, "critical", "%DATE%_critical.log"),
138
- level: "critical",
139
- format: jsonFileFormat,
140
- maxSize: "2mb",
141
- maxFiles: "14d"
142
- })
143
- ];
144
- if (this.kafkaProducer) {
145
- transports.push(new KafkaTransport({ level: loggerLevel }, this));
146
- }
147
- const winstonLogger = winston.createLogger({
148
- level: loggerLevel,
149
- levels: customLevels,
150
- transports
151
- });
152
- this.winston = winstonLogger;
153
- return winstonLogger;
154
- };
155
- async logToKafka(info) {
156
- if (!this.kafkaProducer || !this.isKafkaReady)
157
- return;
158
- try {
159
- const { id, level, message, ...rest } = info;
160
- await this.kafkaProducer.send({
161
- topic: this.kafkaTopic,
162
- messages: [{
163
- value: JSON.stringify({
164
- id: id || null,
165
- service: this.serviceName,
166
- env: this.environment,
167
- level,
168
- message,
169
- ...rest,
170
- timestamp: new Date().toISOString()
171
- }, this.safeReplacer)
172
- }]
173
- });
174
- }
175
- catch (err) {
176
- this.isKafkaReady = false;
177
- }
178
- }
179
- }
@@ -1,8 +0,0 @@
1
- export default class SystemService {
2
- private static _tmp;
3
- load: ({ tmp, }: {
4
- tmp: any;
5
- }) => Promise<void>;
6
- private _systemLoader;
7
- static get tmp(): any;
8
- }
@@ -1,14 +0,0 @@
1
- export default class SystemService {
2
- static _tmp;
3
- load = async ({ tmp, }) => {
4
- SystemService._tmp = tmp;
5
- await this._systemLoader({});
6
- };
7
- _systemLoader = async ({}) => {
8
- //console.log(this._tmp)
9
- };
10
- // => getters
11
- static get tmp() {
12
- return SystemService._tmp;
13
- }
14
- }
@@ -1,6 +0,0 @@
1
- declare const coreLoader: () => Promise<{
2
- _?: undefined;
3
- } | {
4
- _: any;
5
- }>;
6
- export default coreLoader;
@@ -1,63 +0,0 @@
1
- // => import dependencies
2
- import path from 'path';
3
- import { SystemService, ConfigsService, LoggerService, EventsService, LocalizationsService } from '../loader/index';
4
- import { packageName, tmpFileDefaultName, tmpFileDefaultExt, findFileRecursively, TmpFileLoader, x, kafkaBrokers, systemLoggerLayer, } from '../utils/index';
5
- //
6
- let coreHasRun = false;
7
- const coreLoader = async () => {
8
- if (coreHasRun)
9
- return {};
10
- try {
11
- const ownerTmpFilePath = findFileRecursively(".", tmpFileDefaultName, tmpFileDefaultExt);
12
- if (!ownerTmpFilePath) {
13
- throw new Error(`${tmpFileDefaultName} file not found`);
14
- }
15
- const tmpFileObject = new TmpFileLoader({ filePath: ownerTmpFilePath });
16
- const r = tmpFileObject.getResolvedTmpFile();
17
- const { configs } = r;
18
- const rootFolderPath = configs.rootFolderPath;
19
- const services = [
20
- SystemService,
21
- ConfigsService,
22
- LoggerService,
23
- EventsService,
24
- LocalizationsService
25
- ];
26
- services.forEach(service => x.set({ service, reference: service }));
27
- const system = x.get(SystemService);
28
- const configService = x.get(ConfigsService);
29
- const logger = x.get(LoggerService);
30
- const events = x.get(EventsService);
31
- const i18n = x.get(LocalizationsService);
32
- await system.load({
33
- tmp: { _: r }
34
- });
35
- await configService.load({
36
- tmpFolderPath: rootFolderPath,
37
- systemService: system,
38
- envLoadPath: path.join(rootFolderPath, configs.loaders.configs.envLoadPath),
39
- ...(configs.loaders.configs.globalEnvFileName && { globalEnvFileName: configs.loaders.configs.globalEnvFileName })
40
- });
41
- await logger.load({
42
- loadPath: path.join(rootFolderPath, configs.loaders.loggers.loadPath),
43
- loggerLevel: systemLoggerLayer ?? configs.loaders.loggers.logLevel,
44
- serviceName: configs.service,
45
- env: process.env.NODE_ENV,
46
- kafkaBrokers: kafkaBrokers ?? "",
47
- kafkaTopic: configs.loaders.loggers.topic
48
- });
49
- await events.load({});
50
- await i18n.load({
51
- loadPath: path.resolve(rootFolderPath, configs.loaders.localization.loadPath),
52
- fallbackLang: configs.loaders.localization.fallbackLang,
53
- preloadLang: configs.loaders.localization.preloadLangs
54
- });
55
- coreHasRun = true;
56
- return { _: r };
57
- }
58
- catch (error) {
59
- const errorMessage = error instanceof Error ? error.message : String(error);
60
- console.error(`[${packageName} core failure]: ${errorMessage}`);
61
- }
62
- };
63
- export default coreLoader;
@@ -1,8 +0,0 @@
1
- export declare const packageName: string;
2
- export declare const tmpFileDefaultMainFolderName: string;
3
- export declare const tmpFileDefaultName: string;
4
- export declare const tmpFileDefaultExt = ".yml";
5
- export declare const defaultTmpFilePath: string;
6
- export declare const defaultOwnerTmpFilePath: string;
7
- export declare const systemLoggerLayer: string;
8
- export declare const kafkaBrokers: string;
@@ -1,10 +0,0 @@
1
- import path from 'path';
2
- import { __dirname } from '../helpers/path';
3
- export const packageName = 'x';
4
- export const tmpFileDefaultMainFolderName = 'x';
5
- export const tmpFileDefaultName = 'tmp';
6
- export const tmpFileDefaultExt = '.yml';
7
- export const defaultTmpFilePath = path.resolve(__dirname(import.meta.url), `../../${tmpFileDefaultMainFolderName}/${tmpFileDefaultName}.yml`);
8
- export const defaultOwnerTmpFilePath = path.resolve(`./${tmpFileDefaultMainFolderName}/${tmpFileDefaultName}.yml`);
9
- export const systemLoggerLayer = process.env.SYSTEM_LOGGER_LAYER;
10
- export const kafkaBrokers = process.env?.KAFKA_BROKERS;
@@ -1,16 +0,0 @@
1
- import { PolarityTypeEnum } from "../../models";
2
- export declare function dateZoneConverter({ polarity, date, zone, factor }: {
3
- polarity: PolarityTypeEnum;
4
- date: Date;
5
- zone: number;
6
- factor?: number;
7
- }): string;
8
- export declare function convertDate(date: string, splitCharacter?: string, replaceCharacter?: string): string[];
9
- export declare function convertTime(time: string, splitCharacter?: string, replaceCharacter?: string): string[];
10
- export declare function getDateAndTime({ getDate, getTime, dateCharacter, timeCharacter, separatorCharacter }: {
11
- getDate: boolean;
12
- getTime: boolean;
13
- dateCharacter: string;
14
- timeCharacter: string;
15
- separatorCharacter: string;
16
- }): string;
@@ -1,48 +0,0 @@
1
- import { PolarityTypeEnum } from "../../models";
2
- export function dateZoneConverter({ polarity, date, zone, factor = 1000 }) {
3
- let convertedZoneTime = null;
4
- if (polarity === PolarityTypeEnum.NEGATIVE) {
5
- convertedZoneTime = date.getTime() - factor * zone;
6
- }
7
- else {
8
- convertedZoneTime = date.getTime() + factor * zone;
9
- }
10
- return new Date(convertedZoneTime).toISOString();
11
- }
12
- export function convertDate(date, splitCharacter = '/', replaceCharacter = '-') {
13
- const convertDate = date.split(splitCharacter).map((value, index) => index !== 2 ? replaceCharacter : value);
14
- return convertDate;
15
- }
16
- export function convertTime(time, splitCharacter = ':', replaceCharacter = '-') {
17
- const convertDate = time.split(splitCharacter).map((value, index) => index !== 2 ? replaceCharacter : value);
18
- return convertDate;
19
- }
20
- export function getDateAndTime({ getDate = true, getTime = true, dateCharacter = '-', timeCharacter = ':', separatorCharacter = '&' }) {
21
- const date = new Date();
22
- let formattedDate = '';
23
- if (!getDate && !getTime) {
24
- throw new Error("Invalid options! Required one true value");
25
- }
26
- if (getDate) {
27
- const day = date.getDate().toString().padStart(2, '0');
28
- const month = (date.getMonth() + 1).toString().padStart(2, '0');
29
- const year = date.getFullYear();
30
- formattedDate = `${year}${dateCharacter}${month}${dateCharacter}${day}`;
31
- }
32
- if (getTime) {
33
- const hours = date.getHours().toString().padStart(2, '0');
34
- const minutes = date.getMinutes().toString().padStart(2, '0');
35
- const seconds = date.getSeconds().toString().padStart(2, '0');
36
- formattedDate = `${hours}${timeCharacter}${minutes}${timeCharacter}${seconds}`;
37
- }
38
- if (getDate && getTime) {
39
- const day = date.getDate().toString().padStart(2, '0');
40
- const month = (date.getMonth() + 1).toString().padStart(2, '0');
41
- const year = date.getFullYear();
42
- const hours = date.getHours().toString().padStart(2, '0');
43
- const minutes = date.getMinutes().toString().padStart(2, '0');
44
- const seconds = date.getSeconds().toString().padStart(2, '0');
45
- formattedDate = `${year}${dateCharacter}${month}${dateCharacter}${day}${separatorCharacter}${hours}${timeCharacter}${minutes}${timeCharacter}${seconds}`;
46
- }
47
- return formattedDate;
48
- }