PageSourceSearch

https://www.stretchcore.mx/1880.40a7d2b8f4c855769c42.js

js stretchcore.mx collected 2026-10-08 11:06:52 UTC 9,856 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkfitu_app=self.webpackChunkfitu_app||[]).push([[1880,4481],{3848:function(e,t){t.A={methods:{getWebsiteStaffTimezone(){var e;return(null===(e=this.website)||void 0===e?void 0:e.tzProvider)??"Europe/London"},getOverrideCalendarDateKey(e){if(null==e||""===e)return null;const t=String(e).trim(),r=t.match(/^(\d{4}-\d{2}-\d{2})/);if(r)return r[1];const i=this.$moment(t);return i.isValid()?i.format("YYYY-MM-DD"):null},getMaxStaffOverrideCalendarDateKey(e){const t=null==e?void 0:e.staffAvailabilityOverrides;if(null==t||!t.length)return null;let r=null;return t.forEach(e=>{const t=this.getOverrideCalendarDateKey(e.overrideDate);t&&(null==r||t>r)&&(r=t)}),r},isFullDayOffOverride(e){return!(null==e||!e.overrideDate)&&(null===e.endAtHour&&null===e.endAtMinutes)},normalizeStaffOverride(e){const t=this.getOverrideCalendarDateKey(e.overrideDate);if(!t)return null;const r=this.$moment.tz(t,"YYYY-MM-DD",this.savedTimezone).locale("en").format("dddd").toLowerCase();return{...e,day:r}},needsSyntheticFullDayRange(e,t){return null===e.startAtHour||t&&null===e.endAtHour&&null===e.endAtMinutes},isUnavailableAvailabilitySegment(e,t){return!t&&null===e.startAtHour||!(!t||null!==e.startAtHour&&!this.isFullDayOffOverride(e))},canProduceSlots(e){return!this.isFullDayOffOverride(e)&&(null!==e.startAtHour&&null!==e.startAtMinutes&&null!==e.endAtHour&&null!==e.endAtMinutes)},getPreviousDayOfWeek(e){return{monday:"sunday",tuesday:"monday",wednesday:"tuesday",thursday:"wednesday",friday:"thursday",saturday:"friday",sunday:"saturday"}[e]??null},convertAvailabilityToTimezone(e,t,r){if(this.isFullDayOffOverride(e))return null;if(!t||!r)return null;if(null===e.startAtHour||null===e.startAtMinutes||null===e.endAtHour||null===e.endAtMinutes)return null;const i=this.getWebsiteStaffTimezone(),a=this.$moment.tz(`${t} ${e.startAtHour}:${e.startAtMinutes}`,"YYYY-MM-DD HH:mm",i).tz(this.savedTimezone),n=0===e.endAtHour&&0===e.endAtMinutes?this.$moment.tz(t,"YYYY-MM-DD",i).add(1,"days").format("YYYY-MM-DD"):t,s=this.$moment.tz(`${n} ${e.endAtHour}:${e.endAtMinutes}`,"YYYY-MM-DD HH:mm",i).tz(this.savedTimezone),o=this.$moment.isMoment(r)?r:this.$moment.tz(r,"YYYY-MM-DD",this.savedTimezone),d=a.isSame(o,"day"),l=s.isSame(o,"day"),u=a.isBefore(o,"day"),m=s.isAfter(o,"day");if(d&&l)return{startAt:a,endAt:s};if(d&&m){return{startAt:a,endAt:o.clone().endOf("day").add(1,"second")}}
1if(u&&l){return{startAt:o.clone().startOf("day"),endAt:s}}if(u&&m){return{startAt:o.clone().startOf("day"),endAt:o.clone().endOf("day").add(1,"second")}}return null},getStaffAvailabilitiesForDay(e,t,r){const i=e.staffAvailabilities||[],a=e.staffAvailabilityOverrides||[],n=this.getPreviousDayOfWeek(r),s=this.$moment.isMoment(t)?t.clone().tz(this.savedTimezone):this.$moment.tz(t,"YYYY-MM-DD",this.savedTimezone),o=[...i];a.forEach(e=>{const t=this.getOverrideCalendarDateKey(e.overrideDate);if(!t)return;const i=this.$moment.tz(t,"YYYY-MM-DD",this.savedTimezone),a=i.locale("en").format("dddd").toLowerCase();(s.isSame(i,"day")||a===r||a===n)&&o.push({...e,day:a})});let d=o.filter(e=>(e.day===r||n&&e.day===n)&&(null!==e.startAtHour||e.overrideDate));const l=s.format("YYYY-MM-DD");return a.some(e=>{if(!e.overrideDate)return!1;return this.getOverrideCalendarDateKey(e.overrideDate)===l})&&(d=d.filter(e=>{if(!e.overrideDate)return!1;return this.getOverrideCalendarDateKey(e.overrideDate)===l})),d},buildConvertedAvailabilitySegments(e,t){if(!e)return[];const r=(e.staffAvailabilityOverrides||[]).map(e=>this.normalizeStaffOverride(e)).filter(Boolean),i=[...e.staffAvailabilities||[],...r],a={monday:"tuesday",tuesday:"wednesday",wednesday:"thursday",thursday:"friday",friday:"saturday",saturday:"sunday",sunday:"monday"},n=this.getWebsiteStaffTimezone(),s=e=>this.$moment.tz(e,"YYYY-MM-DD",this.savedTimezone),o=[];return i.forEach(e=>{const r=Object.prototype.hasOwnProperty.call(e,"overrideDate");let i;if(r){if(i=this.getOverrideCalendarDateKey(e.overrideDate),!i)return}else i=t?this.$moment(t,"YYYY-MM-DD").format("YYYY-MM-DD"):this.$moment.utc().tz(this.savedTimezone).format("YYYY-MM-DD");const d=r?i:null;let l,u;if(this.needsSyntheticFullDayRange(e,r)){const t={...e,startAtHour:0,startAtMinutes:0,endAtHour:23,endAtMinutes:59};l=this.$moment.tz(`${i} ${t.startAtHour}:${t.startAtMinutes}`,"YYYY-MM-DD HH:mm",n).tz(this.savedTimezone),u=this.$moment.tz(`${i} ${t.endAtHour}:${t.endAtMinutes}`,"YYYY-MM-DD HH:mm",n).tz(this.savedTimezone)}else l=this.$moment.tz(`${i} ${e.startAtHour}:${e.startAtMinutes}`,"YYYY-MM-DD HH:mm",n).tz(this.savedTimezone),u=this.$moment.tz(`${i} ${e.endAtHour}:${e.endAtMinutes}`,"YYYY-MM-DD HH:mm",n).tz(this.savedTimezone);const m=s(i),Y=this.isUnavailableAvailabilitySegment(e,r);if(l.isSame(u,"day")&&l.isSame(m,"day"))o.push({origin:e.day,day:e.day,endAtHour:u.hour(),endAtMinutes:u.minute(),startAtHour:l.hour(),startAtMinutes:l.minute(),startOverride:r?l.format("YYYY-MM-DD HH:mm"):null,endOverride:r?u.format("YYYY-MM-DD HH:mm"):null,unavailable:Y,overrideDate:d});else if(l.isSame(u,"day")&&l.isAfter(m,"day"))o.push({origin:e.day,day:a[e.day],endAtHour:u.hour(),endAtMinutes:u.minute(),startAtHour:l.hour(),startAtMinutes:l.minute(),startOverride:r?l.format("YYYY-MM-DD HH:mm"):null,endOverride:r?u.format("YYYY-MM-DD HH:mm"):null,unavailable:Y,overrideDate:d});else if(l.isBefore(u,"day")){let t=null,i=null;r&&(Y?(t=d,i=d):(t=l.format("YYYY-MM-DD"),i=u.format("YYYY-MM-DD"))),o.push({origin:e.day,day:e.day,endAtHour:0,endAtMinutes:0,startAtHour:l.hour(),startAtMinutes:l.minute(),startOverride:r?l.format("YYYY-MM-DD HH:mm"):null,endOverride:r?u.format("YYYY-MM-DD HH:mm"):null,unavailable:Y,overrideDate:t}),(u.hour()>0||u.minute()>0)&&o.push({origin:e.day,day:a[e.day],endAtHour:u.hour(),endAtMinutes:u.minute(),startAtHour:0,startAtMinutes:0,startOverride:r?l.format("YYYY-MM-DD HH:mm"):null,endOverride:r?u.format("YYYY-MM-DD HH:mm"):null,unavailable:Y,overrideDate:i})}}),o},calculateValidTimeSlots(e,t,r,i){const a=[],n=this.$moment.utc().tz(this.savedTimezone),s=this.$moment.tz(t,"YYYY-MM-DD",this.savedTimezone),o=s.locale("en").format("dddd").toLowerCase();return e.forEach(e=>{if(!this.canProduceSlots(e))return;let d;if(e.overrideDate){if(d=this.getOverrideCalendarDateKey(e.overrideDate),!d)return}else d=e.day===o?t:s.clone().subtract(1,"days").format("YYYY-MM-DD");const l=this.convertAvailabilityToTimezone(e,d,t);if(!l)return;const{startAt:u,endAt:m}=l,Y=this.$moment.duration(m.diff(u)).asMinutes()/r;for(let e=0;e<Y;e++){let t;if(t=0===e?u.clone():u.clone().add(e*r,"minutes"),!t.isBefore(n)){const r=t.clone().add(i,"minutes");let n;n=(0===e||t.isBefore(m))&&r.isSameOrBefore(m),n&&a.push(t)}}}),a},filterOccupiedTimeSlots(e,t,r,i){if(0===t.length)return e;const a=t.filter(e=>{const t=this.$moment.utc(e.startAt).tz(this.savedTimezone),r=this.$moment.utc(e.endAt).tz(this.savedTimezone);return t.isSame(i,"day")||r.isSame(i,"day")});return e.filter(e=>{const t=this.$moment(e).add(r,"minutes");return!a.some(r=>{const i=this.$moment.utc(r.startAt).tz(this.savedTimezone),a=this.$moment.utc(r.endAt).tz(this.savedTimezone);return e<a&&t>i})})},filterByMinimumNotice(e,t,r){const i=this.$moment.utc().tz(this.savedTimezone).add(t,r);return e.filter(e=>e.isSameOrAfter(i))},validateStaffAvailability(e,t,r,i){if(!t||!r||!i)return!0;const a=e.staffs.find(e=>e.id===t);if(!a)return!1;const n=this.$moment.tz(`${r} ${i}`,"YYYY-MM-DD HH:mm",this.savedTimezone);if(!n.isValid())return!1;const s=n.locale("en").format("dddd").toLowerCase(),o=this.getStaffAvailabilitiesForDay(a,r,s);if(0===o.length)return!1;if(o.some(e=>this.isFullDayOffOverride(e)&&this.getOverrideCalendarDateKey(e.overrideDate)===n.format("YYYY-MM-DD")))return!1;const d=o.filter(e=>this.canProduceSlots(e));if(0===d.length)return!1;const l=e.timeIncrements,u=e.duration,m=this.calculateValidTimeSlots(d,r,l,u),Y=a.userAppointments||[],f=this.filterOccupiedTimeSlots(m,Y,u,r),h=e.minimumNoticeTimeValue,D=e.minimumNoticeTimeMetric;return this.filterByMinimumNotice(f,h,D).some(e=>e.format("YYYY-MM-DD HH:mm")===n.format("YYYY-MM-DD HH:mm"))},appendMinimumNoticeBlockedDates(e,t,r){const i=this.$moment.utc().tz(this.savedTimezone).add(t,r);let a=this.$moment.utc().tz(this.savedTimezone);for(;a.isBefore(i,"day");)e.push(a.format("YYYY-MM-DD")),a.add(1,"days")},appendUnavailableConvertedDates(e,t){t.filter(e=>e.unavailable).forEach(t=>{if(t.overrideDate){const r=this.getOverrideCalendarDateKey(t.overrideDate);return void(r&&e.push(r))}if(t.startOverride&&t.endOverride){const r=this.getOverrideCalendarDateKey(t.startOverride),i=this.getOverrideCalendarDateKey(t.endOverride);r&&e.push(r),i&&e.push(i)}})},computeDisabledSiblingUnavailableDates(e,t,r=null){const i=[];return e.filter(e=>null!==e.startOverride&&!e.unavailable&&this.$moment.tz(e.startOverride,"YYYY-MM-DD HH:mm",this.savedTimezone).isSame(this.$moment.tz(e.endOverride,"YYYY-MM-DD HH:mm",this.savedTimezone),"day")).forEac
1h(a=>{const n=this.$moment.tz(a.startOverride,"YYYY-MM-DD HH:mm",this.savedTimezone),s=n.clone().add(1,"days"),o=n.clone().add(1,"days").locale("en").format("dddd").toLowerCase(),d=s.format("YYYY-MM-DD"),l=e.some(e=>e.origin===a.day&&e.day===o&&null===e.startOverride);null!=r&&d>r||t.some(e=>e===d)||!l||i.push(d);const u=n.clone().subtract(1,"days"),m=n.clone().subtract(1,"days").locale("en").format("dddd").toLowerCase(),Y=u.format("YYYY-MM-DD");t.some(e=>e===Y)||a.origin!==m||n.locale("en").format("dddd").toLowerCase()!==a.day||i.push(Y)}),i}}}},4481:function(e,t,r){r.d(t,{O:function(){return i},u:function(){return a}});const i=(e,t)=>{const r=e.$store.getters.ldClient;if(r)return t(r),()=>{};const i=e.$store.watch((e,t)=>t.ldClient,e=>{e&&(i(),t(e))});return i},a=(e,{timeoutMs:t=8e3}={})=>new Promise(r=>{let a=!1;const n=setTimeout(()=>{a||(a=!0,s(),r(null))},t),s=i(e,e=>{a||(a=!0,clearTimeout(n),r(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.