24 lines
962 B
JavaScript
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`)
|
|
}
|