{"version":3,"file":"sort-events.mjs","names":[],"sources":["../../../src/utils/sort-events/sort-events.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { ScheduleEventData } from '../../types';\n\n/** Sorts events by start time, then by duration (longer first) */\nexport function sortEvents<T extends ScheduleEventData>(events: T[]): T[] {\n  return events.toSorted((a, b) => {\n    const startDiff = dayjs(a.start).diff(dayjs(b.start));\n\n    if (startDiff !== 0) {\n      return startDiff;\n    }\n\n    return dayjs(b.end).diff(dayjs(b.start)) - dayjs(a.end).diff(dayjs(a.start));\n  });\n}\n"],"mappings":";;;;AAIA,SAAgB,WAAwC,QAAkB;CACxE,OAAO,OAAO,UAAU,GAAG,MAAM;EAC/B,MAAM,YAAY,MAAM,EAAE,KAAK,CAAC,CAAC,KAAK,MAAM,EAAE,KAAK,CAAC;EAEpD,IAAI,cAAc,GAChB,OAAO;EAGT,OAAO,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,MAAM,EAAE,KAAK,CAAC;CAC7E,CAAC;AACH"}