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