{"version":3,"file":"index.mjs","sources":["../../../src/I18n/index.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger } from '../Logger';\nimport { I18n as I18nClass } from './I18n';\nimport { I18nErrorCode, assert } from './errorHelpers';\nconst logger = new ConsoleLogger('I18n');\nlet _config = { language: null };\nlet _i18n = null;\n/**\n * Export I18n APIs\n */\nexport class I18n {\n    /**\n     * @static\n     * @method\n     * Configure I18n part\n     * @param {Object} config - Configuration of the I18n\n     */\n    static configure(config) {\n        logger.debug('configure I18n');\n        if (!config) {\n            return _config;\n        }\n        _config = Object.assign({}, _config, config.I18n || config);\n        I18n.createInstance();\n        return _config;\n    }\n    static getModuleName() {\n        return 'I18n';\n    }\n    /**\n     * @static\n     * @method\n     * Create an instance of I18n for the library\n     */\n    static createInstance() {\n        logger.debug('create I18n instance');\n        if (_i18n) {\n            return;\n        }\n        _i18n = new I18nClass();\n    }\n    /**\n     * @static @method\n     * Explicitly setting language\n     * @param {String} lang\n     */\n    static setLanguage(lang) {\n        I18n.checkConfig();\n        assert(!!_i18n, I18nErrorCode.NotConfigured);\n        _i18n.setLanguage(lang);\n    }\n    /**\n     * @static @method\n     * Get value\n     * @param {String} key\n     * @param {String} defVal - Default value\n     */\n    static get(key, defVal) {\n        if (!I18n.checkConfig()) {\n            return typeof defVal === 'undefined' ? key : defVal;\n        }\n        assert(!!_i18n, I18nErrorCode.NotConfigured);\n        return _i18n.get(key, defVal);\n    }\n    /**\n     * @static\n     * @method\n     * Add vocabularies for one language\n     * @param {String} language - Language of the dictionary\n     * @param {Object} vocabularies - Object that has key-value as dictionary entry\n     */\n    static putVocabulariesForLanguage(language, vocabularies) {\n        I18n.checkConfig();\n        assert(!!_i18n, I18nErrorCode.NotConfigured);\n        _i18n.putVocabulariesForLanguage(language, vocabularies);\n    }\n    /**\n     * @static\n     * @method\n     * Add vocabularies for one language\n     * @param {Object} vocabularies - Object that has language as key,\n     *                                vocabularies of each language as value\n     */\n    static putVocabularies(vocabularies) {\n        I18n.checkConfig();\n        assert(!!_i18n, I18nErrorCode.NotConfigured);\n        _i18n.putVocabularies(vocabularies);\n    }\n    static checkConfig() {\n        if (!_i18n) {\n            I18n.createInstance();\n        }\n        return true;\n    }\n}\n// Create an instance of I18n in the static class\nI18n.createInstance();\n"],"names":["I18nClass"],"mappings":";;;;AAAA;AACA;AAIA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC;AACxC,IAAI,OAAO,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;AAChC,IAAI,KAAK,GAAG,IAAI;AAChB;AACA;AACA;AACO,MAAM,IAAI,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,SAAS,CAAC,MAAM,EAAE;AAC7B,QAAQ,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;AACtC,QAAQ,IAAI,CAAC,MAAM,EAAE;AACrB,YAAY,OAAO,OAAO;AAC1B,QAAQ;AACR,QAAQ,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;AACnE,QAAQ,IAAI,CAAC,cAAc,EAAE;AAC7B,QAAQ,OAAO,OAAO;AACtB,IAAI;AACJ,IAAI,OAAO,aAAa,GAAG;AAC3B,QAAQ,OAAO,MAAM;AACrB,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,cAAc,GAAG;AAC5B,QAAQ,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC;AAC5C,QAAQ,IAAI,KAAK,EAAE;AACnB,YAAY;AACZ,QAAQ;AACR,QAAQ,KAAK,GAAG,IAAIA,MAAS,EAAE;AAC/B,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,WAAW,CAAC,IAAI,EAAE;AAC7B,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,QAAQ,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC;AACpD,QAAQ,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;AAC/B,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE;AAC5B,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;AACjC,YAAY,OAAO,OAAO,MAAM,KAAK,WAAW,GAAG,GAAG,GAAG,MAAM;AAC/D,QAAQ;AACR,QAAQ,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC;AACpD,QAAQ,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;AACrC,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,0BAA0B,CAAC,QAAQ,EAAE,YAAY,EAAE;AAC9D,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,QAAQ,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC;AACpD,QAAQ,KAAK,CAAC,0BAA0B,CAAC,QAAQ,EAAE,YAAY,CAAC;AAChE,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,eAAe,CAAC,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,QAAQ,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC;AACpD,QAAQ,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC;AAC3C,IAAI;AACJ,IAAI,OAAO,WAAW,GAAG;AACzB,QAAQ,IAAI,CAAC,KAAK,EAAE;AACpB,YAAY,IAAI,CAAC,cAAc,EAAE;AACjC,QAAQ;AACR,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ;AACA;AACA,IAAI,CAAC,cAAc,EAAE;;;;"}