Files

24 lines
962 B
JavaScript

/**
* Kleine Hilfen, die mehrere Terminplaner-Module teilen (Zeitpunkte lesen, Pflichtparameter pruefen).
* Reine Funktionen ohne Appwrite und ohne config.
*/
/** Zeitpunkt als ms: Date, ISO-String (auch mit +00:00 wie von Appwrite) oder Zahl; sonst NaN. */
export function zeitMs(wert) {
if (wert instanceof Date) return wert.getTime()
if (typeof wert === 'string' && wert !== '') return new Date(wert).getTime()
if (typeof wert === 'number') return wert
return Number.NaN
}
/** `now` ist immer ein gueltiges Date (feste Uhr per Parameter, nie die Wanduhr), sonst TypeError. => Millisekunden. */
export function pruefeNow(now, name) {
if (!(now instanceof Date) || Number.isNaN(now.getTime())) throw new TypeError(`${name}: now fehlt`)
return now.getTime()
}
/** Pflichttext: nichtleerer String, sonst TypeError. */
export function pruefeText(wert, name) {
if (typeof wert !== 'string' || wert === '') throw new TypeError(`${name} fehlt`)
}