UNPKG

@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

97 lines (96 loc) • 7.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.priseRdvIfAny = exports.ficheAccedLibreIfAny = exports.modalitesAccessIfAny = exports.modalitesAccompagnementIfAny = exports.autresFormationsLabelsIfAny = exports.formationsLabelsIfAny = exports.dispositifProgrammesNationauxIfAny = exports.itinerancesIfAny = exports.fraisAChargeIfAny = exports.priseEnChargeSpecifiqueIfAny = exports.publicsSpecifiquementAdressesIfAny = exports.structureParenteIfAny = exports.sourceIfAny = exports.presentationIfAny = exports.horairesIfAny = exports.contactIfAny = exports.typologiesIfAny = exports.adresse = exports.localisationIfAny = exports.servicesIfAny = exports.listFromString = void 0; const models_1 = require("../../../models"); const toListOf = (listItem) => listItem; const listFromString = (stringList) => stringList.split('|').map((toListOf)); exports.listFromString = listFromString; const hasServices = (services) => services != null && services.length > 0; const servicesIfAny = (services) => services == null ? {} : { services: (0, models_1.Services)((0, exports.listFromString)(services)) }; exports.servicesIfAny = servicesIfAny; const localisationIfAny = (latitude, longitude) => latitude == null || longitude == null ? {} : { localisation: (0, models_1.Localisation)({ latitude, longitude }) }; exports.localisationIfAny = localisationIfAny; const adresse = (schemaLieuMediationNumerique) => ({ adresse: (0, models_1.Adresse)({ code_postal: schemaLieuMediationNumerique.code_postal, commune: schemaLieuMediationNumerique.commune, voie: schemaLieuMediationNumerique.adresse, ...codeInseeIfAny(schemaLieuMediationNumerique.code_insee), ...complementAdresseIfAny(schemaLieuMediationNumerique.complement_adresse) }) }); exports.adresse = adresse; const codeInseeIfAny = (codeInsee) => (codeInsee == null ? {} : { code_insee: codeInsee }); const complementAdresseIfAny = (complementAdresse) => complementAdresse == null ? {} : { complement_adresse: complementAdresse }; const typologiesIfAny = (typologies) => typologies == null ? {} : { typologies: (0, models_1.Typologies)((0, exports.listFromString)(typologies)) }; exports.typologiesIfAny = typologiesIfAny; const telephoneIfAny = (telephone) => (telephone == null ? {} : { telephone }); const courrielsIfAny = (courriels) => courriels == null ? {} : { courriels: (0, exports.listFromString)(courriels) }; const siteWebIfAny = (siteWeb) => (siteWeb == null ? {} : { site_web: (0, exports.listFromString)(siteWeb) }); const contactIfAny = (schemaLieuMediationNumerique) => schemaLieuMediationNumerique.telephone == null && schemaLieuMediationNumerique.courriels == null && schemaLieuMediationNumerique.site_web == null ? {} : { contact: (0, models_1.Contact)({ ...telephoneIfAny(schemaLieuMediationNumerique.telephone), ...courrielsIfAny(schemaLieuMediationNumerique.courriels), ...siteWebIfAny(schemaLieuMediationNumerique.site_web) }) }; exports.contactIfAny = contactIfAny; const horairesIfAny = (horaires) => (horaires == null ? {} : { horaires }); exports.horairesIfAny = horairesIfAny; const resumeIfAny = (resume) => (resume == null ? {} : { resume }); const detailIfAny = (detail) => (detail == null ? {} : { detail }); const presentationIfAny = (schemaLieuMediationNumerique) => schemaLieuMediationNumerique.presentation_resume == null && schemaLieuMediationNumerique.presentation_detail == null ? {} : { presentation: { ...resumeIfAny(schemaLieuMediationNumerique.presentation_resume), ...detailIfAny(schemaLieuMediationNumerique.presentation_detail) } }; exports.presentationIfAny = presentationIfAny; const sourceIfAny = (source) => (source == null ? {} : { source }); exports.sourceIfAny = sourceIfAny; const structureParenteIfAny = (structureParente) => structureParente == null ? {} : { structure_parente: structureParente }; exports.structureParenteIfAny = structureParenteIfAny; const publicsSpecifiquementAdressesIfAny = (publicsSpecifiquementAdresses, services) => publicsSpecifiquementAdresses == null || !hasServices(services) ? {} : { publics_specifiquement_adresses: (0, models_1.PublicsSpecifiquementAdresses)((0, exports.listFromString)(publicsSpecifiquementAdresses)) }; exports.publicsSpecifiquementAdressesIfAny = publicsSpecifiquementAdressesIfAny; const priseEnChargeSpecifiqueIfAny = (priseEnChargeSpecifique, services) => priseEnChargeSpecifique == null || !hasServices(services) ? {} : { prise_en_charge_specifique: (0, models_1.PrisesEnChargeSpecifiques)((0, exports.listFromString)(priseEnChargeSpecifique)) }; exports.priseEnChargeSpecifiqueIfAny = priseEnChargeSpecifiqueIfAny; const fraisAChargeIfAny = (conditionsAcces, services) => conditionsAcces == null || !hasServices(services) ? {} : { frais_a_charge: (0, models_1.FraisACharge)((0, exports.listFromString)(conditionsAcces)) }; exports.fraisAChargeIfAny = fraisAChargeIfAny; const itinerancesIfAny = (itinerance, services) => itinerance == null || !hasServices(services) ? {} : { itinerance: (0, models_1.Itinerances)((0, exports.listFromString)(itinerance)) }; exports.itinerancesIfAny = itinerancesIfAny; const dispositifProgrammesNationauxIfAny = (dispositifProgrammesNationaux) => dispositifProgrammesNationaux == null ? {} : { dispositif_programmes_nationaux: (0, models_1.DispositifProgrammesNationaux)((0, exports.listFromString)(dispositifProgrammesNationaux)) }; exports.dispositifProgrammesNationauxIfAny = dispositifProgrammesNationauxIfAny; const formationsLabelsIfAny = (formationsLabels) => formationsLabels == null ? {} : { formations_labels: (0, models_1.FormationsLabels)((0, exports.listFromString)(formationsLabels)) }; exports.formationsLabelsIfAny = formationsLabelsIfAny; const autresFormationsLabelsIfAny = (autresFormationsLabels) => autresFormationsLabels == null ? {} : { autres_formations_labels: (0, exports.listFromString)(autresFormationsLabels) }; exports.autresFormationsLabelsIfAny = autresFormationsLabelsIfAny; const modalitesAccompagnementIfAny = (modalitesAccompagnement, services) => modalitesAccompagnement == null || !hasServices(services) ? {} : { modalites_accompagnement: (0, models_1.ModalitesAccompagnement)((0, exports.listFromString)(modalitesAccompagnement)) }; exports.modalitesAccompagnementIfAny = modalitesAccompagnementIfAny; const PublicAccess = (modalitesAcces) => modalitesAcces == null ? {} : { modalites_acces: (0, models_1.ModalitesAcces)((0, exports.listFromString)(modalitesAcces).filter(models_1.toAccessibleLieu)) }; const noPublicAccess = () => ({ modalites_acces: (0, models_1.ModalitesAcces)([models_1.ModaliteAcces.PasDePublic]) }); const modalitesAccessIfAny = (modalitesAcces, services) => hasServices(services) ? PublicAccess(modalitesAcces) : noPublicAccess(); exports.modalitesAccessIfAny = modalitesAccessIfAny; const ficheAccedLibreIfAny = (ficheAccesLibre) => ficheAccesLibre == null ? {} : { fiche_acces_libre: (0, models_1.Url)(ficheAccesLibre) }; exports.ficheAccedLibreIfAny = ficheAccedLibreIfAny; const priseRdvIfAny = (priseRdv) => (priseRdv == null ? {} : { prise_rdv: (0, models_1.Url)(priseRdv) }); exports.priseRdvIfAny = priseRdvIfAny;