@gouvfr-anct/lieux-de-mediation-numerique
Version:
📚 Bibliothèque pour la modélisation des lieux de médiation numérique respectant le standard du schéma de données des lieux de médiation numériques
15 lines (14 loc) • 873 B
JavaScript
import { LatitudeError, LongitudeError } from './errors';
const isValidLatitude = (localisationData) => localisationData.latitude >= -90 && localisationData.latitude <= 90;
const isValidLongitude = (localisationData) => localisationData.longitude >= -180 && localisationData.longitude <= 180;
export const isValidLocalisation = (localisationData) => isValidLatitude(localisationData) && isValidLongitude(localisationData);
const throwLocalisationError = (localisationData) => {
if (!isValidLatitude(localisationData)) {
throw new LatitudeError(localisationData.latitude);
}
if (!isValidLongitude(localisationData)) {
throw new LongitudeError(localisationData.longitude);
}
throw new Error();
};
export const Localisation = (localisation) => isValidLocalisation(localisation) ? { ...localisation } : throwLocalisationError(localisation);