@lucaapp/service-utils 5.0.0 → 5.1.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,35 @@ export declare const DEFAULT_LANGUAGE_WHEN_NO_HEADER = "de";
|
|
|
4
4
|
export declare const DEFAULT_LANGUAGE_WHEN_HEADER = "en";
|
|
5
5
|
export declare const AVAILABLE_LANGUAGES: string[];
|
|
6
6
|
type LanguageOptions = typeof AVAILABLE_LANGUAGES[number];
|
|
7
|
+
/**
|
|
8
|
+
* Checks if a language code is a supported InternalLanguage.
|
|
9
|
+
*
|
|
10
|
+
* @param lang - Language code to check
|
|
11
|
+
* @returns true if the language is supported, false otherwise
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* isInternalLanguage('de') // returns true
|
|
16
|
+
* isInternalLanguage('en') // returns true
|
|
17
|
+
* isInternalLanguage('fr') // returns false
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare const isInternalLanguage: (lang: string) => lang is InternalLanguages;
|
|
21
|
+
/**
|
|
22
|
+
* Safely converts a language code to an InternalLanguage.
|
|
23
|
+
* If the language is not supported, falls back to 'en'.
|
|
24
|
+
*
|
|
25
|
+
* @param lang - Language code to convert
|
|
26
|
+
* @returns The language if supported, otherwise 'en'
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* toInternalLanguage('de') // returns 'de'
|
|
31
|
+
* toInternalLanguage('en') // returns 'en'
|
|
32
|
+
* toInternalLanguage('fr') // returns 'en' (fallback)
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare const toInternalLanguage: (lang: string) => InternalLanguages;
|
|
7
36
|
export declare const parseAcceptLanguageHeader: (header?: string) => LanguageOptions;
|
|
8
37
|
/**
|
|
9
38
|
* @deprecated Use getPreferredLanguageFromRequestHeaders instead.
|
|
@@ -3,11 +3,46 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getPreferredLanguageFromRequestHeaders = exports.getPreferredLanguageFromRequest = exports.parseAcceptLanguageHeader = exports.AVAILABLE_LANGUAGES = exports.DEFAULT_LANGUAGE_WHEN_HEADER = exports.DEFAULT_LANGUAGE_WHEN_NO_HEADER = void 0;
|
|
6
|
+
exports.getPreferredLanguageFromRequestHeaders = exports.getPreferredLanguageFromRequest = exports.parseAcceptLanguageHeader = exports.toInternalLanguage = exports.isInternalLanguage = exports.AVAILABLE_LANGUAGES = exports.DEFAULT_LANGUAGE_WHEN_HEADER = exports.DEFAULT_LANGUAGE_WHEN_NO_HEADER = void 0;
|
|
7
7
|
const negotiator_1 = __importDefault(require("negotiator"));
|
|
8
8
|
exports.DEFAULT_LANGUAGE_WHEN_NO_HEADER = 'de';
|
|
9
9
|
exports.DEFAULT_LANGUAGE_WHEN_HEADER = 'en';
|
|
10
10
|
exports.AVAILABLE_LANGUAGES = ['en', 'de'];
|
|
11
|
+
/**
|
|
12
|
+
* Checks if a language code is a supported InternalLanguage.
|
|
13
|
+
*
|
|
14
|
+
* @param lang - Language code to check
|
|
15
|
+
* @returns true if the language is supported, false otherwise
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* isInternalLanguage('de') // returns true
|
|
20
|
+
* isInternalLanguage('en') // returns true
|
|
21
|
+
* isInternalLanguage('fr') // returns false
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
const isInternalLanguage = (lang) => {
|
|
25
|
+
return exports.AVAILABLE_LANGUAGES.includes(lang);
|
|
26
|
+
};
|
|
27
|
+
exports.isInternalLanguage = isInternalLanguage;
|
|
28
|
+
/**
|
|
29
|
+
* Safely converts a language code to an InternalLanguage.
|
|
30
|
+
* If the language is not supported, falls back to 'en'.
|
|
31
|
+
*
|
|
32
|
+
* @param lang - Language code to convert
|
|
33
|
+
* @returns The language if supported, otherwise 'en'
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* toInternalLanguage('de') // returns 'de'
|
|
38
|
+
* toInternalLanguage('en') // returns 'en'
|
|
39
|
+
* toInternalLanguage('fr') // returns 'en' (fallback)
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
const toInternalLanguage = (lang) => {
|
|
43
|
+
return (0, exports.isInternalLanguage)(lang) ? lang : 'en';
|
|
44
|
+
};
|
|
45
|
+
exports.toInternalLanguage = toInternalLanguage;
|
|
11
46
|
const parseAcceptLanguageHeader = (header) => {
|
|
12
47
|
if (!header) {
|
|
13
48
|
return exports.DEFAULT_LANGUAGE_WHEN_NO_HEADER;
|