@tmlmobilidade/utils
Version:
A collection of utility functions and helpers for the TML Mobilidade Go monorepo, providing common functionality for batching operations, caching, HTTP requests, object manipulation, permissions, and more.
21 lines (20 loc) • 978 B
JavaScript
/* * */
import { Dates } from '@tmlmobilidade/dates';
/* * */
export function convertGTFSTimeStringAndOperationalDateToUnixTimestamp(timeString, operationalDate) {
//
// Return early if no time string is provided
if (!timeString || !operationalDate)
throw new Error(`✖︎ No time string or operational date provided. timeString: ${timeString}, operationalDate: ${operationalDate}`);
// Check if the timestring is in the format HH:MM:SS
if (!/^\d{2}:\d{2}:\d{2}$/.test(timeString))
throw new Error(`✖︎ Invalid time string format. timeString: ${timeString}`);
// Extract the individual components of the time string (HH:MM:SS)
const [hoursOperation, minutesOperation, secondsOperation] = timeString.split(':').map(Number);
return Dates
.fromOperationalDate(operationalDate, 'Europe/Lisbon')
.set({ hour: hoursOperation, minute: minutesOperation, second: secondsOperation })
.unix_timestamp;
//
}
;