{"version":3,"sources":["jsdelivr-header.js","/npm/i18next-http-backend@4.0.2/cjs/index.js"],"names":[],"mappings":"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","file":"/npm/i18next-http-backend@4.0.2/cjs/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.48.0.\n * Original file: /npm/i18next-http-backend@4.0.2/cjs/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","//#region lib/utils.js\nconst arr = [];\narr.forEach;\narr.slice;\nconst UNSAFE_KEYS$1 = [\n\t\"__proto__\",\n\t\"constructor\",\n\t\"prototype\"\n];\nfunction isSafeUrlSegmentBase(v) {\n\tif (typeof v !== \"string\") return false;\n\tif (v.length === 0 || v.length > 128) return false;\n\tif (UNSAFE_KEYS$1.indexOf(v) > -1) return false;\n\tif (v.indexOf(\"..\") > -1) return false;\n\tif (v.indexOf(\"\\\\\") > -1) return false;\n\tif (/[?#%:\\s]/.test(v)) return false;\n\tif (/[\\x00-\\x1F\\x7F]/.test(v)) return false;\n\treturn true;\n}\nfunction isSafeLangUrlSegment(v) {\n\tif (!isSafeUrlSegmentBase(v)) return false;\n\tif (v.indexOf(\"/\") > -1 || v.indexOf(\"@\") > -1) return false;\n\treturn true;\n}\nfunction isSafeNsUrlSegment(v) {\n\tif (!isSafeUrlSegmentBase(v)) return false;\n\tif (v.indexOf(\"//\") > -1) return false;\n\treturn true;\n}\nconst SAFETY_CHECK_BY_KEY = {\n\tlng: isSafeLangUrlSegment,\n\tns: isSafeNsUrlSegment\n};\nfunction sanitizeLogValue(v) {\n\tif (typeof v !== \"string\") return v;\n\treturn v.replace(/[\\r\\n\\x00-\\x1F\\x7F]/g, \" \");\n}\nfunction redactUrlCredentials(u) {\n\tif (typeof u !== \"string\" || u.length === 0) return u;\n\ttry {\n\t\tconst parsed = new URL(u);\n\t\tif (parsed.username || parsed.password) {\n\t\t\tparsed.username = \"\";\n\t\t\tparsed.password = \"\";\n\t\t\treturn parsed.toString();\n\t\t}\n\t\treturn u;\n\t} catch (e) {\n\t\treturn u.replace(/(\\/\\/)[^/@\\s]+@/g, \"$1\");\n\t}\n}\nfunction hasXMLHttpRequest() {\n\treturn typeof XMLHttpRequest === \"function\" || typeof XMLHttpRequest === \"object\";\n}\n/**\n* Determine whether the given `maybePromise` is a Promise.\n*\n* @param {*} maybePromise\n*\n* @returns {Boolean}\n*/\nfunction isPromise(maybePromise) {\n\treturn !!maybePromise && typeof maybePromise.then === \"function\";\n}\n/**\n* Convert any value to a Promise than will resolve to this value.\n*\n* @param {*} maybePromise\n*\n* @returns {Promise}\n*/\nfunction makePromise(maybePromise) {\n\tif (isPromise(maybePromise)) return maybePromise;\n\treturn Promise.resolve(maybePromise);\n}\nconst interpolationRegexp = /\\{\\{(.+?)\\}\\}/g;\nfunction interpolateUrl(str, data) {\n\tlet unsafe = false;\n\tconst result = str.replace(interpolationRegexp, (match, key) => {\n\t\tconst k = key.trim();\n\t\tif (UNSAFE_KEYS$1.indexOf(k) > -1) return match;\n\t\tconst value = data[k];\n\t\tif (value == null) return match;\n\t\tconst check = SAFETY_CHECK_BY_KEY[k] || isSafeLangUrlSegment;\n\t\tconst segments = String(value).split(\"+\");\n\t\tfor (const seg of segments) if (!check(seg)) {\n\t\t\tunsafe = true;\n\t\t\treturn match;\n\t\t}\n\t\treturn segments.join(\"+\");\n\t});\n\treturn unsafe ? null : result;\n}\n//#endregion\n//#region lib/request.js\nconst g = typeof globalThis !== \"undefined\" ? globalThis : typeof global !== \"undefined\" ? global : typeof window !== \"undefined\" ? window : void 0;\nlet fetchApi;\nif (typeof fetch === \"function\") fetchApi = fetch;\nelse if (g && typeof g.fetch === \"function\") fetchApi = g.fetch;\nconst XmlHttpRequestApi = hasXMLHttpRequest() && g ? g.XMLHttpRequest : void 0;\nconst ActiveXObjectApi = typeof ActiveXObject === \"function\" && g ? g.ActiveXObject : void 0;\nconst UNSAFE_KEYS = [\n\t\"__proto__\",\n\t\"constructor\",\n\t\"prototype\"\n];\nconst addQueryString = (url, params) => {\n\tif (params && typeof params === \"object\") {\n\t\tlet queryString = \"\";\n\t\tfor (const paramName of Object.keys(params)) {\n\t\t\tif (UNSAFE_KEYS.indexOf(paramName) > -1) continue;\n\t\t\tqueryString += \"&\" + encodeURIComponent(paramName) + \"=\" + encodeURIComponent(params[paramName]);\n\t\t}\n\t\tif (!queryString) return url;\n\t\turl = url + (url.indexOf(\"?\") !== -1 ? \"&\" : \"?\") + queryString.slice(1);\n\t}\n\treturn url;\n};\nconst fetchIt = (url, fetchOptions, callback, altFetch) => {\n\tconst resolver = (response) => {\n\t\tif (!response.ok) return callback(response.statusText || \"Error\", { status: response.status });\n\t\tresponse.text().then((data) => {\n\t\t\tcallback(null, {\n\t\t\t\tstatus: response.status,\n\t\t\t\tdata\n\t\t\t});\n\t\t}).catch(callback);\n\t};\n\tif (altFetch) {\n\t\tconst altResponse = altFetch(url, fetchOptions);\n\t\tif (altResponse instanceof Promise) {\n\t\t\taltResponse.then(resolver).catch(callback);\n\t\t\treturn;\n\t\t}\n\t}\n\tif (typeof fetch === \"function\") fetch(url, fetchOptions).then(resolver).catch(callback);\n\telse fetchApi(url, fetchOptions).then(resolver).catch(callback);\n};\nconst requestWithFetch = (options, url, payload, callback) => {\n\tif (options.queryStringParams) url = addQueryString(url, options.queryStringParams);\n\tconst headers = { ...typeof options.customHeaders === \"function\" ? options.customHeaders() : options.customHeaders };\n\tif (typeof window === \"undefined\" && typeof global !== \"undefined\" && typeof global.process !== \"undefined\" && global.process.versions && global.process.versions.node) headers[\"User-Agent\"] = `i18next-http-backend (node/${global.process.version}; ${global.process.platform} ${global.process.arch})`;\n\tif (payload) headers[\"Content-Type\"] = \"application/json\";\n\tconst reqOptions = typeof options.requestOptions === \"function\" ? options.requestOptions(payload) : options.requestOptions;\n\tconst fetchOptions = {\n\t\tmethod: payload ? \"POST\" : \"GET\",\n\t\tbody: payload ? options.stringify(payload) : void 0,\n\t\theaders,\n\t\t...options._omitFetchOptions ? {} : reqOptions\n\t};\n\tconst altFetch = typeof options.alternateFetch === \"function\" && options.alternateFetch.length >= 1 ? options.alternateFetch : void 0;\n\ttry {\n\t\tfetchIt(url, fetchOptions, callback, altFetch);\n\t} catch (e) {\n\t\tif (!reqOptions || Object.keys(reqOptions).length === 0 || !e.message || e.message.indexOf(\"not implemented\") < 0) return callback(e);\n\t\ttry {\n\t\t\tObject.keys(reqOptions).forEach((opt) => {\n\t\t\t\tdelete fetchOptions[opt];\n\t\t\t});\n\t\t\tfetchIt(url, fetchOptions, callback, altFetch);\n\t\t\toptions._omitFetchOptions = true;\n\t\t} catch (err) {\n\t\t\tcallback(err);\n\t\t}\n\t}\n};\nconst requestWithXmlHttpRequest = (options, url, payload, callback) => {\n\tif (payload && typeof payload === \"object\") payload = addQueryString(\"\", payload).slice(1);\n\tif (options.queryStringParams) url = addQueryString(url, options.queryStringParams);\n\ttry {\n\t\tconst x = XmlHttpRequestApi ? new XmlHttpRequestApi() : new ActiveXObjectApi(\"MSXML2.XMLHTTP.3.0\");\n\t\tx.open(payload ? \"POST\" : \"GET\", url, 1);\n\t\tif (!options.crossDomain) x.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n\t\tx.withCredentials = !!options.withCredentials;\n\t\tif (payload) x.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n\t\tif (x.overrideMimeType) x.overrideMimeType(\"application/json\");\n\t\tlet h = options.customHeaders;\n\t\th = typeof h === \"function\" ? h() : h;\n\t\tif (h) for (const i of Object.keys(h)) {\n\t\t\tif (UNSAFE_KEYS.indexOf(i) > -1) continue;\n\t\t\tx.setRequestHeader(i, h[i]);\n\t\t}\n\t\tx.onreadystatechange = () => {\n\t\t\tx.readyState > 3 && callback(x.status >= 400 ? x.statusText : null, {\n\t\t\t\tstatus: x.status,\n\t\t\t\tdata: x.responseText\n\t\t\t});\n\t\t};\n\t\tx.send(payload);\n\t} catch (e) {\n\t\tconsole && console.log(e);\n\t}\n};\nconst request = (options, url, payload, callback) => {\n\tif (typeof payload === \"function\") {\n\t\tcallback = payload;\n\t\tpayload = void 0;\n\t}\n\tcallback = callback || (() => {});\n\tif (fetchApi && url.indexOf(\"file:\") !== 0) return requestWithFetch(options, url, payload, callback);\n\tif (hasXMLHttpRequest() || typeof ActiveXObject === \"function\") return requestWithXmlHttpRequest(options, url, payload, callback);\n\tcallback(/* @__PURE__ */ new Error(\"No fetch and no xhr implementation found!\"));\n};\n//#endregion\n//#region lib/index.js\nconst getDefaults = () => {\n\treturn {\n\t\tloadPath: \"/locales/{{lng}}/{{ns}}.json\",\n\t\taddPath: \"/locales/add/{{lng}}/{{ns}}\",\n\t\tparse: (data) => JSON.parse(data),\n\t\tstringify: JSON.stringify,\n\t\tparsePayload: (namespace, key, fallbackValue) => ({ [key]: fallbackValue || \"\" }),\n\t\tparseLoadPayload: (languages, namespaces) => void 0,\n\t\trequest,\n\t\treloadInterval: typeof window !== \"undefined\" ? false : 3600 * 1e3,\n\t\tcustomHeaders: {},\n\t\tqueryStringParams: {},\n\t\tcrossDomain: false,\n\t\twithCredentials: false,\n\t\toverrideMimeType: false,\n\t\trequestOptions: {\n\t\t\tmode: \"cors\",\n\t\t\tcredentials: \"same-origin\",\n\t\t\tcache: \"default\"\n\t\t}\n\t};\n};\nvar Backend = class {\n\tconstructor(services, options = {}, allOptions = {}) {\n\t\tthis.services = services;\n\t\tthis.options = options;\n\t\tthis.allOptions = allOptions;\n\t\tthis.type = \"backend\";\n\t\tthis.init(services, options, allOptions);\n\t}\n\tinit(services, options = {}, allOptions = {}) {\n\t\tthis.services = services;\n\t\tthis.options = {\n\t\t\t...getDefaults(),\n\t\t\t...this.options || {},\n\t\t\t...options\n\t\t};\n\t\tthis.allOptions = allOptions;\n\t\tif (this.services && this.options.reloadInterval) {\n\t\t\tconst timer = setInterval(() => this.reload(), this.options.reloadInterval);\n\t\t\tif (typeof timer === \"object\" && typeof timer.unref === \"function\") timer.unref();\n\t\t}\n\t}\n\treadMulti(languages, namespaces, callback) {\n\t\tthis._readAny(languages, languages, namespaces, namespaces, callback);\n\t}\n\tread(language, namespace, callback) {\n\t\tthis._readAny([language], language, [namespace], namespace, callback);\n\t}\n\t_readAny(languages, loadUrlLanguages, namespaces, loadUrlNamespaces, callback) {\n\t\tlet loadPath = this.options.loadPath;\n\t\tif (typeof this.options.loadPath === \"function\") loadPath = this.options.loadPath(languages, namespaces);\n\t\tloadPath = makePromise(loadPath);\n\t\tloadPath.then((resolvedLoadPath) => {\n\t\t\tif (!resolvedLoadPath) return callback(null, {});\n\t\t\tconst url = interpolateUrl(resolvedLoadPath, {\n\t\t\t\tlng: languages.join(\"+\"),\n\t\t\t\tns: namespaces.join(\"+\")\n\t\t\t});\n\t\t\tif (url == null) {\n\t\t\t\tconst safeLngs = languages.map(sanitizeLogValue).join(\", \");\n\t\t\t\tconst safeNss = namespaces.map(sanitizeLogValue).join(\", \");\n\t\t\t\treturn callback(/* @__PURE__ */ new Error(\"i18next-http-backend: unsafe lng/ns value — refusing to build request URL for languages=[\" + safeLngs + \"] namespaces=[\" + safeNss + \"]\"), false);\n\t\t\t}\n\t\t\tthis.loadUrl(url, callback, loadUrlLanguages, loadUrlNamespaces);\n\t\t});\n\t}\n\tloadUrl(url, callback, languages, namespaces) {\n\t\tconst lng = typeof languages === \"string\" ? [languages] : languages;\n\t\tconst ns = typeof namespaces === \"string\" ? [namespaces] : namespaces;\n\t\tconst payload = this.options.parseLoadPayload(lng, ns);\n\t\tconst safeUrl = sanitizeLogValue(redactUrlCredentials(url));\n\t\tthis.options.request(this.options, url, payload, (err, res) => {\n\t\t\tif (res && (res.status >= 500 && res.status < 600 || !res.status)) return callback(\"failed loading \" + safeUrl + \"; status code: \" + res.status, true);\n\t\t\tif (res && res.status >= 400 && res.status < 500) return callback(\"failed loading \" + safeUrl + \"; status code: \" + res.status, false);\n\t\t\tif (!res && err && err.message) {\n\t\t\t\tconst errorMessage = err.message.toLowerCase();\n\t\t\t\tif ([\n\t\t\t\t\t\"failed\",\n\t\t\t\t\t\"fetch\",\n\t\t\t\t\t\"network\",\n\t\t\t\t\t\"load\"\n\t\t\t\t].find((term) => errorMessage.indexOf(term) > -1)) return callback(\"failed loading \" + safeUrl + \": \" + sanitizeLogValue(err.message), true);\n\t\t\t}\n\t\t\tif (err) return callback(err, false);\n\t\t\tlet ret, parseErr;\n\t\t\ttry {\n\t\t\t\tif (typeof res.data === \"string\") ret = this.options.parse(res.data, languages, namespaces);\n\t\t\t\telse ret = res.data;\n\t\t\t} catch (e) {\n\t\t\t\tparseErr = \"failed parsing \" + safeUrl + \" to json\";\n\t\t\t}\n\t\t\tif (parseErr) return callback(parseErr, false);\n\t\t\tcallback(null, ret);\n\t\t});\n\t}\n\tcreate(languages, namespace, key, fallbackValue, callback) {\n\t\tif (!this.options.addPath) return;\n\t\tif (typeof languages === \"string\") languages = [languages];\n\t\tconst payload = this.options.parsePayload(namespace, key, fallbackValue);\n\t\tlet finished = 0;\n\t\tconst dataArray = [];\n\t\tconst resArray = [];\n\t\tlanguages.forEach((lng) => {\n\t\t\tlet addPath = this.options.addPath;\n\t\t\tif (typeof this.options.addPath === \"function\") addPath = this.options.addPath(lng, namespace);\n\t\t\tconst url = interpolateUrl(addPath, {\n\t\t\t\tlng,\n\t\t\t\tns: namespace\n\t\t\t});\n\t\t\tif (url == null) {\n\t\t\t\tfinished += 1;\n\t\t\t\tif (callback && finished === languages.length) callback(dataArray, resArray);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.options.request(this.options, url, payload, (data, res) => {\n\t\t\t\tfinished += 1;\n\t\t\t\tdataArray.push(data);\n\t\t\t\tresArray.push(res);\n\t\t\t\tif (finished === languages.length) {\n\t\t\t\t\tif (typeof callback === \"function\") callback(dataArray, resArray);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\treload() {\n\t\tconst { backendConnector, languageUtils, logger } = this.services;\n\t\tconst currentLanguage = backendConnector.language;\n\t\tif (currentLanguage && currentLanguage.toLowerCase() === \"cimode\") return;\n\t\tconst toLoad = [];\n\t\tconst append = (lng) => {\n\t\t\tlanguageUtils.toResolveHierarchy(lng).forEach((l) => {\n\t\t\t\tif (toLoad.indexOf(l) < 0) toLoad.push(l);\n\t\t\t});\n\t\t};\n\t\tappend(currentLanguage);\n\t\tif (this.allOptions.preload) this.allOptions.preload.forEach((l) => append(l));\n\t\ttoLoad.forEach((lng) => {\n\t\t\tthis.allOptions.ns.forEach((ns) => {\n\t\t\t\tbackendConnector.read(lng, ns, \"read\", null, null, (err, data) => {\n\t\t\t\t\tif (err) logger.warn(`loading namespace ${ns} for language ${lng} failed`, err);\n\t\t\t\t\tif (!err && data) logger.log(`loaded namespace ${ns} for language ${lng}`, data);\n\t\t\t\t\tbackendConnector.loaded(`${lng}|${ns}`, err, data);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n};\nBackend.type = \"backend\";\n//#endregion\nmodule.exports = Backend;\n"]}