"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LocaleBuilder = void 0; const localeFile_1 = require("./localeFile"); const utilities_1 = require("./utilities"); class LocaleBuilder { constructor() { this._locales = {}; } addLocaleString(locale, key, value) { this.getLocaleFile(locale).addResource(key, value); } getLocaleFileResources(locale) { locale = LocaleBuilder.fixLocaleCasing(locale); utilities_1.Utilities.assert(!utilities_1.Utilities.isNullOrUndefined(this._locales[locale]), "requested locale should exist in the manifest: " + locale); return this.getLocaleFile(locale).getResources(); } getLocales() { return Object.keys(this._locales); } getLocaleFile(locale) { locale = LocaleBuilder.fixLocaleCasing(locale); let localeFile = this._locales[locale]; if (utilities_1.Utilities.isNullOrUndefined(localeFile)) { localeFile = this._locales[locale] = new localeFile_1.LocaleFile(); } return localeFile; } static fixLocaleCasing(locale) { if (!utilities_1.Utilities.isNullOrUndefined(locale)) { return locale.toLowerCase(); } return locale; } } exports.LocaleBuilder = LocaleBuilder; //# sourceMappingURL=localeBuilder.js.map