PageSourceSearch

https://www.saturdaydownsouth.com/app/plugins/sas-sports-wc/build/594.js?ver=7a6905d398393fbc3070

js saturdaydownsouth.com collected 2026-10-02 03:35:26 UTC 18,576 bytes, 135 lines download raw bytes

1"use strict";(globalThis.webpackChunkswrc_plugin=globalThis.webpackChunkswrc_plugin||[]).push([[594],{594:(e,t,s)=>{s.r(t),s.d(t,{LeagueScores:()=>y,getResultValuesFromMatchup:()=>A});var n=s(715),l=s(975),a=s(695),o=s(775),i=(s(118),s(137)),r=s(940);const d={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},c=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,u=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,m=/^([+-])(\d{2})(?::?(\d{2}))?$/;function p(e){return e?parseInt(e):1}function h(e){return e&&parseFloat(e.replace(",","."))||0}const f=[31,null,31,30,31,30,31,31,30,31,30,31];function g(e){return e%400==0||e%4==0&&e%100!=0}var v=s(761),b=Object.defineProperty,x=Object.getOwnPropertyDescriptor,w=(e,t,s,n)=>{for(var l,a=n>1?void 0:n?x(t,s):t,o=e.length-1;o>=0;o--)(l=e[o])&&(a=(n?l(t,s,a):l(a))||a);return n&&a&&b(t,s,a),a};let y=class extends a.s{constructor(){super(...arguments),this.books=[],this.league="",this.limit=9,this._selectedSegmentIndex=0,this._fetchScoresForLeagueTask=new n.h(this,{task:async([e,t,s],{signal:l})=>{var a,o;try{const i=(0,n.l)(e,{limit:t.toString(),books:s.map((e=>e.name)).join(",")}),r=await fetch(i,{signal:l});if(!r.ok)throw Error("failed");const d=await r.json();if(0===(null==(o=Object.keys(null==(a=null==d?void 0:d[0].matchups)?void 0:a[0].stats))?void 0:o.length)||0===(0,v.J)({path:"$.[*].matchups[?(@.stats.score.awayBoxScores&&@.stats.score.homeBoxScores)]",json:d}).length)throw Error("no-data");return d}catch(e){throw Error(e.message)}},args:()=>[this.league,this.limit,this.books]}),this._handleFilterChange=e=>{const t=e.target;document.startViewTransition?document.startViewTransition((()=>{this._selectedSegmentIndex=t.selectedIndex})):this._selectedSegmentIndex=t.selectedIndex}}_getPeriodForLeague(){switch(this.league){case"nhl":return"P";case"nba":return"Q";default:return""}}render(){if(!this.league)throw Error("Missing league property");if(!this.books)throw Error("Missing books property");return a.x`<div class="font-sans">
2      ${this._fetchScoresForLeagueTask.render({error:e=>a.x`<slot name="${e.message}"></slot>`,pending:()=>C(),complete:e=>{const t=l.a[this.league.toUpperCase()],s=this._getFilterLabelsForLeague(e),o=e[this._selectedSegmentIndex].matchups.sort(((e,t)=>new Date(e.date).getTime()-new Date(t.date).getTime()));return a.x`<div>
3            <div class="md:max-w-[35%] lg:max-w-[25%]">
4              <select-dropdown
5                label="select date"
6                _id="segments-filter"
7                .selected="${s[this._selectedSegmentIndex]}"
8                .options="${s.map((e=>({label:e,value:e})))}"
9                .onChange="${this._handleFilterChange}">
10              </select-dropdown>
11            </div>
12            <hr class="border-base-200 mt-4 mb-2" />
13            <table class="w-full text-sm">
14              ${o.map((e=>{var s,o,r,d,c,u,m;const{winner:p,quantity:h,moneyline:f,spread:g,thereWasAPushTotal:v,thereWasAPush:b,awayBoxScores:x,homeBoxScores:w,awayPoints:y,homePoints:S,overTimeAway:C,overTimeHome:T,hasOverTime:_,awayTeamCode:N,homeTeamCode:D,atsWinner:k}=A(e,t,this.league),P=`${p} ${f}`,j=b?`PUSH ${g} ${h}`:`${k} ${g} ${h}`,U=`${v?"PUSH":(null==(r=null==(o=null==(s=null==e?void 0:e.stats)?void 0:s.betting)?void 0:o.result)?void 0:r.overUnder)??l.N} ${(null==(m=null==(u=null==(c=null==(d=null==e?void 0:e.stats)?void 0:d.betting)?void 0:c.totals)?void 0:u.close)?void 0:m.points)??l.N}`,F=$(P,j,U);return a.x`<tbody class="border-b border-base-200">
15                  <tr class="text-base-300">
16                    <th class="w-2/3 py-2 text-left font-sans font-normal">
17                      <p class="flex items-center gap-1">
18                        Complete <span class="text-xs">&bull;</span> ${(0,i.GP)(e.date,"MM/d/y")}
19                        <span class="text-xs">&bull;</span>
20                        ${(0,i.GP)(e.date,"h:mm aaa")}
21                      </p>
22                    </th>
23                    <th class="hidden md:table-cell w-2/3 py-2 pl-1.5 text-left font-sans font-normal">
24                      Betting Results
25                    </th>
26                  </tr>
27                  <tr>
28                    <td class="w-1/3 pb-4">
29                      <div class="md:flex items-center">
30                        <div
31                          class="flex md:flex-col items-center font(sans-bold bold) text-base-300 md:mr-4 gap-1.5 basis-24 md:items-start">
32                          <div class="flex gap-2 items-center">
33                            <img
34                              class=""
35                              src="${(0,n.c)(this.league,N)}"
36                              alt="${e.away.team} logo"
37                              width="24"
38                              height="24"
39                              class="w-4 h-4" />
40                            ${N}
41                          </div>
42                          <span class="mx-auto md:ml-0">@</span>
43                          <div class="flex gap-2 items-center">
44                            ${D}
45                            <img
46                              class="md:order-first"
47                              src="${(0,n.c)(this.league,D)}"
48                              alt="${e.home.team} logo"
49                              width="24"
50                              height="24"
51                              class="w-4 h-4" />
52                          </div>
53                        </div>
54                        <div class="md:hidden flex items-center justify-between my-2">
55                          <span class="font-bold font-sans-bold">${y}</span>
56                          <span class="text-xs">Score</span>
57                          <span class="font-bold font-sans-bold">${S}</span>
58                        </div>
59                        <div
60                          class="flex-1 border border-base-200 rounded-t md:rounded p-4 flex md:flex-col gap-2.5 justify-between">
61                          <!-- Scores -->
62                          <div class="flex gap-1 flex-col md:flex-row justify-between text-center items-center">
63                            ${x.map(((e,s)=>0===s?a.x`<div class="hidden md:flex font-bold font-sans-bold md:basis-8">
64                                  ${y}
65                                </div>`:s>t?null:a.x`<div class="md:basis-5">${e}</div>`))}
66                            ${_?a.x`<div class="md:basis-5 hidden md:flex align-center justify-center">
67                                  ${C}
68                                </div>`:a.A}
69                          </div>
70                          <div class="flex gap-1 flex-col md:flex-row justify-between text-center items-center">
71                            ${Array.from({length:t}).map(((e,t)=>a.x`${0===t?a.x`<span class="md:basis-8 text-xs flex text-base-300/75 hidden md:flex">
72                                      Score
73                                    </span>`:a.A}
74                                <span class="md:basis-5 text-xs flex text-base-300/75 flex align-center justify-center">
75                                  ${this._getPeriodForLeague()}${t+1}
76                                </span>`))}
77                            ${_?a.x`<span class="md:basis-5 text-xs flex text-base-300/75 align-center justify-center">
78                                  ${"mlb"===this.league?"EI":"OT"}
79                                </span>`:a.A}
80                          </div>
81                          <div class="flex gap-1 flex-col md:flex-row justify-between text-center items-center">
82                            ${w.map(((e,s)=>0===s?a.x`<div class="hidden md:flex font-bold font-sans-bold md:basis-8">
83                                  ${S}
84                                </div>`:s>t?null:a.x`<div class="md:basis-5">${e}</div>`))}
85                            ${_?a.x`<div class="md:basis-5 hidden md:flex align-center justify-center">
86                                  ${T}
87                                </div>`:a.A}
88                          </div>
89                        </div>
90                        <div class="border border-base-200 md:hidden border-t-0 p-4 flex gap-0.5 flex-col">
91                          ${F}
92                        </div>
93                      </div>
94                    </td>
95                    <td class="hidden md:table-cell w-1/3 pl-1.5 pb-4">
96                      <div class="border border-base-200 p-4 flex gap-0.5 flex-col">${F}</div>
97                    </td>
98                  </tr>
99                </tbody>`}))}
100            </table>
101          </div>`}})}
102    </div>`}_getFilterLabelsForLeague(e){const t=this.league.toLowerCase();return"nfl"===t||"ncaaf"===t?e.map((e=>e.comp)):"nba"===t||"nhl"===t?e.map((e=>`${e.gameday} - ${e.comp}`)):"mlb"===t||"ncaab"===t?e.map((e=>(0,i.GP)(function(e,t){const s=t?.additionalDigits??2,n=function(e){const t={},s=e.split(d.dateTimeDelimiter);let n;if(s.length>2)return t;if(/:/.test(s[0])?n=s[0]:(t.date=s[0],n=s[1],d.timeZoneDelimiter.test(t.date)&&(t.date=e.split(d.timeZoneDelimiter)[0],n=e.substr(t.date.length,e.length))),n){const e=d.timezone.exec(n);e?(t.time=n.replace(e[1],""),t.timezone=e[1]):t.time=n}return t}(e);let l;if(n.date){const e=function(e,t){const s=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),n=e.match(s);if(!n)return{year:NaN,restDateString:""};const l=n[1]?parseInt(n[1]):null,a=n[2]?parseInt(n[2]):null;return{year:null===a?l:100*a,restDateString:e.slice((n[1]||n[2]).length)}}(n.date,s);l=function(e,t){if(null===t)return new Date(NaN);const s=e.match(c);if(!s)return new Date(NaN);const n=!!s[4],l=p(s[1]),a=p(s[2])-1,o=p(s[3]),i=p(s[4]),r=p(s[5
102])-1;if(n)return function(e,t,s){return t>=1&&t<=53&&s>=0&&s<=6}(0,i,r)?function(e,t,s){const n=new Date(0);n.setUTCFullYear(e,0,4);const l=7*(t-1)+s+1-(n.getUTCDay()||7);return n.setUTCDate(n.getUTCDate()+l),n}(t,i,r):new Date(NaN);{const e=new Date(0);return function(e,t,s){return t>=0&&t<=11&&s>=1&&s<=(f[t]||(g(e)?29:28))}(t,a,o)&&function(e,t){return t>=1&&t<=(g(e)?366:365)}(t,l)?(e.setUTCFullYear(t,a,Math.max(l,o)),e):new Date(NaN)}}(e.restDateString,e.year)}if(!l||isNaN(l.getTime()))return new Date(NaN);const a=l.getTime();let o,i=0;if(n.time&&(i=function(e){const t=e.match(u);if(!t)return NaN;const s=h(t[1]),n=h(t[2]),l=h(t[3]);return function(e,t,s){return 24===e?0===t&&0===s:s>=0&&s<60&&t>=0&&t<60&&e>=0&&e<25}(s,n,l)?s*r.s0+n*r.Cg+1e3*l:NaN}(n.time),isNaN(i)))return new Date(NaN);if(!n.timezone){const e=new Date(a+i),t=new Date(0);return t.setFullYear(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()),t.setHours(e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()),t}return o=function(e){if("Z"===e)return 0;const t=e.match(m);if(!t)return 0;const s="+"===t[1]?-1:1,n=parseInt(t[2]),l=t[3]&&parseInt(t[3])||0;return function(e,t){return t>=0&&t<=59}(0,l)?s*(n*r.s0+l*r.Cg):NaN}(n.timezone),isNaN(o)?new Date(NaN):new Date(a+i+o)}(e.gameday),"EEEE, MMMM do"))):void 0}};w([(0,a.n)({type:Array})],y.prototype,"books",2),w([(0,a.n)({type:String,reflect:!0})],y.prototype,"league",2),w([(0,a.n)({type:Number,reflect:!0})],y.prototype,"limit",2),w([(0,o.t)()],y.prototype,"_selectedSegmentIndex",2),y=w([(0,a.e)("xlmwc-league-scores"),(0,a.a)(a.c)],y);const $=(e,t,s)=>a.x`<div class="flex items-center justify-between gap-4">
103      Moneyline
104      <span class="font-sans-bold font-bold text-base">${e}</span>
105    </div>
106    <div class="flex items-center justify-between gap-4">
107      Spread
108      <span class="font-sans-bold font-bold text-base">${t}</span>
109    </div>
110    <div class="flex items-center justify-between gap-4">
111      Total
112      <span class="font-sans-bold font-bold text-base">${s}</span>
113    </div>`;function S(e,t){let s="";if(e.length>0){const n=e.length;for(let l=0;l<n;l++){"home"===t&&(s=e[l].odds.moneyline.home.american),"away"===t&&(s=e[l].odds.moneyline.away.american);break}}return s}function A(e,t,s){var n,l,a,o,i,r,d,c,u,m,p,h,f,g,v,b,x,w,y,$;let A=0,C=0;const T=null==(l=null==(n=null==e?void 0:e.stats)?void 0:n.score)?void 0:l.awayBoxScores,_=null==(o=null==(a=null==e?void 0:e.stats)?void 0:a.score)?void 0:o.homeBoxScores,N=(null==(d=null==(r=null==(i=e.stats)?void 0:i.score)?void 0:r.awayScore)?void 0:d.points)??0,D=(null==(m=null==(u=null==(c=e.stats)?void 0:c.score)?void 0:u.homeScore)?void 0:m.points)??0,k=null==(f=null==(h=null==(p=e.stats)?void 0:p.betting)?void 0:h.result)?void 0:f.awayWinATS,P=null==(b=null==(v=null==(g=e.stats)?void 0:g.betting)?void 0:v.result)?void 0:b.homeWinATS,j=e.away.code,U=e.home.code,F=!k&&!P;for(let e=0;e<(null==T?void 0:T.length);e++)0!==e&&e>t&&(A+=null==T?void 0:T[e]);for(let e=0;e<(null==_?void 0:_.length);e++)0!==e&&e>t&&(C+=null==_?void 0:_[e]);let M="(Pick)",B="";for(const t of e.sportsbooks)if(t.odds&&t.odds.spread.home.points){const e=Number(t.odds.spread.home.points);Number.isFinite(e)?(M=e,k&&(M*=-1),("mlb"===s.toLowerCase()||"nhl"===s.toLowerCase())&&(B=` (${t.odds.spread.home.odds.american})`),M>0&&(M=`+${M.toFixed(1)}`)):M="(Pick)";break}let I="",L=!1,E="";N===D?(L=!0,I="PUSH"):N>D?(E=S(e.sportsbooks,"away")??"",I=j):(E=S(e.sportsbooks,"home")??"",I=U),E&&"nfl"===s.toLowerCase()&&(E=`(${E})`);let O=null;k?O=j:P&&(O=U);let H=!1;return(null==($=null==(y=null==(w=null==(x=null==e?void 0:e.stats)?void 0:x.betting)?void 0:w.totals)?void 0:y.close)?void 0:$.points)===N+D&&(H=!0),{awayTeamCode:j,homeTeamCode:U,hasOverTime:A>0||C>0,thereWasAPush:F,thereWasAPushTotal:H,atsWinner:O,winner:I,awayCovered:k,homeCovered:P,awayPoints:N,homePoints:D,spread:M,quantity:B,overTimeAway:A,overTimeHome:C,moneyline:E,awayBoxScores:T,homeBoxScores:_,teamScoresAreSame:L}}const C=()=>a.x`<div class="w-full flex gap-2 flex-col">
114    <div class="h-8 bg-base-200 animate-pulse rounded"></div>
115    ${[1,2,3].map((()=>a.x`<div class="h-24 bg-base-200 animate-pulse rounded"></div>`))}
116  </div>`},118:(e,t,s)=>{s.d(t,{s:()=>a});var n=s(695),l=s(369);const a='<svg viewBox="0 0 24 25" preserveAspectRatio="xMidYMid meet" fill="none" xmlns="http://www.w3.org/2000/svg">\n    <path d="m6.292 11.861 8.07-8.07a.997.997 0 0 1 1.409 0l.941.942a.997.997 0 0 1 .002 1.408l-6.396 6.425 6.396 6.425a.996.996 0 0 1-.002 1.408l-.941.941a.997.997 0 0 1-1.41 0l-8.07-8.07a.997.997 0 0 1 0-1.409z" fill="currentColor"/>\n    <mask id="1ur3nkllfa" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="6" y="3" width="12" height="19">\n        <path d="m6.292 11.861 8.07-8.07a.997.997 0 0 1 1.409 0l.941.942a.997.997 0 0 1 .002 1.408l-6.396 6.425 6.396 6.425a.996.996 0 0 1-.002 1.408l-.941.941a.997.997 0 0 1-1.41 0l-8.07-8.07a.997.997 0 0 1 0-1.409z" fill="transparent"/>\n    </mask>\n</svg>\n',{I:o}=n.j,i=()=>document.createComment(""),r=(e,t,s)=>{var n;const l=e._$AA.parentNode,a=void 0===t?e._$AB:t._$AA;if(void 0===s){const t=l.insertBefore(i(),a),n=l.insertBefore(i(),a);s=new o(t,n,e,e.options)}else{const t=s._$AB.nextSibling,o=s._$AM,i=o!==e;if(i){let t;null===(n=s._$AQ)||void 0===n||n.call(s,e),s._$AM=e,void 0!==s._$AP&&(t=e._$AU)!==o._$AU&&s._$AP(t)}if(t!==a||i){let e=s._$AA;
116for(;e!==t;){const t=e.nextSibling;l.insertBefore(e,a),e=t}}}return s},d=(e,t,s=e)=>(e._$AI(t,s),e),c={},u=e=>{var t;null===(t=e._$AP)||void 0===t||t.call(e,!1,!0);let s=e._$AA;const n=e._$AB.nextSibling;for(;s!==n;){const e=s.nextSibling;s.remove(),s=e}},m=(e,t,s)=>{const n=new Map;for(let l=t;l<=s;l++)n.set(e[l],l);return n},p=(0,l.e)(class extends l.i{constructor(e){if(super(e),e.type!==l.t.CHILD)throw Error("repeat() can only be used in text expressions")}ct(e,t,s){let n;void 0===s?s=t:void 0!==t&&(n=t);const l=[],a=[];let o=0;for(const t of e)l[o]=n?n(t,o):o,a[o]=s(t,o),o++;return{values:a,keys:l}}render(e,t,s){return this.ct(e,t,s).values}update(e,[t,s,l]){var a;const o=(e=>e._$AH)(e),{values:i,keys:p}=this.ct(t,s,l);if(!Array.isArray(o))return this.ut=p,i;const h=null!==(a=this.ut)&&void 0!==a?a:this.ut=[],f=[];let g,v,b=0,x=o.length-1,w=0,y=i.length-1;for(;b<=x&&w<=y;)if(null===o[b])b++;else if(null===o[x])x--;else if(h[b]===p[w])f[w]=d(o[b],i[w]),b++,w++;else if(h[x]===p[y])f[y]=d(o[x],i[y]),x--,y--;else if(h[b]===p[y])f[y]=d(o[b],i[y]),r(e,f[y+1],o[b]),b++,y--;else if(h[x]===p[w])f[w]=d(o[x],i[w]),r(e,o[b],o[x]),x--,w++;else if(void 0===g&&(g=m(p,w,y),v=m(h,b,x)),g.has(h[b]))if(g.has(h[x])){const t=v.get(p[w]),s=void 0!==t?o[t]:null;if(null===s){const t=r(e,o[b]);d(t,i[w]),f[w]=t}else f[w]=d(s,i[w]),r(e,o[b],s),o[t]=null;w++}else u(o[x]),x--;else u(o[b]),b++;for(;w<=y;){const t=r(e,f[y+1]);d(t,i[w]),f[w++]=t}for(;b<=x;){const e=o[b++];null!==e&&u(e)}return this.ut=p,((e,t=c)=>{e._$AH=t})(e,f),n.T}});var h=Object.defineProperty,f=Object.getOwnPropertyDescriptor,g=(e,t,s,n)=>{for(var l,a=n>1?void 0:n?f(t,s):t,o=e.length-1;o>=0;o--)(l=e[o])&&(a=(n?l(t,s,a):l(a))||a);return n&&a&&h(t,s,a),a};const v=(0,n.a)(n.c);let b=class extends(v(n.s)){constructor(){super(...arguments),this._id="",this.onChange=()=>{},this.selected="",this.disabled=!1,this.selectClass="",this.label=null,this.options=[]}_handleChange(e){e.target.blur(),this.onChange(e)}render(){return n.x`<div
117      class="${this.tw((0,n.b)("flex rounded relative group overflow-hidden font-sans-bold font-bold text-sm",this.disabled&&"pointer-events-none"))}">
118      <select
119        aria-label=${e=this.label,e??n.A}
120        ?disabled=${this.disabled}
121        id="${this._id}"
122        @change="${this._handleChange}"
123        class="${this.tw((0,n.b)("cursor-pointer bg-base-100 border border-base-200 w-full font-bold flex-1 peer appearance-none rounded p-2 pr-7",null==this?void 0:this.selectClass))}">
124        ${p(this.options,(e=>e.value),(({value:e,label:t,classes:s})=>n.x`<option
125              class="${s?this.tw(s):n.A}"
126              value="${e}"
127              ?selected=${this.selected===e}>
128              ${t}
129            </option>`))}
130      </select>
131      <span
132        class="${this.tw((0,n.b)("pointer-events-none -rotate-90 transition-transform peer-focus:rotate-90 duration-300 z-10 right-3 absolute w-2.5 h-2.5 self-center",this.disabled?"opacity-50":"opacity-100"))}">
133        ${(0,l.o)(a)}
134      </span>
135    </div>`;var e}};g([(0,n.n)({type:String})],b.prototype,"_id",2),g([(0,n.n)({type:Function})],b.prototype,"onChange",2),g([(0,n.n)({type:String})],b.prototype,"selected",2),g([(0,n.n)({type:Boolean,reflect:!0})],b.prototype,"disabled",2),g([(0,n.n)({type:String,reflect:!0})],b.prototype,"selectClass",2),g([(0,n.n)({type:String,reflect:!0})],b.prototype,"label",2),g([(0,n.n)({type:Array})],b.prototype,"options",2),b=g([(0,n.e)("select-dropdown")],b)}}]);

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.