@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
JavaScript
;
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;