import "@angular/compiler"; import { CalendarService, SelectedDates, DayType, SelectableDayType } from './src/app/services/calendar-service'; import { DateCacheService } from './src/app/services/date-cache.service'; import { RuleService } from './src/app/services/rule-service'; const cs = new CalendarService(); cs['dateCache'] = { getTodayComponents: () => { const d = new Date(); return { date: d.getDate(), month: d.getMonth(), year: d.getFullYear() }; } } as any; const sd = cs.getSelectedDatesForPeriod(new Date(), new Date(new Date().setFullYear(new Date().getFullYear() + 1))); console.log("Selected dates length:", sd._datesSelected.length); const rules = [ { id: 'default-samedi-malin', name: 'Samedi Malin', type: 'if_then', enabled: true, dayOfWeek: 6, placeDays: 2, placeType: 'cp', placement: 'auto', rewardDays: 1, rewardType: 'other' }, { id: 'default-christmas', name: 'Vacances de Noël', type: 'time_window', enabled: true, startDate: '2026-12-19T23:00:00.000Z', endDate: '2027-01-02T23:00:00.000Z', placeDays: 5, placeType: 'any' } ] as any; const vacs = [ { id: '1', type: 'cp', numberOfDays: 5, expiryDate: new Date(new Date().setFullYear(new Date().getFullYear() + 1)) }, { id: '2', type: 'rtt', numberOfDays: 5, expiryDate: new Date(new Date().setFullYear(new Date().getFullYear() + 1)) }, ]; sd.optimizeVacations(vacs, rules, cs, new Date(), new Date(new Date().setFullYear(new Date().getFullYear() + 1))).then(res => { console.log("Remaining:", res); const vacPlaced = sd._datesSelected.filter(d => ['cp', 'rtt', 'other'].includes(d.type as string)); console.log("Placed vacs:", vacPlaced.length); });