/** * @author schukai GmbH */ import {BaseWithOptions} from "../types/basewithoptions.mjs"; import {Locale} from "./locale.mjs" import {Translations} from "./translations.mjs" export {Provider} /** * A provider makes a translation object available. * * ``` * <script type="module"> * import {Provider} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/i18n/provider.mjs'; * new Provider() * </script> * ``` * * @since 1.13.0 * @copyright schukai GmbH * @memberOf Monster.I18n * @see {@link https://datatracker.ietf.org/doc/html/rfc3066} */ class Provider extends BaseWithOptions { /** * @param {Locale|string} locale * @return {Promise} */ getTranslations(locale) { return new Promise((resolve, reject) => { try { resolve(new Translations(locale)); } catch (e) { reject(e); } }); } }