|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- "use strict";
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.warn = warn;
- exports.warnOnce = warnOnce;
- exports.loadNamespaces = loadNamespaces;
- exports.hasLoadedNamespace = hasLoadedNamespace;
- exports.getDisplayName = getDisplayName;
-
- function warn() {
- if (console && console.warn) {
- var _console;
-
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
- args[_key] = arguments[_key];
- }
-
- if (typeof args[0] === 'string') args[0] = "react-i18next:: ".concat(args[0]);
-
- (_console = console).warn.apply(_console, args);
- }
- }
-
- var alreadyWarned = {};
-
- function warnOnce() {
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
- args[_key2] = arguments[_key2];
- }
-
- if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;
- if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();
- warn.apply(void 0, args);
- } // not needed right now
- //
- // export function deprecated(...args) {
- // if (process && process.env && (!process.env.NODE_ENV || process.env.NODE_ENV === 'development')) {
- // if (typeof args[0] === 'string') args[0] = `deprecation warning -> ${args[0]}`;
- // warnOnce(...args);
- // }
- // }
-
-
- function loadNamespaces(i18n, ns, cb) {
- i18n.loadNamespaces(ns, function () {
- // delay ready if not yet initialized i18n instance
- if (i18n.isInitialized) {
- cb();
- } else {
- var initialized = function initialized() {
- // due to emitter removing issue in i18next we need to delay remove
- setTimeout(function () {
- i18n.off('initialized', initialized);
- }, 0);
- cb();
- };
-
- i18n.on('initialized', initialized);
- }
- });
- }
-
- function hasLoadedNamespace(ns, i18n) {
- if (!i18n.languages || !i18n.languages.length) {
- warnOnce('i18n.languages were undefined or empty', i18n.languages);
- return true;
- }
-
- var lng = i18n.languages[0];
- var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;
- var lastLng = i18n.languages[i18n.languages.length - 1]; // we're in cimode so this shall pass
-
- if (lng.toLowerCase() === 'cimode') return true;
-
- var loadNotPending = function loadNotPending(l, n) {
- var loadState = i18n.services.backendConnector.state["".concat(l, "|").concat(n)];
- return loadState === -1 || loadState === 2;
- }; // loaded -> SUCCESS
-
-
- if (i18n.hasResourceBundle(lng, ns)) return true; // were not loading at all -> SEMI SUCCESS
-
- if (!i18n.services.backendConnector.backend) return true; // failed loading ns - but at least fallback is not pending -> SEMI SUCCESS
-
- if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;
- return false;
- }
-
- function getDisplayName(Component) {
- return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');
- }
|