diff --git a/src/Events/Event.ts b/src/Events/Event.ts new file mode 100644 index 0000000..052b872 --- /dev/null +++ b/src/Events/Event.ts @@ -0,0 +1,17 @@ +import { Event as _Event } from "../types"; + +export default class Event implements _Event { + date: Date; + title: string; + text?: string; + icon?: string; + backgroundColor?: string; + + constructor({ date, title, text, icon, backgroundColor }) { + this.date = new Date(date); + this.title = title; + this.text = text; + this.icon = icon; + this.backgroundColor = backgroundColor; + } +} diff --git a/src/Events/index.ts b/src/Events/index.ts new file mode 100644 index 0000000..531848d --- /dev/null +++ b/src/Events/index.ts @@ -0,0 +1,15 @@ +import Event from "./Event"; + +export default class Events { + sortedEvents: Event[]; + + constructor(events: Event[]) { + this.sortedEvents = this.processEvents(events); + } + + processEvents(events): Event[] { + const _events = events.map((event) => new Event(event)); + + return _events.sort((a, b) => a.date - b.date); + } +}