@lucaapp/service-utils 5.1.1 → 5.3.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.
@@ -4,6 +4,16 @@
4
4
  * Use this for accurate language detection and future language support planning
5
5
  * https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
6
6
  */
7
+ /**
8
+ * Mapping of ISO 3166-1 alpha-2 country codes to their ACTUAL primary language
9
+ * COUNTRY_TO_LANGUAGE_MAP[countryCode] = languageCode
10
+ * @example
11
+ * ```typescript
12
+ * COUNTRY_TO_LANGUAGE_MAP['DE'] // returns 'de'
13
+ * COUNTRY_TO_LANGUAGE_MAP['FR'] // returns 'fr'
14
+ * COUNTRY_TO_LANGUAGE_MAP['US'] // returns 'en'
15
+ * ```
16
+ */
7
17
  export declare const COUNTRY_TO_LANGUAGE_MAP: Record<string, string>;
8
18
  /**
9
19
  * Gets the ACTUAL primary language for a given country code
@@ -68,8 +78,114 @@ export declare const getLocaleFromCountry: (countryCode?: string | null) => stri
68
78
  /**
69
79
  * Comprehensive mapping of language codes to their English names
70
80
  * Includes currently supported languages and potential future additions
81
+ * @example
82
+ * ```typescript
83
+ * ENGLISH_LANGUAGE_NAMES['de'] // returns 'German'
84
+ * ENGLISH_LANGUAGE_NAMES['en'] // returns 'English'
85
+ * ENGLISH_LANGUAGE_NAMES['fr'] // returns 'French'
86
+ * ```
87
+ */
88
+ export declare const ENGLISH_LANGUAGE_NAMES: {
89
+ de: string;
90
+ en: string;
91
+ fr: string;
92
+ it: string;
93
+ es: string;
94
+ nl: string;
95
+ pl: string;
96
+ cs: string;
97
+ hu: string;
98
+ hr: string;
99
+ ro: string;
100
+ el: string;
101
+ pt: string;
102
+ ar: string;
103
+ zh: string;
104
+ ja: string;
105
+ ko: string;
106
+ ru: string;
107
+ tr: string;
108
+ hi: string;
109
+ sv: string;
110
+ no: string;
111
+ da: string;
112
+ fi: string;
113
+ uk: string;
114
+ he: string;
115
+ th: string;
116
+ vi: string;
117
+ id: string;
118
+ ms: string;
119
+ tl: string;
120
+ is: string;
121
+ et: string;
122
+ lv: string;
123
+ lt: string;
124
+ sk: string;
125
+ sl: string;
126
+ sq: string;
127
+ mk: string;
128
+ sr: string;
129
+ bs: string;
130
+ bg: string;
131
+ be: string;
132
+ mt: string;
133
+ ga: string;
134
+ cy: string;
135
+ gd: string;
136
+ fo: string;
137
+ lb: string;
138
+ bn: string;
139
+ ur: string;
140
+ fa: string;
141
+ ps: string;
142
+ ku: string;
143
+ hy: string;
144
+ ka: string;
145
+ az: string;
146
+ kk: string;
147
+ uz: string;
148
+ tk: string;
149
+ ky: string;
150
+ tg: string;
151
+ mn: string;
152
+ km: string;
153
+ lo: string;
154
+ my: string;
155
+ ne: string;
156
+ si: string;
157
+ ta: string;
158
+ dv: string;
159
+ dz: string;
160
+ sw: string;
161
+ am: string;
162
+ ti: string;
163
+ so: string;
164
+ ha: string;
165
+ yo: string;
166
+ ig: string;
167
+ zu: string;
168
+ xh: string;
169
+ af: string;
170
+ mg: string;
171
+ mi: string;
172
+ sm: string;
173
+ to: string;
174
+ fj: string;
175
+ ht: string;
176
+ };
177
+ /**
178
+ * Type representing all supported language codes (ISO 639-1)
179
+ * This includes all languages that are mapped in the system, providing comprehensive language code support
180
+ * Use this type instead of InternalLanguages for broader language support
181
+ * @example
182
+ * ```typescript
183
+ * const langName: string = ENGLISH_LANGUAGE_NAMES['de']; // returns 'German'
184
+ * const langName2: string = ENGLISH_LANGUAGE_NAMES['en']; // returns 'English'
185
+ * const langName3: string = ENGLISH_LANGUAGE_NAMES['fr']; // returns 'French'
186
+ * ```
71
187
  */
72
- export declare const ENGLISH_LANGUAGE_NAMES: Record<string, string>;
188
+ export type LanguageCode = keyof typeof ENGLISH_LANGUAGE_NAMES;
73
189
  /**
74
190
  * Gets the language name in English for a given language code
75
191
  *
@@ -82,7 +198,7 @@ export declare const ENGLISH_LANGUAGE_NAMES: Record<string, string>;
82
198
  * getLanguageName('fr') // returns 'French'
83
199
  * ```
84
200
  */
85
- export declare const getLanguageName: (lang: string) => string | undefined;
201
+ export declare const getLanguageName: (lang: LanguageCode) => (typeof ENGLISH_LANGUAGE_NAMES)[LanguageCode];
86
202
  /**
87
203
  * Comprehensive mapping of language codes to their native names
88
204
  * Includes currently supported languages and potential future additions
@@ -1,12 +1,22 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getCountryName = exports.COUNTRY_NAMES = exports.getNativeLanguageName = exports.NATIVE_LANGUAGE_NAMES = exports.getLanguageName = exports.ENGLISH_LANGUAGE_NAMES = exports.getLocaleFromCountry = exports.getLocalesFromCountry = exports.COUNTRY_TO_LOCALES_MAP = exports.getLanguageFromCountry = exports.COUNTRY_TO_LANGUAGE_MAP = void 0;
4
2
  /**
5
3
  * Comprehensive mapping of ISO 3166-1 alpha-2 country codes to their ACTUAL primary language
6
4
  * This maps each country to its real primary language, regardless of whether we support it
7
5
  * Use this for accurate language detection and future language support planning
8
6
  * https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
9
7
  */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.getCountryName = exports.COUNTRY_NAMES = exports.getNativeLanguageName = exports.NATIVE_LANGUAGE_NAMES = exports.getLanguageName = exports.ENGLISH_LANGUAGE_NAMES = exports.getLocaleFromCountry = exports.getLocalesFromCountry = exports.COUNTRY_TO_LOCALES_MAP = exports.getLanguageFromCountry = exports.COUNTRY_TO_LANGUAGE_MAP = void 0;
10
+ /**
11
+ * Mapping of ISO 3166-1 alpha-2 country codes to their ACTUAL primary language
12
+ * COUNTRY_TO_LANGUAGE_MAP[countryCode] = languageCode
13
+ * @example
14
+ * ```typescript
15
+ * COUNTRY_TO_LANGUAGE_MAP['DE'] // returns 'de'
16
+ * COUNTRY_TO_LANGUAGE_MAP['FR'] // returns 'fr'
17
+ * COUNTRY_TO_LANGUAGE_MAP['US'] // returns 'en'
18
+ * ```
19
+ */
10
20
  exports.COUNTRY_TO_LANGUAGE_MAP = {
11
21
  // Europe
12
22
  AD: 'ca', // Andorra - Catalan
@@ -483,6 +493,12 @@ exports.getLocaleFromCountry = getLocaleFromCountry;
483
493
  /**
484
494
  * Comprehensive mapping of language codes to their English names
485
495
  * Includes currently supported languages and potential future additions
496
+ * @example
497
+ * ```typescript
498
+ * ENGLISH_LANGUAGE_NAMES['de'] // returns 'German'
499
+ * ENGLISH_LANGUAGE_NAMES['en'] // returns 'English'
500
+ * ENGLISH_LANGUAGE_NAMES['fr'] // returns 'French'
501
+ * ```
486
502
  */
487
503
  exports.ENGLISH_LANGUAGE_NAMES = {
488
504
  de: 'German',
@@ -537,7 +553,7 @@ exports.ENGLISH_LANGUAGE_NAMES = {
537
553
  gd: 'Scottish Gaelic',
538
554
  fo: 'Faroese',
539
555
  lb: 'Luxembourgish',
540
- // Asian & Middle Eastern Languages
556
+ // Asian & Middle Eastern Languages
541
557
  bn: 'Bengali',
542
558
  ur: 'Urdu',
543
559
  fa: 'Persian',
@@ -593,7 +609,7 @@ exports.ENGLISH_LANGUAGE_NAMES = {
593
609
  * ```
594
610
  */
595
611
  const getLanguageName = (lang) => {
596
- return exports.ENGLISH_LANGUAGE_NAMES[lang.toLowerCase()] || undefined;
612
+ return exports.ENGLISH_LANGUAGE_NAMES[lang];
597
613
  };
598
614
  exports.getLanguageName = getLanguageName;
599
615
  /**
@@ -613,7 +629,7 @@ exports.NATIVE_LANGUAGE_NAMES = {
613
629
  hr: 'Hrvatski', // Croatian
614
630
  ro: 'Română', // Romanian
615
631
  el: 'Ελληνικά', // Greek
616
- // High Priority - Phase 2 (8 languages)
632
+ // Additional
617
633
  pt: 'Português', // Portuguese
618
634
  ar: 'العربية', // Arabic
619
635
  zh: '中文', // Chinese
@@ -622,14 +638,14 @@ exports.NATIVE_LANGUAGE_NAMES = {
622
638
  ru: 'Русский', // Russian
623
639
  tr: 'Türkçe', // Turkish
624
640
  hi: 'हिन्दी', // Hindi
625
- // Medium Priority - Phase 3 (Nordic & Regional)
641
+ // Nordic & Regional
626
642
  sv: 'Svenska', // Swedish
627
643
  no: 'Norsk', // Norwegian
628
644
  da: 'Dansk', // Danish
629
645
  fi: 'Suomi', // Finnish
630
646
  uk: 'Українська', // Ukrainian
631
647
  he: 'עברית', // Hebrew
632
- // Medium Priority - Phase 4 (Asian Markets)
648
+ // Asian Markets
633
649
  th: 'ไทย', // Thai
634
650
  vi: 'Tiếng Việt', // Vietnamese
635
651
  id: 'Bahasa Indonesia', // Indonesian
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucaapp/service-utils",
3
- "version": "5.1.1",
3
+ "version": "5.3.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [