UNPKG

@ui5/task-adaptation

Version:

Custom task for ui5-builder which allows building UI5 Flexibility Adaptation Projects for SAP BTP, Cloud Foundry environment

44 lines 1.79 kB
const DEFAULT_LANGUAGE = "en"; export default class Language { sap; i18n; isDefault; constructor(sap, i18n, isDefault = false) { this.sap = sap; this.i18n = i18n; this.isDefault = isDefault; } /** * Create a language array from languages in configuration and default language. * @param languages Typically an array of objects. Probably could be undefined. * @returns An array of type Language, where the default language is placed first, * followed by the passed config languages. */ static create(languages) { let configLanguages = []; if (languages !== undefined) { configLanguages = languages.map(item => { if (typeof item === "string") { // For legacy language format support which is just a string and doesn't contain i18n return new Language(item, item.toLowerCase()); } else if (item.sap !== undefined && item.i18n !== undefined) { return new Language(item.sap, item.i18n); } else { throw new Error("Can not parse languages from ui5.yaml configuration. Please use the 'AdaptationProject: Create wizard' to generate the project."); } }); } let defaultLanguage = configLanguages.find(language => language.sap.toLowerCase() === DEFAULT_LANGUAGE) ?? configLanguages[0]; if (defaultLanguage) { defaultLanguage.isDefault = true; } else { return [new Language(DEFAULT_LANGUAGE.toUpperCase(), DEFAULT_LANGUAGE, true), ...configLanguages]; } return configLanguages; } ; } //# sourceMappingURL=language.js.map