@andre1502/react-utilities 1.0.5 → 1.0.7

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.
Files changed (206) hide show
  1. package/README.md +35 -51
  2. package/dist/Config/Config.d.ts +12 -1
  3. package/dist/EnvironmentEnum-CXTWJxNo.js +10 -0
  4. package/dist/EnvironmentEnum-CXTWJxNo.js.map +1 -0
  5. package/dist/Utils-CJ7ureSW.js +14 -0
  6. package/dist/Utils-CJ7ureSW.js.map +1 -0
  7. package/dist/browser-ponyfill-C-HVh7ck.js +321 -0
  8. package/dist/browser-ponyfill-C-HVh7ck.js.map +1 -0
  9. package/dist/chunk-vKJrgz-R.js +16 -0
  10. package/dist/config-cli-BIF4xuoO.js +1491 -0
  11. package/dist/config-cli-BIF4xuoO.js.map +1 -0
  12. package/dist/config-cli.d.ts +1 -1
  13. package/dist/config-cli.js +3 -222
  14. package/dist/enums/CurrencySymbolEnum.d.ts +6 -5
  15. package/dist/enums/DeviceEnum.d.ts +5 -4
  16. package/dist/enums/EnvironmentEnum.d.ts +6 -5
  17. package/dist/format-BgweN3o5.js +65549 -0
  18. package/dist/format-BgweN3o5.js.map +1 -0
  19. package/dist/format.d.ts +26 -26
  20. package/dist/format.js +2 -55
  21. package/dist/hooks-oAipbPQ2.js +78 -0
  22. package/dist/hooks-oAipbPQ2.js.map +1 -0
  23. package/dist/hooks.js +2 -86
  24. package/dist/i18n-D1jKJPI0.js +1941 -0
  25. package/dist/i18n-D1jKJPI0.js.map +1 -0
  26. package/dist/i18n.js +4 -28
  27. package/dist/index-cli.d.ts +0 -1
  28. package/dist/index-cli.js +3 -28
  29. package/dist/index-rn.js +6 -39
  30. package/dist/index.js +7 -61
  31. package/dist/interfaces/Config/EntryOptions.d.ts +4 -0
  32. package/dist/sentry-rn-DZwIel7y.js +743 -0
  33. package/dist/sentry-rn-DZwIel7y.js.map +1 -0
  34. package/dist/sentry-rn.js +2 -28
  35. package/dist/sentry.js +39 -26
  36. package/dist/sentry.js.map +1 -1
  37. package/dist/utils.js +45 -37
  38. package/dist/utils.js.map +1 -1
  39. package/package.json +56 -86
  40. package/src/Config/Config.ts +48 -1
  41. package/src/Config/GoogleAuth.ts +1 -1
  42. package/src/Sentry/React.ts +2 -4
  43. package/src/Sentry/ReactNative.ts +2 -4
  44. package/src/config-cli.ts +1 -1
  45. package/src/enums/CurrencySymbolEnum.ts +8 -5
  46. package/src/enums/DeviceEnum.ts +6 -4
  47. package/src/enums/EnvironmentEnum.ts +8 -5
  48. package/src/format.ts +32 -32
  49. package/src/index-cli.ts +0 -1
  50. package/src/interfaces/Config/EntryOptions.ts +4 -0
  51. package/dist/Config/Config.js +0 -216
  52. package/dist/Config/Config.js.map +0 -1
  53. package/dist/Config/GoogleAuth.js +0 -68
  54. package/dist/Config/GoogleAuth.js.map +0 -1
  55. package/dist/Config/Locales.js +0 -62
  56. package/dist/Config/Locales.js.map +0 -1
  57. package/dist/Config/Output.js +0 -36
  58. package/dist/Config/Output.js.map +0 -1
  59. package/dist/Config/Sitemap.js +0 -72
  60. package/dist/Config/Sitemap.js.map +0 -1
  61. package/dist/EnvironmentEnum-BjXsfSRZ.js +0 -9
  62. package/dist/EnvironmentEnum-BjXsfSRZ.js.map +0 -1
  63. package/dist/EnvironmentEnum-UcQ6Il1O.js +0 -9
  64. package/dist/EnvironmentEnum-UcQ6Il1O.js.map +0 -1
  65. package/dist/Format/NumberFormat.js +0 -77
  66. package/dist/Format/NumberFormat.js.map +0 -1
  67. package/dist/Format/NumberParser.js +0 -51
  68. package/dist/Format/NumberParser.js.map +0 -1
  69. package/dist/Hooks/useDevice.js +0 -47
  70. package/dist/Hooks/useDevice.js.map +0 -1
  71. package/dist/Hooks/useSound.js +0 -47
  72. package/dist/Hooks/useSound.js.map +0 -1
  73. package/dist/Hooks/useWebSocket.js +0 -120
  74. package/dist/Hooks/useWebSocket.js.map +0 -1
  75. package/dist/I18n/I18n.js +0 -134
  76. package/dist/I18n/I18n.js.map +0 -1
  77. package/dist/NumberFormat-CvvBWhHc.js +0 -89
  78. package/dist/NumberFormat-CvvBWhHc.js.map +0 -1
  79. package/dist/NumberFormat-glmpbk7E.js +0 -94
  80. package/dist/NumberFormat-glmpbk7E.js.map +0 -1
  81. package/dist/React-BaJ1KfGF.js +0 -87
  82. package/dist/React-BaJ1KfGF.js.map +0 -1
  83. package/dist/React-qUl0CBmE.js +0 -109
  84. package/dist/React-qUl0CBmE.js.map +0 -1
  85. package/dist/ReactNative-B4gt8nBr.js +0 -1790
  86. package/dist/ReactNative-B4gt8nBr.js.map +0 -1
  87. package/dist/ReactNative-CDMfQFfN.js +0 -1812
  88. package/dist/ReactNative-CDMfQFfN.js.map +0 -1
  89. package/dist/Sentry/Build.d.ts +0 -9
  90. package/dist/Sentry/Build.js +0 -87
  91. package/dist/Sentry/Build.js.map +0 -1
  92. package/dist/Sentry/React.js +0 -103
  93. package/dist/Sentry/React.js.map +0 -1
  94. package/dist/Sentry/ReactNative.js +0 -113
  95. package/dist/Sentry/ReactNative.js.map +0 -1
  96. package/dist/Sentry/Utils.js +0 -24
  97. package/dist/Sentry/Utils.js.map +0 -1
  98. package/dist/Utils/Array.js +0 -26
  99. package/dist/Utils/Array.js.map +0 -1
  100. package/dist/Utils/Files.js +0 -51
  101. package/dist/Utils/Files.js.map +0 -1
  102. package/dist/Utils/Pagination.js +0 -32
  103. package/dist/Utils/Pagination.js.map +0 -1
  104. package/dist/Utils/Utils.js +0 -101
  105. package/dist/Utils/Utils.js.map +0 -1
  106. package/dist/Utils-BC1fDy39.js +0 -74
  107. package/dist/Utils-BC1fDy39.js.map +0 -1
  108. package/dist/Utils-Cq948gfa.js +0 -20
  109. package/dist/Utils-Cq948gfa.js.map +0 -1
  110. package/dist/Utils-D7KRF8VU.js +0 -64
  111. package/dist/Utils-D7KRF8VU.js.map +0 -1
  112. package/dist/Utils-Dilye04y.js +0 -22
  113. package/dist/Utils-Dilye04y.js.map +0 -1
  114. package/dist/config-cli.cjs +0 -500
  115. package/dist/config-cli.cjs.map +0 -1
  116. package/dist/config-cli.js.map +0 -1
  117. package/dist/config-cli.mjs +0 -469
  118. package/dist/config-cli.mjs.map +0 -1
  119. package/dist/enums/CurrencySymbolEnum.js +0 -15
  120. package/dist/enums/CurrencySymbolEnum.js.map +0 -1
  121. package/dist/enums/DeviceEnum.js +0 -12
  122. package/dist/enums/DeviceEnum.js.map +0 -1
  123. package/dist/enums/EnvironmentEnum.js +0 -13
  124. package/dist/enums/EnvironmentEnum.js.map +0 -1
  125. package/dist/format.cjs +0 -43
  126. package/dist/format.cjs.map +0 -1
  127. package/dist/format.js.map +0 -1
  128. package/dist/format.mjs +0 -30
  129. package/dist/format.mjs.map +0 -1
  130. package/dist/hooks.cjs +0 -13
  131. package/dist/hooks.cjs.map +0 -1
  132. package/dist/hooks.js.map +0 -1
  133. package/dist/hooks.mjs +0 -4
  134. package/dist/hooks.mjs.map +0 -1
  135. package/dist/i18n.cjs +0 -3039
  136. package/dist/i18n.cjs.map +0 -1
  137. package/dist/i18n.js.map +0 -1
  138. package/dist/i18n.mjs +0 -3032
  139. package/dist/i18n.mjs.map +0 -1
  140. package/dist/index-cli.cjs +0 -30
  141. package/dist/index-cli.cjs.map +0 -1
  142. package/dist/index-cli.js.map +0 -1
  143. package/dist/index-cli.mjs +0 -14
  144. package/dist/index-cli.mjs.map +0 -1
  145. package/dist/index-rn.cjs +0 -57
  146. package/dist/index-rn.cjs.map +0 -1
  147. package/dist/index-rn.js.map +0 -1
  148. package/dist/index-rn.mjs +0 -36
  149. package/dist/index-rn.mjs.map +0 -1
  150. package/dist/index.cjs +0 -79
  151. package/dist/index.cjs.map +0 -1
  152. package/dist/index.js.map +0 -1
  153. package/dist/index.mjs +0 -40
  154. package/dist/index.mjs.map +0 -1
  155. package/dist/interfaces/Config/ConfigOptions.js +0 -6
  156. package/dist/interfaces/Config/ConfigOptions.js.map +0 -1
  157. package/dist/interfaces/Config/OutputMap.js +0 -6
  158. package/dist/interfaces/Config/OutputMap.js.map +0 -1
  159. package/dist/interfaces/Config/OutputOptions.js +0 -6
  160. package/dist/interfaces/Config/OutputOptions.js.map +0 -1
  161. package/dist/interfaces/Config/SitemapMap.js +0 -6
  162. package/dist/interfaces/Config/SitemapMap.js.map +0 -1
  163. package/dist/interfaces/Config/StringMap.js +0 -6
  164. package/dist/interfaces/Config/StringMap.js.map +0 -1
  165. package/dist/interfaces/Format/FormatOptions.js +0 -6
  166. package/dist/interfaces/Format/FormatOptions.js.map +0 -1
  167. package/dist/interfaces/Sentry/InitOptions.js +0 -6
  168. package/dist/interfaces/Sentry/InitOptions.js.map +0 -1
  169. package/dist/interfaces/Sentry/InitOptionsRN.js +0 -6
  170. package/dist/interfaces/Sentry/InitOptionsRN.js.map +0 -1
  171. package/dist/interfaces/Sentry/SourceMapOptions.d.ts +0 -7
  172. package/dist/interfaces/Sentry/SourceMapOptions.js +0 -6
  173. package/dist/interfaces/Sentry/SourceMapOptions.js.map +0 -1
  174. package/dist/sentry-cli.cjs +0 -119
  175. package/dist/sentry-cli.cjs.map +0 -1
  176. package/dist/sentry-cli.d.ts +0 -9
  177. package/dist/sentry-cli.js +0 -49
  178. package/dist/sentry-cli.js.map +0 -1
  179. package/dist/sentry-cli.mjs +0 -98
  180. package/dist/sentry-cli.mjs.map +0 -1
  181. package/dist/sentry-rn.cjs +0 -11
  182. package/dist/sentry-rn.cjs.map +0 -1
  183. package/dist/sentry-rn.js.map +0 -1
  184. package/dist/sentry-rn.mjs +0 -4
  185. package/dist/sentry-rn.mjs.map +0 -1
  186. package/dist/sentry.cjs +0 -11
  187. package/dist/sentry.cjs.map +0 -1
  188. package/dist/sentry.mjs +0 -4
  189. package/dist/sentry.mjs.map +0 -1
  190. package/dist/types/Config/OptionType.js +0 -6
  191. package/dist/types/Config/OptionType.js.map +0 -1
  192. package/dist/types/Format/OptionType.js +0 -6
  193. package/dist/types/Format/OptionType.js.map +0 -1
  194. package/dist/types/Sentry/OptionType.js +0 -6
  195. package/dist/types/Sentry/OptionType.js.map +0 -1
  196. package/dist/useWebSocket-B_B6kWXM.js +0 -167
  197. package/dist/useWebSocket-B_B6kWXM.js.map +0 -1
  198. package/dist/useWebSocket-YQWaiBz9.js +0 -172
  199. package/dist/useWebSocket-YQWaiBz9.js.map +0 -1
  200. package/dist/utils.cjs +0 -59
  201. package/dist/utils.cjs.map +0 -1
  202. package/dist/utils.mjs +0 -43
  203. package/dist/utils.mjs.map +0 -1
  204. package/src/Sentry/Build.ts +0 -67
  205. package/src/interfaces/Sentry/SourceMapOptions.ts +0 -7
  206. package/src/sentry-cli.ts +0 -16
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n-D1jKJPI0.js","names":["_classCallCheck","_typeof","_typeof","_typeof","_defineProperties","_createClass","arr","each","slice","getDefaults","Backend","_createClass","_typeof","ownKeys","_objectSpread","_defineProperty","_toPropertyKey","_toPrimitive","_typeof","ownKeys","_objectSpread","_defineProperty","getDefaults","_createClass"],"sources":["../node_modules/i18next/dist/esm/i18next.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/i18next-chained-backend/dist/esm/index.js","../node_modules/i18next-http-backend/esm/utils.js","../node_modules/i18next-http-backend/esm/request.js","../node_modules/i18next-http-backend/esm/index.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/i18next-localstorage-backend/dist/esm/i18nextLocalStorageBackend.js","../node_modules/i18next-resources-to-backend/dist/esm/index.js","../src/I18n/I18n.ts"],"sourcesContent":["const isString = obj => typeof obj === 'string';\nconst 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};\nconst makeString = object => {\n if (object == null) return '';\n return String(object);\n};\nconst copy = (a, s, t) => {\n a.forEach(m => {\n if (s[m]) t[m] = s[m];\n });\n};\nconst lastOfPathSeparatorRegExp = /###/g;\nconst cleanKey = key => key && key.includes('###') ? key.replace(lastOfPathSeparatorRegExp, '.') : key;\nconst canNotTraverseDeeper = object => !object || isString(object);\nconst getLastOfPath = (object, path, Empty) => {\n const stack = !isString(path) ? path : path.split('.');\n let stackIndex = 0;\n while (stackIndex < stack.length - 1) {\n if (canNotTraverseDeeper(object)) return {};\n const key = cleanKey(stack[stackIndex]);\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 ++stackIndex;\n }\n if (canNotTraverseDeeper(object)) return {};\n return {\n obj: object,\n k: cleanKey(stack[stackIndex])\n };\n};\nconst setPath = (object, path, newValue) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n if (obj !== undefined || path.length === 1) {\n obj[k] = newValue;\n return;\n }\n let e = path[path.length - 1];\n let p = path.slice(0, path.length - 1);\n let last = getLastOfPath(object, p, Object);\n while (last.obj === undefined && p.length) {\n e = `${p[p.length - 1]}.${e}`;\n p = p.slice(0, p.length - 1);\n last = getLastOfPath(object, p, Object);\n if (last?.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') {\n last.obj = undefined;\n }\n }\n last.obj[`${last.k}.${e}`] = newValue;\n};\nconst pushPath = (object, path, newValue, concat) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = obj[k] || [];\n obj[k].push(newValue);\n};\nconst getPath = (object, path) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path);\n if (!obj) return undefined;\n if (!Object.prototype.hasOwnProperty.call(obj, k)) return undefined;\n return obj[k];\n};\nconst getPathWithDefaults = (data, defaultData, key) => {\n const value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n};\nconst deepExtend = (target, source, overwrite) => {\n for (const prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (isString(target[prop]) || target[prop] instanceof String || isString(source[prop]) || 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};\nconst regexEscape = str => str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\nconst _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nconst escape = data => {\n if (isString(data)) {\n return data.replace(/[&<>\"'\\/]/g, s => _entityMap[s]);\n }\n return data;\n};\nclass RegExpCache {\n constructor(capacity) {\n this.capacity = capacity;\n this.regExpMap = new Map();\n this.regExpQueue = [];\n }\n getRegExp(pattern) {\n const regExpFromCache = this.regExpMap.get(pattern);\n if (regExpFromCache !== undefined) {\n return regExpFromCache;\n }\n const regExpNew = new RegExp(pattern);\n if (this.regExpQueue.length === this.capacity) {\n this.regExpMap.delete(this.regExpQueue.shift());\n }\n this.regExpMap.set(pattern, regExpNew);\n this.regExpQueue.push(pattern);\n return regExpNew;\n }\n}\nconst chars = [' ', ',', '?', '!', ';'];\nconst looksLikeObjectPathRegExpCache = new RegExpCache(20);\nconst looksLikeObjectPath = (key, nsSeparator, keySeparator) => {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n const possibleChars = chars.filter(c => !nsSeparator.includes(c) && !keySeparator.includes(c));\n if (possibleChars.length === 0) return true;\n const r = looksLikeObjectPathRegExpCache.getRegExp(`(${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};\nconst deepFind = (obj, path, keySeparator = '.') => {\n if (!obj) return undefined;\n if (obj[path]) {\n if (!Object.prototype.hasOwnProperty.call(obj, path)) return undefined;\n return obj[path];\n }\n const tokens = path.split(keySeparator);\n let current = obj;\n for (let i = 0; i < tokens.length;) {\n if (!current || typeof current !== 'object') {\n return undefined;\n }\n let next;\n let nextPath = '';\n for (let j = i; j < tokens.length; ++j) {\n if (j !== i) {\n nextPath += keySeparator;\n }\n nextPath += tokens[j];\n next = current[nextPath];\n if (next !== undefined) {\n if (['string', 'number', 'boolean'].includes(typeof next) && j < tokens.length - 1) {\n continue;\n }\n i += j - i + 1;\n break;\n }\n }\n current = next;\n }\n return current;\n};\nconst getCleanedCode = code => code?.replace(/_/g, '-');\n\nconst 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 console?.[type]?.apply?.(console, args);\n }\n};\nclass Logger {\n constructor(concreteLogger, options = {}) {\n this.init(concreteLogger, options);\n }\n init(concreteLogger, options = {}) {\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n log(...args) {\n return this.forward(args, 'log', '', true);\n }\n warn(...args) {\n return this.forward(args, 'warn', '', true);\n }\n error(...args) {\n return this.forward(args, 'error', '');\n }\n deprecate(...args) {\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 (isString(args[0])) 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 if (!this.observers[event]) this.observers[event] = new Map();\n const numListeners = this.observers[event].get(listener) || 0;\n this.observers[event].set(listener, numListeners + 1);\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].delete(listener);\n }\n once(event, listener) {\n const wrapper = (...args) => {\n listener(...args);\n this.off(event, wrapper);\n };\n this.on(event, wrapper);\n return this;\n }\n emit(event, ...args) {\n if (this.observers[event]) {\n const cloned = Array.from(this.observers[event].entries());\n cloned.forEach(([observer, numTimesAdded]) => {\n for (let i = 0; i < numTimesAdded; i++) {\n observer(...args);\n }\n });\n }\n if (this.observers['*']) {\n const cloned = Array.from(this.observers['*'].entries());\n cloned.forEach(([observer, numTimesAdded]) => {\n for (let i = 0; i < numTimesAdded; i++) {\n observer(event, ...args);\n }\n });\n }\n }\n}\n\nclass ResourceStore extends EventEmitter {\n constructor(data, options = {\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.includes(ns)) {\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, options = {}) {\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;\n if (lng.includes('.')) {\n path = lng.split('.');\n } else {\n path = [lng, ns];\n if (key) {\n if (Array.isArray(key)) {\n path.push(...key);\n } else if (isString(key) && keySeparator) {\n path.push(...key.split(keySeparator));\n } else {\n path.push(key);\n }\n }\n }\n const result = getPath(this.data, path);\n if (!result && !ns && !key && lng.includes('.')) {\n lng = path[0];\n ns = path[1];\n key = path.slice(2).join('.');\n }\n if (result || !ignoreJSONStructure || !isString(key)) return result;\n return deepFind(this.data?.[lng]?.[ns], key, keySeparator);\n }\n addResource(lng, ns, key, value, options = {\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.includes('.')) {\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, options = {\n silent: false\n }) {\n for (const m in resources) {\n if (isString(resources[m]) || Array.isArray(resources[m])) 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, options = {\n silent: false,\n skipCopy: false\n }) {\n let path = [lng, ns];\n if (lng.includes('.')) {\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 (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources));\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 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 value = this.processors[processor]?.process(value, key, options, translator) ?? value;\n });\n return value;\n }\n};\n\nconst PATH_KEY = Symbol('i18next/PATH_KEY');\nfunction createProxy() {\n const state = [];\n const handler = Object.create(null);\n let proxy;\n handler.get = (target, key) => {\n proxy?.revoke?.();\n if (key === PATH_KEY) return state;\n state.push(key);\n proxy = Proxy.revocable(target, handler);\n return proxy.proxy;\n };\n return Proxy.revocable(Object.create(null), handler).proxy;\n}\nfunction keysFromSelector(selector, opts) {\n const {\n [PATH_KEY]: path\n } = selector(createProxy());\n const keySeparator = opts?.keySeparator ?? '.';\n const nsSeparator = opts?.nsSeparator ?? ':';\n if (path.length > 1 && nsSeparator) {\n const ns = opts?.ns;\n const nsArray = Array.isArray(ns) ? ns : null;\n if (nsArray && nsArray.length > 1 && nsArray.slice(1).includes(path[0])) {\n return `${path[0]}${nsSeparator}${path.slice(1).join(keySeparator)}`;\n }\n }\n return path.join(keySeparator);\n}\n\nconst shouldHandleAsObject = res => !isString(res) && typeof res !== 'boolean' && typeof res !== 'number';\nclass Translator extends EventEmitter {\n constructor(services, options = {}) {\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 this.checkedLoadedFor = {};\n }\n changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n exists(key, o = {\n interpolation: {}\n }) {\n const opt = {\n ...o\n };\n if (key == null) return false;\n const resolved = this.resolve(key, opt);\n if (resolved?.res === undefined) return false;\n const isObject = shouldHandleAsObject(resolved.res);\n if (opt.returnObjects === false && isObject) {\n return false;\n }\n return true;\n }\n extractFromKey(key, opt) {\n let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator;\n let namespaces = opt.ns || this.options.defaultNS || [];\n const wouldCheckForNsInKey = nsSeparator && key.includes(nsSeparator);\n const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !opt.keySeparator && !this.options.userDefinedNsSeparator && !opt.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: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n const parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.includes(parts[0])) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n translate(keys, o, lastKey) {\n let opt = typeof o === 'object' ? {\n ...o\n } : o;\n if (typeof opt !== 'object' && this.options.overloadTranslationOptionHandler) {\n opt = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (typeof opt === 'object') opt = {\n ...opt\n };\n if (!opt) opt = {};\n if (keys == null) return '';\n if (typeof keys === 'function') keys = keysFromSelector(keys, {\n ...this.options,\n ...opt\n });\n if (!Array.isArray(keys)) keys = [String(keys)];\n keys = keys.map(k => typeof k === 'function' ? keysFromSelector(k, {\n ...this.options,\n ...opt\n }) : String(k));\n const returnDetails = opt.returnDetails !== undefined ? opt.returnDetails : this.options.returnDetails;\n const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator;\n const {\n key,\n namespaces\n } = this.extractFromKey(keys[keys.length - 1], opt);\n const namespace = namespaces[namespaces.length - 1];\n let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const lng = opt.lng || this.language;\n const appendNamespaceToCIMode = opt.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng?.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n if (returnDetails) {\n return {\n res: `${namespace}${nsSeparator}${key}`,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(opt)\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 usedParams: this.getUsedParamsDetails(opt)\n };\n }\n return key;\n }\n const resolved = this.resolve(keys, opt);\n let res = resolved?.res;\n const resUsedKey = resolved?.usedKey || key;\n const resExactUsedKey = resolved?.exactUsedKey || key;\n const noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n const joinArrays = opt.joinArrays !== undefined ? opt.joinArrays : this.options.joinArrays;\n const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n const needsPluralHandling = opt.count !== undefined && !isString(opt.count);\n const hasDefaultValue = Translator.hasDefaultValue(opt);\n const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, opt) : '';\n const defaultValueSuffixOrdinalFallback = opt.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, {\n ordinal: false\n }) : '';\n const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0;\n const defaultValue = needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] || opt[`defaultValue${defaultValueSuffix}`] || opt[`defaultValue${defaultValueSuffixOrdinalFallback}`] || opt.defaultValue;\n let resForObjHndl = res;\n if (handleAsObjectInI18nFormat && !res && hasDefaultValue) {\n resForObjHndl = defaultValue;\n }\n const handleAsObject = shouldHandleAsObject(resForObjHndl);\n const resType = Object.prototype.toString.apply(resForObjHndl);\n if (handleAsObjectInI18nFormat && resForObjHndl && handleAsObject && !noObject.includes(resType) && !(isString(joinArrays) && Array.isArray(resForObjHndl))) {\n if (!opt.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, resForObjHndl, {\n ...opt,\n ns: namespaces\n }) : `key '${key} (${this.language})' returned an object instead of string.`;\n if (returnDetails) {\n resolved.res = r;\n resolved.usedParams = this.getUsedParamsDetails(opt);\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n const resTypeIsArray = Array.isArray(resForObjHndl);\n const copy = resTypeIsArray ? [] : {};\n const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (const m in resForObjHndl) {\n if (Object.prototype.hasOwnProperty.call(resForObjHndl, m)) {\n const deepKey = `${newKeyToUse}${keySeparator}${m}`;\n if (hasDefaultValue && !res) {\n copy[m] = this.translate(deepKey, {\n ...opt,\n defaultValue: shouldHandleAsObject(defaultValue) ? defaultValue[m] : undefined,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n } else {\n copy[m] = this.translate(deepKey, {\n ...opt,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n }\n if (copy[m] === deepKey) copy[m] = resForObjHndl[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && isString(joinArrays) && Array.isArray(res)) {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, opt, lastKey);\n } else {\n let usedDefault = false;\n let usedKey = false;\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 = opt.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 ...opt,\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, opt.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(opt.lng || this.language);\n } else {\n lngs.push(opt.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, opt);\n } else if (this.backendConnector?.saveMissing) {\n this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, opt);\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 const suffixes = this.pluralResolver.getSuffixes(language, opt);\n if (needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] && !suffixes.includes(`${this.options.pluralSeparator}zero`)) {\n suffixes.push(`${this.options.pluralSeparator}zero`);\n }\n suffixes.forEach(suffix => {\n send([language], key + suffix, opt[`defaultValue${suffix}`] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, opt, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) {\n res = `${namespace}${nsSeparator}${key}`;\n }\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}${nsSeparator}${key}` : key, usedDefault ? res : undefined, opt);\n }\n }\n if (returnDetails) {\n resolved.res = res;\n resolved.usedParams = this.getUsedParamsDetails(opt);\n return resolved;\n }\n return res;\n }\n extendTranslation(res, key, opt, resolved, lastKey) {\n if (this.i18nFormat?.parse) {\n res = this.i18nFormat.parse(res, {\n ...this.options.interpolation.defaultVariables,\n ...opt\n }, opt.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved\n });\n } else if (!opt.skipInterpolation) {\n if (opt.interpolation) this.interpolator.init({\n ...opt,\n ...{\n interpolation: {\n ...this.options.interpolation,\n ...opt.interpolation\n }\n }\n });\n const skipOnVariables = isString(res) && (opt?.interpolation?.skipOnVariables !== undefined ? opt.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 = opt.replace && !isString(opt.replace) ? opt.replace : opt;\n if (this.options.interpolation.defaultVariables) data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n res = this.interpolator.interpolate(res, data, opt.lng || this.language || resolved.usedLng, opt);\n if (skipOnVariables) {\n const na = res.match(this.interpolator.nestingRegexp);\n const nestAft = na && na.length;\n if (nestBef < nestAft) opt.nest = false;\n }\n if (!opt.lng && resolved && resolved.res) opt.lng = this.language || resolved.usedLng;\n if (opt.nest !== false) res = this.interpolator.nest(res, (...args) => {\n if (lastKey?.[0] === args[0] && !opt.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 }, opt);\n if (opt.interpolation) this.interpolator.reset();\n }\n const postProcess = opt.postProcess || this.options.postProcess;\n const postProcessorNames = isString(postProcess) ? [postProcess] : postProcess;\n if (res != null && postProcessorNames?.length && opt.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {\n i18nResolved: {\n ...resolved,\n usedParams: this.getUsedParamsDetails(opt)\n },\n ...opt\n } : opt, this);\n }\n return res;\n }\n resolve(keys, opt = {}) {\n let found;\n let usedKey;\n let exactUsedKey;\n let usedLng;\n let usedNS;\n if (isString(keys)) keys = [keys];\n if (Array.isArray(keys)) keys = keys.map(k => typeof k === 'function' ? keysFromSelector(k, {\n ...this.options,\n ...opt\n }) : k);\n keys.forEach(k => {\n if (this.isValidLookup(found)) return;\n const extracted = this.extractFromKey(k, opt);\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 = opt.count !== undefined && !isString(opt.count);\n const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0;\n const needsContextHandling = opt.context !== undefined && (isString(opt.context) || typeof opt.context === 'number') && opt.context !== '';\n const codes = opt.lngs ? opt.lngs : this.languageUtils.toResolveHierarchy(opt.lng || this.language, opt.fallbackLng);\n namespaces.forEach(ns => {\n if (this.isValidLookup(found)) return;\n usedNS = ns;\n if (!this.checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils?.hasLoadedNamespace && !this.utils?.hasLoadedNamespace(usedNS)) {\n this.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?.addLookupKeys) {\n this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, opt);\n } else {\n let pluralSuffix;\n if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, opt.count, opt);\n const zeroSuffix = `${this.options.pluralSeparator}zero`;\n const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;\n if (needsPluralHandling) {\n if (opt.ordinal && pluralSuffix.startsWith(ordinalPrefix)) {\n finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n const contextKey = `${key}${this.options.contextSeparator || '_'}${opt.context}`;\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n if (opt.ordinal && pluralSuffix.startsWith(ordinalPrefix)) {\n finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n finalKeys.push(contextKey + pluralSuffix);\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, opt);\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, options = {}) {\n if (this.i18nFormat?.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n getUsedParamsDetails(options = {}) {\n const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation'];\n const useOptionsReplaceForData = options.replace && !isString(options.replace);\n let data = useOptionsReplaceForData ? options.replace : options;\n if (useOptionsReplaceForData && typeof options.count !== 'undefined') {\n data.count = options.count;\n }\n if (this.options.interpolation.defaultVariables) {\n data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n }\n if (!useOptionsReplaceForData) {\n data = {\n ...data\n };\n for (const key of optionsKeys) {\n delete data[key];\n }\n }\n return data;\n }\n static hasDefaultValue(options) {\n const prefix = 'defaultValue';\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && option.startsWith(prefix) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n}\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.includes('-')) 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.includes('-')) return code;\n const p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n formatLanguageCode(code) {\n if (isString(code) && code.includes('-')) {\n let formattedCode;\n try {\n formattedCode = Intl.getCanonicalLocales(code)[0];\n } catch (e) {}\n if (formattedCode && this.options.lowerCaseLng) {\n formattedCode = formattedCode.toLowerCase();\n }\n if (formattedCode) return formattedCode;\n if (this.options.lowerCaseLng) {\n return code.toLowerCase();\n }\n return code;\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.includes(code);\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 lngScOnly = this.getScriptPartFromCode(code);\n if (this.isSupportedCode(lngScOnly)) return found = lngScOnly;\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 true;\n if (!supportedLng.includes('-') && !lngOnly.includes('-')) return false;\n if (supportedLng.includes('-') && !lngOnly.includes('-') && supportedLng.slice(0, supportedLng.indexOf('-')) === lngOnly) return true;\n if (supportedLng.startsWith(lngOnly) && lngOnly.length > 1) return true;\n return false;\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 (isString(fallbacks)) fallbacks = [fallbacks];\n if (Array.isArray(fallbacks)) 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 === false ? [] : 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 (isString(code) && (code.includes('-') || code.includes('_'))) {\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 (isString(code)) {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(fc => {\n if (!codes.includes(fc)) addCode(this.formatLanguageCode(fc));\n });\n return codes;\n }\n}\n\nconst suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nconst dummyRule = {\n select: count => count === 1 ? 'one' : 'other',\n resolvedOptions: () => ({\n pluralCategories: ['one', 'other']\n })\n};\nclass PluralResolver {\n constructor(languageUtils, options = {}) {\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.pluralRulesCache = {};\n }\n clearCache() {\n this.pluralRulesCache = {};\n }\n getRule(code, options = {}) {\n const cleanedCode = getCleanedCode(code === 'dev' ? 'en' : code);\n const type = options.ordinal ? 'ordinal' : 'cardinal';\n const cacheKey = JSON.stringify({\n cleanedCode,\n type\n });\n if (cacheKey in this.pluralRulesCache) {\n return this.pluralRulesCache[cacheKey];\n }\n let rule;\n try {\n rule = new Intl.PluralRules(cleanedCode, {\n type\n });\n } catch (err) {\n if (typeof Intl === 'undefined') {\n this.logger.error('No Intl support, please use an Intl polyfill!');\n return dummyRule;\n }\n if (!code.match(/-|_/)) return dummyRule;\n const lngPart = this.languageUtils.getLanguagePartFromCode(code);\n rule = this.getRule(lngPart, options);\n }\n this.pluralRulesCache[cacheKey] = rule;\n return rule;\n }\n needsPlural(code, options = {}) {\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n return rule?.resolvedOptions().pluralCategories.length > 1;\n }\n getPluralFormsOfKey(code, key, options = {}) {\n return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`);\n }\n getSuffixes(code, options = {}) {\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n if (!rule) return [];\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 getSuffix(code, count, options = {}) {\n const rule = this.getRule(code, options);\n if (rule) {\n return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`;\n }\n this.logger.warn(`no plural rule found for: ${code}`);\n return this.getSuffix('dev', count, options);\n }\n}\n\nconst deepFindWithDefaults = (data, defaultData, key, keySeparator = '.', ignoreJSONStructure = true) => {\n let path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && isString(key)) {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n};\nconst regexSafe = val => val.replace(/\\$/g, '$$$$');\nclass Interpolator {\n constructor(options = {}) {\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options?.interpolation?.format || (value => value);\n this.init(options);\n }\n init(options = {}) {\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n const {\n escape: escape$1,\n escapeValue,\n useRawValueToEscape,\n prefix,\n prefixEscaped,\n suffix,\n suffixEscaped,\n formatSeparator,\n unescapeSuffix,\n unescapePrefix,\n nestingPrefix,\n nestingPrefixEscaped,\n nestingSuffix,\n nestingSuffixEscaped,\n nestingOptionsSeparator,\n maxReplaces,\n alwaysFormat\n } = options.interpolation;\n this.escape = escape$1 !== undefined ? escape$1 : escape;\n this.escapeValue = escapeValue !== undefined ? escapeValue : true;\n this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false;\n this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{';\n this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}';\n this.formatSeparator = formatSeparator || ',';\n this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || '';\n this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = nestingOptionsSeparator || ',';\n this.maxReplaces = maxReplaces || 1000;\n this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false;\n this.resetRegExp();\n }\n reset() {\n if (this.options) this.init(this.options);\n }\n resetRegExp() {\n const getOrResetRegExp = (existingRegExp, pattern) => {\n if (existingRegExp?.source === pattern) {\n existingRegExp.lastIndex = 0;\n return existingRegExp;\n }\n return new RegExp(pattern, 'g');\n };\n this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`);\n this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`);\n this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}((?:[^()\"']+|\"[^\"]*\"|'[^']*'|\\\\((?:[^()]|\"[^\"]*\"|'[^']*')*\\\\))*?)${this.nestingSuffix}`);\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 const handleFormat = key => {\n if (!key.includes(this.formatSeparator)) {\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?.missingInterpolationHandler || this.options.missingInterpolationHandler;\n const skipOnVariables = 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 = isString(temp) ? 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 (!isString(value) && !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, options = {}) {\n let match;\n let value;\n let clonedOptions;\n const handleHasOptions = (key, inheritedOptions) => {\n const sep = this.nestingOptionsSeparator;\n if (!key.includes(sep)) return key;\n const c = key.split(new RegExp(`${regexEscape(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?.length ?? 0) % 2 === 0 && !matchedDoubleQuotes || (matchedDoubleQuotes?.length ?? 0) % 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 if (clonedOptions.defaultValue && clonedOptions.defaultValue.includes(this.prefix)) 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 && !isString(clonedOptions.replace) ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n const keyEndIndex = /{.*}/.test(match[1]) ? match[1].lastIndexOf('}') + 1 : match[1].indexOf(this.formatSeparator);\n if (keyEndIndex !== -1) {\n formatters = match[1].slice(keyEndIndex).split(this.formatSeparator).map(elem => elem.trim()).filter(Boolean);\n match[1] = match[1].slice(0, keyEndIndex);\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && !isString(value)) return value;\n if (!isString(value)) value = makeString(value);\n if (!value) {\n this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);\n value = '';\n }\n if (formatters.length) {\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\nconst parseFormatStr = formatStr => {\n let formatName = formatStr.toLowerCase().trim();\n const formatOptions = {};\n if (formatStr.includes('(')) {\n const p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n const optStr = p[1].slice(0, -1);\n if (formatName === 'currency' && !optStr.includes(':')) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && !optStr.includes(':')) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n const opts = optStr.split(';');\n opts.forEach(opt => {\n if (opt) {\n const [key, ...rest] = opt.split(':');\n const val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n const trimmedKey = key.trim();\n if (!formatOptions[trimmedKey]) formatOptions[trimmedKey] = val;\n if (val === 'false') formatOptions[trimmedKey] = false;\n if (val === 'true') formatOptions[trimmedKey] = true;\n if (!isNaN(val)) formatOptions[trimmedKey] = parseInt(val, 10);\n }\n });\n }\n }\n return {\n formatName,\n formatOptions\n };\n};\nconst createCachedFormatter = fn => {\n const cache = {};\n return (v, l, o) => {\n let optForCache = o;\n if (o && o.interpolationkey && o.formatParams && o.formatParams[o.interpolationkey] && o[o.interpolationkey]) {\n optForCache = {\n ...optForCache,\n [o.interpolationkey]: undefined\n };\n }\n const key = l + JSON.stringify(optForCache);\n let frm = cache[key];\n if (!frm) {\n frm = fn(getCleanedCode(l), o);\n cache[key] = frm;\n }\n return frm(v);\n };\n};\nconst createNonCachedFormatter = fn => (v, l, o) => fn(getCleanedCode(l), o)(v);\nclass Formatter {\n constructor(options = {}) {\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.init(options);\n }\n init(services, options = {\n interpolation: {}\n }) {\n this.formatSeparator = options.interpolation.formatSeparator || ',';\n const cf = options.cacheInBuiltFormats ? createCachedFormatter : createNonCachedFormatter;\n this.formats = {\n number: cf((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n currency: cf((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt,\n style: 'currency'\n });\n return val => formatter.format(val);\n }),\n datetime: cf((lng, opt) => {\n const formatter = new Intl.DateTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n relativetime: cf((lng, opt) => {\n const formatter = new Intl.RelativeTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val, opt.range || 'day');\n }),\n list: cf((lng, opt) => {\n const formatter = new Intl.ListFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n })\n };\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, options = {}) {\n if (!format) return value;\n if (value == null) return value;\n const formats = format.split(this.formatSeparator);\n if (formats.length > 1 && formats[0].indexOf('(') > 1 && !formats[0].includes(')') && formats.find(f => f.includes(')'))) {\n const lastIndex = formats.findIndex(f => f.includes(')'));\n formats[0] = [formats[0], ...formats.splice(1, lastIndex)].join(this.formatSeparator);\n }\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?.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\nconst 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, options = {}) {\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 this.backend?.init?.(services, options.backend, options);\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 (!err && data) {\n this.store.addResourceBundle(lng, ns, data, undefined, undefined, {\n skipCopy: true\n });\n }\n this.state[name] = err ? -1 : 2;\n if (err && data) this.state[name] = 0;\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, tried = 0, wait = this.retryTimeout, callback) {\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(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, options = {}, callback) {\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 (isString(languages)) languages = this.languageUtils.toResolveHierarchy(languages);\n if (isString(namespaces)) 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, prefix = '') {\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, options = {}, clb = () => {}) {\n if (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?.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\nconst get = () => ({\n debug: false,\n initAsync: 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 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: args => {\n let ret = {};\n if (typeof args[1] === 'object') ret = args[1];\n if (isString(args[1])) ret.defaultValue = args[1];\n if (isString(args[2])) 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 prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n },\n cacheInBuiltFormats: true\n});\nconst transformOptions = options => {\n if (isString(options.ns)) options.ns = [options.ns];\n if (isString(options.fallbackLng)) options.fallbackLng = [options.fallbackLng];\n if (isString(options.fallbackNS)) options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && !options.supportedLngs.includes('cimode')) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n};\n\nconst noop = () => {};\nconst 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(options = {}, callback) {\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.initAsync) {\n this.init(options, callback);\n return this;\n }\n setTimeout(() => {\n this.init(options, callback);\n }, 0);\n }\n }\n init(options = {}, callback) {\n this.isInitializing = true;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (options.defaultNS == null && options.ns) {\n if (isString(options.ns)) {\n options.defaultNS = options.ns;\n } else if (!options.ns.includes('translation')) {\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 this.options.interpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation\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 if (typeof this.options.overloadTranslationOptionHandler !== 'function') {\n this.options.overloadTranslationOptionHandler = defOpts.overloadTranslationOptionHandler;\n }\n const 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 {\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 });\n if (formatter) {\n s.formatter = createClassOnDemand(formatter);\n if (s.formatter.init) 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('*', (event, ...args) => {\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('*', (event, ...args) => {\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] = (...args) => this.store[fcName](...args);\n });\n const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(fcName => {\n this[fcName] = (...args) => {\n this.store[fcName](...args);\n return this;\n };\n });\n const deferred = defer();\n const load = () => {\n const finish = (err, t) => {\n this.isInitializing = false;\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.isInitialized) return finish(null, this.t.bind(this));\n this.changeLanguage(this.options.lng, finish);\n };\n if (this.options.resources || !this.options.initAsync) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n loadResources(language, callback = noop) {\n let usedCallback = callback;\n const usedLng = isString(language) ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (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.includes(l)) 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 this.options.preload?.forEach?.(l => append(l));\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 (typeof lngs === 'function') {\n callback = lngs;\n lngs = undefined;\n }\n if (typeof ns === 'function') {\n callback = ns;\n ns = undefined;\n }\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'].includes(l)) return;\n for (let li = 0; li < this.languages.length; li++) {\n const lngInLngs = this.languages[li];\n if (['cimode', 'dev'].includes(lngInLngs)) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n if (!this.resolvedLanguage && !this.languages.includes(l) && this.store.hasLanguageSomeTranslations(l)) {\n this.resolvedLanguage = l;\n this.languages.unshift(l);\n }\n }\n changeLanguage(lng, callback) {\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 if (this.isLanguageChangingTo === lng) {\n setLngProps(l);\n this.translator.changeLanguage(l);\n this.isLanguageChangingTo = undefined;\n this.emit('languageChanged', l);\n this.logger.log('languageChanged', l);\n }\n } else {\n this.isLanguageChangingTo = undefined;\n }\n deferred.resolve((...args) => this.t(...args));\n if (callback) callback(err, (...args) => this.t(...args));\n };\n const setLng = lngs => {\n if (!lng && !lngs && this.services.languageDetector) lngs = [];\n const fl = isString(lngs) ? lngs : lngs && lngs[0];\n const l = this.store.hasLanguageSomeTranslations(fl) ? fl : this.services.languageUtils.getBestMatchFromCodes(isString(lngs) ? [lngs] : lngs);\n if (l) {\n if (!this.language) {\n setLngProps(l);\n }\n if (!this.translator.language) this.translator.changeLanguage(l);\n 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 const fixedT = (key, opts, ...rest) => {\n let o;\n if (typeof opts !== 'object') {\n o = this.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n o = {\n ...opts\n };\n }\n o.lng = o.lng || fixedT.lng;\n o.lngs = o.lngs || fixedT.lngs;\n o.ns = o.ns || fixedT.ns;\n if (o.keyPrefix !== '') o.keyPrefix = o.keyPrefix || keyPrefix || fixedT.keyPrefix;\n const selectorOpts = {\n ...this.options,\n ...o\n };\n if (typeof o.keyPrefix === 'function') o.keyPrefix = keysFromSelector(o.keyPrefix, selectorOpts);\n const keySeparator = this.options.keySeparator || '.';\n let resultKey;\n if (o.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(k => {\n if (typeof k === 'function') k = keysFromSelector(k, selectorOpts);\n return `${o.keyPrefix}${keySeparator}${k}`;\n });\n } else {\n if (typeof key === 'function') key = keysFromSelector(key, selectorOpts);\n resultKey = o.keyPrefix ? `${o.keyPrefix}${keySeparator}${key}` : key;\n }\n return this.t(resultKey, o);\n };\n if (isString(lng)) {\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(...args) {\n return this.translator?.translate(...args);\n }\n exists(...args) {\n return this.translator?.exists(...args);\n }\n setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n hasLoadedNamespace(ns, options = {}) {\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 === 0 || 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 (isString(ns)) ns = [ns];\n ns.forEach(n => {\n if (!this.options.ns.includes(n)) 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 (isString(lngs)) lngs = [lngs];\n const preloaded = this.options.preload || [];\n const newLngs = lngs.filter(lng => !preloaded.includes(lng) && this.services.languageUtils.isSupportedCode(lng));\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?.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n try {\n const l = new Intl.Locale(lng);\n if (l && l.getTextInfo) {\n const ti = l.getTextInfo();\n if (ti && ti.direction) return ti.direction;\n }\n } catch (e) {}\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?.languageUtils || new LanguageUtil(get());\n if (lng.toLowerCase().indexOf('-latn') > 1) return 'ltr';\n return rtlLngs.includes(languageUtils.getLanguagePartFromCode(lng)) || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n static createInstance(options = {}, callback) {\n const instance = new I18n(options, callback);\n instance.createInstance = I18n.createInstance;\n return instance;\n }\n cloneInstance(options = {}, callback = 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 const clonedData = Object.keys(this.store.data).reduce((prev, l) => {\n prev[l] = {\n ...this.store.data[l]\n };\n prev[l] = Object.keys(prev[l]).reduce((acc, n) => {\n acc[n] = {\n ...prev[l][n]\n };\n return acc;\n }, prev[l]);\n return prev;\n }, {});\n clone.store = new ResourceStore(clonedData, mergedOptions);\n clone.services.resourceStore = clone.store;\n }\n if (options.interpolation) {\n const defOpts = get();\n const mergedInterpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation,\n ...options.interpolation\n };\n const mergedForInterpolator = {\n ...mergedOptions,\n interpolation: mergedInterpolation\n };\n clone.services.interpolator = new Interpolator(mergedForInterpolator);\n }\n clone.translator = new Translator(clone.services, mergedOptions);\n clone.translator.on('*', (event, ...args) => {\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();\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, keysFromSelector as keyFromSelector, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\n\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nfunction defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\nfunction createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n}\n\nfunction getDefaults() {\n return {\n handleEmptyResourcesAsFailed: true,\n cacheHitMode: 'none'\n // reloadInterval: typeof window !== 'undefined' ? false : 60 * 60 * 1000\n // refreshExpirationTime: 60 * 60 * 1000\n };\n}\nfunction handleCorrectReadFunction(backend, language, namespace, resolver) {\n var fc = backend.read.bind(backend);\n if (fc.length === 2) {\n // no callback\n try {\n var r = fc(language, namespace);\n if (r && typeof r.then === 'function') {\n // promise\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n // sync\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n\n // normal with callback\n fc(language, namespace, resolver);\n}\nvar Backend = /*#__PURE__*/function () {\n function Backend(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nextOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n _classCallCheck(this, Backend);\n this.backends = [];\n this.type = 'backend';\n this.allOptions = i18nextOptions;\n this.init(services, options);\n }\n return _createClass(Backend, [{\n key: \"init\",\n value: function init(services) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nextOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n this.allOptions = i18nextOptions;\n if (this.options.backends && this.options.backends.length > 1 && (this.allOptions.saveMissing || this.allOptions.updateMissing)) {\n if (this.services && this.services.logger) {\n this.services.logger.warn('i18next-chained-backend: Using multiple backends in combination with saveMissing/updateMissing is not recommended, as it may trigger based on stale data.');\n }\n }\n this.options.backends && this.options.backends.forEach(function (b, i) {\n _this.backends[i] = _this.backends[i] || createClassOnDemand(b);\n _this.backends[i].init(services, _this.options.backendOptions && _this.options.backendOptions[i] || {}, i18nextOptions);\n });\n if (this.services && this.options.reloadInterval) {\n setInterval(function () {\n return _this.reload();\n }, this.options.reloadInterval);\n }\n }\n }, {\n key: \"read\",\n value: function read(language, namespace, callback) {\n var _this2 = this;\n var bLen = this.backends.length;\n var _loadPosition = function loadPosition(pos) {\n if (pos >= bLen) return callback(new Error('non of the backend loaded data', true)); // failed pass retry flag\n var isLastBackend = pos === bLen - 1;\n var lengthCheckAmount = _this2.options.handleEmptyResourcesAsFailed && !isLastBackend ? 0 : -1;\n var backend = _this2.backends[pos];\n if (backend.read) {\n handleCorrectReadFunction(backend, language, namespace, function (err, data, savedAt) {\n if (!err && data && Object.keys(data).length > lengthCheckAmount) {\n callback(null, data, pos);\n _savePosition(pos - 1, data); // save one in front\n if (backend.save && _this2.options.cacheHitMode && ['refresh', 'refreshAndUpdateStore'].indexOf(_this2.options.cacheHitMode) > -1) {\n if (savedAt && _this2.options.refreshExpirationTime && savedAt + _this2.options.refreshExpirationTime > Date.now()) return;\n var nextBackend = _this2.backends[pos + 1];\n if (nextBackend && nextBackend.read) {\n handleCorrectReadFunction(nextBackend, language, namespace, function (err, data) {\n if (err) return;\n if (!data) return;\n if (Object.keys(data).length <= lengthCheckAmount) return;\n _savePosition(pos, data);\n if (_this2.options.cacheHitMode !== 'refreshAndUpdateStore') return;\n if (_this2.services && _this2.services.resourceStore) {\n _this2.services.resourceStore.addResourceBundle(language, namespace, data);\n }\n });\n }\n }\n } else {\n _loadPosition(pos + 1); // try load from next\n }\n });\n } else {\n _loadPosition(pos + 1); // try load from next\n }\n };\n var _savePosition = function savePosition(pos, data) {\n if (pos < 0) return;\n var backend = _this2.backends[pos];\n if (backend.save) {\n backend.save(language, namespace, data);\n _savePosition(pos - 1, data);\n } else {\n _savePosition(pos - 1, data);\n }\n };\n _loadPosition(0);\n }\n }, {\n key: \"create\",\n value: function create(languages, namespace, key, fallbackValue) {\n var clb = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function () {};\n var opts = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n this.backends.forEach(function (b) {\n if (!b.create) return;\n var fc = b.create.bind(b);\n if (fc.length < 6) {\n // no callback\n try {\n var r;\n if (fc.length === 5) {\n // future callback-less api for i18next-locize-backend\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 // promise\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n // sync\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n return;\n }\n\n // normal with callback\n fc(languages, namespace, key, fallbackValue, clb /* unused callback */, opts);\n });\n }\n }, {\n key: \"reload\",\n value: function reload() {\n var _this3 = this;\n var _this$services = this.services,\n backendConnector = _this$services.backendConnector,\n languageUtils = _this$services.languageUtils,\n logger = _this$services.logger;\n var currentLanguage = backendConnector.language;\n if (currentLanguage && currentLanguage.toLowerCase() === 'cimode') return; // avoid loading resources for cimode\n\n var toLoad = [];\n var append = function append(lng) {\n var lngs = languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n append(currentLanguage);\n if (this.allOptions.preload) this.allOptions.preload.forEach(function (l) {\n return append(l);\n });\n toLoad.forEach(function (lng) {\n _this3.allOptions.ns.forEach(function (ns) {\n backendConnector.read(lng, ns, 'read', null, null, function (err, data) {\n if (err) logger.warn(\"loading namespace \".concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) logger.log(\"loaded namespace \".concat(ns, \" for language \").concat(lng), data);\n backendConnector.loaded(\"\".concat(lng, \"|\").concat(ns), err, data);\n });\n });\n });\n }\n }]);\n}();\nBackend.type = 'backend';\n\nexport { Backend as default };\n","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nexport function defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\nexport function hasXMLHttpRequest() {\n return typeof XMLHttpRequest === 'function' || (typeof XMLHttpRequest === \"undefined\" ? \"undefined\" : _typeof(XMLHttpRequest)) === 'object';\n}\nfunction isPromise(maybePromise) {\n return !!maybePromise && typeof maybePromise.then === 'function';\n}\nexport function makePromise(maybePromise) {\n if (isPromise(maybePromise)) {\n return maybePromise;\n }\n return Promise.resolve(maybePromise);\n}\nvar interpolationRegexp = /\\{\\{(.+?)\\}\\}/g;\nexport function interpolate(str, data) {\n return str.replace(interpolationRegexp, function (match, key) {\n var value = data[key.trim()];\n return value != null ? value : match;\n });\n}","function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport { hasXMLHttpRequest } from './utils.js';\nvar fetchApi = typeof fetch === 'function' ? fetch : undefined;\nif (typeof global !== 'undefined' && global.fetch) {\n fetchApi = global.fetch;\n} else if (typeof window !== 'undefined' && window.fetch) {\n fetchApi = window.fetch;\n}\nvar XmlHttpRequestApi;\nif (hasXMLHttpRequest()) {\n if (typeof global !== 'undefined' && global.XMLHttpRequest) {\n XmlHttpRequestApi = global.XMLHttpRequest;\n } else if (typeof window !== 'undefined' && window.XMLHttpRequest) {\n XmlHttpRequestApi = window.XMLHttpRequest;\n }\n}\nvar ActiveXObjectApi;\nif (typeof ActiveXObject === 'function') {\n if (typeof global !== 'undefined' && global.ActiveXObject) {\n ActiveXObjectApi = global.ActiveXObject;\n } else if (typeof window !== 'undefined' && window.ActiveXObject) {\n ActiveXObjectApi = window.ActiveXObject;\n }\n}\nif (typeof fetchApi !== 'function') fetchApi = undefined;\nif (!fetchApi && !XmlHttpRequestApi && !ActiveXObjectApi) {\n try {\n import('cross-fetch').then(function (mod) {\n fetchApi = mod.default;\n }).catch(function () {});\n } catch (e) {}\n}\nvar addQueryString = function addQueryString(url, params) {\n if (params && _typeof(params) === 'object') {\n var queryString = '';\n for (var paramName in params) {\n queryString += '&' + encodeURIComponent(paramName) + '=' + encodeURIComponent(params[paramName]);\n }\n if (!queryString) return url;\n url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1);\n }\n return url;\n};\nvar fetchIt = function fetchIt(url, fetchOptions, callback, altFetch) {\n var resolver = function resolver(response) {\n if (!response.ok) return callback(response.statusText || 'Error', {\n status: response.status\n });\n response.text().then(function (data) {\n callback(null, {\n status: response.status,\n data: data\n });\n }).catch(callback);\n };\n if (altFetch) {\n var altResponse = altFetch(url, fetchOptions);\n if (altResponse instanceof Promise) {\n altResponse.then(resolver).catch(callback);\n return;\n }\n }\n if (typeof fetch === 'function') {\n fetch(url, fetchOptions).then(resolver).catch(callback);\n } else {\n fetchApi(url, fetchOptions).then(resolver).catch(callback);\n }\n};\nvar omitFetchOptions = false;\nvar requestWithFetch = function requestWithFetch(options, url, payload, callback) {\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n var headers = _objectSpread({}, typeof options.customHeaders === 'function' ? options.customHeaders() : options.customHeaders);\n if (typeof window === 'undefined' && typeof global !== 'undefined' && typeof global.process !== 'undefined' && global.process.versions && global.process.versions.node) {\n headers['User-Agent'] = \"i18next-http-backend (node/\".concat(global.process.version, \"; \").concat(global.process.platform, \" \").concat(global.process.arch, \")\");\n }\n if (payload) headers['Content-Type'] = 'application/json';\n var reqOptions = typeof options.requestOptions === 'function' ? options.requestOptions(payload) : options.requestOptions;\n var fetchOptions = _objectSpread({\n method: payload ? 'POST' : 'GET',\n body: payload ? options.stringify(payload) : undefined,\n headers: headers\n }, omitFetchOptions ? {} : reqOptions);\n var altFetch = typeof options.alternateFetch === 'function' && options.alternateFetch.length >= 1 ? options.alternateFetch : undefined;\n try {\n fetchIt(url, fetchOptions, callback, altFetch);\n } catch (e) {\n if (!reqOptions || Object.keys(reqOptions).length === 0 || !e.message || e.message.indexOf('not implemented') < 0) {\n return callback(e);\n }\n try {\n Object.keys(reqOptions).forEach(function (opt) {\n delete fetchOptions[opt];\n });\n fetchIt(url, fetchOptions, callback, altFetch);\n omitFetchOptions = true;\n } catch (err) {\n callback(err);\n }\n }\n};\nvar requestWithXmlHttpRequest = function requestWithXmlHttpRequest(options, url, payload, callback) {\n if (payload && _typeof(payload) === 'object') {\n payload = addQueryString('', payload).slice(1);\n }\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n try {\n var x = XmlHttpRequestApi ? new XmlHttpRequestApi() : new ActiveXObjectApi('MSXML2.XMLHTTP.3.0');\n x.open(payload ? 'POST' : 'GET', url, 1);\n if (!options.crossDomain) {\n x.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n x.withCredentials = !!options.withCredentials;\n if (payload) {\n x.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n }\n if (x.overrideMimeType) {\n x.overrideMimeType('application/json');\n }\n var h = options.customHeaders;\n h = typeof h === 'function' ? h() : h;\n if (h) {\n for (var i in h) {\n x.setRequestHeader(i, h[i]);\n }\n }\n x.onreadystatechange = function () {\n x.readyState > 3 && callback(x.status >= 400 ? x.statusText : null, {\n status: x.status,\n data: x.responseText\n });\n };\n x.send(payload);\n } catch (e) {\n console && console.log(e);\n }\n};\nvar request = function request(options, url, payload, callback) {\n if (typeof payload === 'function') {\n callback = payload;\n payload = undefined;\n }\n callback = callback || function () {};\n if (fetchApi && url.indexOf('file:') !== 0) {\n return requestWithFetch(options, url, payload, callback);\n }\n if (hasXMLHttpRequest() || typeof ActiveXObject === 'function') {\n return requestWithXmlHttpRequest(options, url, payload, callback);\n }\n callback(new Error('No fetch and no xhr implementation found!'));\n};\nexport default request;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport { makePromise, interpolate } from './utils.js';\nimport request from './request.js';\nvar getDefaults = function getDefaults() {\n return {\n loadPath: '/locales/{{lng}}/{{ns}}.json',\n addPath: '/locales/add/{{lng}}/{{ns}}',\n parse: function parse(data) {\n return JSON.parse(data);\n },\n stringify: JSON.stringify,\n parsePayload: function parsePayload(namespace, key, fallbackValue) {\n return _defineProperty({}, key, fallbackValue || '');\n },\n parseLoadPayload: function parseLoadPayload(languages, namespaces) {\n return undefined;\n },\n request: request,\n reloadInterval: typeof window !== 'undefined' ? false : 60 * 60 * 1000,\n customHeaders: {},\n queryStringParams: {},\n crossDomain: false,\n withCredentials: false,\n overrideMimeType: false,\n requestOptions: {\n mode: 'cors',\n credentials: 'same-origin',\n cache: 'default'\n }\n };\n};\nvar Backend = function () {\n function Backend(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n _classCallCheck(this, Backend);\n this.services = services;\n this.options = options;\n this.allOptions = allOptions;\n this.type = 'backend';\n this.init(services, options, allOptions);\n }\n return _createClass(Backend, [{\n key: \"init\",\n value: function init(services) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), this.options || {}), options);\n this.allOptions = allOptions;\n if (this.services && this.options.reloadInterval) {\n var timer = setInterval(function () {\n return _this.reload();\n }, this.options.reloadInterval);\n if (_typeof(timer) === 'object' && typeof timer.unref === 'function') timer.unref();\n }\n }\n }, {\n key: \"readMulti\",\n value: function readMulti(languages, namespaces, callback) {\n this._readAny(languages, languages, namespaces, namespaces, callback);\n }\n }, {\n key: \"read\",\n value: function read(language, namespace, callback) {\n this._readAny([language], language, [namespace], namespace, callback);\n }\n }, {\n key: \"_readAny\",\n value: function _readAny(languages, loadUrlLanguages, namespaces, loadUrlNamespaces, callback) {\n var _this2 = this;\n var loadPath = this.options.loadPath;\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath(languages, namespaces);\n }\n loadPath = makePromise(loadPath);\n loadPath.then(function (resolvedLoadPath) {\n if (!resolvedLoadPath) return callback(null, {});\n var url = interpolate(resolvedLoadPath, {\n lng: languages.join('+'),\n ns: namespaces.join('+')\n });\n _this2.loadUrl(url, callback, loadUrlLanguages, loadUrlNamespaces);\n });\n }\n }, {\n key: \"loadUrl\",\n value: function loadUrl(url, callback, languages, namespaces) {\n var _this3 = this;\n var lng = typeof languages === 'string' ? [languages] : languages;\n var ns = typeof namespaces === 'string' ? [namespaces] : namespaces;\n var payload = this.options.parseLoadPayload(lng, ns);\n this.options.request(this.options, url, payload, function (err, res) {\n if (res && (res.status >= 500 && res.status < 600 || !res.status)) return callback('failed loading ' + url + '; status code: ' + res.status, true);\n if (res && res.status >= 400 && res.status < 500) return callback('failed loading ' + url + '; status code: ' + res.status, false);\n if (!res && err && err.message) {\n var errorMessage = err.message.toLowerCase();\n var isNetworkError = ['failed', 'fetch', 'network', 'load'].find(function (term) {\n return errorMessage.indexOf(term) > -1;\n });\n if (isNetworkError) {\n return callback('failed loading ' + url + ': ' + err.message, true);\n }\n }\n if (err) return callback(err, false);\n var ret, parseErr;\n try {\n if (typeof res.data === 'string') {\n ret = _this3.options.parse(res.data, languages, namespaces);\n } else {\n ret = res.data;\n }\n } catch (e) {\n parseErr = 'failed parsing ' + url + ' to json';\n }\n if (parseErr) return callback(parseErr, false);\n callback(null, ret);\n });\n }\n }, {\n key: \"create\",\n value: function create(languages, namespace, key, fallbackValue, callback) {\n var _this4 = this;\n if (!this.options.addPath) return;\n if (typeof languages === 'string') languages = [languages];\n var payload = this.options.parsePayload(namespace, key, fallbackValue);\n var finished = 0;\n var dataArray = [];\n var resArray = [];\n languages.forEach(function (lng) {\n var addPath = _this4.options.addPath;\n if (typeof _this4.options.addPath === 'function') {\n addPath = _this4.options.addPath(lng, namespace);\n }\n var url = interpolate(addPath, {\n lng: lng,\n ns: namespace\n });\n _this4.options.request(_this4.options, url, payload, function (data, res) {\n finished += 1;\n dataArray.push(data);\n resArray.push(res);\n if (finished === languages.length) {\n if (typeof callback === 'function') callback(dataArray, resArray);\n }\n });\n });\n }\n }, {\n key: \"reload\",\n value: function reload() {\n var _this5 = this;\n var _this$services = this.services,\n backendConnector = _this$services.backendConnector,\n languageUtils = _this$services.languageUtils,\n logger = _this$services.logger;\n var currentLanguage = backendConnector.language;\n if (currentLanguage && currentLanguage.toLowerCase() === 'cimode') return;\n var toLoad = [];\n var append = function append(lng) {\n var lngs = languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n append(currentLanguage);\n if (this.allOptions.preload) this.allOptions.preload.forEach(function (l) {\n return append(l);\n });\n toLoad.forEach(function (lng) {\n _this5.allOptions.ns.forEach(function (ns) {\n backendConnector.read(lng, ns, 'read', null, null, function (err, data) {\n if (err) logger.warn(\"loading namespace \".concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) logger.log(\"loaded namespace \".concat(ns, \" for language \").concat(lng), data);\n backendConnector.loaded(\"\".concat(lng, \"|\").concat(ns), err, data);\n });\n });\n });\n }\n }]);\n}();\nBackend.type = 'backend';\nexport default Backend;","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\n\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\n/* eslint-disable max-classes-per-file */\nvar Storage = /*#__PURE__*/function () {\n function Storage(options) {\n _classCallCheck(this, Storage);\n this.store = options.store;\n }\n return _createClass(Storage, [{\n key: \"setItem\",\n value: function setItem(key, value) {\n if (this.store) {\n try {\n this.store.setItem(key, value);\n } catch (e) {\n // f.log('failed to set value for key \"' + key + '\" to localStorage.');\n }\n }\n }\n }, {\n key: \"getItem\",\n value: function getItem(key, value) {\n if (this.store) {\n try {\n return this.store.getItem(key, value);\n } catch (e) {\n // f.log('failed to get value for key \"' + key + '\" from localStorage.');\n }\n }\n return undefined;\n }\n }]);\n}();\nfunction getDefaults() {\n var store = null;\n try {\n store = window.localStorage;\n } catch (e) {\n if (typeof window !== 'undefined') {\n console.log('Failed to load local storage.', e);\n }\n }\n return {\n prefix: 'i18next_res_',\n expirationTime: 7 * 24 * 60 * 60 * 1000,\n defaultVersion: undefined,\n getVersion: undefined,\n versions: {},\n store: store\n };\n}\nvar Cache = /*#__PURE__*/function () {\n function Cache(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Cache);\n this.init(services, options);\n this.type = 'backend';\n }\n return _createClass(Cache, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.services = services;\n this.options = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), this.options), options);\n this.storage = new Storage(this.options);\n }\n }, {\n key: \"read\",\n value: function read(language, namespace, callback) {\n var nowMS = Date.now();\n if (!this.storage.store) {\n return callback(null, null);\n }\n var local = this.storage.getItem(\"\".concat(this.options.prefix).concat(language, \"-\").concat(namespace));\n if (local) {\n local = JSON.parse(local);\n var version = this.getVersion(language, namespace);\n if (\n // expiration field is mandatory, and should not be expired\n local.i18nStamp && local.i18nStamp + this.options.expirationTime > nowMS &&\n // there should be no language version set, or if it is, it should match the one in translation\n version === local.i18nVersion) {\n var i18nStamp = local.i18nStamp;\n delete local.i18nVersion;\n delete local.i18nStamp;\n return callback(null, local, i18nStamp);\n }\n }\n return callback(null, null);\n }\n }, {\n key: \"save\",\n value: function save(language, namespace, data) {\n if (this.storage.store) {\n data.i18nStamp = Date.now();\n\n // language version (if set)\n var version = this.getVersion(language, namespace);\n if (version) {\n data.i18nVersion = version;\n }\n\n // save\n this.storage.setItem(\"\".concat(this.options.prefix).concat(language, \"-\").concat(namespace), JSON.stringify(data));\n }\n }\n }, {\n key: \"getVersion\",\n value: function getVersion(language, namespace) {\n var _this$options$getVers, _this$options;\n return ((_this$options$getVers = (_this$options = this.options).getVersion) === null || _this$options$getVers === void 0 ? void 0 : _this$options$getVers.call(_this$options, language, namespace)) || this.options.versions[language] || this.options.defaultVersion;\n }\n }]);\n}();\nCache.type = 'backend';\n\nexport { Cache as default };\n","var resourcesToBackend = function resourcesToBackend(res) {\n return {\n type: 'backend',\n init: function init(services, backendOptions, i18nextOptions) {},\n read: function read(language, namespace, callback) {\n if (typeof res === 'function') {\n if (res.length < 3) {\n try {\n var r = res(language, namespace);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return callback(null, data && data.default || data);\n }).catch(callback);\n } else {\n callback(null, r);\n }\n } catch (err) {\n callback(err);\n }\n return;\n }\n res(language, namespace, callback);\n return;\n }\n callback(null, res && res[language] && res[language][namespace]);\n }\n };\n};\n\nexport { resourcesToBackend as default };\n","import i18next, { InitOptions, ThirdPartyModule } from 'i18next';\nimport ChainedBackend from 'i18next-chained-backend';\nimport HttpBackend from 'i18next-http-backend';\nimport LocalStorageBackend from 'i18next-localstorage-backend';\nimport ResourcesToBackend from 'i18next-resources-to-backend';\nimport { getV } from '../utils';\n\nexport interface InitI18nProps {\n initReactI18next: ThirdPartyModule;\n lang: string;\n fallbackLang: string;\n langCacheExpiredTimeMs: number;\n resources: { [key: string]: any };\n version: string;\n useBackend: boolean;\n withLocalstorageBackend?: boolean;\n cdnUrl?: string;\n debug?: boolean;\n}\n\nconst initI18n = ({\n initReactI18next,\n lang,\n fallbackLang,\n langCacheExpiredTimeMs,\n resources,\n version,\n useBackend,\n withLocalstorageBackend = false,\n cdnUrl = '',\n debug = false,\n}: InitI18nProps) => {\n let backends: Array<any> = [];\n let backendOptions: Array<any> = [];\n const langs = Object.keys(resources);\n\n // https://www.i18next.com/how-to/backend-fallback\n if (useBackend && withLocalstorageBackend) {\n const versions: { [key: string]: string } = {};\n\n langs.forEach((value) => Object.assign(versions, { [value]: version }));\n\n backends.push(LocalStorageBackend);\n backendOptions.push({\n // prefix for stored languages\n prefix: `i18next_res_`,\n\n // expiration\n expirationTime: langCacheExpiredTimeMs,\n\n // language versions\n versions: versions,\n });\n }\n\n if (useBackend && cdnUrl) {\n backends.push(HttpBackend);\n backendOptions.push({\n // load resources from url path\n loadPath: `${cdnUrl}/locales/{{lng}}.json`,\n // adds parameters to resource URL. 'example.com' -> 'example.com?v=1.3.5'\n queryStringParams: {\n v: `${version}.${getV(langCacheExpiredTimeMs)}`,\n },\n\n reloadInterval: langCacheExpiredTimeMs, // can be used to reload resources in a specific interval (milliseconds) (useful in server environments)\n });\n }\n\n if (useBackend) {\n backends.push(ResourcesToBackend(resources));\n }\n\n // https://www.i18next.com/misc/creating-own-plugins#languagedetector\n const languageDetector: any = {\n type: 'languageDetector',\n name: 'customDetector',\n async: false,\n init: () => {\n /* use services and options */\n },\n detect: (callback: any) => {\n return lang;\n },\n };\n\n let config: InitOptions = {\n debug: debug,\n compatibilityJSON: 'v4',\n ns: ['translation'],\n defaultNS: 'translation',\n lng: lang,\n fallbackLng: fallbackLang,\n load: 'currentOnly',\n keySeparator: false,\n nonExplicitSupportedLngs: true,\n interpolation: {\n escapeValue: false, // react already safes from xss\n },\n };\n\n if (useBackend) {\n config = {\n ...config,\n backend: {\n backends: backends,\n backendOptions: backendOptions,\n cacheHitMode: 'refreshAndUpdateStore',\n reloadInterval: langCacheExpiredTimeMs,\n refreshExpirationTime: langCacheExpiredTimeMs, // only after determined time it should trigger a refresh if necessary\n },\n react: {\n bindI18nStore: 'added', // this way, when the HttpBackend delivers new translations (thanks to refreshAndUpdateStore), the UI gets updated\n },\n };\n } else {\n config = {\n ...config,\n resources: resources,\n };\n }\n\n if (!i18next.isInitialized) {\n let i18n = i18next;\n\n if (useBackend) {\n i18n = i18n.use(ChainedBackend);\n }\n\n i18n\n .use(languageDetector)\n .use(initReactI18next) // passes i18n down to react-i18next\n .init(config, (ex, t) => {\n if (ex) {\n console.error(`Error when i18n init`, ex);\n return;\n }\n });\n }\n};\n\nexport { getV, initI18n };\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12],"mappings":"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"}
package/dist/i18n.js CHANGED
@@ -1,28 +1,4 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- EnvironmentEnum: true
8
- };
9
- Object.defineProperty(exports, "EnvironmentEnum", {
10
- enumerable: true,
11
- get: function get() {
12
- return _EnvironmentEnum.EnvironmentEnum;
13
- }
14
- });
15
- var _EnvironmentEnum = require("./enums/EnvironmentEnum");
16
- var _I18n = require("./I18n/I18n");
17
- Object.keys(_I18n).forEach(function (key) {
18
- if (key === "default" || key === "__esModule") return;
19
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
20
- if (key in exports && exports[key] === _I18n[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function get() {
24
- return _I18n[key];
25
- }
26
- });
27
- });
28
- //# sourceMappingURL=i18n.js.map
1
+ import { t as e } from "./EnvironmentEnum-CXTWJxNo.js";
2
+ import { getV as t } from "./utils.js";
3
+ import { t as n } from "./i18n-D1jKJPI0.js";
4
+ export { e as EnvironmentEnum, t as getV, n as initI18n };
@@ -1,2 +1 @@
1
1
  export * from './config-cli';
2
- export * from './sentry-cli';
package/dist/index-cli.js CHANGED
@@ -1,28 +1,3 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _configCli = require("./config-cli");
7
- Object.keys(_configCli).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _configCli[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function get() {
13
- return _configCli[key];
14
- }
15
- });
16
- });
17
- var _sentryCli = require("./sentry-cli");
18
- Object.keys(_sentryCli).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _sentryCli[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function get() {
24
- return _sentryCli[key];
25
- }
26
- });
27
- });
28
- //# sourceMappingURL=index-cli.js.map
1
+ import { t as e } from "./EnvironmentEnum-CXTWJxNo.js";
2
+ import { a as t, i as n, n as r, o as i, r as a, s as o, t as s } from "./config-cli-BIF4xuoO.js";
3
+ export { e as EnvironmentEnum, i as changeEntry, s as fetchAll, r as fetchConfig, a as fetchLocales, n as fetchRawValue, o as transformConfig, t as transformSitemap };
package/dist/index-rn.js CHANGED
@@ -1,39 +1,6 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _format = require("./format");
7
- Object.keys(_format).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _format[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function get() {
13
- return _format[key];
14
- }
15
- });
16
- });
17
- var _i18n = require("./i18n");
18
- Object.keys(_i18n).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _i18n[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function get() {
24
- return _i18n[key];
25
- }
26
- });
27
- });
28
- var _sentryRn = require("./sentry-rn");
29
- Object.keys(_sentryRn).forEach(function (key) {
30
- if (key === "default" || key === "__esModule") return;
31
- if (key in exports && exports[key] === _sentryRn[key]) return;
32
- Object.defineProperty(exports, key, {
33
- enumerable: true,
34
- get: function get() {
35
- return _sentryRn[key];
36
- }
37
- });
38
- });
39
- //# sourceMappingURL=index-rn.js.map
1
+ import { t as e } from "./EnvironmentEnum-CXTWJxNo.js";
2
+ import { getV as t } from "./utils.js";
3
+ import { a as n, i as r, n as i, r as a, t as o } from "./format-BgweN3o5.js";
4
+ import { t as s } from "./i18n-D1jKJPI0.js";
5
+ import { n as c, t as l } from "./sentry-rn-DZwIel7y.js";
6
+ export { n as CurrencySymbolEnum, e as EnvironmentEnum, o as formatAccountNumber, i as formatNumber, a as getCurrencySymbol, t as getV, s as initI18n, l as initSentry, r as parseFormatNumber, c as recordAdditionalSentryHttp };