Jelle vertelt

In dit fragment heb ik een generieke service gecreëerd die de tijd en datum (meegegeven als parameters) omzet naar een ISO timestamp, oftewel een notatie-onafhankelijke datum string.

Over dit fragment

In de context van het TeamAwesome project willen gebruikers de start- en eindtijd van de gewerkte uren op slaan. In eerste instantie bestonden de volgende 3 functies:

Wat ik vervolgens heb gedaan

Waar ConvertToIsoString in eerste instantie enkel de generieke Date methode .toIsoString() uitvoerde op een nieuw Date object, heb ik deze functie na revisie hernoemd naar ‘convertTimeToIso’ en roep ik binnen het aanmaken van een nieuw Date object de verschillende hulpfuncties aan die mijn data converteren naar een format dat geschikt is voor het uitoefenen van de .toISo String() methode.

Functies zoals 'convertPointToColon' waren te specifiek om als losstaande functie te bestaan en konden in één functie gewikkeld worden door gebruik te maken van de generieke string methodes die binnen Javascript bestaan.

De functie 'ConvertDateToUs' heb ik in eerste instantie hernoemd naar 'ConvertDateToIso', omdat mijn doel is de waarde als ISO string op te slaan is, en niet in de Amerikaanse notatie. Vervolgens heb ik op een elegante manier deze functie naar een one-liner weten om te schrijven waar ik gebruik maak van split om de array te splitsen op het '-' teken, deze array vervolgens met reverse om te draaien en uiteindelijk weer aan elkaar aan te plakken, met een - als seperator, met de join functie.

Resultaat

ConvertDateToIso gaat nu uit van de Nederlandse datum-notatie. In de toekomst zou ik deze functie willen uitbreiden met meerdere converteer functies die op basis van de nationaliteit van de gebruiker correct worden uitgevoerd.

Op deze manier heb ik geprobeerd deze functies zo generiek mogelijk op te stellen, zodat in een toekomstige andere context dezelfde functie kan worden gebruikt.