PageSourceSearch

https://assets.freeagent.com/assets/packs/client_side_logger-ec6fea07.js

js freeagent.com collected 2026-10-09 22:36:37 UTC 4,203 bytes, 2 lines download raw bytes

1(()=>{var WindowLocation=class{get href(){return window.location.href}set href(value){window.location.href=value}get pathname(){return window.location.pathname}get search(){return window.location.search}set search(value){window.location.search=value}assign(url){window.location.assign(url)}reload(){window.location.reload()}},window_location_default=new WindowLocation;var maskableSections=[/^\d+$/,/^\d*-\d*-\d*$/,/^\d*-\d*-\d*_\d*-\d*-\d*$/,/^\d*-\w*-\d*$/].map(regex=>regex.source).join("|"),maskableSectionRegex=new RegExp(maskableSections),maskUrl=url=>{try{return new URL(url,window.location).pathname.split("/").map(part=>part.match(maskableSectionRegex)?"?":part).join("/")}catch(error){return url}},mask_url_default=maskUrl;var ApiFetchError=class extends Error{constructor(url,code,statusText){super("URL: ".concat(url,", HTTP error: ").concat(code,", statusText: ").concat(statusText)),this.name="ApiFetchError"}},NetworkFetchError=class extends Error{constructor(url){super("URL: ".concat(url,", Network error: Failed to fetch")),this.name="NetworkFetchError"}},handleReload=response=>response&&response.status===401?(window_location_default.reload(),!0):!1;function buildApiOptions(options,headerOptions){let apiOptions={headers:{"X-KEYED-VALIDATIONS":!0,"Content-Type":"application/json",...headerOptions},credentials:"include",...options};apiOptions.headers["Content-Type"]==="multipart/form-data"&&delete apiOptions.headers["Content-Type"];let csrfToken=document.querySelector("meta[name='csrf-token']");return csrfToken&&(apiOptions.headers["X-CSRF-Token"]=csrfToken.content),apiOptions}var contentTypeFor=response=>response.headers.get("Content-Type").split(";")[0],isLoginPage=response=>response.url.includes("/login")||response.url.includes("/sessions/new"),isRedirectToLoginPage=response=>response.redirected&&isLoginPage(response),isRedirectToHtmlPage=response=>response.redirected&&contentTypeFor(response)==="text/html",apiFetch=async(url,options={},headerOptions={})=>{let apiOptions=buildApiOptions(options,headerOptions),response;try{response=await fetch(url,apiOptions)}catch(error2){throw error2.message==="Failed to fetch"||error2.message==="Load failed"||error2.message==="NetworkError when attempting to fetch resource."?new NetworkFetchError(mask_url_default(url)):error2}let responseBody;if(isRedirectToLoginPage(response))return window_location_default.reload(),{};if(isRedirectToHtmlPage(response))return Turbo?(Turbo.cache.clear(),Turbo.visit(response.url,{response:{location:response.url,redirected:response.redirected,statusCode:response.status,responseHTML:await response.text()}})):window_location_default.href=response.url,{};if(response.ok)return response.status===204?responseBody=null:contentTypeFor(response)==="text/vnd.turbo-stream.html"?responseBody=await response.text():responseBody=await response.json(),{body:responseBody,headers:response.headers,ok:response.ok,status:response.status};if(handleReload(response))return{};throw new ApiFetchError(mask_url_default(url),response.status,response.statusText)},api_fetch_default=apiFetch;var deprecatedJsObjects=[],alreadyLogged=clientSideLoggerObject=>deprecatedJsObjects.some(obj=>obj.method===clientSideLoggerObject.method),postDeprecatedJsObject=clientSideLoggerObject=>{console.log("sending log...".concat(clientSideLoggerObject.method)),api_fetch_default("/client_side_logs",{method:"post",body:JSON.stringify(clientSideLoggerObject)})},limitDeprecatedJsObjects=clientSideLoggerObject=>{alreadyLogged(clientSideLoggerObject)||(deprecatedJsObjects.push(clientSideLoggerObject),postDeprecatedJsObject(clientSideLoggerObject))},logDispatcher=clientSideLoggerObject=>{clientSideLoggerObject.event==="deprecated_js"&&clientSideLoggerObject.method&&limitDeprecatedJsObjects(clientSideLoggerObject)},beforeVisitDispatcher=()=>{deprecatedJsObjects=[]};var publicInterface={log:clientSideLoggerObject=>{logDispatcher(clientSideLoggerObject)}},eventListenerDispatchers=()=>{window.addEventListener("turbo:before-visit",()=>beforeVisitDispatcher())},init=()=>{eventListenerDispatchers(),window.clientSideLogger=publicInterface};
1init();})();
2//# sourceMappingURL=/assets/packs/client_side_logger-d612a1c5.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.