@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
23 lines (22 loc) • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.toAccessibleLieu = exports.ModalitesAcces = exports.ModaliteAcces = void 0;
const errors_1 = require("./errors");
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 || (exports.ModaliteAcces = ModaliteAcces = {}));
const firstInvalidModaliteAcces = (modaliteAcces) => !Object.values(ModaliteAcces).includes(modaliteAcces);
const throwModalitesAccesError = (modalitesAcces) => {
throw new errors_1.ModalitesAccesError(modalitesAcces.find(firstInvalidModaliteAcces) ?? "modalité d'accès indéfinie");
};
const isModalitesAcces = (modalitesAcces) => modalitesAcces.find(firstInvalidModaliteAcces) == null;
const ModalitesAcces = (modalitesAcces) => isModalitesAcces(modalitesAcces) ? modalitesAcces : throwModalitesAccesError(modalitesAcces);
exports.ModalitesAcces = ModalitesAcces;
const toAccessibleLieu = (modalitesAcces) => modalitesAcces !== ModaliteAcces.PasDePublic;
exports.toAccessibleLieu = toAccessibleLieu;