@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
20 lines (19 loc) • 1.35 kB
JavaScript
import { ModalitesAccompagnementError } from './errors';
export var ModaliteAccompagnement;
(function (ModaliteAccompagnement) {
ModaliteAccompagnement["EnAutonomie"] = "En autonomie";
ModaliteAccompagnement["AccompagnementIndividuel"] = "Accompagnement individuel";
ModaliteAccompagnement["DansUnAtelier"] = "Dans un atelier collectif";
ModaliteAccompagnement["ADistance"] = "\u00C0 distance";
})(ModaliteAccompagnement || (ModaliteAccompagnement = {}));
const firstInvalidModaliteAccompagnement = (modaliteAccompagnement) => !Object.values(ModaliteAccompagnement).includes(modaliteAccompagnement);
const throwModalitesAccompagnementError = (modaliteAccompagnement) => {
throw new ModalitesAccompagnementError(modaliteAccompagnement.find(firstInvalidModaliteAccompagnement) ?? "modalité d'accompagnement indéfinie");
};
const isModalitesAccompagnement = (modalitesAccompagnement) => modalitesAccompagnement.find(firstInvalidModaliteAccompagnement) == null;
export const ModalitesAccompagnement = (modalitesAccompagnement) => {
const modalitesAccompagnementWithoutDuplicates = Array.from(new Set(modalitesAccompagnement));
return isModalitesAccompagnement(modalitesAccompagnementWithoutDuplicates)
? modalitesAccompagnementWithoutDuplicates
: throwModalitesAccompagnementError(modalitesAccompagnement);
};