@rr0/cms 0.3.16 → 0.3.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CMSContext.d.ts +7 -0
- package/dist/{RR0Build.d.ts → CMSGenerator.d.ts} +35 -16
- package/dist/{RR0Build.js → CMSGenerator.js} +97 -96
- package/dist/CMSGenerator.test.d.ts +1 -0
- package/dist/{RR0Build.test.js → CMSGenerator.test.js} +64 -52
- package/dist/{DefaultContentVisitor.d.ts → DataContentVisitor.d.ts} +4 -1
- package/dist/{DefaultContentVisitor.js → DataContentVisitor.js} +4 -1
- package/dist/DescriptionReplaceCommand.d.ts +1 -1
- package/dist/ImageCommand.js +2 -2
- package/dist/OpenGraphCommand.d.ts +1 -1
- package/dist/OpenGraphCommand.js +1 -1
- package/dist/OpenGraphCommand.test.js +1 -2
- package/dist/PerFileCounter.d.ts +1 -1
- package/dist/RR0Context.d.ts +6 -2
- package/dist/RR0Context.js +19 -11
- package/dist/RR0Context.test.js +6 -6
- package/dist/ReferenceGenerator.d.ts +1 -1
- package/dist/anchor/AnchorReplaceCommandTest.js +1 -1
- package/dist/book/Book.d.ts +2 -2
- package/dist/book/Book.js +3 -1
- package/dist/book/BookDirectoryStep.d.ts +1 -1
- package/dist/book/BookDirectoryStep.js +3 -3
- package/dist/book/BookJson.d.ts +1 -1
- package/dist/book/BookService.d.ts +1 -1
- package/dist/book/BookService.test.js +5 -9
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -2
- package/dist/lang/RR0Messages.d.ts +1 -1
- package/dist/org/Cities.js +11 -11
- package/dist/org/CmsOrganizationFactory.d.ts +1 -2
- package/dist/org/CountryMessageList_en.js +1 -1
- package/dist/org/CountryMessageList_fr.js +1 -1
- package/dist/org/OrganizationService.d.ts +1 -1
- package/dist/org/au/Australia.d.ts +1 -1
- package/dist/org/au/Australia.js +1 -1
- package/dist/org/au/index.d.ts +1 -1
- package/dist/org/au/index.js +1 -1
- package/dist/org/ca/Canada.d.ts +1 -1
- package/dist/org/ca/Canada.js +1 -1
- package/dist/org/cn/China.d.ts +1 -1
- package/dist/org/cn/China.js +1 -1
- package/dist/org/cn/ChinaMessages_cn.js +1 -1
- package/dist/org/cn/ChinaMessages_en.js +1 -1
- package/dist/org/cn/ChinaMessages_fr.js +1 -1
- package/dist/org/cn/region/ChinaCities.js +1 -1
- package/dist/org/cn/region/ChinaRegions.d.ts +1 -1
- package/dist/org/cn/region/ChinaRegions.js +1 -1
- package/dist/org/cn/region/n/NorthChinaMessages_cn.d.ts +3 -3
- package/dist/org/cn/region/n/NorthChinaMessages_cn.js +3 -3
- package/dist/org/cn/region/n/NorthChinaMessages_en.d.ts +3 -3
- package/dist/org/cn/region/n/NorthChinaMessages_en.js +3 -3
- package/dist/org/cn/region/n/NorthChinaMessages_fr.d.ts +3 -3
- package/dist/org/cn/region/n/NorthChinaMessages_fr.js +3 -3
- package/dist/org/cn/region/n/ji/Hebei.d.ts +1 -1
- package/dist/org/cn/region/n/ji/Hebei.js +3 -3
- package/dist/org/cn/region/n/ji/HebeiCities.d.ts +1 -1
- package/dist/org/cn/region/n/ji/HebeiCities.js +1 -1
- package/dist/org/cn/region/n/ji/HebeiMessages_cn.js +1 -1
- package/dist/org/cn/region/n/ji/HebeiMessages_fr.js +1 -1
- package/dist/org/cn/region/n/ji/Tianjin/Tianjin.js +2 -2
- package/dist/org/co/Colombia.d.ts +2 -2
- package/dist/org/co/Colombia.js +1 -1
- package/dist/org/country/CmsCountry.d.ts +1 -1
- package/dist/org/country/CmsCountry.js +1 -1
- package/dist/org/country/Countries.d.ts +1 -1
- package/dist/org/country/Countries.js +30 -30
- package/dist/org/country/CountryService.d.ts +1 -1
- package/dist/org/country/CountryService.test.js +1 -1
- package/dist/org/country/region/RegionService.d.ts +1 -1
- package/dist/org/country/region/RegionService.test.js +1 -1
- package/dist/org/country/region/department/DepartmentService.test.js +1 -1
- package/dist/org/do/DominicanRepublic.d.ts +2 -2
- package/dist/org/do/DominicanRepublic.js +1 -1
- package/dist/org/dz/Algeria.d.ts +1 -1
- package/dist/org/dz/Algeria.js +1 -1
- package/dist/org/ec/Ecuador.d.ts +1 -1
- package/dist/org/ec/Ecuador.js +1 -1
- package/dist/org/eg/Egypt.d.ts +1 -1
- package/dist/org/eg/Egypt.js +1 -1
- package/dist/org/eu/de/Germany.d.ts +1 -1
- package/dist/org/eu/de/Germany.js +1 -1
- package/dist/org/eu/dk/Denmark.d.ts +1 -1
- package/dist/org/eu/dk/Denmark.js +1 -1
- package/dist/org/eu/es/Spain.d.ts +1 -1
- package/dist/org/eu/es/Spain.js +1 -1
- package/dist/org/eu/fi/Finland.d.ts +1 -1
- package/dist/org/eu/fi/Finland.js +1 -1
- package/dist/org/eu/fr/France.d.ts +1 -1
- package/dist/org/eu/fr/France.js +1 -1
- package/dist/org/eu/fr/cnes/geipan/geipan/GeipanFileDatasource.d.ts +1 -1
- package/dist/org/eu/fr/cnes/geipan/geipan/GeipanHttpDatasource.js +1 -1
- package/dist/org/eu/fr/cnes/geipan/geipan/GeipanRR0Mapping.d.ts +2 -2
- package/dist/org/eu/fr/region/ara/01/HautevilleLompnes/HautevilleLompnes.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/01/HautevilleLompnes/HautevilleLompnes.js +2 -2
- package/dist/org/eu/fr/region/ara/03/montmarault/Montmarault.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/03/montmarault/Montmarault.js +2 -2
- package/dist/org/eu/fr/region/ara/03/valonensully/VallonEnSully.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/03/valonensully/VallonEnSully.js +2 -2
- package/dist/org/eu/fr/region/ara/07/Coux/Coux.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/07/Coux/Coux.js +2 -2
- package/dist/org/eu/fr/region/ara/07/Largentiere/Largentiere.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/07/Largentiere/Largentiere.js +2 -2
- package/dist/org/eu/fr/region/ara/07/VernouxEnVivarais/VernouxEnVivarais.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/07/VernouxEnVivarais/VernouxEnVivarais.js +2 -2
- package/dist/org/eu/fr/region/ara/15/mauriac/Mauriac.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/15/mauriac/Mauriac.js +2 -2
- package/dist/org/eu/fr/region/ara/15/pierrefort/Pierrefort.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/15/pierrefort/Pierrefort.js +2 -2
- package/dist/org/eu/fr/region/ara/26/Chateaudouble/Chateaudouble.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/26/Chateaudouble/Chateaudouble.js +2 -2
- package/dist/org/eu/fr/region/ara/38/Allevard/Allevard.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/38/Allevard/Allevard.js +2 -2
- package/dist/org/eu/fr/region/ara/38/Chirens/Chirens.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/38/Chirens/Chirens.js +2 -2
- package/dist/org/eu/fr/region/ara/38/Domene/Domene.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/38/Domene/Domene.js +2 -2
- package/dist/org/eu/fr/region/ara/38/Meylan/Meylan.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/38/Meylan/Meylan.js +2 -2
- package/dist/org/eu/fr/region/ara/38/Renage/Renage.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/38/Renage/Renage.js +2 -2
- package/dist/org/eu/fr/region/ara/38/SaintGeoireEnValdaine/SaintGeoireEnValdaine.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/38/SaintGeoireEnValdaine/SaintGeoireEnValdaine.js +2 -2
- package/dist/org/eu/fr/region/ara/38/SaintMarcellin/SaintMarcellin.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/38/SaintMarcellin/SaintMarcellin.js +2 -2
- package/dist/org/eu/fr/region/ara/38/SaintVerand/SaintVerand.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/38/SaintVerand/SaintVerand.js +2 -2
- package/dist/org/eu/fr/region/ara/38/Valbonnais/Valbonnais.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/38/Valbonnais/Valbonnais.js +2 -2
- package/dist/org/eu/fr/region/ara/38/Venon/Venon.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/38/Venon/Venon.js +2 -2
- package/dist/org/eu/fr/region/ara/42/Montbrison/Montbrison.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/42/Montbrison/Montbrison.js +2 -2
- package/dist/org/eu/fr/region/ara/42/Roanne/Roanne.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/42/Roanne/Roanne.js +2 -2
- package/dist/org/eu/fr/region/ara/42/SaintEtienne/SaintEtienne.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/42/SaintEtienne/SaintEtienne.js +2 -2
- package/dist/org/eu/fr/region/ara/63/Billom/Billom.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/63/Billom/Billom.js +2 -2
- package/dist/org/eu/fr/region/ara/63/ChatelGuyon/ChatelGuyon.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/63/ChatelGuyon/ChatelGuyon.js +2 -2
- package/dist/org/eu/fr/region/ara/63/Riom/Riom.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/63/Riom/Riom.js +2 -2
- package/dist/org/eu/fr/region/ara/69/Belleville/Belleville.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/69/Belleville/Belleville.js +2 -2
- package/dist/org/eu/fr/region/ara/69/Lyon/Lyon.d.ts +2 -2
- package/dist/org/eu/fr/region/ara/69/Lyon/Lyon.js +3 -3
- package/dist/org/eu/fr/region/ara/73/SaintJeanDeMaurienne/SaintJeanDeMaurienne.d.ts +1 -1
- package/dist/org/eu/fr/region/ara/73/SaintJeanDeMaurienne/SaintJeanDeMaurienne.js +2 -2
- package/dist/org/eu/fr/region/bfc/21/MirebeauSurBeze/MirebeauSurBeze.d.ts +1 -1
- package/dist/org/eu/fr/region/bfc/21/MirebeauSurBeze/MirebeauSurBeze.js +2 -2
- package/dist/org/eu/fr/region/bfc/21/Vitteaux/Vitteaux.d.ts +1 -1
- package/dist/org/eu/fr/region/bfc/21/Vitteaux/Vitteaux.js +2 -2
- package/dist/org/eu/fr/region/bfc/25/AmathayVesigneux/AmathayVesigneux.d.ts +1 -1
- package/dist/org/eu/fr/region/bfc/25/AmathayVesigneux/AmathayVesigneux.js +2 -2
- package/dist/org/eu/fr/region/bfc/25/Ouhans/Ouhans.d.ts +1 -1
- package/dist/org/eu/fr/region/bfc/25/Ouhans/Ouhans.js +2 -2
- package/dist/org/eu/fr/region/bfc/39/SaintClaude/SaintClaude.d.ts +1 -1
- package/dist/org/eu/fr/region/bfc/39/SaintClaude/SaintClaude.js +2 -2
- package/dist/org/eu/fr/region/bfc/56/Locmine/Locmine.d.ts +1 -1
- package/dist/org/eu/fr/region/bfc/56/Locmine/Locmine.js +2 -2
- package/dist/org/eu/fr/region/bfc/58/ChateauneufValDeBargis/ChateauneufValDeBargis.d.ts +1 -1
- package/dist/org/eu/fr/region/bfc/58/ChateauneufValDeBargis/ChateauneufValDeBargis.js +2 -2
- package/dist/org/eu/fr/region/bfc/71/Joncy/Joncy.d.ts +1 -1
- package/dist/org/eu/fr/region/bfc/71/Joncy/Joncy.js +2 -2
- package/dist/org/eu/fr/region/bfc/71/Verosvres/Verosvres.d.ts +1 -1
- package/dist/org/eu/fr/region/bfc/71/Verosvres/Verosvres.js +2 -2
- package/dist/org/eu/fr/region/bfc/89/Avallon/Avallon.d.ts +1 -1
- package/dist/org/eu/fr/region/bfc/89/Avallon/Avallon.js +2 -2
- package/dist/org/eu/fr/region/bfc/89/FlognyLaChapelle/FlognyLaChapelle.d.ts +1 -1
- package/dist/org/eu/fr/region/bfc/89/FlognyLaChapelle/FlognyLaChapelle.js +2 -2
- package/dist/org/eu/fr/region/bfc/89/JouxLaVille/JouxLaVille.d.ts +1 -1
- package/dist/org/eu/fr/region/bfc/89/JouxLaVille/JouxLaVille.js +2 -2
- package/dist/org/eu/fr/region/bfc/89/PrecyLeSec/PrecyLeSec.d.ts +1 -1
- package/dist/org/eu/fr/region/bfc/89/PrecyLeSec/PrecyLeSec.js +2 -2
- package/dist/org/eu/fr/region/bfc/89/Provency/Provency.d.ts +1 -1
- package/dist/org/eu/fr/region/bfc/89/Provency/Provency.js +2 -2
- package/dist/org/eu/fr/region/bfc/89/SaintMore/SaintMore.d.ts +1 -1
- package/dist/org/eu/fr/region/bfc/89/SaintMore/SaintMore.js +2 -2
- package/dist/org/eu/fr/region/bfc/89/Vermenton/Vermenton.d.ts +1 -1
- package/dist/org/eu/fr/region/bfc/89/Vermenton/Vermenton.js +2 -2
- package/dist/org/eu/fr/region/bfc/89/Villy/Villy.d.ts +1 -1
- package/dist/org/eu/fr/region/bfc/89/Villy/Villy.js +2 -2
- package/dist/org/eu/fr/region/bre/35/pleinefougeres/PleineFougeres.d.ts +1 -1
- package/dist/org/eu/fr/region/bre/35/pleinefougeres/PleineFougeres.js +2 -2
- package/dist/org/eu/fr/region/cvl/18/ChateauneufSurCher/ChateauneufSurCher.d.ts +1 -1
- package/dist/org/eu/fr/region/cvl/18/ChateauneufSurCher/ChateauneufSurCher.js +2 -2
- package/dist/org/eu/fr/region/cvl/36/Issoudun/Issoudun.d.ts +1 -1
- package/dist/org/eu/fr/region/cvl/36/Issoudun/Issoudun.js +2 -2
- package/dist/org/eu/fr/region/cvl/37/Blere/Blere.d.ts +1 -1
- package/dist/org/eu/fr/region/cvl/37/Blere/Blere.js +2 -2
- package/dist/org/eu/fr/region/cvl/37/ChambourgSurIndre/ChambourgSurIndre.d.ts +1 -1
- package/dist/org/eu/fr/region/cvl/37/ChambourgSurIndre/ChambourgSurIndre.js +2 -2
- package/dist/org/eu/fr/region/cvl/37/Monts/Monts.d.ts +1 -1
- package/dist/org/eu/fr/region/cvl/37/Monts/Monts.js +2 -2
- package/dist/org/eu/fr/region/cvl/45/bou/Bou.d.ts +1 -1
- package/dist/org/eu/fr/region/cvl/45/bou/Bou.js +2 -2
- package/dist/org/eu/fr/region/cvl/45/chateaurenard/ChateauRenard.d.ts +1 -1
- package/dist/org/eu/fr/region/cvl/45/chateaurenard/ChateauRenard.js +2 -2
- package/dist/org/eu/fr/region/ges/08/Revin/Revin.d.ts +1 -1
- package/dist/org/eu/fr/region/ges/08/Revin/Revin.js +2 -2
- package/dist/org/eu/fr/region/ges/51/Reims/Reims.d.ts +1 -1
- package/dist/org/eu/fr/region/ges/51/Reims/Reims.js +2 -2
- package/dist/org/eu/fr/region/ges/54/CosnesEtRomain/CosnesEtRomain.d.ts +1 -1
- package/dist/org/eu/fr/region/ges/54/CosnesEtRomain/CosnesEtRomain.js +2 -2
- package/dist/org/eu/fr/region/ges/54/Nancy/Nancy.d.ts +1 -1
- package/dist/org/eu/fr/region/ges/54/Nancy/Nancy.js +2 -2
- package/dist/org/eu/fr/region/ges/54/NeuvesMaisons/NeuvesMaisons.d.ts +1 -1
- package/dist/org/eu/fr/region/ges/54/NeuvesMaisons/NeuvesMaisons.js +2 -2
- package/dist/org/eu/fr/region/ges/55/GondrecourtLeChateau/GondrecourtLeChateau.d.ts +1 -1
- package/dist/org/eu/fr/region/ges/55/GondrecourtLeChateau/GondrecourtLeChateau.js +2 -2
- package/dist/org/eu/fr/region/ges/55/Vaucouleurs/Vaucouleurs.d.ts +1 -1
- package/dist/org/eu/fr/region/ges/55/Vaucouleurs/Vaucouleurs.js +2 -2
- package/dist/org/eu/fr/region/ges/55/VoidVacon/VoidVacon.d.ts +1 -1
- package/dist/org/eu/fr/region/ges/55/VoidVacon/VoidVacon.js +2 -2
- package/dist/org/eu/fr/region/ges/57/ArsSurMoselle/ArsSurMoselle.d.ts +1 -1
- package/dist/org/eu/fr/region/ges/57/ArsSurMoselle/ArsSurMoselle.js +2 -2
- package/dist/org/eu/fr/region/ges/57/Bouzonville/Bouzonville.d.ts +1 -1
- package/dist/org/eu/fr/region/ges/57/Bouzonville/Bouzonville.js +2 -2
- package/dist/org/eu/fr/region/ges/57/Forbach/Forbach.d.ts +1 -1
- package/dist/org/eu/fr/region/ges/57/Forbach/Forbach.js +2 -2
- package/dist/org/eu/fr/region/ges/57/MontignyLesMetz/MontignyLesMetz.d.ts +1 -1
- package/dist/org/eu/fr/region/ges/57/MontignyLesMetz/MontignyLesMetz.js +2 -2
- package/dist/org/eu/fr/region/ges/67/Bischwiller/Bischwiller.d.ts +1 -1
- package/dist/org/eu/fr/region/ges/67/Bischwiller/Bischwiller.js +2 -2
- package/dist/org/eu/fr/region/ges/67/Urmatt/Urmatt.d.ts +1 -1
- package/dist/org/eu/fr/region/ges/67/Urmatt/Urmatt.js +2 -2
- package/dist/org/eu/fr/region/ges/68/Mulhouse/Mulhouse.d.ts +1 -1
- package/dist/org/eu/fr/region/ges/68/Mulhouse/Mulhouse.js +2 -2
- package/dist/org/eu/fr/region/ges/88/Anglemont/Anglemont.d.ts +1 -1
- package/dist/org/eu/fr/region/ges/88/Anglemont/Anglemont.js +2 -2
- package/dist/org/eu/fr/region/ges/88/Epinal/Epinal.d.ts +1 -1
- package/dist/org/eu/fr/region/ges/88/Epinal/Epinal.js +2 -2
- package/dist/org/eu/fr/region/hdf/02/SainsRichaumont/SainsRichaumont.d.ts +1 -1
- package/dist/org/eu/fr/region/hdf/02/SainsRichaumont/SainsRichaumont.js +2 -2
- package/dist/org/eu/fr/region/hdf/59/Aniche/Aniche.d.ts +1 -1
- package/dist/org/eu/fr/region/hdf/59/Aniche/Aniche.js +2 -2
- package/dist/org/eu/fr/region/hdf/59/AvesnesLesAubert/AvesnesLesAubert.d.ts +1 -1
- package/dist/org/eu/fr/region/hdf/59/AvesnesLesAubert/AvesnesLesAubert.js +2 -2
- package/dist/org/eu/fr/region/hdf/59/Jeumont/Jeumont.d.ts +1 -1
- package/dist/org/eu/fr/region/hdf/59/Jeumont/Jeumont.js +2 -2
- package/dist/org/eu/fr/region/hdf/59/Thiant/Thiant.d.ts +1 -1
- package/dist/org/eu/fr/region/hdf/59/Thiant/Thiant.js +2 -2
- package/dist/org/eu/fr/region/hdf/62/Calais/Calais.d.ts +1 -1
- package/dist/org/eu/fr/region/hdf/62/Calais/Calais.js +2 -2
- package/dist/org/eu/fr/region/hdf/62/NeuvilleSaintVaast/NeuvilleSaintVaast.d.ts +1 -1
- package/dist/org/eu/fr/region/hdf/62/NeuvilleSaintVaast/NeuvilleSaintVaast.js +2 -2
- package/dist/org/eu/fr/region/hdf/62/SaintPolSurTernoise/SaintPolSurTernoise.d.ts +1 -1
- package/dist/org/eu/fr/region/hdf/62/SaintPolSurTernoise/SaintPolSurTernoise.js +2 -2
- package/dist/org/eu/fr/region/hdf/80/bernaville/Bernaville.d.ts +1 -1
- package/dist/org/eu/fr/region/hdf/80/bernaville/Bernaville.js +2 -2
- package/dist/org/eu/fr/region/idf/60/NeuillyEnThelle/NeuillyEnThelle.d.ts +1 -1
- package/dist/org/eu/fr/region/idf/60/NeuillyEnThelle/NeuillyEnThelle.js +2 -2
- package/dist/org/eu/fr/region/idf/60/PontLEveque/PontLEveque.d.ts +1 -1
- package/dist/org/eu/fr/region/idf/60/PontLEveque/PontLEveque.js +2 -2
- package/dist/org/eu/fr/region/idf/60/PontSainteMaxence/PontSainteMaxence.d.ts +1 -1
- package/dist/org/eu/fr/region/idf/60/PontSainteMaxence/PontSainteMaxence.js +2 -2
- package/dist/org/eu/fr/region/idf/60/RibecourtDreslincourt/RibecourtDreslincourt.d.ts +1 -1
- package/dist/org/eu/fr/region/idf/60/RibecourtDreslincourt/RibecourtDreslincourt.js +2 -2
- package/dist/org/eu/fr/region/idf/60/compiegne/Compiegne.d.ts +1 -1
- package/dist/org/eu/fr/region/idf/60/compiegne/Compiegne.js +2 -2
- package/dist/org/eu/fr/region/idf/60/morlincourt/Morlincourt.d.ts +1 -1
- package/dist/org/eu/fr/region/idf/60/morlincourt/Morlincourt.js +2 -2
- package/dist/org/eu/fr/region/idf/77/SivryCourtry/SivryCourtry.d.ts +1 -1
- package/dist/org/eu/fr/region/idf/77/SivryCourtry/SivryCourtry.js +2 -2
- package/dist/org/eu/fr/region/idf/78/mesnilleroi/MesnilLeRoi.d.ts +1 -1
- package/dist/org/eu/fr/region/idf/78/mesnilleroi/MesnilLeRoi.js +2 -2
- package/dist/org/eu/fr/region/idf/78/neauphlelechateau/NeauphleLeChateau.d.ts +1 -1
- package/dist/org/eu/fr/region/idf/78/neauphlelechateau/NeauphleLeChateau.js +2 -2
- package/dist/org/eu/fr/region/idf/78/noisyleroi/NoisyLeRoi.d.ts +1 -1
- package/dist/org/eu/fr/region/idf/78/noisyleroi/NoisyLeRoi.js +2 -2
- package/dist/org/eu/fr/region/idf/91/wissous/Wissous.d.ts +1 -1
- package/dist/org/eu/fr/region/idf/91/wissous/Wissous.js +2 -2
- package/dist/org/eu/fr/region/idf/92/BoisColombes/BoisColombes.d.ts +1 -1
- package/dist/org/eu/fr/region/idf/92/BoisColombes/BoisColombes.js +2 -2
- package/dist/org/eu/fr/region/idf/92/Colombes/Colombes.d.ts +1 -1
- package/dist/org/eu/fr/region/idf/92/Colombes/Colombes.js +2 -2
- package/dist/org/eu/fr/region/idf/92/Nanterre/Nanterre.d.ts +1 -1
- package/dist/org/eu/fr/region/idf/92/Nanterre/Nanterre.js +2 -2
- package/dist/org/eu/fr/region/idf/95/taverny/Taverny.d.ts +1 -1
- package/dist/org/eu/fr/region/idf/95/taverny/Taverny.js +2 -2
- package/dist/org/eu/fr/region/naq/16/Angouleme/Angouleme.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/16/Angouleme/Angouleme.js +2 -2
- package/dist/org/eu/fr/region/naq/16/Montigne/Montigne.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/16/Montigne/Montigne.js +2 -2
- package/dist/org/eu/fr/region/naq/16/Rouillac/Rouillac.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/16/Rouillac/Rouillac.js +2 -2
- package/dist/org/eu/fr/region/naq/16/Villeboislavalette/VilleboisLavalette.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/16/Villeboislavalette/VilleboisLavalette.js +2 -2
- package/dist/org/eu/fr/region/naq/17/Matha/Matha.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/17/Matha/Matha.js +2 -2
- package/dist/org/eu/fr/region/naq/17/SaintJeanAngely/SaintJeanAngely.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/17/SaintJeanAngely/SaintJeanAngely.js +2 -2
- package/dist/org/eu/fr/region/naq/17/Saujon/Saujon.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/17/Saujon/Saujon.js +2 -2
- package/dist/org/eu/fr/region/naq/17/StMartinDeRe/StMartinDeRe.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/17/StMartinDeRe/StMartinDeRe.js +2 -2
- package/dist/org/eu/fr/region/naq/19/BriveLaGaillarde/BriveLaGaillarde.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/19/BriveLaGaillarde/BriveLaGaillarde.js +2 -2
- package/dist/org/eu/fr/region/naq/19/LarochePresFeyt/LarochePresFeyt.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/19/LarochePresFeyt/LarochePresFeyt.js +2 -2
- package/dist/org/eu/fr/region/naq/23/Chambon/Chambon.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/23/Chambon/Chambon.js +2 -2
- package/dist/org/eu/fr/region/naq/24/Eymet/Eymet.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/24/Eymet/Eymet.js +2 -2
- package/dist/org/eu/fr/region/naq/33/Cestas/Cestas.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/33/Cestas/Cestas.js +2 -2
- package/dist/org/eu/fr/region/naq/33/Etauliers/Etauliers.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/33/Etauliers/Etauliers.js +2 -2
- package/dist/org/eu/fr/region/naq/33/StAndreDeCubzac/StAndreDeCubzac.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/33/StAndreDeCubzac/StAndreDeCubzac.js +2 -2
- package/dist/org/eu/fr/region/naq/40/MontDeMarsan/MontDeMarsan.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/40/MontDeMarsan/MontDeMarsan.js +2 -2
- package/dist/org/eu/fr/region/naq/47/LaroqueTimbaut/LaroqueTimbaut.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/47/LaroqueTimbaut/LaroqueTimbaut.js +2 -2
- package/dist/org/eu/fr/region/naq/47/PontDuCasse/PontDuCasse.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/47/PontDuCasse/PontDuCasse.js +2 -2
- package/dist/org/eu/fr/region/naq/64/Nay/Nay.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/64/Nay/Nay.js +2 -2
- package/dist/org/eu/fr/region/naq/79/Magne/Magne.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/79/Magne/Magne.js +2 -2
- package/dist/org/eu/fr/region/naq/86/Lavoux/Lavoux.d.ts +1 -1
- package/dist/org/eu/fr/region/naq/86/Lavoux/Lavoux.js +2 -2
- package/dist/org/eu/fr/region/naq/NouvelleAquitaineMessages.js +1 -1
- package/dist/org/eu/fr/region/nor/14/PontLEveque/PontLEveque.d.ts +1 -1
- package/dist/org/eu/fr/region/nor/14/PontLEveque/PontLEveque.js +2 -2
- package/dist/org/eu/fr/region/nor/14/SaintAubinSurMer/SaintAubinSurMer.d.ts +1 -1
- package/dist/org/eu/fr/region/nor/14/SaintAubinSurMer/SaintAubinSurMer.js +2 -2
- package/dist/org/eu/fr/region/nor/76/CrielSurMer/CrielSurMer.d.ts +1 -1
- package/dist/org/eu/fr/region/nor/76/CrielSurMer/CrielSurMer.js +2 -2
- package/dist/org/eu/fr/region/nor/76/Dieppe/Dieppe.d.ts +1 -1
- package/dist/org/eu/fr/region/nor/76/Dieppe/Dieppe.js +2 -2
- package/dist/org/eu/fr/region/nor/76/Londe/Londe.d.ts +1 -1
- package/dist/org/eu/fr/region/nor/76/Londe/Londe.js +2 -2
- package/dist/org/eu/fr/region/nor/76/SaintAubinSurMer/SaintAubinSurMer.d.ts +1 -1
- package/dist/org/eu/fr/region/nor/76/SaintAubinSurMer/SaintAubinSurMer.js +2 -2
- package/dist/org/eu/fr/region/occ/09/cos/Cos.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/09/cos/Cos.js +2 -2
- package/dist/org/eu/fr/region/occ/11/cucugnan/Cucugnan.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/11/cucugnan/Cucugnan.js +2 -2
- package/dist/org/eu/fr/region/occ/12/Espalion/Espalion.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/12/Espalion/Espalion.js +2 -2
- package/dist/org/eu/fr/region/occ/30/SaintGilles/StGilles.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/30/SaintGilles/StGilles.js +2 -2
- package/dist/org/eu/fr/region/occ/30/ledignan/Ledignan.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/30/ledignan/Ledignan.js +2 -2
- package/dist/org/eu/fr/region/occ/31/loudet/Loudet.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/31/loudet/Loudet.js +2 -2
- package/dist/org/eu/fr/region/occ/31/stplancard/StPlancard.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/31/stplancard/StPlancard.js +2 -2
- package/dist/org/eu/fr/region/occ/31/toulouse/Toulouse.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/31/toulouse/Toulouse.js +2 -2
- package/dist/org/eu/fr/region/occ/32/Condom/Condom.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/32/Condom/Condom.js +2 -2
- package/dist/org/eu/fr/region/occ/32/Estang/Estang.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/32/Estang/Estang.js +2 -2
- package/dist/org/eu/fr/region/occ/32/MiramontDAstarac/MiramontDAstarac.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/32/MiramontDAstarac/MiramontDAstarac.js +2 -2
- package/dist/org/eu/fr/region/occ/34/Montpellier/Montpellier.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/34/Montpellier/Montpellier.js +2 -2
- package/dist/org/eu/fr/region/occ/34/SaintGeniesDesMourgues/SaintGeniesDesMourgues.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/34/SaintGeniesDesMourgues/SaintGeniesDesMourgues.js +2 -2
- package/dist/org/eu/fr/region/occ/65/Tarbes/Tarbes.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/65/Tarbes/Tarbes.js +2 -2
- package/dist/org/eu/fr/region/occ/66/Planes/Planes.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/66/Planes/Planes.js +2 -2
- package/dist/org/eu/fr/region/occ/66/PortePuymorens/PortePuymorens.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/66/PortePuymorens/PortePuymorens.js +2 -2
- package/dist/org/eu/fr/region/occ/66/Thuir/Thuir.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/66/Thuir/Thuir.js +2 -2
- package/dist/org/eu/fr/region/occ/81/Albi/Albi.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/81/Albi/Albi.js +2 -2
- package/dist/org/eu/fr/region/occ/81/CastelnauDeMontmiral/CastelnauDeMontmiral.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/81/CastelnauDeMontmiral/CastelnauDeMontmiral.js +2 -2
- package/dist/org/eu/fr/region/occ/82/touffailles/Touffailles.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/82/touffailles/Touffailles.js +2 -2
- package/dist/org/eu/fr/region/occ/87/jabreilles/Jabreilles.d.ts +1 -1
- package/dist/org/eu/fr/region/occ/87/jabreilles/Jabreilles.js +2 -2
- package/dist/org/eu/fr/region/pac/04/Barcelonnette/Barcelonnette.d.ts +1 -1
- package/dist/org/eu/fr/region/pac/04/Barcelonnette/Barcelonnette.js +2 -2
- package/dist/org/eu/fr/region/pac/04/Entrevaux/Entrevaux.d.ts +1 -1
- package/dist/org/eu/fr/region/pac/04/Entrevaux/Entrevaux.js +2 -2
- package/dist/org/eu/fr/region/pac/04/LauzetUbaye/LauzetUbaye.d.ts +1 -1
- package/dist/org/eu/fr/region/pac/04/LauzetUbaye/LauzetUbaye.js +2 -2
- package/dist/org/eu/fr/region/pac/05/briancon/Briancon.d.ts +1 -1
- package/dist/org/eu/fr/region/pac/05/briancon/Briancon.js +2 -2
- package/dist/org/eu/fr/region/pac/06/cagnessurmer/CagnesSurMer.d.ts +1 -1
- package/dist/org/eu/fr/region/pac/06/cagnessurmer/CagnesSurMer.js +2 -2
- package/dist/org/eu/fr/region/pac/06/cannes/Cannes.d.ts +1 -1
- package/dist/org/eu/fr/region/pac/06/cannes/Cannes.js +2 -2
- package/dist/org/eu/fr/region/pac/13/eyragues/Eyragues.d.ts +1 -1
- package/dist/org/eu/fr/region/pac/13/eyragues/Eyragues.js +2 -2
- package/dist/org/eu/fr/region/pac/83/Carces/Carces.d.ts +1 -1
- package/dist/org/eu/fr/region/pac/83/Carces/Carces.js +2 -2
- package/dist/org/eu/fr/region/pac/83/FoxAmphoux/FoxAmphoux.d.ts +1 -1
- package/dist/org/eu/fr/region/pac/83/FoxAmphoux/FoxAmphoux.js +2 -2
- package/dist/org/eu/fr/region/pac/83/Grimaud/Grimaud.d.ts +1 -1
- package/dist/org/eu/fr/region/pac/83/Grimaud/Grimaud.js +2 -2
- package/dist/org/eu/fr/region/pac/84/Bollene/Bollene.d.ts +1 -1
- package/dist/org/eu/fr/region/pac/84/Bollene/Bollene.js +2 -2
- package/dist/org/eu/fr/region/pac/85/Chantonnay/Chantonnay.d.ts +1 -1
- package/dist/org/eu/fr/region/pac/85/Chantonnay/Chantonnay.js +2 -2
- package/dist/org/eu/fr/region/pdl/44/LeCroisic/LeCroisic.d.ts +1 -1
- package/dist/org/eu/fr/region/pdl/44/LeCroisic/LeCroisic.js +2 -2
- package/dist/org/eu/fr/region/pdl/44/LorouxBottereau/LorouxBottereau.d.ts +1 -1
- package/dist/org/eu/fr/region/pdl/44/LorouxBottereau/LorouxBottereau.js +2 -2
- package/dist/org/eu/fr/region/pdl/44/Reze/Reze.d.ts +1 -1
- package/dist/org/eu/fr/region/pdl/44/Reze/Reze.js +2 -2
- package/dist/org/eu/fr/region/pdl/49/Angers/Angers.d.ts +1 -1
- package/dist/org/eu/fr/region/pdl/49/Angers/Angers.js +2 -2
- package/dist/org/eu/fr/region/pdl/49/Cholet/Cholet.d.ts +1 -1
- package/dist/org/eu/fr/region/pdl/49/Cholet/Cholet.js +2 -2
- package/dist/org/eu/fr/region/pdl/53/ChateauGontier/ChateauGontier.d.ts +1 -1
- package/dist/org/eu/fr/region/pdl/53/ChateauGontier/ChateauGontier.js +2 -2
- package/dist/org/eu/fr/region/pdl/72/LeMans/LeMans.d.ts +1 -1
- package/dist/org/eu/fr/region/pdl/72/LeMans/LeMans.js +2 -2
- package/dist/org/eu/fr/region/pdl/72/SougeLeGanelon/SougeLeGanelon.d.ts +1 -1
- package/dist/org/eu/fr/region/pdl/72/SougeLeGanelon/SougeLeGanelon.js +2 -2
- package/dist/org/eu/fr/region/pdl/72/SteCerotte/SteCerotte.d.ts +1 -1
- package/dist/org/eu/fr/region/pdl/72/SteCerotte/SteCerotte.js +2 -2
- package/dist/org/eu/fr/region/pdl/72/bazoge/Bazoge.d.ts +1 -1
- package/dist/org/eu/fr/region/pdl/72/bazoge/Bazoge.js +2 -2
- package/dist/org/eu/pl/Poland.d.ts +1 -1
- package/dist/org/eu/pl/Poland.js +1 -1
- package/dist/org/ge/Georgia.d.ts +1 -1
- package/dist/org/ge/Georgia.js +1 -1
- package/dist/org/il/Israel.d.ts +1 -1
- package/dist/org/il/Israel.js +1 -1
- package/dist/org/in/India.d.ts +1 -1
- package/dist/org/in/India.js +1 -1
- package/dist/org/jp/Japan.d.ts +1 -1
- package/dist/org/jp/Japan.js +1 -1
- package/dist/org/kr/SouthKorea.d.ts +2 -2
- package/dist/org/kr/SouthKorea.js +1 -1
- package/dist/org/mx/Mexico.d.ts +2 -2
- package/dist/org/mx/Mexico.js +1 -1
- package/dist/org/mz/Mozambique.d.ts +2 -2
- package/dist/org/mz/Mozambique.js +1 -1
- package/dist/org/nz/NewZealand.d.ts +2 -2
- package/dist/org/nz/NewZealand.js +1 -1
- package/dist/org/pa/Panama.d.ts +1 -1
- package/dist/org/pa/Panama.js +1 -1
- package/dist/org/pe/Peru.d.ts +1 -1
- package/dist/org/pe/Peru.js +1 -1
- package/dist/org/ph/Philippines.d.ts +1 -1
- package/dist/org/ph/Philippines.js +1 -1
- package/dist/org/ru/Russia.d.ts +2 -2
- package/dist/org/ru/Russia.js +1 -1
- package/dist/org/sc/Seychelles.d.ts +2 -2
- package/dist/org/sc/Seychelles.js +1 -1
- package/dist/org/tn/Tunisia.d.ts +2 -2
- package/dist/org/tn/Tunisia.js +1 -1
- package/dist/org/tw/Taiwan.d.ts +2 -2
- package/dist/org/tw/Taiwan.js +1 -1
- package/dist/org/uk/Uk.d.ts +2 -2
- package/dist/org/uk/Uk.js +1 -1
- package/dist/org/us/Usa.d.ts +1 -1
- package/dist/org/us/Usa.js +1 -1
- package/dist/people/PeopleDirectoryStep.d.ts +1 -1
- package/dist/people/PeopleDirectoryStep.js +2 -1
- package/dist/people/PeopleDirectoryStepFactory.d.ts +1 -1
- package/dist/people/PeopleReplacer.d.ts +1 -1
- package/dist/people/PeopleReplacer.test.js +3 -3
- package/dist/people/PeopleReplacerFactory.d.ts +1 -1
- package/dist/people/author/AuthorReplaceCommand.d.ts +1 -1
- package/dist/place/OrganizationPlace.d.ts +1 -1
- package/dist/place/OrganizationPlace.test.js +4 -4
- package/dist/place/PlaceRenderer.d.ts +1 -1
- package/dist/place/PlaceRenderer.js +1 -1
- package/dist/science/crypto/index.d.ts +1 -1
- package/dist/science/crypto/index.js +1 -1
- package/dist/science/crypto/ufo/enquete/dossier/CaseDirectoryStep.js +2 -1
- package/dist/science/crypto/ufo/enquete/dossier/CaseDirectoryStep.test.js +2 -2
- package/dist/science/crypto/ufo/enquete/dossier/RR0CaseJson.d.ts +3 -3
- package/dist/science/crypto/ufo/enquete/index.d.ts +1 -1
- package/dist/science/crypto/ufo/enquete/index.js +1 -1
- package/dist/science/crypto/ufo/index.d.ts +1 -1
- package/dist/science/crypto/ufo/index.js +1 -1
- package/dist/science/index.d.ts +1 -1
- package/dist/science/index.js +1 -1
- package/dist/search/SearchVisitor.js +1 -2
- package/dist/source/PersistentSourceRegistry.d.ts +4 -5
- package/dist/source/SourceFactory.d.ts +6 -7
- package/dist/source/SourceRegistry.d.ts +4 -5
- package/dist/source/SourceRenderer.d.ts +3 -3
- package/dist/source/SourceSiteCounter.d.ts +1 -1
- package/dist/tech/info/soft/APIFactory.d.ts +1 -1
- package/dist/tech/info/soft/APIJson.d.ts +1 -1
- package/dist/test/RR0TestUtil.d.ts +4 -5
- package/dist/test/RR0TestUtil.js +6 -7
- package/dist/time/EventRenderer.d.ts +4 -5
- package/dist/time/EventRenderer.js +1 -1
- package/dist/time/SsiTitleReplaceCommand.d.ts +4 -0
- package/dist/time/SsiTitleReplaceCommand.js +16 -11
- package/dist/time/TimeDirectoryStep.d.ts +46 -0
- package/dist/time/TimeDirectoryStep.js +89 -0
- package/dist/time/TimeDirectoryStep.test.js +36 -0
- package/dist/time/TimeEventRenderer.test.js +3 -3
- package/dist/time/TimeLinkDefaultHandler.d.ts +2 -2
- package/dist/time/TimeService.d.ts +3 -5
- package/dist/time/TimeService.js +6 -13
- package/dist/time/TimeTagReplaceCommand.test.js +2 -1
- package/dist/time/TimeTestUtil.d.ts +3 -3
- package/dist/time/TimeTestUtil.js +4 -1
- package/dist/time/TimeUrlBuilder.d.ts +1 -1
- package/dist/time/TitleReplaceCommand.test.js +1 -5
- package/dist/time/datasource/AbstractDatasource.d.ts +1 -1
- package/dist/time/datasource/ChronologyReplacer.test.js +1 -1
- package/dist/time/datasource/ChronologyReplacerFactory.d.ts +1 -1
- package/dist/time/datasource/CsvFileSource.d.ts +1 -1
- package/dist/time/datasource/CsvMapper.d.ts +5 -3
- package/dist/time/datasource/CsvMapper.js +17 -12
- package/dist/time/datasource/CsvMapper.test.js +29 -0
- package/dist/time/datasource/DatasourceTestCase.d.ts +3 -3
- package/dist/time/datasource/DatasourceTestCase.js +2 -2
- package/dist/time/datasource/FileSource.d.ts +1 -1
- package/dist/time/datasource/FileSource.js +1 -0
- package/dist/time/datasource/JsonMapper.test.js +1 -1
- package/dist/time/datasource/TimeContextFilter.test.js +2 -2
- package/dist/time/datasource/baseovnifrance/BaseOvniFranceCaseSummaryRR0Mapper.js +1 -1
- package/dist/time/datasource/baseovnifrance/BaseOvniFranceCaseSummaryRR0Mapper.test.js +1 -1
- package/dist/time/datasource/baseovnifrance/BaseOvniFranceRR0Mapping.d.ts +2 -2
- package/dist/time/datasource/fufora/FuforaCaseSummaryRR0Mapper.js +1 -1
- package/dist/time/datasource/fufora/FuforaDatasource.test.js +1 -1
- package/dist/time/datasource/fufora/FuforaRR0Mapping.d.ts +3 -3
- package/dist/time/datasource/index.d.ts +9 -9
- package/dist/time/datasource/index.js +9 -9
- package/dist/time/datasource/nuforc/NuforcDatasource.test.js +1 -1
- package/dist/time/datasource/nuforc/NuforcRR0Mapper.d.ts +1 -1
- package/dist/time/datasource/nuforc/NuforcRR0Mapper.js +1 -1
- package/dist/time/datasource/nuforc/NuforcRR0Mapper.test.js +2 -2
- package/dist/time/datasource/nuforc/NuforcRR0Mapping.d.ts +5 -5
- package/dist/time/datasource/rr0/RR0CaseMapping.d.ts +2 -2
- package/dist/time/datasource/rr0/RR0Datasource.d.ts +0 -3
- package/dist/time/datasource/rr0/RR0Datasource.js +3 -6
- package/dist/time/datasource/rr0/RR0Datasource.test.d.ts +4 -4
- package/dist/time/datasource/rr0/RR0Datasource.test.js +6 -4
- package/dist/time/datasource/rr0/RR0FileDatasource.d.ts +1 -1
- package/dist/time/datasource/rr0/RR0FileDatasource.test.d.ts +1 -0
- package/dist/time/datasource/rr0/RR0FileDatasource.test.js +14 -0
- package/dist/time/datasource/rr0/RR0HttpDatasource.d.ts +2 -2
- package/dist/time/datasource/rr0/RR0HttpDatasource.js +1 -1
- package/dist/time/datasource/rr0/RR0Mapping.d.ts +3 -3
- package/dist/time/datasource/rr0/RR0TestCases.js +2 -2
- package/dist/time/datasource/sceau/SceauCaseSummaryRR0Mapper.js +1 -1
- package/dist/time/datasource/sceau/SceauDatasource.test.d.ts +4 -4
- package/dist/time/datasource/sceau/SceauDatasource.test.js +1 -1
- package/dist/time/datasource/sceau/SceauRR0Mapping.d.ts +2 -2
- package/dist/time/datasource/ufo-search/UfoSearchCaseRR0Mapper.d.ts +1 -1
- package/dist/time/datasource/ufo-search/UfoSearchCaseRR0Mapper.js +1 -1
- package/dist/time/datasource/ufo-search/UfoSearchDatasource.test.js +1 -1
- package/dist/time/datasource/ufo-search/UfoSearchFileDatasource.d.ts +1 -1
- package/dist/time/datasource/ufo-search/UfoSearchMapping.d.ts +4 -4
- package/dist/time/datasource/urecat/UrecatDatasource.test.js +1 -1
- package/dist/time/datasource/urecat/UrecatRR0Mapper.d.ts +1 -1
- package/dist/time/datasource/urecat/UrecatRR0Mapper.js +1 -1
- package/dist/time/datasource/urecat/UrecatRR0Mapping.d.ts +4 -4
- package/dist/time/datasource/urecat/index.d.ts +1 -1
- package/dist/time/datasource/urecat/index.js +1 -1
- package/dist/time/html/TimeRenderer.d.ts +1 -1
- package/dist/time/html/TimeRenderer.js +3 -2
- package/dist/time/html/TimeReplacer.test.js +4 -4
- package/dist/time/html/TimeReplacerFactory.d.ts +1 -1
- package/dist/time/html/TimeReplacerFactory.js +3 -1
- package/dist/time/text/RelativeTimeTextBuilder.test.js +1 -1
- package/dist/time/text/TimeTextBuilder.test.js +1 -1
- package/package.json +14 -14
- package/dist/BuildContext.d.ts +0 -7
- /package/dist/{BuildContext.js → CMSContext.js} +0 -0
- /package/dist/{RR0Build.test.d.ts → time/TimeDirectoryStep.test.d.ts} +0 -0
|
@@ -4,6 +4,9 @@ import { SsiEchoVarReplaceCommand } from "ssg-api";
|
|
|
4
4
|
* with a link if there's a <meta name="url"> content.
|
|
5
5
|
*/
|
|
6
6
|
export class SsiTitleReplaceCommand extends SsiEchoVarReplaceCommand {
|
|
7
|
+
/**
|
|
8
|
+
* @param defaultHandlers Will generate a title for a given context/file, if no title is found.
|
|
9
|
+
*/
|
|
7
10
|
constructor(defaultHandlers = []) {
|
|
8
11
|
super("title");
|
|
9
12
|
this.defaultHandlers = defaultHandlers;
|
|
@@ -11,18 +14,20 @@ export class SsiTitleReplaceCommand extends SsiEchoVarReplaceCommand {
|
|
|
11
14
|
async createReplacer(context) {
|
|
12
15
|
return {
|
|
13
16
|
replace: (_match, ..._args) => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
this.defaultHandlers.some(handle => !title && (title = handle(context)));
|
|
18
|
-
}
|
|
19
|
-
if (!title) {
|
|
20
|
-
title = inputFile.name;
|
|
21
|
-
}
|
|
22
|
-
inputFile.title = title;
|
|
23
|
-
const titleUrl = inputFile.meta.url;
|
|
24
|
-
return titleUrl ? `<a href="${titleUrl}" target="_blank">${title}</a>` : title;
|
|
17
|
+
context.file.title = this.getTitle(context);
|
|
18
|
+
const titleUrl = context.file.meta.url;
|
|
19
|
+
return titleUrl ? `<a href="${titleUrl}" target="_blank">${(this.getTitle(context))}</a>` : this.getTitle(context);
|
|
25
20
|
}
|
|
26
21
|
};
|
|
27
22
|
}
|
|
23
|
+
getTitle(context) {
|
|
24
|
+
let title = context.file.title;
|
|
25
|
+
if (!title) {
|
|
26
|
+
this.defaultHandlers.some(handle => !title && (title = handle(context)));
|
|
27
|
+
}
|
|
28
|
+
if (!title) {
|
|
29
|
+
title = context.file.name;
|
|
30
|
+
}
|
|
31
|
+
return title;
|
|
32
|
+
}
|
|
28
33
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { DirectoryStep, FileWriteConfig, OutputFunc } from "ssg-api";
|
|
2
|
+
import { TimeService } from "./TimeService.js";
|
|
3
|
+
import { HtmlRR0Context, RR0Context } from "../RR0Context.js";
|
|
4
|
+
import { RR0Event } from "@rr0/data";
|
|
5
|
+
import { TimeElementFactory } from "./html/index.js";
|
|
6
|
+
/**
|
|
7
|
+
* Builds a directory page for UFO times.
|
|
8
|
+
*/
|
|
9
|
+
export declare class TimeDirectoryStep extends DirectoryStep {
|
|
10
|
+
protected service: TimeService;
|
|
11
|
+
protected elementFactory: TimeElementFactory;
|
|
12
|
+
protected outputFunc: OutputFunc;
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* @param service
|
|
16
|
+
* @param elementFactory
|
|
17
|
+
* @param rootDirs The directories where UFO times info can be found.
|
|
18
|
+
* @param excludedDirs The directories to exclude from the UFO time directory search.
|
|
19
|
+
* @param templateFileName The template of the directory page to build.
|
|
20
|
+
* @param outputFunc
|
|
21
|
+
* @param config
|
|
22
|
+
*/
|
|
23
|
+
constructor(service: TimeService, elementFactory: TimeElementFactory, rootDirs: string[], excludedDirs: string[], templateFileName: string, outputFunc: OutputFunc, config: FileWriteConfig);
|
|
24
|
+
/**
|
|
25
|
+
* Convert an array of Time[] to an <ul> HTML unordered list.
|
|
26
|
+
*
|
|
27
|
+
* @param context
|
|
28
|
+
* @param events
|
|
29
|
+
*/
|
|
30
|
+
protected toList(context: HtmlRR0Context, events: RR0Event[]): HTMLUListElement;
|
|
31
|
+
/**
|
|
32
|
+
* Convert a Time object to an HTML list item.
|
|
33
|
+
*
|
|
34
|
+
* @param context
|
|
35
|
+
* @param event
|
|
36
|
+
*/
|
|
37
|
+
protected toListItem(context: HtmlRR0Context, event: RR0Event): HTMLLIElement;
|
|
38
|
+
protected processDirs(context: HtmlRR0Context, dirNames: string[]): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Read time JSON files contents and instantiate them as Time objects.
|
|
41
|
+
*
|
|
42
|
+
* @param context
|
|
43
|
+
* @param dirNames The directories to look for time.json files.
|
|
44
|
+
*/
|
|
45
|
+
protected scan(context: RR0Context, dirNames: string[]): Promise<RR0Event[]>;
|
|
46
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { DirectoryStep } from "ssg-api";
|
|
2
|
+
import { StringUtil } from "../util/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Builds a directory page for UFO times.
|
|
5
|
+
*/
|
|
6
|
+
export class TimeDirectoryStep extends DirectoryStep {
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @param service
|
|
10
|
+
* @param elementFactory
|
|
11
|
+
* @param rootDirs The directories where UFO times info can be found.
|
|
12
|
+
* @param excludedDirs The directories to exclude from the UFO time directory search.
|
|
13
|
+
* @param templateFileName The template of the directory page to build.
|
|
14
|
+
* @param outputFunc
|
|
15
|
+
* @param config
|
|
16
|
+
*/
|
|
17
|
+
constructor(service, elementFactory, rootDirs, excludedDirs, templateFileName, outputFunc, config) {
|
|
18
|
+
super({ rootDirs, excludedDirs, templateFileName, getOutputPath: config.getOutputPath }, "time directory");
|
|
19
|
+
this.service = service;
|
|
20
|
+
this.elementFactory = elementFactory;
|
|
21
|
+
this.outputFunc = outputFunc;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Convert an array of Time[] to an <ul> HTML unordered list.
|
|
25
|
+
*
|
|
26
|
+
* @param context
|
|
27
|
+
* @param events
|
|
28
|
+
*/
|
|
29
|
+
toList(context, events) {
|
|
30
|
+
const listItems = events.map(event => {
|
|
31
|
+
if (!event.title) {
|
|
32
|
+
const lastSlash = event.dirName.lastIndexOf("/");
|
|
33
|
+
const lastDir = event.dirName.substring(lastSlash + 1);
|
|
34
|
+
event.title = StringUtil.camelToText(lastDir);
|
|
35
|
+
}
|
|
36
|
+
return this.toListItem(context, event);
|
|
37
|
+
});
|
|
38
|
+
const ul = context.file.document.createElement("ul");
|
|
39
|
+
ul.append(...listItems);
|
|
40
|
+
ul.className = "links";
|
|
41
|
+
return ul;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Convert a Time object to an HTML list item.
|
|
45
|
+
*
|
|
46
|
+
* @param context
|
|
47
|
+
* @param event
|
|
48
|
+
*/
|
|
49
|
+
toListItem(context, event) {
|
|
50
|
+
const item = context.file.document.createElement("li");
|
|
51
|
+
const eventContext = context.clone();
|
|
52
|
+
this.service.setContextFromFile(eventContext, event.dirName);
|
|
53
|
+
if (event.time) {
|
|
54
|
+
eventContext.time.date = event.time;
|
|
55
|
+
}
|
|
56
|
+
const ref = this.elementFactory.create(eventContext, context, { url: true, contentOnly: true });
|
|
57
|
+
item.appendChild(ref);
|
|
58
|
+
return item;
|
|
59
|
+
}
|
|
60
|
+
async processDirs(context, dirNames) {
|
|
61
|
+
const events = await this.scan(context, dirNames);
|
|
62
|
+
const ul = this.toList(context, events);
|
|
63
|
+
const config = this.config;
|
|
64
|
+
const outputPath = config.getOutputPath(context);
|
|
65
|
+
const output = context.newOutput(outputPath);
|
|
66
|
+
output.contents = context.file.contents.replace(`<!--#echo var="directories" -->`, ul.outerHTML);
|
|
67
|
+
await this.outputFunc(context, output);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Read time JSON files contents and instantiate them as Time objects.
|
|
71
|
+
*
|
|
72
|
+
* @param context
|
|
73
|
+
* @param dirNames The directories to look for time.json files.
|
|
74
|
+
*/
|
|
75
|
+
async scan(context, dirNames) {
|
|
76
|
+
const events = [];
|
|
77
|
+
for (const dirName of dirNames) {
|
|
78
|
+
try {
|
|
79
|
+
const dirEvents = await this.service.get(dirName);
|
|
80
|
+
events.push(...dirEvents);
|
|
81
|
+
}
|
|
82
|
+
catch (e) {
|
|
83
|
+
context.warn(`${dirName} has no event.json description`);
|
|
84
|
+
// No json, just guess title.
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return events;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { describe, expect, test } from "@javarome/testscript";
|
|
2
|
+
import { TimeDirectoryStep } from "./TimeDirectoryStep.js";
|
|
3
|
+
import { rr0TestUtil } from "../test/index.js";
|
|
4
|
+
import { getTimeFiles } from "../CMSGenerator.test.js";
|
|
5
|
+
import path from "path";
|
|
6
|
+
import { TimeService } from "./TimeService.js";
|
|
7
|
+
import { AllDataService, RR0EventFactory } from "@rr0/data";
|
|
8
|
+
import { TimeElementFactory } from "./html/index.js";
|
|
9
|
+
describe("TimeDirectoryStep", () => {
|
|
10
|
+
async function outputFunc(context, info, outDir = rr0TestUtil.outDir + "/") {
|
|
11
|
+
info.name = `${outDir}${info.name}`;
|
|
12
|
+
}
|
|
13
|
+
test("directory", async () => {
|
|
14
|
+
const template = `
|
|
15
|
+
<!--#include virtual="/header-start.html" -->
|
|
16
|
+
<title>16ème siècle</title>
|
|
17
|
+
<!--#include virtual="/header-end.html" -->
|
|
18
|
+
<p>Before</p>
|
|
19
|
+
<!--#echo var="directories" -->
|
|
20
|
+
<p>Le XVIIIᵉ siècle est celui des "Lumières".</p>
|
|
21
|
+
<!--#include virtual="/footer.html" -->
|
|
22
|
+
`;
|
|
23
|
+
const timeRoot = rr0TestUtil.time.timeOptions.rootDir;
|
|
24
|
+
const timeOptions = { rootDir: timeRoot, files: await getTimeFiles() };
|
|
25
|
+
const dataService = new AllDataService([new RR0EventFactory()]);
|
|
26
|
+
const timeService = new TimeService(dataService, timeOptions);
|
|
27
|
+
const timesDirectoryPath = rr0TestUtil.filePath("time/0/0/6/5/index.html");
|
|
28
|
+
const context = rr0TestUtil.newContext(timesDirectoryPath, template);
|
|
29
|
+
const ufoTimesExclusions = [];
|
|
30
|
+
const timeDirs = timeService.files.map(timePath => path.dirname(timePath));
|
|
31
|
+
const timeElementFactory = new TimeElementFactory(rr0TestUtil.time.timeRenderer);
|
|
32
|
+
const step = new TimeDirectoryStep(timeService, timeElementFactory, timeDirs, ufoTimesExclusions, timesDirectoryPath, outputFunc, rr0TestUtil.config);
|
|
33
|
+
const stepResult = await step.execute(context);
|
|
34
|
+
expect(stepResult.directoryCount).toBe(22);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
@@ -8,9 +8,9 @@ import { NoteFileCounter, NoteRenderer } from "../note/index.js";
|
|
|
8
8
|
import { HautsDeSeineCityCode } from "../org/eu/fr/region/idf/92/HautsDeSeineCityCode.js";
|
|
9
9
|
import { AllDataService } from "@rr0/data";
|
|
10
10
|
import { Place } from "@rr0/place";
|
|
11
|
-
import { OrganizationPlace } from "../place/OrganizationPlace";
|
|
12
|
-
import { hautsDeSeine } from "../org/eu/fr/region/idf/92/HautsDeSeine";
|
|
13
|
-
import { City } from "../org";
|
|
11
|
+
import { OrganizationPlace } from "../place/OrganizationPlace.js";
|
|
12
|
+
import { hautsDeSeine } from "../org/eu/fr/region/idf/92/HautsDeSeine.js";
|
|
13
|
+
import { City } from "../org/country/region/department/city/City.js";
|
|
14
14
|
describe("TimeEventRenderer", () => {
|
|
15
15
|
const dataService = new AllDataService([]);
|
|
16
16
|
const baseUrl = "https://rr0.org";
|
|
@@ -2,8 +2,8 @@ import { LinkHandler } from "../MetaLinkReplaceCommand.js";
|
|
|
2
2
|
import { HtmlRR0Context } from "../RR0Context.js";
|
|
3
3
|
import { Link } from "ssg-api";
|
|
4
4
|
import { TimeTextBuilder } from "./text/TimeTextBuilder.js";
|
|
5
|
-
import { TimeService } from "./TimeService";
|
|
6
|
-
import { TimeUrlBuilder } from "./TimeUrlBuilder";
|
|
5
|
+
import { TimeService } from "./TimeService.js";
|
|
6
|
+
import { TimeUrlBuilder } from "./TimeUrlBuilder.js";
|
|
7
7
|
export declare class TimeLinkDefaultHandler implements LinkHandler<HtmlRR0Context> {
|
|
8
8
|
protected service: TimeService;
|
|
9
9
|
protected urlBuilder: TimeUrlBuilder;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { TimeTextBuilder } from "./text/TimeTextBuilder.js";
|
|
2
2
|
import { AbstractDataService, AllDataService, RR0Event, RR0EventJson } from "@rr0/data";
|
|
3
|
-
import { HtmlRR0Context } from "../RR0Context";
|
|
3
|
+
import { HtmlRR0Context } from "../RR0Context.js";
|
|
4
4
|
import { TimeContext } from "@rr0/time";
|
|
5
|
-
import { TimeOptions } from "./TimeOptions";
|
|
5
|
+
import { TimeOptions } from "./TimeOptions.js";
|
|
6
6
|
export declare class TimeService extends AbstractDataService<RR0Event, RR0EventJson> {
|
|
7
7
|
protected options: TimeOptions;
|
|
8
8
|
readonly timePathRegex: RegExp;
|
|
@@ -11,7 +11,5 @@ export declare class TimeService extends AbstractDataService<RR0Event, RR0EventJ
|
|
|
11
11
|
parseFileName(fileName: string): RegExpExecArray | null;
|
|
12
12
|
titleFromFile(context: HtmlRR0Context, fileName: string, timeTextBuilder: TimeTextBuilder): string | undefined;
|
|
13
13
|
contextFromFileName(context: HtmlRR0Context, fileName?: string): TimeContext | undefined;
|
|
14
|
-
|
|
15
|
-
setContextFromFile(context: HtmlRR0Context, filePath: string): void;
|
|
16
|
-
protected setTimeFromPath(context: HtmlRR0Context, filePath: string): void;
|
|
14
|
+
setContextFromFile(context: HtmlRR0Context, filePath: string): TimeContext | undefined;
|
|
17
15
|
}
|
package/dist/time/TimeService.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { AbstractDataService } from "@rr0/data";
|
|
2
|
-
import { RR0ContextImpl } from "../RR0Context";
|
|
3
|
-
import { StringUtil } from "../util";
|
|
1
|
+
import { AbstractDataService, EventDataFactory, RR0EventFactory } from "@rr0/data";
|
|
2
|
+
import { RR0ContextImpl } from "../RR0Context.js";
|
|
3
|
+
import { StringUtil } from "../util/index.js";
|
|
4
4
|
export class TimeService extends AbstractDataService {
|
|
5
5
|
constructor(dataService, options, timePathRegex = TimeService.defaultRegex) {
|
|
6
|
-
super(dataService,
|
|
6
|
+
super(dataService, new EventDataFactory(new RR0EventFactory(), ["birth", "death", "image", "book", "article", "sighting", "nationality", "move", "occupation"], options.files), options.files);
|
|
7
7
|
this.options = options;
|
|
8
8
|
this.timePathRegex = timePathRegex;
|
|
9
9
|
}
|
|
@@ -14,7 +14,7 @@ export class TimeService extends AbstractDataService {
|
|
|
14
14
|
let title;
|
|
15
15
|
const timeContext = this.contextFromFileName(context, fileName);
|
|
16
16
|
if (timeContext) {
|
|
17
|
-
const pageContext = new RR0ContextImpl(context.locale, timeContext, context.config, context.people, context.file);
|
|
17
|
+
const pageContext = new RR0ContextImpl(context.locale, timeContext, context.config, context.people, context.file, context.messages, context.cms);
|
|
18
18
|
title = timeTextBuilder.build(pageContext);
|
|
19
19
|
title = StringUtil.capitalizeFirstLetter(title);
|
|
20
20
|
}
|
|
@@ -47,7 +47,7 @@ export class TimeService extends AbstractDataService {
|
|
|
47
47
|
}
|
|
48
48
|
return timeContext;
|
|
49
49
|
}
|
|
50
|
-
|
|
50
|
+
setContextFromFile(context, filePath) {
|
|
51
51
|
const time = context.time;
|
|
52
52
|
time.reset();
|
|
53
53
|
const newTimeContext = this.contextFromFileName(context, filePath);
|
|
@@ -59,12 +59,5 @@ export class TimeService extends AbstractDataService {
|
|
|
59
59
|
}
|
|
60
60
|
return newTimeContext;
|
|
61
61
|
}
|
|
62
|
-
setContextFromFile(context, filePath) {
|
|
63
|
-
this.setTimeFromPath(context, filePath);
|
|
64
|
-
}
|
|
65
|
-
setTimeFromPath(context, filePath) {
|
|
66
|
-
context.time.reset(); // Don't use time context from previous page.
|
|
67
|
-
this.gSetTimeFromPath(context, filePath);
|
|
68
|
-
}
|
|
69
62
|
}
|
|
70
63
|
TimeService.defaultRegex = /time\/(-)?(\d)\/(\d)\/(\d)\/(\d)\/?(\d{2})?\/?(\d{2})?\/?(index(_[a-z]{2})?.html)?/;
|
|
@@ -6,7 +6,8 @@ import { TimeReplacer } from "./html/TimeReplacer.js";
|
|
|
6
6
|
import path from "path";
|
|
7
7
|
describe("HtmlTagReplaceCommand", async () => {
|
|
8
8
|
const timeRoot = rr0TestUtil.time.timeOptions.rootDir;
|
|
9
|
-
const
|
|
9
|
+
const timeOptions = { rootDir: timeRoot, files: [rr0TestUtil.time.filePath("2/0/0/4/index.html")] };
|
|
10
|
+
const timeService = await rr0TestUtil.time.getService(timeOptions);
|
|
10
11
|
test("replace time tag", async () => {
|
|
11
12
|
const replacer = new TimeReplacer(rr0TestUtil.time.timeElementFactory);
|
|
12
13
|
const command = new DomReplaceCommand("time", new TimeReplacerFactory(replacer, rr0TestUtil.time.urlBuilder));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TimeElementFactory, TimeRenderer, TimeService, TimeTextBuilder, TimeUrlBuilder } from "../time/index.js";
|
|
2
|
-
import { RR0TestUtil } from "../test";
|
|
3
|
-
import { HtmlRR0Context } from "../RR0Context";
|
|
4
|
-
import { TimeOptions } from "./TimeOptions";
|
|
2
|
+
import { RR0TestUtil } from "../test/index.js";
|
|
3
|
+
import { HtmlRR0Context } from "../RR0Context.js";
|
|
4
|
+
import { TimeOptions } from "./TimeOptions.js";
|
|
5
5
|
export declare class TimeTestUtil {
|
|
6
6
|
readonly timeTextBuilder: TimeTextBuilder;
|
|
7
7
|
timeElementFactory: TimeElementFactory;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import path from "path";
|
|
2
2
|
import { TimeElementFactory, TimeRenderer, TimeService, TimeTextBuilder, TimeUrlBuilder } from "../time/index.js";
|
|
3
|
-
import { rr0TestUtil } from "../test";
|
|
3
|
+
import { rr0TestUtil } from "../test/index.js";
|
|
4
4
|
export class TimeTestUtil {
|
|
5
5
|
constructor(rr0TestUtil) {
|
|
6
6
|
this.timeOptions = { rootDir: "time", files: [] };
|
|
7
7
|
this.urlBuilder = new TimeUrlBuilder(this.timeOptions);
|
|
8
|
+
Object.assign(this.urlBuilder, { ...this.urlBuilder.options, rootDir: rr0TestUtil.filePath(this.timeOptions.rootDir) });
|
|
9
|
+
console.log(this.urlBuilder.options);
|
|
8
10
|
this.timeTextBuilder = new TimeTextBuilder(rr0TestUtil.intlOptions);
|
|
9
11
|
this.fullRoot = path.join(rr0TestUtil.rootDir, this.timeOptions.rootDir);
|
|
10
12
|
this.timeRenderer = new TimeRenderer(this.urlBuilder, this.timeTextBuilder);
|
|
@@ -23,6 +25,7 @@ export class TimeTestUtil {
|
|
|
23
25
|
|| this.timeOptions.rootDir !== options.rootDir
|
|
24
26
|
|| JSON.stringify(this.timeService.files) !== JSON.stringify(options.files)) {
|
|
25
27
|
this.timeOptions = options;
|
|
28
|
+
Object.assign(this.urlBuilder.options, options);
|
|
26
29
|
this.timeService = new TimeService(rr0TestUtil.dataService, options);
|
|
27
30
|
this.timeElementFactory = new TimeElementFactory(this.timeRenderer);
|
|
28
31
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Level2Date as EdtfDate, TimeContext } from "@rr0/time";
|
|
2
|
-
import { TimeOptions } from "./TimeOptions";
|
|
2
|
+
import { TimeOptions } from "./TimeOptions.js";
|
|
3
3
|
export type TimeUrlBuilderOptions = TimeOptions;
|
|
4
4
|
export declare class TimeUrlBuilder {
|
|
5
5
|
readonly options: TimeUrlBuilderOptions;
|
|
@@ -3,11 +3,7 @@ import { rr0TestUtil } from "../test/index.js";
|
|
|
3
3
|
import { describe, expect, test } from "@javarome/testscript";
|
|
4
4
|
describe("TitleReplaceCommand", () => {
|
|
5
5
|
let timeTextBuilder = rr0TestUtil.time.timeTextBuilder;
|
|
6
|
-
const timeDefaultHandler = (context) =>
|
|
7
|
-
let title;
|
|
8
|
-
title = rr0TestUtil.time.getService().titleFromFile(context, context.file.name, timeTextBuilder);
|
|
9
|
-
return title;
|
|
10
|
-
};
|
|
6
|
+
const timeDefaultHandler = (context) => rr0TestUtil.time.getService().titleFromFile(context, context.file.name, timeTextBuilder);
|
|
11
7
|
describe("Time page", () => {
|
|
12
8
|
const fileName = rr0TestUtil.time.filePath("1/9/5/4/index.html");
|
|
13
9
|
test("default title with no handler", async () => {
|
|
@@ -7,7 +7,7 @@ import { NoteFileCounter, NoteRenderer } from "../../note/index.js";
|
|
|
7
7
|
import { TimeTextBuilder } from "../text/TimeTextBuilder.js";
|
|
8
8
|
import { HttpSource } from "./HttpSource.js";
|
|
9
9
|
import { AllDataService } from "@rr0/data";
|
|
10
|
-
import { UrecatRR0Mapping } from "./urecat";
|
|
10
|
+
import { UrecatRR0Mapping } from "./urecat/UrecatRR0Mapping.js";
|
|
11
11
|
describe("ChronologyReplacer", () => {
|
|
12
12
|
let context;
|
|
13
13
|
let chronologyReplacer;
|
|
@@ -3,7 +3,7 @@ import { ChronologyReplacer } from "./ChronologyReplacer.js";
|
|
|
3
3
|
import { HtmlRR0Context } from "../../RR0Context.js";
|
|
4
4
|
import { CaseSummaryRenderer } from "../CaseSummaryRenderer.js";
|
|
5
5
|
import { RR0CaseMapping } from "./rr0/RR0CaseMapping.js";
|
|
6
|
-
import { TimeUrlBuilder } from "../TimeUrlBuilder";
|
|
6
|
+
import { TimeUrlBuilder } from "../TimeUrlBuilder.js";
|
|
7
7
|
export declare class ChronologyReplacerFactory implements ReplacerFactory<DomReplacer> {
|
|
8
8
|
protected timeUrlBuilder: TimeUrlBuilder;
|
|
9
9
|
protected readonly replacer: ChronologyReplacer;
|
|
@@ -15,5 +15,5 @@ export declare class CsvFileSource<S> extends FileSource {
|
|
|
15
15
|
* @protected
|
|
16
16
|
*/
|
|
17
17
|
fileName(context: HtmlSsgContext, datasource: Datasource<S>): string;
|
|
18
|
-
write(context: HtmlRR0Context, datasourceCases: S[], fetchTime: Date, datasource: Datasource<any>):
|
|
18
|
+
write(context: HtmlRR0Context, datasourceCases: S[], fetchTime: Date, datasource: Datasource<any>): string;
|
|
19
19
|
}
|
|
@@ -4,17 +4,19 @@ export declare class CsvMapper<S> implements CaseMapper<RR0Context, S, string> {
|
|
|
4
4
|
readonly sep: string;
|
|
5
5
|
readonly escapeStr: string;
|
|
6
6
|
readonly prefix: string;
|
|
7
|
+
protected maxLevel: number;
|
|
7
8
|
readonly fields: Set<string>;
|
|
8
|
-
constructor(sep?: string, escapeStr?: string, prefix?: string);
|
|
9
|
-
readonly fieldMapper: (context: RR0Context, key: string, value: any, sourceTime: Date) => string;
|
|
9
|
+
constructor(sep?: string, escapeStr?: string, prefix?: string, maxLevel?: number);
|
|
10
|
+
readonly fieldMapper: (context: RR0Context, key: string, value: any, sourceTime: Date, level?: number) => string;
|
|
10
11
|
/**
|
|
11
12
|
* Map a case to a CSV row.
|
|
12
13
|
*
|
|
13
14
|
* @param context
|
|
14
15
|
* @param sourceCase
|
|
15
16
|
* @param sourceTime
|
|
17
|
+
* @param level
|
|
16
18
|
*/
|
|
17
|
-
map(context: RR0Context, sourceCase: S, sourceTime: Date): string;
|
|
19
|
+
map(context: RR0Context, sourceCase: S, sourceTime: Date, level?: number): string;
|
|
18
20
|
/**
|
|
19
21
|
* Reduce a set of cases to a CSV string.
|
|
20
22
|
*
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Level2Date as EdtfDate } from "@rr0/time";
|
|
2
2
|
export class CsvMapper {
|
|
3
|
-
constructor(sep = ",", escapeStr = "\"", prefix = "") {
|
|
3
|
+
constructor(sep = ",", escapeStr = "\"", prefix = "", maxLevel = 1) {
|
|
4
4
|
this.sep = sep;
|
|
5
5
|
this.escapeStr = escapeStr;
|
|
6
6
|
this.prefix = prefix;
|
|
7
|
+
this.maxLevel = maxLevel;
|
|
7
8
|
this.fields = new Set();
|
|
8
|
-
this.fieldMapper = (context, key, value, sourceTime) => {
|
|
9
|
+
this.fieldMapper = (context, key, value, sourceTime, level = 0) => {
|
|
9
10
|
let addField = true;
|
|
10
11
|
let val;
|
|
11
12
|
if (value instanceof Date) {
|
|
@@ -18,17 +19,19 @@ export class CsvMapper {
|
|
|
18
19
|
val = value.toString();
|
|
19
20
|
}
|
|
20
21
|
else if (Array.isArray(value)) {
|
|
21
|
-
val = this.escape(value.map((item, i) => this.fieldMapper(context, String(i), item, sourceTime)).join(this.sep), true);
|
|
22
|
+
val = this.escape(value.map((item, i) => this.fieldMapper(context, String(i), item, sourceTime, level + 1)).join(this.sep), true);
|
|
22
23
|
}
|
|
23
24
|
else if (typeof value === "object") {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
if (level <= this.maxLevel) {
|
|
26
|
+
const subMapper = new CsvMapper(this.sep, this.escapeStr, this.prefix + key + ".", level);
|
|
27
|
+
const subValues = subMapper.map(context, value, sourceTime, level + 1);
|
|
28
|
+
let addSubFields = !isFinite(key);
|
|
29
|
+
if (addSubFields) {
|
|
30
|
+
subMapper.fields.forEach(subField => this.fields.add(subField));
|
|
31
|
+
}
|
|
32
|
+
val = subValues;
|
|
29
33
|
}
|
|
30
34
|
addField = false;
|
|
31
|
-
val = subValues;
|
|
32
35
|
}
|
|
33
36
|
else {
|
|
34
37
|
val = value;
|
|
@@ -45,10 +48,12 @@ export class CsvMapper {
|
|
|
45
48
|
* @param context
|
|
46
49
|
* @param sourceCase
|
|
47
50
|
* @param sourceTime
|
|
51
|
+
* @param level
|
|
48
52
|
*/
|
|
49
|
-
map(context, sourceCase, sourceTime) {
|
|
50
|
-
const
|
|
51
|
-
|
|
53
|
+
map(context, sourceCase, sourceTime, level = 0) {
|
|
54
|
+
const sourceCaseEntries = Object.entries(sourceCase);
|
|
55
|
+
const entries = Array.from(sourceCaseEntries).sort((entry1, entry2) => entry1[0].localeCompare(entry2[0]));
|
|
56
|
+
return entries.map(entry => this.fieldMapper(context, entry[0], entry[1], sourceTime, level)).join(this.sep);
|
|
52
57
|
}
|
|
53
58
|
/**
|
|
54
59
|
* Reduce a set of cases to a CSV string.
|
|
@@ -32,6 +32,35 @@ describe("CsvMapper", () => {
|
|
|
32
32
|
.join("\n");
|
|
33
33
|
expect(csvContents).toBe(expectedCsv);
|
|
34
34
|
});
|
|
35
|
+
describe("mapper", () => {
|
|
36
|
+
const date = new Date("2025-01-01");
|
|
37
|
+
const context = rr0TestUtil.newHtmlContext("time/1/9/7/0/03/index.html");
|
|
38
|
+
test("string", () => {
|
|
39
|
+
const mapper = new CsvMapper(";");
|
|
40
|
+
expect(mapper.fieldMapper(context, "key1", "val1", date)).toBe("val1");
|
|
41
|
+
expect(Array.from(mapper.fields)).toEqual(["key1"]);
|
|
42
|
+
});
|
|
43
|
+
describe("object", () => {
|
|
44
|
+
test("level 0", () => {
|
|
45
|
+
const mapper = new CsvMapper(";");
|
|
46
|
+
const csvLine = mapper.fieldMapper(context, "obj1", { prop1: "propVal1", prop2: 12 }, date);
|
|
47
|
+
expect(Array.from(mapper.fields)).toEqual(["obj1.prop1", "obj1.prop2"]);
|
|
48
|
+
expect(csvLine).toBe("propVal1;12");
|
|
49
|
+
});
|
|
50
|
+
test("level 1", () => {
|
|
51
|
+
const mapper = new CsvMapper(";");
|
|
52
|
+
const csvLine = mapper.fieldMapper(context, "obj1", { prop1: "propVal1", prop2: 12, prop3: { prop31: "prop31Val" } }, date);
|
|
53
|
+
expect(Array.from(mapper.fields)).toEqual(["obj1.prop1", "obj1.prop2", "obj1.prop3.prop31"]);
|
|
54
|
+
expect(csvLine).toBe("propVal1;12;prop31Val");
|
|
55
|
+
});
|
|
56
|
+
test("level 2", () => {
|
|
57
|
+
const mapper = new CsvMapper(";");
|
|
58
|
+
const csvLine = mapper.fieldMapper(context, "obj1", { prop1: "propVal1", prop2: 12, prop3: { prop31: "prop31Val", prop4: { key4: "value4" } } }, date);
|
|
59
|
+
expect(Array.from(mapper.fields)).toEqual(["obj1.prop1", "obj1.prop2", "obj1.prop3.prop31"]);
|
|
60
|
+
expect(csvLine).toBe("propVal1;12;prop31Val");
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
});
|
|
35
64
|
test("read", () => {
|
|
36
65
|
const fileMapper = new CsvMapper(";");
|
|
37
66
|
const fileName = path.join(process.cwd(), geipanFileDatasource.defaultFileName);
|
|
@@ -2,8 +2,8 @@ import { HtmlRR0Context } from "../../RR0Context.js";
|
|
|
2
2
|
import { Level2Date as EdtfDate } from "@rr0/time";
|
|
3
3
|
import { TimeTextBuilder } from "../text/TimeTextBuilder.js";
|
|
4
4
|
import { RR0CaseMapping } from "./rr0/index.js";
|
|
5
|
-
import { Source } from "@rr0/data
|
|
6
|
-
import { PlaceRenderer } from "../../place/PlaceRenderer";
|
|
5
|
+
import { RR0SourceType, Source } from "@rr0/data";
|
|
6
|
+
import { PlaceRenderer } from "../../place/PlaceRenderer.js";
|
|
7
7
|
export declare abstract class DatasourceTestCase<S> {
|
|
8
8
|
readonly mapping: RR0CaseMapping<S>;
|
|
9
9
|
readonly sourceCases: S[];
|
|
@@ -16,5 +16,5 @@ export declare abstract class DatasourceTestCase<S> {
|
|
|
16
16
|
testFetch(context: HtmlRR0Context): Promise<void>;
|
|
17
17
|
protected abstract sortComparator(c1: S, c2: S): number;
|
|
18
18
|
protected abstract getTime(c: S): EdtfDate;
|
|
19
|
-
protected expectedSourceStr(context: HtmlRR0Context, expectedSources: Source[], nativeCase: S): string;
|
|
19
|
+
protected expectedSourceStr(context: HtmlRR0Context, expectedSources: Source<RR0SourceType>[], nativeCase: S): string;
|
|
20
20
|
}
|
|
@@ -6,9 +6,9 @@ import { NoteFileCounter, NoteRenderer } from "../../note/index.js";
|
|
|
6
6
|
import { HttpSource } from "./HttpSource.js";
|
|
7
7
|
import { TimeElementFactory } from "../html/TimeElementFactory.js";
|
|
8
8
|
import { TimeRenderer } from "../html/TimeRenderer.js";
|
|
9
|
-
import { rr0TestUtil } from "../../test";
|
|
9
|
+
import { rr0TestUtil } from "../../test/index.js";
|
|
10
10
|
import { AllDataService } from "@rr0/data";
|
|
11
|
-
import { PlaceRenderer } from "../../place/PlaceRenderer";
|
|
11
|
+
import { PlaceRenderer } from "../../place/PlaceRenderer.js";
|
|
12
12
|
export class DatasourceTestCase {
|
|
13
13
|
constructor(mapping, sourceCases, intlOptions = {
|
|
14
14
|
year: "numeric",
|
|
@@ -14,5 +14,5 @@ export declare class FileSource {
|
|
|
14
14
|
*/
|
|
15
15
|
fileName(context: HtmlSsgContext, datasource: Datasource<any>): string;
|
|
16
16
|
read(context: HtmlSsgContext, datasource: Datasource<any>): Promise<FileContents>;
|
|
17
|
-
writeContents(context: HtmlSsgContext, contents: string | NodeJS.ArrayBufferView, datasource: Datasource<any>):
|
|
17
|
+
writeContents(context: HtmlSsgContext, contents: string | NodeJS.ArrayBufferView, datasource: Datasource<any>): string;
|
|
18
18
|
}
|
|
@@ -23,6 +23,7 @@ export class FileSource {
|
|
|
23
23
|
writeContents(context, contents, datasource) {
|
|
24
24
|
const fileName = this.fileName(context, datasource);
|
|
25
25
|
fs.writeFileSync(fileName, contents, { encoding: this.encoding });
|
|
26
|
+
return fileName;
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
29
|
FileSource.specialChars = /[ \-?!&*#().:\/\\;=°',]/g;
|
|
@@ -3,7 +3,7 @@ import fs from "fs";
|
|
|
3
3
|
import { rr0TestUtil } from "../../test/index.js";
|
|
4
4
|
import { ufoSearchTestCases } from "./ufo-search/UfoSearchTestCases.js";
|
|
5
5
|
import path from "path";
|
|
6
|
-
import { UfoSearchRR0Mapping } from "./ufo-search";
|
|
6
|
+
import { UfoSearchRR0Mapping } from "./ufo-search/index.js";
|
|
7
7
|
describe("JsonMapper", () => {
|
|
8
8
|
let context;
|
|
9
9
|
beforeEach(() => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { beforeEach, describe, expect, test } from "@javarome/testscript";
|
|
2
|
-
import { TimeContextFilter } from "./TimeContextFilter";
|
|
3
|
-
import { rr0TestUtil } from "../../test";
|
|
2
|
+
import { TimeContextFilter } from "./TimeContextFilter.js";
|
|
3
|
+
import { rr0TestUtil } from "../../test/index.js";
|
|
4
4
|
describe("TimeContextFilter", () => {
|
|
5
5
|
let context;
|
|
6
6
|
beforeEach(() => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import assert from "assert";
|
|
2
2
|
import { Level2Date as EdtfDate } from "@rr0/time";
|
|
3
|
-
import { OrganizationPlace } from "../../../place/OrganizationPlace";
|
|
3
|
+
import { OrganizationPlace } from "../../../place/OrganizationPlace.js";
|
|
4
4
|
/**
|
|
5
5
|
* Maps a Base OVNI France case to a RR0 case.
|
|
6
6
|
*/
|
|
@@ -7,7 +7,7 @@ import { leMans72 } from "../../../org/eu/fr/region/pdl/72/LeMans/LeMans.js";
|
|
|
7
7
|
import { lyon69 } from "../../../org/eu/fr/region/ara/69/Lyon/Lyon.js";
|
|
8
8
|
import { briancon05 } from "../../../org/eu/fr/region/pac/05/briancon/Briancon.js";
|
|
9
9
|
import { chambonSurVoueize23 } from "../../../org/eu/fr/region/naq/23/Chambon/Chambon.js";
|
|
10
|
-
import { BaseOvniFranceCaseSummaryRR0Mapper } from "./BaseOvniFranceCaseSummaryRR0Mapper";
|
|
10
|
+
import { BaseOvniFranceCaseSummaryRR0Mapper } from "./BaseOvniFranceCaseSummaryRR0Mapper.js";
|
|
11
11
|
function expectedSource(datasource, dataDate, caseNumber) {
|
|
12
12
|
const url = new URL(datasource.searchPath + "?typlist=20&page=0&numobs=" + caseNumber, datasource.baseUrl).href;
|
|
13
13
|
return {
|
|
@@ -3,13 +3,13 @@ import { BaseOvniFranceCaseSummary } from "./BaseOvniFranceCaseSummary.js";
|
|
|
3
3
|
import { BaseOvniFranceHttpDatasource } from "./BaseOvniFranceHttpDatasource.js";
|
|
4
4
|
import { RR0CaseMapping } from "../rr0/index.js";
|
|
5
5
|
import { ChronologyReplacerActions } from "../ChronologyReplacerActions.js";
|
|
6
|
-
import {
|
|
6
|
+
import { CMSContext } from "../../../CMSContext.js";
|
|
7
7
|
export declare const baseOvniFranceDatasource: BaseOvniFranceHttpDatasource;
|
|
8
8
|
export declare class BaseOvniFranceRR0Mapping implements RR0CaseMapping<BaseOvniFranceCaseSummary> {
|
|
9
9
|
readonly actions: ChronologyReplacerActions;
|
|
10
10
|
datasource: BaseOvniFranceHttpDatasource;
|
|
11
11
|
mapper: BaseOvniFranceCaseSummaryRR0Mapper;
|
|
12
12
|
constructor(actions: ChronologyReplacerActions);
|
|
13
|
-
init(build:
|
|
13
|
+
init(build: CMSContext): this;
|
|
14
14
|
}
|
|
15
15
|
export declare const baseOvniFranceSortComparator: (c1: BaseOvniFranceCaseSummary, c2: BaseOvniFranceCaseSummary) => 0 | 1 | -1;
|