UNPKG

rosaenlg-commons

Version:

Common technical elements for RosaeNLG

60 lines 2.19 kB
"use strict"; /** * @license * Copyright 2019 Ludan Stoecklé * SPDX-License-Identifier: Apache-2.0 */ Object.defineProperty(exports, "__esModule", { value: true }); exports.buildLanguageCommon = exports.getIso2fromLocale = void 0; const LanguageCommonEnglish_1 = require("./LanguageCommonEnglish"); const LanguageCommonFrench_1 = require("./LanguageCommonFrench"); const LanguageCommonGerman_1 = require("./LanguageCommonGerman"); const LanguageCommonItalian_1 = require("./LanguageCommonItalian"); const LanguageCommonSpanish_1 = require("./LanguageCommonSpanish"); const LanguageCommonOther_1 = require("./LanguageCommonOther"); // should be better function getIso2fromLocale(locale) { if (locale && locale.length == 5) { return locale.substring(0, 2); } else { const err = new Error(); err.name = 'InvalidArgumentException'; err.message = `${locale} is not a valid locale, should be xx_YY (e.g. en_US)`; throw err; } } exports.getIso2fromLocale = getIso2fromLocale; function buildLanguageCommon(iso2) { let languageCommon; switch (iso2) { case 'en': languageCommon = new LanguageCommonEnglish_1.LanguageCommonEnglish(); languageCommon.init(); break; case 'fr': languageCommon = new LanguageCommonFrench_1.LanguageCommonFrench(); languageCommon.init(); break; case 'de': languageCommon = new LanguageCommonGerman_1.LanguageCommonGerman(); languageCommon.init(); break; case 'it': languageCommon = new LanguageCommonItalian_1.LanguageCommonItalian(); languageCommon.init(); break; case 'es': languageCommon = new LanguageCommonSpanish_1.LanguageCommonSpanish(); languageCommon.init(); break; default: languageCommon = new LanguageCommonOther_1.LanguageCommonOther(); languageCommon.setIso2(iso2); languageCommon.init(); break; } return languageCommon; } exports.buildLanguageCommon = buildLanguageCommon; //# sourceMappingURL=helper.js.map