You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							97 lines
						
					
					
						
							3.3 KiB
						
					
					
				
			
		
		
	
	
							97 lines
						
					
					
						
							3.3 KiB
						
					
					
				| "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);
 | |
| }
 | |
| 
 | |
| function loadNamespaces(i18n, ns, cb) {
 | |
|   i18n.loadNamespaces(ns, function () {
 | |
|     if (i18n.isInitialized) {
 | |
|       cb();
 | |
|     } else {
 | |
|       var initialized = function initialized() {
 | |
|         setTimeout(function () {
 | |
|           i18n.off('initialized', initialized);
 | |
|         }, 0);
 | |
|         cb();
 | |
|       };
 | |
| 
 | |
|       i18n.on('initialized', initialized);
 | |
|     }
 | |
|   });
 | |
| }
 | |
| 
 | |
| function oldI18nextHasLoadedNamespace(ns, i18n) {
 | |
|   var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
 | |
|   var lng = i18n.languages[0];
 | |
|   var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;
 | |
|   var lastLng = i18n.languages[i18n.languages.length - 1];
 | |
|   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;
 | |
|   };
 | |
| 
 | |
|   if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;
 | |
|   if (i18n.hasResourceBundle(lng, ns)) return true;
 | |
|   if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;
 | |
|   if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;
 | |
|   return false;
 | |
| }
 | |
| 
 | |
| function hasLoadedNamespace(ns, i18n) {
 | |
|   var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
 | |
| 
 | |
|   if (!i18n.languages || !i18n.languages.length) {
 | |
|     warnOnce('i18n.languages were undefined or empty', i18n.languages);
 | |
|     return true;
 | |
|   }
 | |
| 
 | |
|   var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;
 | |
| 
 | |
|   if (!isNewerI18next) {
 | |
|     return oldI18nextHasLoadedNamespace(ns, i18n, options);
 | |
|   }
 | |
| 
 | |
|   return i18n.hasLoadedNamespace(ns, {
 | |
|     precheck: function precheck(i18nInstance, loadNotPending) {
 | |
|       if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;
 | |
|     }
 | |
|   });
 | |
| }
 | |
| 
 | |
| function getDisplayName(Component) {
 | |
|   return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');
 | |
| } |