UNPKG

react-weekly-schedule

Version:

![Travis (.org)](https://img.shields.io/travis/remotelock/react-week-scheduler.svg) ![npm](https://img.shields.io/npm/v/@remotelock/react-week-scheduler.svg)

23 lines (19 loc) 558 B
import compareAsc from 'date-fns/compare_asc'; import _mergeRanges from 'merge-ranges'; import { ScheduleType } from '../types'; export function mergeRanges(event: ScheduleType): ScheduleType { return _mergeRanges( [...event].map(d => d.map(c => new Date(c)) as [Date, Date]), ); } export function mergeEvents( event1: ScheduleType, event2: ScheduleType | null, ): ScheduleType { if (event2 === null) { return event1; } return mergeRanges([...event1, ...event2]).sort((range1, range2) => compareAsc(range1[0], range2[0]), ); }