@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
18 lines (17 loc) • 1.18 kB
JavaScript
import { ModalitesAccesError } from './errors';
export var ModaliteAcces;
(function (ModaliteAcces) {
ModaliteAcces["SePresenter"] = "Se pr\u00E9senter";
ModaliteAcces["Telephoner"] = "T\u00E9l\u00E9phoner";
ModaliteAcces["ContacterParMail"] = "Contacter par mail";
ModaliteAcces["PrescriptionParMail"] = "Envoyer un mail avec une fiche de prescription";
ModaliteAcces["PrendreRdvEnLigne"] = "Prendre un RDV en ligne";
ModaliteAcces["PasDePublic"] = "Ce lieu n'accueille pas de public";
})(ModaliteAcces || (ModaliteAcces = {}));
const firstInvalidModaliteAcces = (modaliteAcces) => !Object.values(ModaliteAcces).includes(modaliteAcces);
const throwModalitesAccesError = (modalitesAcces) => {
throw new ModalitesAccesError(modalitesAcces.find(firstInvalidModaliteAcces) ?? "modalité d'accès indéfinie");
};
const isModalitesAcces = (modalitesAcces) => modalitesAcces.find(firstInvalidModaliteAcces) == null;
export const ModalitesAcces = (modalitesAcces) => isModalitesAcces(modalitesAcces) ? modalitesAcces : throwModalitesAccesError(modalitesAcces);
export const toAccessibleLieu = (modalitesAcces) => modalitesAcces !== ModaliteAcces.PasDePublic;