@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.5 kB
JavaScript
import { ServicesError } from './errors';
export var Service;
(function (Service) {
Service["MaterielInformatiqueAPrixSolidaire"] = "Acquisition de mat\u00E9riel informatique \u00E0 prix solidaire";
Service["AideAuxDemarchesAdministratives"] = "Aide aux d\u00E9marches administratives";
Service["MaitriseDesOutilsNumeriquesDuQuotidien"] = "Ma\u00EEtrise des outils num\u00E9riques du quotidien";
Service["InsertionProfessionnelleViaLeNumerique"] = "Insertion professionnelle via le num\u00E9rique";
Service["UtilisationSecuriseeDuNumerique"] = "Utilisation s\u00E9curis\u00E9e du num\u00E9rique";
Service["ParentaliteEtEducationAvecLeNumerique"] = "Parentalit\u00E9 et \u00E9ducation avec le num\u00E9rique";
Service["LoisirsEtCreationsNumeriques"] = "Loisirs et cr\u00E9ations num\u00E9riques";
Service["ComprehensionDuMondeNumerique"] = "Compr\u00E9hension du monde num\u00E9rique";
Service["AccesInternetEtMaterielInformatique"] = "Acc\u00E8s internet et mat\u00E9riel informatique";
})(Service || (Service = {}));
const firstInvalidService = (service) => !Object.values(Service).includes(service);
const throwServicesError = (services) => {
throw new ServicesError(services.find(firstInvalidService) ?? 'service indéfini');
};
const isServices = (services) => services.length > 0 && services.find(firstInvalidService) == null;
export const Services = (services) => isServices(services) ? Array.from(new Set(services)) : throwServicesError(services);