@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
14 lines (13 loc) • 697 B
JavaScript
import { FraisAChargeError } from './errors';
export var Frais;
(function (Frais) {
Frais["Gratuit"] = "Gratuit";
Frais["GratuitSousCondition"] = "Gratuit sous condition";
Frais["Payant"] = "Payant";
})(Frais || (Frais = {}));
const firstInvalidFraisACharge = (fraisACharge) => !Object.values(Frais).includes(fraisACharge);
const throwFraisAChargeError = (fraisACharge) => {
throw new FraisAChargeError(fraisACharge.find(firstInvalidFraisACharge) ?? 'frais à charge indéfini');
};
const isFraisACharge = (fraisACharge) => fraisACharge.find(firstInvalidFraisACharge) == null;
export const FraisACharge = (frais) => (isFraisACharge(frais) ? frais : throwFraisAChargeError(frais));