@next-bricks/form-platform 0.2.39 → 0.2.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +1 -1
- package/dist/chunks/2108.ef6114fd.js +2 -0
- package/dist/chunks/2108.ef6114fd.js.map +1 -0
- package/dist/chunks/4991.2b48c6de.js +2 -0
- package/dist/chunks/4991.2b48c6de.js.map +1 -0
- package/dist/chunks/{6051.cc968873.js → 6051.fef48d3d.js} +2 -2
- package/dist/chunks/6051.fef48d3d.js.map +1 -0
- package/dist/chunks/{6205.9e446c03.js → 6205.61f627c0.js} +2 -2
- package/dist/chunks/{6205.9e446c03.js.map → 6205.61f627c0.js.map} +1 -1
- package/dist/chunks/{721.c5ac9ef2.js → 682.cb14293d.js} +3 -3
- package/dist/chunks/{721.c5ac9ef2.js.map → 682.cb14293d.js.map} +1 -1
- package/dist/chunks/{7164.ea22feb2.js → 7164.73e12d46.js} +2 -2
- package/dist/chunks/{7164.ea22feb2.js.map → 7164.73e12d46.js.map} +1 -1
- package/dist/chunks/{9213.7c396eda.js → 9213.85635d7e.js} +3 -3
- package/dist/chunks/{9213.7c396eda.js.map → 9213.85635d7e.js.map} +1 -1
- package/dist/chunks/{9401.266eced5.js → 9401.f8f3f9cc.js} +2 -2
- package/dist/chunks/{9401.266eced5.js.map → 9401.f8f3f9cc.js.map} +1 -1
- package/dist/chunks/{eo-user-or-user-group-select.4cadaaac.js → eo-user-or-user-group-select.35774ab6.js} +2 -2
- package/dist/chunks/{eo-user-or-user-group-select.4cadaaac.js.map → eo-user-or-user-group-select.35774ab6.js.map} +1 -1
- package/dist/chunks/main.c6c7a633.js +2 -0
- package/dist/chunks/{main.bf457eab.js.map → main.c6c7a633.js.map} +1 -1
- package/dist/index.686c9512.js +2 -0
- package/dist/{index.37ef1465.js.map → index.686c9512.js.map} +1 -1
- package/package.json +3 -3
- package/dist/chunks/2108.632e5562.js +0 -2
- package/dist/chunks/2108.632e5562.js.map +0 -1
- package/dist/chunks/4991.bef8910a.js +0 -2
- package/dist/chunks/4991.bef8910a.js.map +0 -1
- package/dist/chunks/6051.cc968873.js.map +0 -1
- package/dist/chunks/main.bf457eab.js +0 -2
- package/dist/index.37ef1465.js +0 -2
- /package/dist/chunks/{721.c5ac9ef2.js.LICENSE.txt → 682.cb14293d.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{9213.7c396eda.js.LICENSE.txt → 9213.85635d7e.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/4991.bef8910a.js","mappings":"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","sources":["webpack:///../../node_modules/i18next/dist/esm/i18next.js"],"sourcesContent":["const consoleLogger = {\n type: 'logger',\n log(args) {\n this.output('log', args);\n },\n warn(args) {\n this.output('warn', args);\n },\n error(args) {\n this.output('error', args);\n },\n output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nclass Logger {\n constructor(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.init(concreteLogger, options);\n }\n init(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = `${prefix}${this.prefix} ${args[0]}`;\n return this.logger[lvl](args);\n }\n create(moduleName) {\n return new Logger(this.logger, {\n ...{\n prefix: `${this.prefix}:${moduleName}:`\n },\n ...this.options\n });\n }\n clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n}\nvar baseLogger = new Logger();\n\nclass EventEmitter {\n constructor() {\n this.observers = {};\n }\n on(events, listener) {\n events.split(' ').forEach(event => {\n this.observers[event] = this.observers[event] || [];\n this.observers[event].push(listener);\n });\n return this;\n }\n off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(l => l !== listener);\n }\n emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n const cloned = [].concat(this.observers[event]);\n cloned.forEach(observer => {\n observer(...args);\n });\n }\n if (this.observers['*']) {\n const cloned = [].concat(this.observers['*']);\n cloned.forEach(observer => {\n observer.apply(observer, [event, ...args]);\n });\n }\n }\n}\n\nfunction defer() {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(m => {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n const stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n const key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n const {\n obj,\n k\n } = getLastOfPath(object, path);\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n const value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (const prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, s => _entityMap[s]);\n }\n return data;\n}\nconst chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0);\n if (possibleChars.length === 0) return true;\n const r = new RegExp(`(${possibleChars.map(c => c === '?' ? '\\\\?' : c).join('|')})`);\n let matched = !r.test(key);\n if (!matched) {\n const ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\nfunction deepFind(obj, path) {\n let keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n const paths = path.split(keySeparator);\n let current = obj;\n for (let i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n let j = 2;\n let p = paths.slice(i, i + j).join(keySeparator);\n let mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n const joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\nfunction getCleanedCode(code) {\n if (code && code.indexOf('_') > 0) return code.replace('_', '-');\n return code;\n}\n\nclass ResourceStore extends EventEmitter {\n constructor(data) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n super();\n this.data = data || {};\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n if (this.options.ignoreJSONStructure === undefined) {\n this.options.ignoreJSONStructure = true;\n }\n }\n addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n removeNamespaces(ns) {\n const index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n getResource(lng, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n let path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n const result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n addResource(lng, ns, key, value) {\n let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n addResources(lng, ns, resources) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (const m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n addResourceBundle(lng, ns, resources, deep, overwrite) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n let path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n let pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = {\n ...pack,\n ...resources\n };\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return {\n ...{},\n ...this.getResource(lng, ns)\n };\n return this.getResource(lng, ns);\n }\n getDataByLanguage(lng) {\n return this.data[lng];\n }\n hasLanguageSomeTranslations(lng) {\n const data = this.getDataByLanguage(lng);\n const n = data && Object.keys(data) || [];\n return !!n.find(v => data[v] && Object.keys(data[v]).length > 0);\n }\n toJSON() {\n return this.data;\n }\n}\n\nvar postProcessor = {\n processors: {},\n addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle(processors, value, key, options, translator) {\n processors.forEach(processor => {\n if (this.processors[processor]) value = this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nconst checkedLoadedFor = {};\nclass Translator extends EventEmitter {\n constructor(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n super();\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this);\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n this.logger = baseLogger.create('translator');\n }\n changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n exists(key) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n const resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n extractFromKey(key, options) {\n let nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let namespaces = options.ns || this.options.defaultNS || [];\n const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n const m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key,\n namespaces\n };\n }\n const parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key,\n namespaces\n };\n }\n translate(keys, options, lastKey) {\n if (typeof options !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (typeof options === 'object') options = {\n ...options\n };\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n const returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const {\n key,\n namespaces\n } = this.extractFromKey(keys[keys.length - 1], options);\n const namespace = namespaces[namespaces.length - 1];\n const lng = options.lng || this.language;\n const appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n const nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: `${namespace}${nsSeparator}${key}`,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return `${namespace}${nsSeparator}${key}`;\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return key;\n }\n const resolved = this.resolve(keys, options);\n let res = resolved && resolved.res;\n const resUsedKey = resolved && resolved.usedKey || key;\n const resExactUsedKey = resolved && resolved.exactUsedKey || key;\n const resType = Object.prototype.toString.apply(res);\n const noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n const joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n const handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, {\n ...options,\n ns: namespaces\n }) : `key '${key} (${this.language})' returned an object instead of string.`;\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n const resTypeIsArray = resType === '[object Array]';\n const copy = resTypeIsArray ? [] : {};\n const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (const m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n const deepKey = `${newKeyToUse}${keySeparator}${m}`;\n copy[m] = this.translate(deepKey, {\n ...options,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n let usedDefault = false;\n let usedKey = false;\n const needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n const hasDefaultValue = Translator.hasDefaultValue(options);\n const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n const defaultValueSuffixOrdinalFallback = options.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, {\n ordinal: false\n }) : '';\n const defaultValue = options[`defaultValue${defaultValueSuffix}`] || options[`defaultValue${defaultValueSuffixOrdinalFallback}`] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n const missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n const fk = this.resolve(key, {\n ...options,\n keySeparator: false\n });\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n let lngs = [];\n const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (let i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n const send = (l, k, specificDefaultValue) => {\n const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (this.options.missingKeyHandler) {\n this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (this.backendConnector && this.backendConnector.saveMissing) {\n this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n this.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(language => {\n this.pluralResolver.getSuffixes(language, options).forEach(suffix => {\n send([language], key + suffix, options[`defaultValue${suffix}`] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = `${namespace}:${key}`;\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}:${key}` : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n extendTranslation(res, key, options, resolved, lastKey) {\n var _this = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, {\n ...this.options.interpolation.defaultVariables,\n ...options\n }, options.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init({\n ...options,\n ...{\n interpolation: {\n ...this.options.interpolation,\n ...options.interpolation\n }\n }\n });\n const skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n let nestBef;\n if (skipOnVariables) {\n const nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n let data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n const na = res.match(this.interpolator.nestingRegexp);\n const nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`);\n return null;\n }\n return _this.translate(...args, key);\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n const postProcess = options.postProcess || this.options.postProcess;\n const postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {\n i18nResolved: resolved,\n ...options\n } : options, this);\n }\n return res;\n }\n resolve(keys) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let found;\n let usedKey;\n let exactUsedKey;\n let usedLng;\n let usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(k => {\n if (this.isValidLookup(found)) return;\n const extracted = this.extractFromKey(k, options);\n const key = extracted.key;\n usedKey = key;\n let namespaces = extracted.namespaces;\n if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS);\n const needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n const needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && this.pluralResolver.shouldUseIntlApi();\n const needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n const codes = options.lngs ? options.lngs : this.languageUtils.toResolveHierarchy(options.lng || this.language, options.fallbackLng);\n namespaces.forEach(ns => {\n if (this.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils && this.utils.hasLoadedNamespace && !this.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[`${codes[0]}-${ns}`] = true;\n this.logger.warn(`key \"${usedKey}\" for languages \"${codes.join(', ')}\" won't get resolved as namespace \"${usedNS}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(code => {\n if (this.isValidLookup(found)) return;\n usedLng = code;\n const finalKeys = [key];\n if (this.i18nFormat && this.i18nFormat.addLookupKeys) {\n this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n let pluralSuffix;\n if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, options.count, options);\n const zeroSuffix = `${this.options.pluralSeparator}zero`;\n const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n const contextKey = `${key}${this.options.contextSeparator}${options.context}`;\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n let possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!this.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = this.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey,\n exactUsedKey,\n usedLng,\n usedNS\n };\n }\n isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n getResource(code, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n static hasDefaultValue(options) {\n const prefix = 'defaultValue';\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n}\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nclass LanguageUtil {\n constructor(options) {\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n getScriptPartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return null;\n const p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n getLanguagePartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return code;\n const p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n const specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n let p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(part => part.toLowerCase());\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n getBestMatchFromCodes(codes) {\n if (!codes) return null;\n let found;\n codes.forEach(code => {\n if (found) return;\n const cleanedLng = this.formatLanguageCode(code);\n if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(code => {\n if (found) return;\n const lngOnly = this.getLanguagePartFromCode(code);\n if (this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = this.options.supportedLngs.find(supportedLng => {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks.default || [];\n let found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks.default;\n return found || [];\n }\n toResolveHierarchy(code, fallbackCode) {\n const fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n const codes = [];\n const addCode = c => {\n if (!c) return;\n if (this.isSupportedCode(c)) {\n codes.push(c);\n } else {\n this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`);\n }\n };\n if (typeof code === 'string' && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(fc => {\n if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc));\n });\n return codes;\n }\n}\n\nlet sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nlet _rulesPluralsTypes = {\n 1: function (n) {\n return Number(n > 1);\n },\n 2: function (n) {\n return Number(n != 1);\n },\n 3: function (n) {\n return 0;\n },\n 4: function (n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function (n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function (n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function (n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function (n) {\n return Number(n >= 2);\n },\n 10: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function (n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function (n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function (n) {\n return Number(n !== 0);\n },\n 14: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function (n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function (n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function (n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function (n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function (n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function (n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function (n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nconst nonIntlVersions = ['v1', 'v2', 'v3'];\nconst intlVersions = ['v4'];\nconst suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n const rules = {};\n sets.forEach(set => {\n set.lngs.forEach(l => {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nclass PluralResolver {\n constructor(languageUtils) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || intlVersions.includes(this.options.compatibilityJSON)) && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n getRule(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(getCleanedCode(code), {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n needsPlural(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n getPluralFormsOfKey(code, key) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`);\n }\n getSuffixes(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`);\n }\n return rule.numbers.map(number => this.getSuffix(code, number, options));\n }\n getSuffix(code, count) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`;\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(`no plural rule found for: ${code}`);\n return '';\n }\n getSuffixRetroCompatible(rule, count) {\n const idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n let suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n const returnSuffix = () => this.options.prepend && suffix.toString() ? this.options.prepend + suffix.toString() : suffix.toString();\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return `_plural_${suffix.toString()}`;\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n shouldUseIntlApi() {\n return !nonIntlVersions.includes(this.options.compatibilityJSON);\n }\n}\n\nfunction deepFindWithDefaults(data, defaultData, key) {\n let keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n let ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n let path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && typeof key === 'string') {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n}\nclass Interpolator {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || (value => value);\n this.init(options);\n }\n init() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n const iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n reset() {\n if (this.options) this.init(this.options);\n }\n resetRegExp() {\n const regexpStr = `${this.prefix}(.+?)${this.suffix}`;\n this.regexp = new RegExp(regexpStr, 'g');\n const regexpUnescapeStr = `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n const nestingRegexpStr = `${this.nestingPrefix}(.+?)${this.nestingSuffix}`;\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n interpolate(str, data, lng, options) {\n let match;\n let value;\n let replaces;\n const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n const handleFormat = key => {\n if (key.indexOf(this.formatSeparator) < 0) {\n const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure);\n return this.alwaysFormat ? this.format(path, undefined, lng, {\n ...options,\n ...data,\n interpolationkey: key\n }) : path;\n }\n const p = key.split(this.formatSeparator);\n const k = p.shift().trim();\n const f = p.join(this.formatSeparator).trim();\n return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, {\n ...options,\n ...data,\n interpolationkey: k\n });\n };\n this.resetRegExp();\n const missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n const skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n const todos = [{\n regex: this.regexpUnescape,\n safeValue: val => regexSafe(val)\n }, {\n regex: this.regexp,\n safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val)\n }];\n todos.forEach(todo => {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n const matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n const temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`);\n value = '';\n }\n } else if (typeof value !== 'string' && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n const safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n nest(str, fc) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let match;\n let value;\n let clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n const sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n const c = key.split(new RegExp(`${sep}[ ]*{`));\n let optionsString = `{${c[1]}`;\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n const matchedSingleQuotes = optionsString.match(/'/g);\n const matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = {\n ...inheritedOptions,\n ...clonedOptions\n };\n } catch (e) {\n this.logger.warn(`failed parsing options string in nesting for key ${key}`, e);\n return `${key}${sep}${optionsString}`;\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n let formatters = [];\n clonedOptions = {\n ...options\n };\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n let doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n const r = match[1].split(this.formatSeparator).map(elem => elem.trim());\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce((v, f) => this.format(v, f, options.lng, {\n ...options,\n interpolationkey: match[1].trim()\n }), value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n}\n\nfunction parseFormatStr(formatStr) {\n let formatName = formatStr.toLowerCase().trim();\n const formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n const p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n const optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n const opts = optStr.split(';');\n opts.forEach(opt => {\n if (!opt) return;\n const [key, ...rest] = opt.split(':');\n const val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName,\n formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n const cache = {};\n return function invokeFormatter(val, lng, options) {\n const key = lng + JSON.stringify(options);\n let formatter = cache[key];\n if (!formatter) {\n formatter = fn(getCleanedCode(lng), options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nclass Formatter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n currency: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt,\n style: 'currency'\n });\n return val => formatter.format(val);\n }),\n datetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.DateTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n relativetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.RelativeTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val, opt.range || 'day');\n }),\n list: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.ListFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n })\n };\n this.init(options);\n }\n init(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n const iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n format(value, format, lng) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const formats = format.split(this.formatSeparator);\n const result = formats.reduce((mem, f) => {\n const {\n formatName,\n formatOptions\n } = parseFormatStr(f);\n if (this.formats[formatName]) {\n let formatted = mem;\n try {\n const valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = this.formats[formatName](mem, l, {\n ...formatOptions,\n ...options,\n ...valOptions\n });\n } catch (error) {\n this.logger.warn(error);\n }\n return formatted;\n } else {\n this.logger.warn(`there was no format function for ${formatName}`);\n }\n return mem;\n }, value);\n return result;\n }\n}\n\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nclass Connector extends EventEmitter {\n constructor(backend, store, services) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n super();\n this.backend = backend;\n this.store = store;\n this.services = services;\n this.languageUtils = services.languageUtils;\n this.options = options;\n this.logger = baseLogger.create('backendConnector');\n this.waitingReads = [];\n this.maxParallelReads = options.maxParallelReads || 10;\n this.readingCalls = 0;\n this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n this.state = {};\n this.queue = [];\n if (this.backend && this.backend.init) {\n this.backend.init(services, options.backend, options);\n }\n }\n queueLoad(languages, namespaces, options, callback) {\n const toLoad = {};\n const pending = {};\n const toLoadLanguages = {};\n const toLoadNamespaces = {};\n languages.forEach(lng => {\n let hasAllNamespaces = true;\n namespaces.forEach(ns => {\n const name = `${lng}|${ns}`;\n if (!options.reload && this.store.hasResourceBundle(lng, ns)) {\n this.state[name] = 2;\n } else if (this.state[name] < 0) ; else if (this.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n this.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n loaded(name, err, data) {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n const loaded = {};\n this.queue.forEach(q => {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(l => {\n if (!loaded[l]) loaded[l] = {};\n const loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(n => {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(q => !q.done);\n }\n read(lng, ns, fcName) {\n let tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n let wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n let callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng,\n ns,\n fcName,\n tried,\n wait,\n callback\n });\n return;\n }\n this.readingCalls++;\n const resolver = (err, data) => {\n this.readingCalls--;\n if (this.waitingReads.length > 0) {\n const next = this.waitingReads.shift();\n this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < this.maxRetries) {\n setTimeout(() => {\n this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n const fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n const r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(data => resolver(null, data)).catch(resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n prepareLoading(languages, namespaces) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n const toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(name => {\n this.loadOne(name);\n });\n }\n load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n loadOne(name) {\n let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, (err, data) => {\n if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err);\n if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data);\n this.loaded(name, err, data);\n });\n }\n saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n let clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : () => {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(`did not save key \"${key}\" as the namespace \"${namespace}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n const opts = {\n ...options,\n isUpdate\n };\n const fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n let r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(data => clb(null, data)).catch(clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n}\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: false,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n let ret = {};\n if (typeof args[1] === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (typeof args[2] === 'object' || typeof args[3] === 'object') {\n const options = args[3] || args[2];\n Object.keys(options).forEach(key => {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: (value, format, lng, options) => value,\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(mem => {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nclass I18n extends EventEmitter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n super();\n this.options = transformOptions(options);\n this.services = {};\n this.logger = baseLogger;\n this.modules = {\n external: []\n };\n bindMemberFunctions(this);\n if (callback && !this.isInitialized && !options.isClone) {\n if (!this.options.initImmediate) {\n this.init(options, callback);\n return this;\n }\n setTimeout(() => {\n this.init(options, callback);\n }, 0);\n }\n }\n init() {\n var _this = this;\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n const defOpts = get();\n this.options = {\n ...defOpts,\n ...this.options,\n ...transformOptions(options)\n };\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation\n };\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n let formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n const lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n const s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this.emit(event, ...args);\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this.emit(event, ...args);\n });\n this.modules.external.forEach(m => {\n if (m.init) m.init(this);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(fcName => {\n this[fcName] = function () {\n return _this.store[fcName](...arguments);\n };\n });\n const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(fcName => {\n this[fcName] = function () {\n _this.store[fcName](...arguments);\n return _this;\n };\n });\n const deferred = defer();\n const load = () => {\n const finish = (err, t) => {\n if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!');\n this.isInitialized = true;\n if (!this.options.isClone) this.logger.log('initialized', this.options);\n this.emit('initialized', this.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (this.languages && this.options.compatibilityAPI !== 'v1' && !this.isInitialized) return finish(null, this.t.bind(this));\n this.changeLanguage(this.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n loadResources(language) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n let usedCallback = callback;\n const usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback();\n const toLoad = [];\n const append = lng => {\n if (!lng) return;\n if (lng === 'cimode') return;\n const lngs = this.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(l => {\n if (l === 'cimode') return;\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(l => append(l));\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(l => append(l));\n }\n this.services.backendConnector.load(toLoad, this.options.ns, e => {\n if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n reloadResources(lngs, ns, callback) {\n const deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, err => {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (let li = 0; li < this.languages.length; li++) {\n const lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n changeLanguage(lng, callback) {\n var _this2 = this;\n this.isLanguageChangingTo = lng;\n const deferred = defer();\n this.emit('languageChanging', lng);\n const setLngProps = l => {\n this.language = l;\n this.languages = this.services.languageUtils.toResolveHierarchy(l);\n this.resolvedLanguage = undefined;\n this.setResolvedLanguage(l);\n };\n const done = (err, l) => {\n if (l) {\n setLngProps(l);\n this.translator.changeLanguage(l);\n this.isLanguageChangingTo = undefined;\n this.emit('languageChanged', l);\n this.logger.log('languageChanged', l);\n } else {\n this.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this2.t(...arguments);\n });\n if (callback) callback(err, function () {\n return _this2.t(...arguments);\n });\n };\n const setLng = lngs => {\n if (!lng && !lngs && this.services.languageDetector) lngs = [];\n const l = typeof lngs === 'string' ? lngs : this.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!this.language) {\n setLngProps(l);\n }\n if (!this.translator.language) this.translator.changeLanguage(l);\n if (this.services.languageDetector && this.services.languageDetector.cacheUserLanguage) this.services.languageDetector.cacheUserLanguage(l);\n }\n this.loadResources(l, err => {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n getFixedT(lng, ns, keyPrefix) {\n var _this3 = this;\n const fixedT = function (key, opts) {\n let options;\n if (typeof opts !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this3.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = {\n ...opts\n };\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n const keySeparator = _this3.options.keySeparator || '.';\n let resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(k => `${options.keyPrefix}${keySeparator}${k}`);\n } else {\n resultKey = options.keyPrefix ? `${options.keyPrefix}${keySeparator}${key}` : key;\n }\n return _this3.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n t() {\n return this.translator && this.translator.translate(...arguments);\n }\n exists() {\n return this.translator && this.translator.exists(...arguments);\n }\n setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n hasLoadedNamespace(ns) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n const lng = options.lng || this.resolvedLanguage || this.languages[0];\n const fallbackLng = this.options ? this.options.fallbackLng : false;\n const lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = this.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n const preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n loadNamespaces(ns, callback) {\n const deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(n => {\n if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n);\n });\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n loadLanguages(lngs, callback) {\n const deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n const preloaded = this.options.preload || [];\n const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0);\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n const languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n static createInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n cloneInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n const forkResourceStore = options.forkResourceStore;\n if (forkResourceStore) delete options.forkResourceStore;\n const mergedOptions = {\n ...this.options,\n ...options,\n ...{\n isClone: true\n }\n };\n const clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n const membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(m => {\n clone[m] = this[m];\n });\n clone.services = {\n ...this.services\n };\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n if (forkResourceStore) {\n clone.store = new ResourceStore(this.store.data, mergedOptions);\n clone.services.resourceStore = clone.store;\n }\n clone.translator = new Translator(clone.services, mergedOptions);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit(event, ...args);\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = mergedOptions;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n}\nconst instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nconst createInstance = instance.createInstance;\nconst dir = instance.dir;\nconst init = instance.init;\nconst loadResources = instance.loadResources;\nconst reloadResources = instance.reloadResources;\nconst use = instance.use;\nconst changeLanguage = instance.changeLanguage;\nconst getFixedT = instance.getFixedT;\nconst t = instance.t;\nconst exists = instance.exists;\nconst setDefaultNamespace = instance.setDefaultNamespace;\nconst hasLoadedNamespace = instance.hasLoadedNamespace;\nconst loadNamespaces = instance.loadNamespaces;\nconst loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n"],"names":["consoleLogger","type","log","args","this","output","warn","error","console","apply","Logger","constructor","concreteLogger","options","arguments","length","undefined","init","prefix","logger","debug","_len","Array","_key","forward","_len2","_key2","_len3","_key3","deprecate","_len4","_key4","lvl","debugOnly","create","moduleName","clone","baseLogger","EventEmitter","observers","on","events","listener","split","forEach","event","push","off","filter","l","emit","concat","observer","defer","res","rej","promise","Promise","resolve","reject","makeString","object","getLastOfPath","path","Empty","cleanKey","key","indexOf","replace","canNotTraverseDeeper","stack","shift","Object","prototype","hasOwnProperty","call","obj","k","setPath","newValue","getPath","deepExtend","target","source","overwrite","prop","String","regexEscape","str","_entityMap","escape","data","s","chars","deepFind","keySeparator","paths","current","i","j","p","slice","join","mix","endsWith","joinedPath","getCleanedCode","code","ResourceStore","ns","defaultNS","super","ignoreJSONStructure","addNamespaces","removeNamespaces","index","splice","getResource","lng","result","addResource","value","silent","addResources","resources","m","toString","addResourceBundle","deep","pack","removeResourceBundle","hasResourceBundle","getResourceBundle","compatibilityAPI","getDataByLanguage","hasLanguageSomeTranslations","keys","find","v","toJSON","postProcessor","processors","addPostProcessor","module","name","handle","translator","processor","process","checkedLoadedFor","Translator","services","a","t","copy","changeLanguage","language","exists","interpolation","resolved","extractFromKey","nsSeparator","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","c","r","RegExp","map","matched","test","ki","substring","looksLikeObjectPath","match","interpolator","nestingRegexp","parts","translate","lastKey","overloadTranslationOptionHandler","isArray","returnDetails","namespace","appendNamespaceToCIMode","toLowerCase","usedKey","exactUsedKey","usedLng","usedNS","resUsedKey","resExactUsedKey","resType","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","extendTranslation","usedDefault","needsPluralHandling","count","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValueSuffixOrdinalFallback","ordinal","defaultValue","isValidLookup","resForMissing","missingKeyNoValueFallbackToKey","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","send","specificDefaultValue","defaultForMissing","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","_this","parse","defaultVariables","skipInterpolation","skipOnVariables","nestBef","nb","interpolate","na","nest","context","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","extracted","fallbackNS","needsZeroSuffixLookup","shouldUseIntlApi","needsContextHandling","codes","utils","hasLoadedNamespace","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","pluralSeparator","ordinalPrefix","contextKey","contextSeparator","possibleKey","pop","returnNull","returnEmptyString","resourceStore","static","option","capitalize","string","charAt","toUpperCase","LanguageUtil","supportedLngs","getScriptPartFromCode","formatLanguageCode","getLanguagePartFromCode","specialCases","lowerCaseLng","part","cleanCode","isSupportedCode","load","nonExplicitSupportedLngs","getBestMatchFromCodes","cleanedLng","lngOnly","supportedLng","fallbacks","default","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","n","Number","nonIntlVersions","intlVersions","suffixesOrder","zero","one","two","few","many","other","PluralResolver","compatibilityJSON","includes","Intl","PluralRules","rules","set","numbers","plurals","createRules","addRule","getRule","needsPlural","rule","resolvedOptions","pluralCategories","getPluralFormsOfKey","sort","pluralCategory1","pluralCategory2","pluralCategory","prepend","number","select","getSuffixRetroCompatible","idx","noAbs","Math","abs","simplifyPluralSuffix","returnSuffix","deepFindWithDefaults","defaultData","getPathWithDefaults","Interpolator","format","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","val","handleFormat","interpolationkey","trim","f","missingInterpolationHandler","regex","safeValue","todo","exec","matchedVar","temp","lastIndex","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","JSON","e","formatters","doReduce","elem","reduce","createCachedFormatter","fn","cache","stringify","formatter","Formatter","formats","opt","NumberFormat","currency","style","datetime","DateTimeFormat","relativetime","RelativeTimeFormat","range","list","ListFormat","add","addCached","mem","formatName","formatOptions","formatStr","optStr","rest","isNaN","parseInt","parseFormatStr","formatted","valOptions","formatParams","locale","Connector","backend","store","waitingReads","maxParallelReads","readingCalls","maxRetries","retryTimeout","state","queue","queueLoad","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","pendingCount","loaded","errors","err","q","pushPath","removePending","done","loadedKeys","read","fcName","tried","wait","resolver","next","setTimeout","bind","then","catch","prepareLoading","loadOne","fallbackValue","isUpdate","clb","opts","get","initImmediate","preload","partialBundledLanguages","ret","tDescription","transformOptions","noop","I18n","inst","modules","external","getOwnPropertyNames","getPrototypeOf","isInitialized","isClone","defOpts","createClassOnDemand","ClassOrObject","lu","languageDetector","detection","deferred","finish","initializedStoreOnce","loadResources","usedCallback","append","resolvedLanguage","setResolvedLanguage","reloadResources","use","Error","li","lngInLngs","_this2","isLanguageChangingTo","setLngProps","setLng","cacheUserLanguage","async","detect","getFixedT","keyPrefix","_this3","fixedT","resultKey","setDefaultNamespace","lastLng","loadNotPending","loadState","precheck","preResult","loadNamespaces","loadLanguages","preloaded","newLngs","dir","cloneInstance","forkResourceStore","mergedOptions","instance","createInstance"],"sourceRoot":""}
|