opticore-translator 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -38,13 +38,15 @@ module.exports = __toCommonJS(index_exports);
38
38
  var import_fs = __toESM(require("fs"), 1);
39
39
  var import_path = __toESM(require("path"), 1);
40
40
  var import_opticore_http_response = require("opticore-http-response");
41
+ var import_opticore_logger = require("opticore-logger");
41
42
  var TranslationLoader = class {
43
+ static translations = {};
44
+ static loggerConfig = new import_opticore_logger.LoggerCore();
42
45
  /**
43
46
  *
44
47
  * @param directory
45
- * @param loggerConfig
46
48
  */
47
- static loadTranslations(directory, loggerConfig) {
49
+ static loadTranslations(directory) {
48
50
  const files = import_fs.default.readdirSync(directory);
49
51
  files.forEach((file) => {
50
52
  if (file.endsWith(".json")) {
@@ -52,9 +54,9 @@ var TranslationLoader = class {
52
54
  const filePath = import_path.default.join(directory, file);
53
55
  try {
54
56
  this.translations[locale] = JSON.parse(import_fs.default.readFileSync(filePath, "utf-8"));
55
- loggerConfig.success("Translation Loaded", `Translations loaded for locale: ${locale}`);
57
+ this.loggerConfig.success("Translation Loaded", `Translations loaded for locale: ${locale}`);
56
58
  } catch (error) {
57
- loggerConfig.error(
59
+ this.loggerConfig.error(
58
60
  error.message,
59
61
  `Error loading translations for ${locale}`,
60
62
  "Translation error",
@@ -69,37 +71,33 @@ var TranslationLoader = class {
69
71
  *
70
72
  * @param key
71
73
  * @param localeLanguage
72
- * @param loggerConfig
73
74
  * @param params
74
75
  *
75
76
  * using example :
76
77
  * const errorMessage = TranslationLoader.t('mongoServerError', 'en', { dbHost: '127.0.0.1' });
77
78
  */
78
- static t(key, localeLanguage, loggerConfig, params = {}) {
79
- var _a;
79
+ static t(key, localeLanguage, params = {}) {
80
80
  const localeKey = `message.translation.${localeLanguage}`;
81
- const message = ((_a = this.translations[localeKey]) == null ? void 0 : _a[key]) || key;
82
- return this.formatMessage(message, loggerConfig, params);
81
+ const message = this.translations[localeKey]?.[key] || key;
82
+ return this.formatMessage(message, params);
83
83
  }
84
84
  /**
85
85
  *
86
86
  * @param template
87
- * @param loggerConfig
88
87
  * @param params
89
88
  */
90
- static formatMessage(template, loggerConfig, params) {
89
+ static formatMessage(template, params) {
91
90
  return template.replace(/\{(\w+)\}/g, (_, key) => {
92
91
  const value = params[key];
93
92
  if (Array.isArray(value)) {
94
93
  return value.join(", ");
95
94
  }
96
95
  const formattedValue = value !== void 0 ? value.toString() : `{${key}}`;
97
- loggerConfig.info("Formatting message", `Replacing {${key}} with: ${formattedValue}`);
96
+ this.loggerConfig.info("Formatting message", `Replacing {${key}} with: ${formattedValue}`);
98
97
  return formattedValue;
99
98
  });
100
99
  }
101
100
  };
102
- TranslationLoader.translations = {};
103
101
  // Annotate the CommonJS export names for ESM import in node:
104
102
  0 && (module.exports = {
105
103
  TranslationLoader
package/dist/index.d.cts CHANGED
@@ -1,28 +1,24 @@
1
- import { LoggerCore } from 'opticore-logger';
2
-
3
1
  declare class TranslationLoader {
4
2
  private static translations;
3
+ private static loggerConfig;
5
4
  /**
6
5
  *
7
6
  * @param directory
8
- * @param loggerConfig
9
7
  */
10
- static loadTranslations(directory: string, loggerConfig: LoggerCore): void;
8
+ static loadTranslations(directory: string): void;
11
9
  /**
12
10
  *
13
11
  * @param key
14
12
  * @param localeLanguage
15
- * @param loggerConfig
16
13
  * @param params
17
14
  *
18
15
  * using example :
19
16
  * const errorMessage = TranslationLoader.t('mongoServerError', 'en', { dbHost: '127.0.0.1' });
20
17
  */
21
- static t(key: string, localeLanguage: string, loggerConfig: LoggerCore, params?: Record<any, any>): string;
18
+ static t(key: string, localeLanguage: string, params?: Record<any, any>): string;
22
19
  /**
23
20
  *
24
21
  * @param template
25
- * @param loggerConfig
26
22
  * @param params
27
23
  */
28
24
  private static formatMessage;
package/dist/index.d.ts CHANGED
@@ -1,28 +1,24 @@
1
- import { LoggerCore } from 'opticore-logger';
2
-
3
1
  declare class TranslationLoader {
4
2
  private static translations;
3
+ private static loggerConfig;
5
4
  /**
6
5
  *
7
6
  * @param directory
8
- * @param loggerConfig
9
7
  */
10
- static loadTranslations(directory: string, loggerConfig: LoggerCore): void;
8
+ static loadTranslations(directory: string): void;
11
9
  /**
12
10
  *
13
11
  * @param key
14
12
  * @param localeLanguage
15
- * @param loggerConfig
16
13
  * @param params
17
14
  *
18
15
  * using example :
19
16
  * const errorMessage = TranslationLoader.t('mongoServerError', 'en', { dbHost: '127.0.0.1' });
20
17
  */
21
- static t(key: string, localeLanguage: string, loggerConfig: LoggerCore, params?: Record<any, any>): string;
18
+ static t(key: string, localeLanguage: string, params?: Record<any, any>): string;
22
19
  /**
23
20
  *
24
21
  * @param template
25
- * @param loggerConfig
26
22
  * @param params
27
23
  */
28
24
  private static formatMessage;
package/dist/index.js CHANGED
@@ -2,13 +2,15 @@
2
2
  import fs from "fs";
3
3
  import path from "path";
4
4
  import { HttpStatusCode } from "opticore-http-response";
5
+ import { LoggerCore } from "opticore-logger";
5
6
  var TranslationLoader = class {
7
+ static translations = {};
8
+ static loggerConfig = new LoggerCore();
6
9
  /**
7
10
  *
8
11
  * @param directory
9
- * @param loggerConfig
10
12
  */
11
- static loadTranslations(directory, loggerConfig) {
13
+ static loadTranslations(directory) {
12
14
  const files = fs.readdirSync(directory);
13
15
  files.forEach((file) => {
14
16
  if (file.endsWith(".json")) {
@@ -16,9 +18,9 @@ var TranslationLoader = class {
16
18
  const filePath = path.join(directory, file);
17
19
  try {
18
20
  this.translations[locale] = JSON.parse(fs.readFileSync(filePath, "utf-8"));
19
- loggerConfig.success("Translation Loaded", `Translations loaded for locale: ${locale}`);
21
+ this.loggerConfig.success("Translation Loaded", `Translations loaded for locale: ${locale}`);
20
22
  } catch (error) {
21
- loggerConfig.error(
23
+ this.loggerConfig.error(
22
24
  error.message,
23
25
  `Error loading translations for ${locale}`,
24
26
  "Translation error",
@@ -33,37 +35,33 @@ var TranslationLoader = class {
33
35
  *
34
36
  * @param key
35
37
  * @param localeLanguage
36
- * @param loggerConfig
37
38
  * @param params
38
39
  *
39
40
  * using example :
40
41
  * const errorMessage = TranslationLoader.t('mongoServerError', 'en', { dbHost: '127.0.0.1' });
41
42
  */
42
- static t(key, localeLanguage, loggerConfig, params = {}) {
43
- var _a;
43
+ static t(key, localeLanguage, params = {}) {
44
44
  const localeKey = `message.translation.${localeLanguage}`;
45
- const message = ((_a = this.translations[localeKey]) == null ? void 0 : _a[key]) || key;
46
- return this.formatMessage(message, loggerConfig, params);
45
+ const message = this.translations[localeKey]?.[key] || key;
46
+ return this.formatMessage(message, params);
47
47
  }
48
48
  /**
49
49
  *
50
50
  * @param template
51
- * @param loggerConfig
52
51
  * @param params
53
52
  */
54
- static formatMessage(template, loggerConfig, params) {
53
+ static formatMessage(template, params) {
55
54
  return template.replace(/\{(\w+)\}/g, (_, key) => {
56
55
  const value = params[key];
57
56
  if (Array.isArray(value)) {
58
57
  return value.join(", ");
59
58
  }
60
59
  const formattedValue = value !== void 0 ? value.toString() : `{${key}}`;
61
- loggerConfig.info("Formatting message", `Replacing {${key}} with: ${formattedValue}`);
60
+ this.loggerConfig.info("Formatting message", `Replacing {${key}} with: ${formattedValue}`);
62
61
  return formattedValue;
63
62
  });
64
63
  }
65
64
  };
66
- TranslationLoader.translations = {};
67
65
  export {
68
66
  TranslationLoader
69
67
  };
package/example/index.ts CHANGED
@@ -2,7 +2,7 @@ import {TranslationLoader} from "../src";
2
2
  import path from "path";
3
3
 
4
4
  ((): void => {
5
- TranslationLoader.loadTranslations(path.join('src', 'utils', 'translations'), 'en');
5
+ TranslationLoader.loadTranslations(path.join('src', 'utils', 'translations'));
6
6
  //const msg: string = TranslationLoader.t("mongoServerError", "en");
7
7
 
8
8
  console.log("path is :", path.join(process.cwd(), 'src', 'utils', 'translations'));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opticore-translator",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "opticore translator to translate according language",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
package/tsconfig.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "strictNullChecks": true,
7
7
  "module": "commonjs",
8
8
  "pretty": true,
9
- "target": "es2017",
9
+ "target": "es2022",
10
10
  "moduleResolution": "node",
11
11
  "declaration": true,
12
12
  "isolatedModules": true,