{"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 { I18n as I18nClass } from './I18n';\nimport { ConsoleLogger } from '../Logger';\nimport { assert, I18nErrorCode } 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        return _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} langurage - 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        return _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        return _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":"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"}