{"version":3,"file":"get-week-days.mjs","names":[],"sources":["../../../src/utils/get-week-days/get-week-days.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { AnyDateValue, DateStringValue, DayOfWeek } from '../../types';\nimport { getStartOfWeek } from '../get-start-of-week/get-start-of-week';\nimport { toDateString } from '../to-date-string/to-date-string';\n\nexport interface GetWeekDaysInput {\n  /** Week to generate days for */\n  week: AnyDateValue;\n\n  /** Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday. The default value is defined by `DatesProvider`. */\n  weekendDays?: DayOfWeek[];\n\n  /** If set to false, weekend days are hidden @default true */\n  withWeekendDays?: boolean;\n\n  /** Number 0-6, where 0 – Sunday and 6 – Saturday @default 1 */\n  firstDayOfWeek?: DayOfWeek;\n}\n\n/** Returns a list of days in a given week */\nexport function getWeekDays({\n  week,\n  weekendDays,\n  withWeekendDays = true,\n  firstDayOfWeek = 1,\n}: GetWeekDaysInput): DateStringValue[] {\n  const days: DateStringValue[] = [];\n\n  let current = dayjs(getStartOfWeek({ date: week, firstDayOfWeek }));\n\n  for (let i = 0; i < 7; i += 1) {\n    const dayOfWeek = current.day();\n    const isWeekend = weekendDays && weekendDays.includes(dayOfWeek as DayOfWeek);\n\n    if (!isWeekend || withWeekendDays) {\n      days.push(toDateString(current));\n    }\n\n    current = current.add(1, 'day');\n  }\n\n  return days;\n}\n"],"mappings":";;;;;;AAoBA,SAAgB,YAAY,EAC1B,MACA,aACA,kBAAkB,MAClB,iBAAiB,KACqB;CACtC,MAAM,OAA0B,CAAC;CAEjC,IAAI,UAAU,MAAM,eAAe;EAAE,MAAM;EAAM;CAAe,CAAC,CAAC;CAElE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG;EAC7B,MAAM,YAAY,QAAQ,IAAI;EAG9B,IAAI,EAFc,eAAe,YAAY,SAAS,SAAsB,MAE1D,iBAChB,KAAK,KAAK,aAAa,OAAO,CAAC;EAGjC,UAAU,QAAQ,IAAI,GAAG,KAAK;CAChC;CAEA,OAAO;AACT"}