{ "version": 3, "sources": ["../../../../../js/v2.1/geoip2.js"], "sourcesContent": ["/* eslint-disable */\nwindow.geoip2 = (function () {\n 'use strict';\n var exports = {};\n\n function Lookup(successCallback, errorCallback, options, type) {\n this.successCallback = successCallback;\n this.errorCallback = errorCallback;\n this.type = type;\n }\n\n Lookup.prototype.returnSuccess = function (location) {\n if (this.successCallback && typeof this.successCallback === 'function') {\n this.successCallback(this.fillInObject(JSON.parse(location)));\n }\n };\n\n Lookup.prototype.returnError = function (error) {\n if (this.errorCallback && typeof this.errorCallback === 'function') {\n if (!error) {\n error = {\n error: 'Unknown error'\n };\n }\n this.errorCallback(error);\n }\n };\n\n var fillIns = {\n country: [\n ['continent', 'Object', 'names', 'Object'],\n ['country', 'Object', 'names', 'Object'],\n ['registered_country', 'Object', 'names', 'Object'],\n ['represented_country', 'Object', 'names', 'Object'],\n ['traits', 'Object']\n ],\n city: [\n ['city', 'Object', 'names', 'Object'],\n ['continent', 'Object', 'names', 'Object'],\n ['country', 'Object', 'names', 'Object'],\n ['location', 'Object'],\n ['postal', 'Object'],\n ['registered_country', 'Object', 'names', 'Object'],\n ['represented_country', 'Object', 'names', 'Object'],\n ['subdivisions', 'Array', 0, 'Object', 'names', 'Object'],\n ['traits', 'Object']\n ]\n };\n Lookup.prototype.fillInObject = function (obj) {\n var fill = this.type === 'country' ? fillIns.country : fillIns.city;\n\n for (var i = 0; i < fill.length; i++) {\n var path = fill[i];\n var o = obj;\n\n for (var j = 0; j < path.length; j += 2) {\n var key = path[j];\n if (!o[key]) {\n o[key] = path[j + 1] === 'Object' ? {} : [];\n }\n o = o[key];\n }\n }\n\n try {\n Object.defineProperty(obj.continent, 'continent_code', {\n enumerable: false,\n get: function () {\n return this.code;\n },\n set: function (value) {\n this.code = value;\n }\n });\n } catch (e) {\n if (obj.continent.code) {\n obj.continent.continent_code = obj.continent.code;\n }\n }\n\n if (this.type !== 'country') {\n try {\n Object.defineProperty(obj, 'most_specific_subdivision', {\n enumerable: false,\n get: function () {\n return this.subdivisions[this.subdivisions.length - 1];\n },\n set: function (value) {\n this.subdivisions[this.subdivisions.length - 1] = value;\n }\n });\n } catch (e) {\n obj.most_specific_subdivision =\n obj.subdivisions[obj.subdivisions.length - 1];\n }\n }\n\n return obj;\n };\n\n Lookup.prototype.getGeoIPResult = function () {\n var targetHostname;\n var hostname = window.location.hostname;\n var revHostnameSplit = hostname.split('.').reverse();\n if (\n revHostnameSplit[1] === 'maxmind' &&\n (revHostnameSplit[0] === 'com' || revHostnameSplit[0] === 'dev') &&\n hostname !== 'www.maxmind.com'\n ) {\n targetHostname = hostname;\n }\n\n var that = this,\n param,\n request = new window.XMLHttpRequest(),\n uri =\n 'https://' +\n (targetHostname || 'geoip-js.com') +\n '/geoip/v2.1/' +\n this.type +\n '/me?',\n httpParams = {\n referrer: location.protocol + '//' + location.hostname\n };\n\n if (this.alreadyRan) {\n return;\n }\n this.alreadyRan = 1;\n\n for (param in httpParams) {\n if (httpParams.hasOwnProperty(param) && httpParams[param]) {\n uri += param + '=' + encodeURIComponent(httpParams[param]) + '&';\n }\n }\n uri = uri.substring(0, uri.length - 1);\n\n request.open('GET', uri, true);\n request.onload = function () {\n if (typeof request.status === 'undefined' || request.status === 200) {\n that.returnSuccess(request.responseText);\n } else {\n var contentType = request.hasOwnProperty('contentType')\n ? request.contentType\n : request.getResponseHeader('Content-Type');\n\n var error;\n if (/json/.test(contentType) && request.responseText.length) {\n try {\n error = JSON.parse(request.responseText);\n } catch (e) {\n error = {\n code: 'HTTP_ERROR',\n error:\n 'The server returned a ' +\n request.status +\n ' status with an invalid JSON body.'\n };\n }\n } else if (request.responseText.length) {\n error = {\n code: 'HTTP_ERROR',\n error:\n 'The server returned a ' +\n request.status +\n ' status with the following body: ' +\n request.responseText\n };\n } else {\n error = {\n code: 'HTTP_ERROR',\n error:\n 'The server returned a ' +\n request.status +\n ' status but either the server did not return a body' +\n ' or this browser is a version of Internet Explorer that hides error bodies.'\n };\n }\n\n that.returnError(error);\n }\n };\n request.ontimeout = function () {\n that.returnError({\n code: 'HTTP_TIMEOUT',\n error: 'The request to the GeoIP2 web service timed out.'\n });\n };\n request.onerror = function () {\n that.returnError({\n code: 'HTTP_ERROR',\n error:\n 'There was a network error receiving the response from the GeoIP2 web service.'\n });\n };\n request.send(null);\n };\n\n exports.country = function (successCallback, errorCallback, options) {\n var l = new Lookup(successCallback, errorCallback, options, 'country');\n l.getGeoIPResult();\n return;\n };\n\n exports.city = function (successCallback, errorCallback, options) {\n var l = new Lookup(successCallback, errorCallback, options, 'city');\n l.getGeoIPResult();\n return;\n };\n\n exports.insights = function (successCallback, errorCallback, options) {\n var l = new Lookup(successCallback, errorCallback, options, 'insights');\n l.getGeoIPResult();\n return;\n };\n\n return exports;\n})();\n"], "mappings": "YACA,OAAO,OAAU,UAAY,CAC3B,aACA,IAAIA,EAAU,CAAC,EAEf,SAASC,EAAOC,EAAiBC,EAAeC,EAASC,EAAM,CAC7D,KAAK,gBAAkBH,EACvB,KAAK,cAAgBC,EACrB,KAAK,KAAOE,CACd,CAEAJ,EAAO,UAAU,cAAgB,SAAUK,EAAU,CAC/C,KAAK,iBAAmB,OAAO,KAAK,iBAAoB,YAC1D,KAAK,gBAAgB,KAAK,aAAa,KAAK,MAAMA,CAAQ,CAAC,CAAC,CAEhE,EAEAL,EAAO,UAAU,YAAc,SAAUM,EAAO,CAC1C,KAAK,eAAiB,OAAO,KAAK,eAAkB,aACjDA,IACHA,EAAQ,CACN,MAAO,eACT,GAEF,KAAK,cAAcA,CAAK,EAE5B,EAEA,IAAIC,EAAU,CACZ,QAAS,CACP,CAAC,YAAa,SAAU,QAAS,QAAQ,EACzC,CAAC,UAAW,SAAU,QAAS,QAAQ,EACvC,CAAC,qBAAsB,SAAU,QAAS,QAAQ,EAClD,CAAC,sBAAuB,SAAU,QAAS,QAAQ,EACnD,CAAC,SAAU,QAAQ,CACrB,EACA,KAAM,CACJ,CAAC,OAAQ,SAAU,QAAS,QAAQ,EACpC,CAAC,YAAa,SAAU,QAAS,QAAQ,EACzC,CAAC,UAAW,SAAU,QAAS,QAAQ,EACvC,CAAC,WAAY,QAAQ,EACrB,CAAC,SAAU,QAAQ,EACnB,CAAC,qBAAsB,SAAU,QAAS,QAAQ,EAClD,CAAC,sBAAuB,SAAU,QAAS,QAAQ,EACnD,CAAC,eAAgB,QAAS,EAAG,SAAU,QAAS,QAAQ,EACxD,CAAC,SAAU,QAAQ,CACrB,CACF,EACA,OAAAP,EAAO,UAAU,aAAe,SAAUQ,EAAK,CAG7C,QAFIC,EAAO,KAAK,OAAS,UAAYF,EAAQ,QAAUA,EAAQ,KAEtDG,EAAI,EAAGA,EAAID,EAAK,OAAQC,IAI/B,QAHIC,EAAOF,EAAKC,CAAC,EACb,EAAIF,EAECI,EAAI,EAAGA,EAAID,EAAK,OAAQC,GAAK,EAAG,CACvC,IAAIC,EAAMF,EAAKC,CAAC,EACX,EAAEC,CAAG,IACR,EAAEA,CAAG,EAAIF,EAAKC,EAAI,CAAC,IAAM,SAAW,CAAC,EAAI,CAAC,GAE5C,EAAI,EAAEC,CAAG,CACX,CAGF,GAAI,CACF,OAAO,eAAeL,EAAI,UAAW,iBAAkB,CACrD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO,KAAK,IACd,EACA,IAAK,SAAUM,EAAO,CACpB,KAAK,KAAOA,CACd,CACF,CAAC,CACH,OAASC,EAAG,CACNP,EAAI,UAAU,OAChBA,EAAI,UAAU,eAAiBA,EAAI,UAAU,KAEjD,CAEA,GAAI,KAAK,OAAS,UAChB,GAAI,CACF,OAAO,eAAeA,EAAK,4BAA6B,CACtD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO,KAAK,aAAa,KAAK,aAAa,OAAS,CAAC,CACvD,EACA,IAAK,SAAUM,EAAO,CACpB,KAAK,aAAa,KAAK,aAAa,OAAS,CAAC,EAAIA,CACpD,CACF,CAAC,CACH,OAASC,EAAG,CACVP,EAAI,0BACFA,EAAI,aAAaA,EAAI,aAAa,OAAS,CAAC,CAChD,CAGF,OAAOA,CACT,EAEAR,EAAO,UAAU,eAAiB,UAAY,CAC5C,IAAIgB,EACAC,EAAW,OAAO,SAAS,SAC3BC,EAAmBD,EAAS,MAAM,GAAG,EAAE,QAAQ,EAEjDC,EAAiB,CAAC,IAAM,YACvBA,EAAiB,CAAC,IAAM,OAASA,EAAiB,CAAC,IAAM,QAC1DD,IAAa,oBAEbD,EAAiBC,GAGnB,IAAIE,EAAO,KACTC,EACAC,EAAU,IAAI,OAAO,eACrBC,EACE,YACCN,GAAkB,gBACnB,eACA,KAAK,KACL,OACFO,EAAa,CACX,SAAU,SAAS,SAAW,KAAO,SAAS,QAChD,EAEF,GAAI,MAAK,WAGT,MAAK,WAAa,EAElB,IAAKH,KAASG,EACRA,EAAW,eAAeH,CAAK,GAAKG,EAAWH,CAAK,IACtDE,GAAOF,EAAQ,IAAM,mBAAmBG,EAAWH,CAAK,CAAC,EAAI,KAGjEE,EAAMA,EAAI,UAAU,EAAGA,EAAI,OAAS,CAAC,EAErCD,EAAQ,KAAK,MAAOC,EAAK,EAAI,EAC7BD,EAAQ,OAAS,UAAY,CAC3B,GAAI,OAAOA,EAAQ,QAAW,aAAeA,EAAQ,SAAW,IAC9DF,EAAK,cAAcE,EAAQ,YAAY,MAClC,CACL,IAAIG,EAAcH,EAAQ,eAAe,aAAa,EAClDA,EAAQ,YACRA,EAAQ,kBAAkB,cAAc,EAExCf,EACJ,GAAI,OAAO,KAAKkB,CAAW,GAAKH,EAAQ,aAAa,OACnD,GAAI,CACFf,EAAQ,KAAK,MAAMe,EAAQ,YAAY,CACzC,OAASN,EAAG,CACVT,EAAQ,CACN,KAAM,aACN,MACE,yBACAe,EAAQ,OACR,oCACJ,CACF,MACSA,EAAQ,aAAa,OAC9Bf,EAAQ,CACN,KAAM,aACN,MACE,yBACAe,EAAQ,OACR,oCACAA,EAAQ,YACZ,EAEAf,EAAQ,CACN,KAAM,aACN,MACE,yBACAe,EAAQ,OACR,gIAEJ,EAGFF,EAAK,YAAYb,CAAK,CACxB,CACF,EACAe,EAAQ,UAAY,UAAY,CAC9BF,EAAK,YAAY,CACf,KAAM,eACN,MAAO,kDACT,CAAC,CACH,EACAE,EAAQ,QAAU,UAAY,CAC5BF,EAAK,YAAY,CACf,KAAM,aACN,MACE,+EACJ,CAAC,CACH,EACAE,EAAQ,KAAK,IAAI,EACnB,EAEAtB,EAAQ,QAAU,SAAUE,EAAiBC,EAAeC,EAAS,CACnE,IAAIsB,EAAI,IAAIzB,EAAOC,EAAiBC,EAAeC,EAAS,SAAS,EACrEsB,EAAE,eAAe,CAEnB,EAEA1B,EAAQ,KAAO,SAAUE,EAAiBC,EAAeC,EAAS,CAChE,IAAIsB,EAAI,IAAIzB,EAAOC,EAAiBC,EAAeC,EAAS,MAAM,EAClEsB,EAAE,eAAe,CAEnB,EAEA1B,EAAQ,SAAW,SAAUE,EAAiBC,EAAeC,EAAS,CACpE,IAAIsB,EAAI,IAAIzB,EAAOC,EAAiBC,EAAeC,EAAS,UAAU,EACtEsB,EAAE,eAAe,CAEnB,EAEO1B,CACT,EAAG", "names": ["exports", "Lookup", "successCallback", "errorCallback", "options", "type", "location", "error", "fillIns", "obj", "fill", "i", "path", "j", "key", "value", "e", "targetHostname", "hostname", "revHostnameSplit", "that", "param", "request", "uri", "httpParams", "contentType", "l"] }