PageSourceSearch

https://toptrader.io/app/themes/ba-theme/public/build/entries/bb-match-sidebar-DNMChw6J.js

js toptrader.io collected 2026-10-09 22:41:53 UTC 7,952 bytes, 1 lines download raw bytes

1import"../assets/debug-utils-DPNoUJjN.js";function e(e={}){return{teamStatsLoading:!0,boxScoreLoading:!0,scoringTimelineLoading:!1,teamStats:[],boxScore:[],homeTeam:{name:e.homeName||"",logo:""},awayTeam:{name:e.awayName||"",logo:""},hasScrolledOnce:!1,finalHomeScore:0,finalAwayScore:0,quarterGroups:[],expandedQuarters:{},roundName:null,lastScoringEventId:null,livePulse:!0,updateTeamStats(e=[]){const t=Array.isArray(e)?e:[];if(!Array.isArray(this.teamStats)||!this.teamStats.length)return void(this.teamStats=t.map(e=>({...e,homeFlash:!1,awayFlash:!1,homeTrend:null,awayTrend:null})));const r=new Map(this.teamStats.map(e=>[e.label,e]));this.teamStats=t.map(e=>{const t=r.get(e.label),a={...e,homeFlash:!1,awayFlash:!1,homeTrend:null,awayTrend:null};if(!t)return a;const s=Number(t.home??0),o=Number(t.away??0),i=Number(e.home??0),n=Number(e.away??0);return i!==s&&(a.homeFlash=!0,a.homeTrend=i>s?"up":"down",setTimeout(()=>{const t=this.teamStats.find(t=>t.label===e.label);t&&(t.homeFlash=!1,t.homeTrend=null)},1500)),n!==o&&(a.awayFlash=!0,a.awayTrend=n>o?"up":"down",setTimeout(()=>{const t=this.teamStats.find(t=>t.label===e.label);t&&(t.awayFlash=!1,t.awayTrend=null)},1500)),a})},toggleQuarter(e){this.expandedQuarters[e]=!this.isQuarterOpen(e),this.hasScrolledOnce=!0},isQuarterOpen(e){return!1!==this.expandedQuarters[e]},updateBoxScore(e=[]){this.boxScore=Array.isArray(e)?e:[],this.boxScoreLoading=!1},getBoxScorePlayers(e="home"){if(!this.boxScore.length)return[];const t=e,r=document.getElementById("match-sidebox"),a=r?.dataset.homeTeamUuid,s=r?.dataset.awayTeamUuid,o="home"===t?a:s,i=this.boxScore.find(e=>e.team_id+""==o+"");return i&&Array.isArray(i.players)?[...i.players].sort((e,t)=>Number(t.points||0)-Number(e.points||0)):[]},setTimelineFromResponse(e={}){const t=Array.isArray(e?.home_scores)?e.home_scores:[],r=Array.isArray(e?.away_scores)?e.away_scores:[];this.homeTeam={name:e?.home_team?.name||"Home Team",logo:e?.home_team?.logo||""},this.awayTeam={name:e?.away_team?.name||"Away Team",logo:e?.away_team?.logo||""},this.finalHomeScore=t.reduce((e,t)=>e+Number(t||0),0),this.finalAwayScore=r.reduce((e,t)=>e+Number(t||0),0);const a=this.buildScoringTimeline(e?.match_timeline,e?.home_team,e?.away_team,e);this.quarterGroups=Array.isArray(a)?a:[];const s={};this.quarterGroups.forEach((e,t)=>{s[e.quarter]=0===t}),this.expandedQuarters=s,this.lastScoringEventId=this.getLatestScoringEventId(),this.$nextTick(()=>{this.hasScrolledOnce||(this.scrollToLatestScoringEvent(),this.hasScrolledOnce=!0)})},buildTimelineFromOdds(e={}){const t=(Array.isArray(e?.odds)?e.odds:[])[0],r=Array.isArray(t?.eu)?t.eu:[];if(!r.length)return[];const a={},s=new Set,o=[...r].sort((e,t)=>Number(e[0]||0)-Number(t[0]||0));let i=null,n=null;for(const m of o){const e=m?.[1]||"",t=m?.[7]||"";if(!e||!t||!e.startsWith("Q"))continue;if(/ended/i.test(e))continue;const r=this.parseQuarterAndTime(e),o=this.parseScorePair(t);if(!r||!o)continue;const l=r.quarterLabel,u=r.time,c=Number(o.home),h=Number(o.away),d=`${l}|${u}|${c}-${h}`;if(s.has(d))continue;if(s.add(d),null===i||null===n){i=c,n=h;continue}const y=c-i,p=h-n;let S="",b=0;if(y>0&&0===p)S="home",b=y;else{if(!(p>0&&0===y)){i=c,n=h;continue}S="away",b=p}a[l]||(a[l]=[]),a[l].push({id:`${l}-${u}-${c}-${h}`,quarter:l,time:u,side:S,points:b,pointsText:""+b,scoreText:`${c}-${h}`,homeScore:c,awayScore:h,player:"",raw:m}),i=c,n=h}return Object.keys(a).sort((e,t)=>this.sortQuarterKey(t)-this.sortQuarterKey(e)).map(e=>{const t=a[e].sort((e,t)=>this.timeToSeconds(e.time)-this.timeToSeconds(t.time));return{quarter:e,label:"OT"===e?"Overtime":"Q "+e.replace("Q",""),summary:t.length+" events",events:t}})},buildScoringTimeline(e,t={},r={},a={}){const s=this.normalizeIncidentList(e?.incidents||a?.incidents);if(s.length){const e={};return s.forEach((a,s)=>{const o=this.normalizeIncident(a,s,t,r);if(!o)return;const i=o.quarter||"Q1";e[i]||(e[i]=[]),e[i].push({id:o.id||"event-"+s,quarter:i,time:o.time||"--:--",side:o.team||"",points:o.points,pointsText:""!==o.points&&null!=o.points?""+o.points:"",scoreText:""!==o.homeScore&&""!==o.awayScore?`${o.homeScore}-${o.awayScore}`:"",homeScore:o.homeScore,awayScore:o.awayScore,player:o.player||"",raw:o.raw||a})}),Object.keys(e).sort((e,t)=>
1this.sortQuarterKey(t)-this.sortQuarterKey(e)).map(t=>({quarter:t,label:"OT"===t?"Overtime":"Q "+t.replace("Q",""),summary:e[t].length+" events",events:e[t].sort((e,t)=>this.timeToSeconds(t.time)-this.timeToSeconds(e.time))}))}const o=this.buildTimelineFromOdds(a);return o.length?o:this.buildTimelineFromScoreArrays(a)},buildTimelineFromScoreArrays(e={}){const t=Array.isArray(e?.home_scores)?e.home_scores:[],r=Array.isArray(e?.away_scores)?e.away_scores:[],a=Math.max(t.length,r.length);if(!a)return[];let s=0,o=0;const i=[];for(let n=0;n<a;n++){const e=n<4?"Q"+(n+1):"OT",a=Number(t[n]||0),m=Number(r[n]||0),l=[];a>0&&(s+=a,l.push({id:`${e}-home-${n}`,quarter:e,time:"--:--",side:"home",points:a,pointsText:""+a,scoreText:`${s}-${o}`,homeScore:s,awayScore:o,player:"",raw:null})),m>0&&(o+=m,l.push({id:`${e}-away-${n}`,quarter:e,time:"--:--",side:"away",points:m,pointsText:""+m,scoreText:`${s}-${o}`,homeScore:s,awayScore:o,player:"",raw:null})),l.length&&i.push({quarter:e,label:"OT"===e?"Overtime":"Q "+(n+1),summary:l.length+" events",events:l})}return i.sort((e,t)=>this.sortQuarterKey(t.quarter)-this.sortQuarterKey(e.quarter))},normalizeIncidentList:e=>Array.isArray(e)?e:e&&"object"==typeof e?Object.values(e).filter(Boolean):[],normalizeIncident(e,t,r={},a={}){if(!e||"object"!=typeof e)return null;const s=this.parseQuarterAndTime(e.label||e.title||e.name||""),o=this.parseScorePair(e.score_text)||this.parseScorePair(e.score)||this.parseScorePair(e.total_score)||null,i=e.period||e.quarter||e.section||s?.quarterLabel||"Q1",n=e.time||e.clock||e.elapsed_time||e.match_time_text||s?.time||"--:--",m=e.home_score??o?.home??"",l=e.away_score??o?.away??"";return{id:e.id||"incident-"+t,quarter:(i+"").toUpperCase(),time:n+"",team:this.normalizeTeamSide(e.team_side||e.side||e.team,r,a,e),points:this.normalizePoints(e),homeScore:m,awayScore:l,player:e.player_name||e.player||"",raw:e}},normalizeTeamSide(e,t={},r={},a={}){const s=((e||"")+"").toLowerCase();if(["home","h","1","local"].includes(s))return"home";if(["away","a","2","visitor"].includes(s))return"away";const o=a.team_uuid||a.team_id||a.team?.uuid||"",i=t?.uuid||"",n=r?.uuid||"";return o&&i&&o+""==i+""?"home":o&&n&&o+""==n+""?"away":""},normalizePoints(e){const t=e.score_value??e.points??e.point??e.score??e.value??"";if(""===t||null==t)return"";const r=Number(t);return Number.isFinite(r)?r:t+""},parseScorePair(e){if(null==e)return null;if("string"==typeof e&&e.includes("-")){const[t,r]=e.split("-").map(e=>Number((e+"").trim()));if(Number.isFinite(t)&&Number.isFinite(r))return{home:t,away:r}}return"object"==typeof e&&null!==e&&Number.isFinite(Number(e.home))&&Number.isFinite(Number(e.away))?{home:Number(e.home),away:Number(e.away)}:null},parseQuarterAndTime(e){if(!e||"string"!=typeof e)return null;const t=e.trim().match(/^(Q\d+|OT)\s+(.+)$/i);return t?{quarterLabel:t[1].toUpperCase(),time:t[2].trim()}:null},timeToSeconds(e){if(!e||"--:--"===e)return 0;const t=(e+"").split(":").map(Number);if(2!==t.length||t.some(e=>Number.isNaN(e)))return 0;const[r,a]=t;return 60*r+a},getLatestScoringEventId(){if(!Array.isArray(this.quarterGroups)||!this.quarterGroups.length)return null;const e=this.quarterGroups[0];return e?.events?.length&&e.events[0]?.id||null},isLatestScoringEvent(e){return this.lastScoringEventId===e},scrollToLatestScoringEvent(){if(!this.lastScoringEventId)return;const e=document.querySelector(`[data-scoring-event-id="${this.lastScoringEventId}"]`);e&&e.scrollIntoView({behavior:"smooth",block:"center"})},sortQuarterKey(e){const t=(e+"").toUpperCase();return/^Q\d+$/.test(t)?Number(t.replace("Q","")):"OT"===t?99:999}}}document.addEventListener("alpine:init",()=>{Alpine.data("bbMatchSidebar",e)});

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.