1import{c as e}from"./CXufLvWj.js";import{t}from"./D0-QJ1g9.js";import{s as n}from"./BNy8OWEr.js";import{E as r,k as i}from"./CgIykedm.js";[`with_scholarship:true `,`AND hide_prices:false`,`AND (availability:available OR availability:unavailable_with_grades)`,`AND group_key: $group_key`,`AND shift: $shift`,`AND enrollment_semester: $enrollment_semester`].join(` `);var a=Object.freeze({page:1,size:32}),o=`query SearchOfferCampiList( 2 $filter_string: String, 3 $pagination: Ipagination, 4 $sort: [String] 5) { 6 courseOffer( 7 filter_string: $filter_string, 8 pagination: $pagination, 9 sort: $sort 10 ) { 11 hits { 12 campusAddress 13 campusCity 14 campusId 15 campusName 16 campusNeighborhood 17 campusState 18 } 19 } 20}`,s=`query SearchOfferCampiList( 21 $filter_string: String, 22 $geoloc: Igeoloc, 23 $pagination: Ipagination, 24 $sort: [String] 25) { 26 courseOffer( 27 filter_string: $filter_string, 28 geoloc: $geoloc, 29 pagination: $pagination, 30 sort: $sort 31 ) { 32 hits { 33 campusAddress 34 campusCity 35 campusCityId 36 campusId 37 campusName 38 campusNeighborhood 39 campusSlug 40 campusState 41 campusVirtual 42 geoloc { lat lng } 43 universityId 44 } 45 searchData { 46 hitsCount 47 } 48 } 49}`,c=`Missing lat or lng parameters`,l=`CampusListService`,u=class{_searchParams;_groupKeyFilter;constructor(e,t=``){this._searchParams=e,this._groupKeyFilter=t}async getListByGroupKey(){let{sort:e}=this._searchParams,n={query:o,variables:{filter_string:this._getListByGroupKeyFilterStringTemplate(this._searchParams,this._groupKeyFilter),pagination:a,sort:e}},i=await new r().execute(n).then(({hits:e})=>e),s=t(i,`campusId`),c=s.findIndex(e=>e.campusId===this._searchParams.campusId),l=s.splice(c,1);return s.unshift(l[0]),s}async getListByOffer(){try{let e={query:s,variables:{filter_string:this._getListByOfferFilterStringTemplate(this._searchParams),pagination:this._pagination,geoloc:this._geoloc,sort:i()}},{hits:n,searchData:a}=await new r().execute(e),o=t(n,`campusId`);return{campuses:this._serializeListByOffer(o),meta:{currentSize:this._pagination.size,totalResults:a?.hitsCount}}}catch(t){return e(this._getListByOfferErrorDefaultParams)(t)}}get _geoloc(){let{lat:e,lng:t}=this._searchParams;if(!e||!t)throw Error(c);return{lat:parseFloat(e),lon:parseFloat(t),distanceInKm:n/1e3}}get _pagination(){let{page:e,size:t}=this._searchParams;return{page:e??1,size:t??5}}get _getListByOfferErrorDefaultParams(){return{source:`[${l}]`,extraData:this._searchParams,expectedReturn:{campuses:[],meta:{currentSize:this._pagination.size,totalResults:0}}}}_getListByGroupKeyFilterStringTemplate({simplifiedKind:e,shift:t,enrollmentSemester:n,useShowOnMainSearch:r,tags:i},a){return[`with_scholarship:true`,`hide_prices:false`,`(availability:"available" OR availability:"unavailable_with_grades")`,`shift: "${t}"`,`simplified_kind: "${e}"`,`enrollment_semester: "${n}"`,r?`show_on_main_search:true`:``,i?`tags: "${i}"`:``,a].filter(Boolean).join(` AND `)}_getListByOfferFilterStringTemplate({canonicalCourseSlug:e,level:t,shift:n,universitySlug:r,availability:i=`available`,withScholarship:a=!0}){let o=[`show_on_main_search:true`,`hide_prices:false`,`availability:"${i}"`,`(clean_canonical_course_slug:"${e}" OR dirty_canonical_course_slug:"${e}")`,`level:"${t}"`,`shift:"${n}"`,`university_slug:"${r}"`];return a!=null&&o.push(`with_scholarship:${a}`),o.join(` AND `)}_buildCampusFullAddress({campusAddress:e,campusCity:t,campusNeighborhood:n,campusState:r}){return`${e}, ${n}, ${t}, ${r}`}_serializeListByOffer(e){return e?.map(({campusAddress:e,campusCity:t,campusCityId:n,campusId:r,campusName:i,campusNeighborhood:a,campusSlug:o,campusState:s,campusVirtual:c,geoloc:l,universityId:u})=>{let d=this._buildCampusFullAddress({campusAddress:e,campusCity:t,campusNeighborhood:a,campusState:s}),{lat:f,lng:p}=l;return{address:e,city:t,cityId:n,formattedName:i,fullAddress:d,id:r,lat:f,lng:p,name:i,slug:o,state:s,universityId:u,virtual:c}})}};export{u as t};
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.