genrank
Version:
AI-powered visitor tracking and analytics for Generative Engine Optimization (GEO). Track and analyze how AI search engines and LLMs interact with your content.
2 lines (1 loc) • 2.77 kB
JavaScript
import e from"axios";function r(e,r,t,n){return new(t||(t=Promise))((function(o,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(i,a)}c((n=n.apply(e,r||[])).next())}))}function t(e,r){var t,n,o,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=a(0),i.throw=a(1),i.return=a(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(c){return function(a){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(s=0)),s;)try{if(t=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,n=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!(o=s.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=r.call(e,s)}catch(e){a=[6,e],n=0}finally{t=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}}"function"==typeof SuppressedError&&SuppressedError;var n=function(){function n(){this.apiEndpoint="https://7emnecwqs3vgnx7b2jykxn43p40ctvln.lambda-url.ca-central-1.on.aws/",this.isBrowser="undefined"!=typeof window}return n.prototype.trackVisit=function(){return r(this,void 0,void 0,(function(){var r,n,o,s,i,a,c;return t(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),r=(new Date).toISOString(),n=void 0,o=void 0,s=void 0,this.isBrowser?(n=window.navigator.userAgent,o=document.referrer,s=window.location.href):(n="Node.js/".concat(process.version),o=null,s="nodejs://"+process.cwd()),i={timestamp:r,userAgent:n,referrer:o,page:s},console.log("VisitorTracker ➡️ sending event:",i),[4,e.post(this.apiEndpoint,i,{headers:{"Content-Type":"application/json"}})];case 1:return a=t.sent(),console.log("VisitorTracker ✅ response:",a.data),[2,a.data];case 2:throw(c=t.sent()).response?(console.error("VisitorTracker ❌ response data:",c.response.data),console.error("VisitorTracker ❌ status:",c.response.status)):c.request?console.error("VisitorTracker ❌ no response received:",c.request):console.error("VisitorTracker ❌ request setup error:",c.message),c;case 3:return[2]}}))}))},n}();"undefined"!=typeof window&&(window.VisitorTracker=n);export{n as VisitorTracker};