PageSourceSearch

https://www.caughtlooking.app/_next/static/chunks/6429-0da8a4e49c0…?dpl=dpl_8qB6my6HdMkVScJf2ivCvv6yPDnr

js caughtlooking.app collected 2026-10-06 17:51:33 UTC 9,394 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6429],{54201:function(e,t,r){r.d(t,{BaseballProvider:function(){return I},h:function(){return k}});var a=r(57437),n=r(2265),s=r(99376),l=r(21376);function c(e){return e instanceof Error&&"Resource not found"===e.message}let o=new Map;async function u(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3e4,{controller:a,timeoutId:n}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3e4,t=new AbortController,r=setTimeout(()=>t.abort(),e);return{controller:t,timeoutId:r}}(r),s=a.signal;try{let r=await fetch(e,{...t,signal:s,headers:{"Content-Type":"application/json",...t.headers}});if(clearTimeout(n),!r.ok){if(404===r.status)throw Error("Resource not found");if(r.status>=500)throw Error("Server error. Please try again later.");throw Error("HTTP error! status: ".concat(r.status))}return r}catch(e){if(clearTimeout(n),e instanceof Error){if("AbortError"===e.name)throw Error("Request timeout. Please check your connection.");if(e.message.includes("fetch"))throw Error("Network error. Please check your connection.")}throw e}}async function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"json",r="".concat("").concat(e),a="".concat(r,":").concat(t);if(o.has(a))return o.get(a);let n=(async()=>{try{let e=await u(r,{method:"GET"});if("text"===t)return await e.text();return await e.json()}catch(t){throw c(t)||console.error("API Request Error (".concat(e,"):"),t),t}finally{o.delete(a)}})();return o.set(a,n),n}let m={async getGamesForDate(e,t){try{return await i((0,l.d_)(e,t))}catch(e){throw console.error("Error fetching games:",e),e}},async getGameDetails(e){try{return await i("/api/game/".concat(e))}catch(e){throw c(e)||console.error("Error fetching game details:",e),e}},async getGameSVG(e){try{return await i("/api/game/".concat(e,"/svg"),"text")}catch(e){throw c(e)||console.error("Error fetching game SVG:",e),e}},async getTeams(){try{return await i("/api/teams")}catch(e){throw console.error("Error fetching teams:",e),e}},async getTodaysGames(){try{return await i("/api/today")}catch(e){throw console.error("Error fetching today's games:",e),e}},async healthCheck(){try{return await i("/api/health")}catch(e){throw console.error("Error checking health:",e),e}}};var d=r(94508);class h{static getInstance(){return h.instance||(h.instance=new h),h.instance}start(e){this.timers.set(e,performance.now())}end(e){let t=this.timers.get(e);if(!t)return 0;let r=performance.now()-t;return this.timers.delete(e),this.metrics.push({name:e,duration:r,timestamp:Date.now()}),r}getMetrics(){return[...this.metrics]}getMetricsByName(e){return this.metrics.filter(t=>t.name===e)}getAverageDuration(e){let t=this.getMetricsByName(e);return 0===t.length?0:t.reduce((e,t)=>e+t.duration,0)/t.length}clear(){this.metrics=[],this.timers.clear()}logSummary(){this.metrics.reduce((e,t)=>(e[t.name]||(e[t.name]={count:0,total:0,max:0,min:1/0}),e[t.name].count++,e[t.name].total+=t.duration,e[t.name].max=Math.max(e[t.name].max,t.duration),e[t.name].min=Math.min(e[t.name].min,t.duration),e),{})}constructor(){this.timers=new Map,this.metrics=[]}}let f=h.getInstance(),g={start:e=>f.start(e),end:e=>f.end(e)};var w=r(3011),y=r(89134),v=r(54585);function p(e){return(0,v.Yc)(e)?e:v.nu}let E=(0,w.U)()((0,y.tJ)(e=>({sportId:v.nu,setSportId:t=>{e({sportId:p(t)})}}),{name:"caught-looking-selected-sport",partialize:e=>({sportId:e.sportId}),merge:(e,t)=>{var r;let a=p(null!==(r=null==e?void 0:e.sportId)&&void 0!==r?r:t.sportId);return{...t,sportId:a}}}));function S(){var e;let t=(0,s.usePathname)(),r=(0,s.useSearchParams)(),a=E(e=>e.sportId),l=E(e=>e.setSportId),{loadGames:c}=k(),o="/"===t,u=null!==(e=(0,v.WC)(r.get("sportId")))&&void 0!==e?e:v.nu;return(0,n.useEffect)(()=>{o&&u!==a&&l(u)},[o,u,a,l]),(0,n.useEffect)(()=>{if(!o)return;let e=()=>{c(r.get("date")||(0,d.JP)(),u)};"requestIdleCallback"in window?requestIdleCallback(e,{timeout:500}):setTimeout(e,100)},[o,c,u,r]),null}function b(){return(0,a.jsx)(n.Suspense,{fallback:null,children:(0,a.jsx)(S,{})})}let G=(0,n.createContext)(null);function I(e){let{children:t}=e,r=function(){let e=(0,s.usePathname)(),t=(0,s.useRouter)(),r=E(e=>
1e.sportId),[a,o]=(0,n.useState)([]),[u,i]=(0,n.useState)(null),[h,w]=(0,n.useState)(()=>(0,d.JP)()),[y,v]=(0,n.useState)(!1),[p,S]=(0,n.useState)(null),[b,G]=(0,n.useState)("games"),[I,k]=(0,n.useState)({detailLevel:"standard",timeDelay:0,viewMode:"scorecard",showPitchData:!0,showPlayerStats:!0}),[C,D]=(0,n.useState)(new Set),[x,P]=(0,n.useState)(new Map),M=(0,n.useRef)(null),T=(0,n.useRef)(null),R=(0,n.useRef)(null),F=(0,n.useRef)(null),j=(0,n.useRef)(I.timeDelay),z=(0,n.useRef)(!1),_=(0,n.useRef)(new Set);(0,n.useEffect)(()=>{var t;z.current=null!==(t=null==e?void 0:e.startsWith("/game/"))&&void 0!==t&&t},[e]);let B=(0,n.useCallback)(async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r;g.start("loadGames"),v(!0),S(null);try{g.start("getGamesForDate");let r=await m.getGamesForDate(e,t);if(g.end("getGamesForDate"),r.success){_.current.clear(),g.start("processGamesData"),g.start("setGames"),o(r.games),g.end("setGames"),g.start("setSelectedDate"),w(e),g.end("setSelectedDate"),g.start("setView"),G("games"),g.end("setView"),g.start("processLiveGames");let t=new Set(r.games.filter(e=>{if(e.mlbStatus){let{status:t}=(0,d.uG)(e.mlbStatus);return"live"===t}return!1}).map(e=>e.id));D(t),g.end("processLiveGames"),g.start("autoRefreshLogic"),t.size>0&&!z.current?A():V(),g.end("autoRefreshLogic"),g.end("processGamesData")}else throw Error("Failed to load games")}catch(e){S(e instanceof Error?e.message:"Failed to load games")}finally{v(!1),g.end("loadGames")}},[r]),L=(0,n.useCallback)(async e=>{v(!0),S(null);try{let t=await m.getGameDetails(e);if(t.success)i(t),G("scorecard"),J(e);else throw Error("Failed to load game")}catch(e){S(e instanceof Error?e.message:"Failed to load game")}finally{v(!1)}},[]),N=(0,n.useCallback)(async()=>{u&&await L(u.game_id)},[u,L]),q=(0,n.useCallback)(()=>{G("games"),i(null),W()},[]),A=(0,n.useCallback)(()=>{M.current&&clearInterval(M.current),M.current=setInterval(async()=>{if(!z.current&&h)try{let e=await m.getGamesForDate(h,r);if(e.success){o(e.games);let t=new Set(e.games.filter(e=>{if(e.mlbStatus){let{status:t}=(0,d.uG)(e.mlbStatus);return"live"===t}return!1}).map(e=>e.id));D(t),t.forEach(async e=>{if(!_.current.has(e))try{let t=await m.getGameDetails(e);t.success&&o(r=>r.map(r=>r.id===e?{...r,...t}:r))}catch(t){if(c(t)){_.current.add(e);return}console.error("Error updating live game ".concat(e,":"),t)}}),0===t.size&&V()}}catch(e){console.error("Error refreshing live games:",e)}},1e4)},[h,r]),V=(0,n.useCallback)(()=>{M.current&&(clearInterval(M.current),M.current=null)},[]),J=(0,n.useCallback)(e=>{T.current&&clearInterval(T.current),R.current&&clearInterval(R.current),F.current=e,T.current=setInterval(async()=>{try{let t=await m.getGameDetails(e);if(t.success){let r=Date.now(),a=j.current;0===a?i(t):P(a=>a.has(e)?a:new Map(a.set(e,{data:t,timestamp:r})))}}catch(e){c(e)||console.error("Error fetching live data:",e)}},5e3),R.current=setInterval(()=>{let e=Date.now(),t=1e3*j.current;P(r=>{let a=new Map(r),n=[];if(a.forEach((r,s)=>{e-r.timestamp>=t&&(n.push({id:s,data:r.data}),a.delete(s))}),n.length>0){let e=n[n.length-1];setTimeout(()=>{i(e.data)},0)}return n.length>0?a:r})},1e3)},[]),W=(0,n.useCallback)(()=>{T.current&&(clearInterval(T.current),T.current=null),R.current&&(clearInterval(R.current),R.current=null),F.current=null,P(new Map)},[]);(0,n.useEffect)(()=>{j.current=I.timeDelay},[I.timeDelay]),(0,n.useEffect)(()=>{F.current&&T.current&&0===I.timeDelay&&P(e=>e.size>0?(e.forEach(e=>{i(e.data)}),new Map):e)},[I.timeDelay]);let H=(0,n.useCallback)(e=>{t.replace((0,l.SF)(h,e),{scroll:!1})},[h,t]);return(0,n.useEffect)(()=>{a.length>0&&setTimeout(()=>{f.logSummary()},1e3)},[a.length]),(0,n.useEffect)(()=>{var t;null!==(t=null==e?void 0:e.startsWith("/game/"))&&void 0!==t&&t?V():C.size>0&&A()},[e,C.size,A,V]),(0,n.useEffect)(()=>()=>{V(),W()},[V,W]),{games:a,selectedGame:u,selectedDate:h,selectedSportId:r,isLoading:y,error:p,view:b,controls:I,liveGames:C,loadGames:B,changeSport:H,loadGame:L,refreshCurrentGame:N,goBackToGames:q,updateControls:(0,n.useCallback)(e=>{k(t=>({...t,...e}))},[]),setError:S}}();return(0,a.jsxs)(G.Provider,{value:r,children:[(0,a.jsx)(b,{}),t]})}function k(){let e=(0,n.useContext)(G);if(!e)throw Error("useBaseballContext must be used within a BaseballProvider");return e}},9003:function(e,t,r){r.d(t,{GameScheduleTimeProvider:function(){return c},S:function(){return o},t:function(){return u}});var a=r(57437),n=r(2265);let s="game-schedule-time-mode",l=(0,n.createContext)(null);function c(e){let{children:t}
1=e,[r,c]=(0,n.useState)("my");(0,n.useEffect)(()=>{try{let e=localStorage.getItem(s);("park"===e||"my"===e)&&c(e)}catch(e){}},[]);let o=(0,n.useCallback)(e=>{c(e);try{localStorage.setItem(s,e)}catch(e){}},[]),u=(0,n.useMemo)(()=>({mode:r,setMode:o}),[r,o]);return(0,a.jsx)(l.Provider,{value:u,children:t})}function o(){let e=(0,n.useContext)(l);if(!e)throw Error("useGameScheduleTimeMode must be used within GameScheduleTimeProvider");return e}function u(){var e,t;return null!==(t=null===(e=(0,n.useContext)(l))||void 0===e?void 0:e.mode)&&void 0!==t?t:"my"}}}]);

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.