{"version":3,"sources":["webpack:///./node_modules/i18next-xhr-backend/dist/esm/i18nextXHRBackend.js"],"names":["arr","each","forEach","slice","defaults","obj","call","arguments","source","prop","undefined","addQueryString","url","params","queryString","e","encodeURIComponent","paramName","indexOf","ajax","options","callback","data","cache","Date","queryStringParams","x","XMLHttpRequest","ActiveXObject","open","crossDomain","setRequestHeader","withCredentials","overrideMimeType","h","customHeaders","i","onreadystatechange","readyState","responseText","send","console","log","getDefaults","loadPath","addPath","allowMultiLoading","parse","JSON","Backend","services","length","this","init","type","key","value","languages","namespaces","interpolator","interpolate","lng","join","ns","loadUrl","language","namespace","_this","xhr","status","ret","err","fallbackValue","_this2","payload"],"mappings":"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","file":"npm.i18next-xhr-backend.39d0808dd9a0048bcbc8.js","sourcesContent":["import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\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}\n\nfunction addQueryString(url, params) {\n if (params && _typeof(params) === 'object') {\n var queryString = '',\n e = encodeURIComponent; // Must encode data\n\n for (var paramName in params) {\n queryString += '&' + e(paramName) + '=' + e(params[paramName]);\n }\n\n if (!queryString) {\n return url;\n }\n\n url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1);\n }\n\n return url;\n} // https://gist.github.com/Xeoncross/7663273\n\n\nfunction ajax(url, options, callback, data, cache) {\n if (data && _typeof(data) === 'object') {\n if (!cache) {\n data['_t'] = new Date();\n } // URL encoded form data must be in querystring format\n\n\n data = addQueryString('', data).slice(1);\n }\n\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n\n try {\n var x;\n\n if (XMLHttpRequest) {\n x = new XMLHttpRequest();\n } else {\n x = new ActiveXObject('MSXML2.XMLHTTP.3.0');\n }\n\n x.open(data ? 'POST' : 'GET', url, 1);\n\n if (!options.crossDomain) {\n x.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n x.withCredentials = !!options.withCredentials;\n\n if (data) {\n x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');\n }\n\n if (x.overrideMimeType) {\n x.overrideMimeType(\"application/json\");\n }\n\n var h = options.customHeaders;\n h = typeof h === 'function' ? h() : h;\n\n if (h) {\n for (var i in h) {\n x.setRequestHeader(i, h[i]);\n }\n }\n\n x.onreadystatechange = function () {\n x.readyState > 3 && callback && callback(x.responseText, x);\n };\n\n x.send(data);\n } catch (e) {\n console && console.log(e);\n }\n}\n\nfunction getDefaults() {\n return {\n loadPath: '/locales/{{lng}}/{{ns}}.json',\n addPath: '/locales/add/{{lng}}/{{ns}}',\n allowMultiLoading: false,\n parse: JSON.parse,\n crossDomain: false,\n ajax: ajax\n };\n}\n\nvar Backend =\n/*#__PURE__*/\nfunction () {\n function Backend(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Backend);\n\n this.init(services, options);\n this.type = 'backend';\n }\n\n _createClass(Backend, [{\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 = defaults(options, this.options || {}, getDefaults());\n }\n }, {\n key: \"readMulti\",\n value: function readMulti(languages, namespaces, callback) {\n var loadPath = this.options.loadPath;\n\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath(languages, namespaces);\n }\n\n var url = this.services.interpolator.interpolate(loadPath, {\n lng: languages.join('+'),\n ns: namespaces.join('+')\n });\n this.loadUrl(url, callback);\n }\n }, {\n key: \"read\",\n value: function read(language, namespace, callback) {\n var loadPath = this.options.loadPath;\n\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath([language], [namespace]);\n }\n\n var url = this.services.interpolator.interpolate(loadPath, {\n lng: language,\n ns: namespace\n });\n this.loadUrl(url, callback);\n }\n }, {\n key: \"loadUrl\",\n value: function loadUrl(url, callback) {\n var _this = this;\n\n this.options.ajax(url, this.options, function (data, xhr) {\n if (xhr.status >= 500 && xhr.status < 600) return callback('failed loading ' + url, true\n /* retry */\n );\n if (xhr.status >= 400 && xhr.status < 500) return callback('failed loading ' + url, false\n /* no retry */\n );\n var ret, err;\n\n try {\n ret = _this.options.parse(data, url);\n } catch (e) {\n err = 'failed parsing ' + url + ' to json';\n }\n\n if (err) return callback(err, false);\n callback(null, ret);\n });\n }\n }, {\n key: \"create\",\n value: function create(languages, namespace, key, fallbackValue) {\n var _this2 = this;\n\n if (typeof languages === 'string') languages = [languages];\n var payload = {};\n payload[key] = fallbackValue || '';\n languages.forEach(function (lng) {\n var url = _this2.services.interpolator.interpolate(_this2.options.addPath, {\n lng: lng,\n ns: namespace\n });\n\n _this2.options.ajax(url, _this2.options, function (data, xhr) {//const statusCode = xhr.status.toString();\n // TODO: if statusCode === 4xx do log\n }, payload);\n });\n }\n }]);\n\n return Backend;\n}();\n\nBackend.type = 'backend';\n\nexport default Backend;\n"],"sourceRoot":""}