@rr0/cms 0.1.16 → 0.1.17
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/README.md +20 -2
- package/dist/DefaultContentVisitor.d.ts +1 -3
- package/dist/OpenGraphCommand.js +1 -1
- package/dist/OpenGraphCommand.test.js +14 -0
- package/dist/RR0Build.d.ts +56 -0
- package/dist/RR0Build.js +254 -0
- package/dist/RR0Build.test.js +103 -0
- package/dist/RR0Context.d.ts +6 -4
- package/dist/RR0Context.js +4 -0
- package/dist/TableReplaceCommand.js +2 -1
- package/dist/anchor/AnchorReplaceCommandTest.js +23 -0
- package/dist/anchor/AnchorReplacerTest.js +60 -0
- package/dist/anchor/CaseAnchorHandler.js +1 -1
- package/dist/anchor/DataAnchorHandler.d.ts +1 -2
- package/dist/book/Book.d.ts +1 -1
- package/dist/book/BookDirectoryStep.d.ts +3 -3
- package/dist/book/BookDirectoryStep.js +2 -1
- package/dist/book/BookService.d.ts +3 -3
- package/dist/book/BookService.js +2 -2
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -2
- package/dist/lang/LanguageReplaceCommant.test.js +17 -0
- package/dist/lang/RR0Messages.d.ts +1 -0
- package/dist/lang/RR0Messages_en.d.ts +1 -0
- package/dist/lang/RR0Messages_en.js +2 -1
- package/dist/lang/RR0Messages_fr.d.ts +1 -0
- package/dist/lang/RR0Messages_fr.js +2 -1
- package/dist/org/Cities.js +12 -20
- package/dist/org/CountryMessageList_en.js +2 -1
- package/dist/org/CountryMessageList_fr.js +2 -1
- package/dist/org/Organization.d.ts +1 -2
- package/dist/org/OrganizationFactory.d.ts +1 -2
- package/dist/org/OrganizationFactory.js +1 -1
- package/dist/org/OrganizationService.d.ts +5 -1
- package/dist/org/OrganizationService.js +5 -1
- package/dist/org/au/Australia_en.d.ts +1 -1
- package/dist/org/au/Australia_fr.d.ts +1 -1
- package/dist/org/au/region/vic/Victoria.d.ts +1 -1
- package/dist/org/au/region/vic/Victoria.js +1 -1
- package/dist/org/au/region/vic/VictoriaMessages_en.d.ts +2 -2
- package/dist/org/au/region/vic/VictoriaMessages_en.js +2 -2
- package/dist/org/au/region/vic/VictoriaMessages_fr.d.ts +2 -2
- package/dist/org/au/region/vic/VictoriaMessages_fr.js +2 -2
- package/dist/org/cn/China.d.ts +6 -0
- package/dist/org/cn/China.js +6 -0
- package/dist/org/cn/ChinaMessages.d.ts +1 -0
- package/dist/org/cn/ChinaMessages_cn.d.ts +3 -0
- package/dist/org/cn/ChinaMessages_cn.js +5 -0
- package/dist/org/cn/ChinaMessages_en.d.ts +3 -0
- package/dist/org/cn/ChinaMessages_en.js +5 -0
- package/dist/org/cn/ChinaMessages_fr.d.ts +3 -0
- package/dist/org/cn/ChinaMessages_fr.js +5 -0
- package/dist/org/cn/region/ChinaCities.d.ts +2 -0
- package/dist/org/cn/region/ChinaCities.js +4 -0
- package/dist/org/cn/region/ChinaRegion.d.ts +4 -0
- package/dist/org/cn/region/ChinaRegion.js +5 -0
- package/dist/org/cn/region/ChinaRegionCode.d.ts +3 -0
- package/dist/org/cn/region/ChinaRegionCode.js +4 -0
- package/dist/org/cn/region/ChinaRegions.d.ts +2 -0
- package/dist/org/cn/region/ChinaRegions.js +4 -0
- package/dist/org/cn/region/n/NorthChina.d.ts +2 -0
- package/dist/org/cn/region/n/NorthChina.js +4 -0
- package/dist/org/cn/region/n/NorthChinaDepartmentCode.d.ts +3 -0
- package/dist/org/cn/region/n/NorthChinaDepartmentCode.js +4 -0
- package/dist/org/cn/region/n/NorthChinaMessages_cn.d.ts +6 -0
- package/dist/org/cn/region/n/NorthChinaMessages_cn.js +6 -0
- package/dist/org/cn/region/n/NorthChinaMessages_en.d.ts +6 -0
- package/dist/org/cn/region/n/NorthChinaMessages_en.js +6 -0
- package/dist/org/cn/region/n/NorthChinaMessages_fr.d.ts +6 -0
- package/dist/org/cn/region/n/NorthChinaMessages_fr.js +6 -0
- package/dist/org/cn/region/n/ji/Hebei.d.ts +2 -0
- package/dist/org/cn/region/n/ji/Hebei.js +5 -0
- package/dist/org/cn/region/n/ji/HebeiCities.d.ts +2 -0
- package/dist/org/cn/region/n/ji/HebeiCities.js +4 -0
- package/dist/org/cn/region/n/ji/HebeiCityCode.d.ts +3 -0
- package/dist/org/cn/region/n/ji/HebeiCityCode.js +4 -0
- package/dist/org/cn/region/n/ji/HebeiMessages_cn.d.ts +4 -0
- package/dist/org/cn/region/n/ji/HebeiMessages_cn.js +6 -0
- package/dist/org/cn/region/n/ji/HebeiMessages_en.d.ts +4 -0
- package/dist/org/cn/region/n/ji/HebeiMessages_en.js +6 -0
- package/dist/org/cn/region/n/ji/HebeiMessages_fr.d.ts +4 -0
- package/dist/org/cn/region/n/ji/HebeiMessages_fr.js +6 -0
- package/dist/org/cn/region/n/ji/Tianjin/Tianjin.d.ts +2 -0
- package/dist/org/cn/region/n/ji/Tianjin/Tianjin.js +5 -0
- package/dist/org/cn/region/n/ji/Tianjin/TianjinMessages_cn.d.ts +2 -0
- package/dist/org/cn/region/n/ji/Tianjin/TianjinMessages_cn.js +2 -0
- package/dist/org/cn/region/n/ji/Tianjin/TianjinMessages_en.d.ts +2 -0
- package/dist/org/cn/region/n/ji/Tianjin/TianjinMessages_en.js +2 -0
- package/dist/org/cn/region/n/ji/Tianjin/TianjinMessages_fr.d.ts +2 -0
- package/dist/org/cn/region/n/ji/Tianjin/TianjinMessages_fr.js +3 -0
- package/dist/org/country/CountryMessages.test.d.ts +1 -0
- package/dist/org/country/CountryMessages.test.js +20 -0
- package/dist/org/country/CountryService.test.d.ts +1 -0
- package/dist/org/country/CountryService.test.js +11 -0
- package/dist/org/country/region/RegionMessages.test.d.ts +1 -0
- package/dist/org/country/region/RegionMessages.test.js +17 -0
- package/dist/org/country/region/RegionService.test.d.ts +1 -0
- package/dist/org/country/region/RegionService.test.js +13 -0
- package/dist/org/country/region/department/DeparmentMessages.test.d.ts +1 -0
- package/dist/org/country/region/department/DeparmentMessages.test.js +22 -0
- package/dist/org/country/region/department/DepartmentService.test.d.ts +1 -0
- package/dist/org/country/region/department/DepartmentService.test.js +13 -0
- package/dist/org/country/region/department/city/CityMessages.test.d.ts +1 -0
- package/dist/org/country/region/department/city/CityMessages.test.js +34 -0
- package/dist/org/country/region/department/city/CityService.test.d.ts +1 -0
- package/dist/org/country/region/department/city/CityService.test.js +19 -0
- package/dist/org/do/DominicanRepublicMessages.d.ts +1 -1
- package/dist/org/do/DominicanRepublic_en.d.ts +2 -2
- package/dist/org/do/DominicanRepublic_fr.d.ts +2 -2
- package/dist/org/eu/fr/FranceMessages.test.d.ts +1 -0
- package/dist/org/eu/fr/FranceMessages.test.js +11 -0
- package/dist/org/eu/fr/cnes/geipan/geipan/GeipanDatasource.test.d.ts +1 -0
- package/dist/org/eu/fr/cnes/geipan/geipan/GeipanDatasource.test.js +30 -0
- package/dist/org/us/region/UsaCountyCode.d.ts +7 -1
- package/dist/org/us/region/UsaCountyCode.js +7 -1
- package/dist/org/us/region/mn/MinnesotaCities.js +2 -2
- package/dist/org/us/region/mn/MinnesotaCounties.js +2 -2
- package/dist/org/us/region/mn/Minnesota_en.d.ts +2 -2
- package/dist/org/us/region/mn/Minnesota_en.js +2 -2
- package/dist/org/us/region/mn/Minnesota_fr.d.ts +2 -2
- package/dist/org/us/region/mn/Minnesota_fr.js +2 -2
- package/dist/org/us/region/mn/{kalamazoo/Kalamazoo.d.ts → hennepin/Hennepin.d.ts} +1 -1
- package/dist/org/us/region/mn/{kalamazoo/Kalamazoo.js → hennepin/Hennepin.js} +1 -1
- package/dist/org/us/region/mn/{kalamazoo/KalamazooCities.d.ts → hennepin/HennepinCities.d.ts} +1 -1
- package/dist/org/us/region/mn/hennepin/HennepinCities.js +4 -0
- package/dist/org/us/region/mn/hennepin/HennepinCityCode.d.ts +3 -0
- package/dist/org/us/region/mn/hennepin/HennepinCityCode.js +4 -0
- package/dist/org/us/region/mn/hennepin/HennepinMessages_en.d.ts +4 -0
- package/dist/org/us/region/mn/hennepin/HennepinMessages_en.js +6 -0
- package/dist/org/us/region/mn/hennepin/HennepinMessages_fr.d.ts +4 -0
- package/dist/org/us/region/mn/hennepin/HennepinMessages_fr.js +6 -0
- package/dist/org/us/region/mn/hennepin/Minneapolis/Minneapolis.d.ts +1 -0
- package/dist/org/us/region/mn/hennepin/Minneapolis/Minneapolis.js +5 -0
- package/dist/org/us/region/mn/hennepin/Minneapolis/MinneapolisMessages.d.ts +2 -0
- package/dist/org/us/region/mn/hennepin/Minneapolis/MinneapolisMessages.js +2 -0
- package/dist/org/us/region/mo/MissouriCities.js +2 -2
- package/dist/org/us/region/mo/MissouriCounties.js +2 -2
- package/dist/org/us/region/mo/Missouri_en.d.ts +2 -2
- package/dist/org/us/region/mo/Missouri_en.js +2 -2
- package/dist/org/us/region/mo/Missouri_fr.d.ts +2 -2
- package/dist/org/us/region/mo/Missouri_fr.js +2 -2
- package/dist/org/us/region/{mn/kalamazoo/galesburg/Galesburg.d.ts → mo/pike/Louisiana/Louisiana.d.ts} +1 -1
- package/dist/org/us/region/mo/pike/Louisiana/Louisiana.js +5 -0
- package/dist/org/us/region/{mn/kalamazoo/galesburg/GalesburgMessages.d.ts → mo/pike/Louisiana/LouisianaMessages.d.ts} +1 -1
- package/dist/org/us/region/{ms/kalamazoo/galesburg/GalesburgMessages.js → mo/pike/Louisiana/LouisianaMessages.js} +1 -1
- package/dist/org/us/region/mo/{kalamazoo/Kalamazoo.d.ts → pike/Pike.d.ts} +1 -1
- package/dist/org/us/region/mo/{kalamazoo/Kalamazoo.js → pike/Pike.js} +1 -1
- package/dist/org/us/region/mo/{kalamazoo/KalamazooCities.d.ts → pike/PikeCities.d.ts} +1 -1
- package/dist/org/us/region/mo/pike/PikeCities.js +4 -0
- package/dist/org/us/region/mo/pike/PikeCityCode.d.ts +3 -0
- package/dist/org/us/region/mo/pike/PikeCityCode.js +4 -0
- package/dist/org/us/region/mo/pike/PikeMessages_en.d.ts +4 -0
- package/dist/org/us/region/mo/pike/PikeMessages_en.js +6 -0
- package/dist/org/us/region/mo/pike/PikeMessages_fr.d.ts +4 -0
- package/dist/org/us/region/mo/pike/PikeMessages_fr.js +6 -0
- package/dist/org/us/region/ms/MississippiCities.js +2 -2
- package/dist/org/us/region/ms/MississippiCounties.js +2 -2
- package/dist/org/us/region/ms/Mississippi_en.d.ts +2 -2
- package/dist/org/us/region/ms/Mississippi_en.js +2 -2
- package/dist/org/us/region/ms/Mississippi_fr.d.ts +2 -2
- package/dist/org/us/region/ms/Mississippi_fr.js +2 -2
- package/dist/org/us/region/ms/{kalamazoo/Kalamazoo.d.ts → hinds/Hinds.d.ts} +1 -1
- package/dist/org/us/region/ms/{kalamazoo/Kalamazoo.js → hinds/Hinds.js} +1 -1
- package/dist/org/us/region/ms/{kalamazoo/KalamazooCities.d.ts → hinds/HindsCities.d.ts} +1 -1
- package/dist/org/us/region/ms/hinds/HindsCities.js +4 -0
- package/dist/org/us/region/ms/hinds/HindsCityCode.d.ts +3 -0
- package/dist/org/us/region/ms/hinds/HindsCityCode.js +4 -0
- package/dist/org/us/region/ms/hinds/HindsMessages_en.d.ts +4 -0
- package/dist/org/us/region/ms/hinds/HindsMessages_en.js +6 -0
- package/dist/org/us/region/ms/hinds/HindsMessages_fr.d.ts +4 -0
- package/dist/org/us/region/ms/hinds/HindsMessages_fr.js +6 -0
- package/dist/org/us/region/ms/hinds/Jackson/Jackson.d.ts +1 -0
- package/dist/org/us/region/ms/hinds/Jackson/Jackson.js +5 -0
- package/dist/org/us/region/ms/{kalamazoo/galesburg/GalesburgMessages.d.ts → hinds/Jackson/JacksonMessages.d.ts} +1 -1
- package/dist/org/us/region/ms/hinds/Jackson/JacksonMessages.js +2 -0
- package/dist/org/us/region/mt/MontanaCities.js +2 -2
- package/dist/org/us/region/mt/MontanaCounties.js +2 -2
- package/dist/org/us/region/mt/Montana_en.d.ts +2 -2
- package/dist/org/us/region/mt/Montana_en.js +2 -2
- package/dist/org/us/region/mt/Montana_fr.d.ts +2 -2
- package/dist/org/us/region/mt/Montana_fr.js +2 -2
- package/dist/org/us/region/mt/{kalamazoo/Kalamazoo.d.ts → cascade/Cascade.d.ts} +1 -1
- package/dist/org/us/region/mt/{kalamazoo/Kalamazoo.js → cascade/Cascade.js} +1 -1
- package/dist/org/us/region/mt/{kalamazoo/KalamazooCities.d.ts → cascade/CascadeCities.d.ts} +1 -1
- package/dist/org/us/region/mt/cascade/CascadeCities.js +4 -0
- package/dist/org/us/region/mt/cascade/CascadeCityCode.d.ts +3 -0
- package/dist/org/us/region/mt/cascade/CascadeCityCode.js +4 -0
- package/dist/org/us/region/mt/cascade/CascadeMessages_en.d.ts +4 -0
- package/dist/org/us/region/mt/cascade/CascadeMessages_en.js +6 -0
- package/dist/org/us/region/mt/cascade/CascadeMessages_fr.d.ts +4 -0
- package/dist/org/us/region/mt/cascade/CascadeMessages_fr.js +6 -0
- package/dist/org/us/region/mt/cascade/GreatFalls/GreatFalls.d.ts +1 -0
- package/dist/org/us/region/mt/cascade/GreatFalls/GreatFalls.js +5 -0
- package/dist/org/us/region/mt/{kalamazoo/galesburg/GalesburgMessages.d.ts → cascade/GreatFalls/GreatFallsMessages.d.ts} +1 -1
- package/dist/org/us/region/mt/cascade/GreatFalls/GreatFallsMessages.js +2 -0
- package/dist/org/us/region/nh/NewHampshireCities.js +2 -2
- package/dist/org/us/region/nh/NewHampshireCounties.js +2 -2
- package/dist/org/us/region/nh/NewHampshire_en.d.ts +2 -2
- package/dist/org/us/region/nh/NewHampshire_en.js +2 -2
- package/dist/org/us/region/nh/NewHampshire_fr.d.ts +2 -2
- package/dist/org/us/region/nh/NewHampshire_fr.js +2 -2
- package/dist/org/us/region/nh/rockingham/Portsmouth/Portsmouth.d.ts +1 -0
- package/dist/org/us/region/nh/rockingham/Portsmouth/Portsmouth.js +5 -0
- package/dist/org/us/region/nh/rockingham/Portsmouth/PortsmouthMessages.d.ts +2 -0
- package/dist/org/us/region/nh/rockingham/Portsmouth/PortsmouthMessages.js +2 -0
- package/dist/org/us/region/nh/rockingham/Rockingham.d.ts +2 -0
- package/dist/org/us/region/nh/{kalamazoo/Kalamazoo.js → rockingham/Rockingham.js} +1 -1
- package/dist/org/us/region/nh/rockingham/RockinghamCities.d.ts +2 -0
- package/dist/org/us/region/nh/rockingham/RockinghamCities.js +4 -0
- package/dist/org/us/region/nh/rockingham/RockinghamCityCode.d.ts +3 -0
- package/dist/org/us/region/nh/rockingham/RockinghamCityCode.js +4 -0
- package/dist/org/us/region/nh/rockingham/RockinghamMessages_en.d.ts +4 -0
- package/dist/org/us/region/nh/rockingham/RockinghamMessages_en.js +6 -0
- package/dist/org/us/region/nh/rockingham/RockinghamMessages_fr.d.ts +4 -0
- package/dist/org/us/region/nh/rockingham/RockinghamMessages_fr.js +6 -0
- package/dist/org/us/region/nv/NevadaCities.js +2 -2
- package/dist/org/us/region/nv/NevadaCounties.js +2 -2
- package/dist/org/us/region/nv/Nevada_en.d.ts +2 -2
- package/dist/org/us/region/nv/Nevada_en.js +2 -2
- package/dist/org/us/region/nv/Nevada_fr.d.ts +2 -2
- package/dist/org/us/region/nv/Nevada_fr.js +2 -2
- package/dist/org/us/region/nv/clark/Clark.d.ts +2 -0
- package/dist/org/us/region/nv/{kalamazoo/Kalamazoo.js → clark/Clark.js} +1 -1
- package/dist/org/us/region/nv/clark/ClarkCities.d.ts +2 -0
- package/dist/org/us/region/nv/clark/ClarkCities.js +4 -0
- package/dist/org/us/region/nv/clark/ClarkCityCode.d.ts +3 -0
- package/dist/org/us/region/nv/clark/ClarkCityCode.js +4 -0
- package/dist/org/us/region/nv/clark/ClarkMessages_en.d.ts +4 -0
- package/dist/org/us/region/nv/clark/ClarkMessages_en.js +6 -0
- package/dist/org/us/region/nv/clark/ClarkMessages_fr.d.ts +4 -0
- package/dist/org/us/region/nv/clark/ClarkMessages_fr.js +6 -0
- package/dist/org/us/region/nv/clark/LasVegas/LasVegas.d.ts +1 -0
- package/dist/org/us/region/nv/clark/LasVegas/LasVegas.js +5 -0
- package/dist/org/us/region/{mo/kalamazoo/galesburg/GalesburgMessages.d.ts → nv/clark/LasVegas/LasVegasMessages.d.ts} +1 -1
- package/dist/org/us/region/nv/clark/LasVegas/LasVegasMessages.js +2 -0
- package/dist/people/People.d.ts +1 -2
- package/dist/people/People.test.d.ts +1 -0
- package/dist/people/People.test.js +34 -0
- package/dist/people/PeopleDirectoryStep.d.ts +2 -2
- package/dist/people/PeopleDirectoryStepFactory.d.ts +27 -14
- package/dist/people/PeopleDirectoryStepFactory.js +66 -44
- package/dist/people/PeopleFactory.d.ts +1 -2
- package/dist/people/PeopleFactory.js +1 -1
- package/dist/people/PeopleFactory.test.d.ts +1 -0
- package/dist/people/PeopleFactory.test.js +81 -0
- package/dist/people/PeopleRegexReplaceCommand.test.d.ts +1 -0
- package/dist/people/PeopleRegexReplaceCommand.test.js +17 -0
- package/dist/people/PeopleReplacer.test.d.ts +1 -0
- package/dist/people/PeopleReplacer.test.js +58 -0
- package/dist/people/PeopleService.d.ts +1 -1
- package/dist/people/PeopleService.js +1 -1
- package/dist/people/author/AuthorReplaceCommandTest.d.ts +1 -0
- package/dist/people/author/AuthorReplaceCommandTest.js +49 -0
- package/dist/place/Place.d.ts +1 -2
- package/dist/place/PlaceReplacer.test.d.ts +1 -0
- package/dist/place/PlaceReplacer.test.js +91 -0
- package/dist/place/PlaceService.js +2 -2
- package/dist/place/PlaceService.test.d.ts +1 -0
- package/dist/place/PlaceService.test.js +28 -0
- package/dist/science/crypto/ufo/enquete/dossier/CaseDirectoryStep.d.ts +2 -3
- package/dist/science/crypto/ufo/enquete/dossier/CaseDirectoryStep.js +0 -4
- package/dist/science/crypto/ufo/enquete/dossier/CaseDirectoryStep.test.d.ts +1 -0
- package/dist/science/crypto/ufo/enquete/dossier/CaseDirectoryStep.test.js +34 -0
- package/dist/science/crypto/ufo/enquete/dossier/CaseFactory.d.ts +1 -2
- package/dist/science/crypto/ufo/enquete/dossier/CaseFactory.js +1 -1
- package/dist/science/crypto/ufo/enquete/dossier/CaseService.d.ts +1 -1
- package/dist/science/crypto/ufo/enquete/dossier/CaseService.js +1 -1
- package/dist/search/SearchIndexStep.js +2 -2
- package/dist/search/SearchVisitor.js +1 -1
- package/dist/source/PersistentSourceRegistry.d.ts +2 -2
- package/dist/source/PersistentSourceRegistry.js +8 -3
- package/dist/source/SourceFactory.d.ts +2 -2
- package/dist/source/SourceFactory.js +1 -1
- package/dist/source/SourceIndexStep.js +2 -2
- package/dist/source/SourceRegistry.d.ts +2 -2
- package/dist/source/SourceRenderer.d.ts +1 -1
- package/dist/source/SourceRenderer.js +1 -1
- package/dist/source/index.d.ts +0 -3
- package/dist/source/index.js +0 -3
- package/dist/tech/info/soft/API.d.ts +1 -1
- package/dist/tech/info/soft/APIFactory.d.ts +1 -2
- package/dist/tech/info/soft/APIFactory.js +1 -1
- package/dist/tech/info/soft/proj/impl/lang/CodeReplacerTest.d.ts +1 -0
- package/dist/tech/info/soft/proj/impl/lang/CodeReplacerTest.js +50 -0
- package/dist/test/RR0TestUtil.d.ts +21 -0
- package/dist/test/RR0TestUtil.js +72 -0
- package/dist/test/index.d.ts +1 -0
- package/dist/test/index.js +1 -0
- package/dist/time/EventRenderer.d.ts +3 -3
- package/dist/time/EventRenderer.js +1 -1
- package/dist/time/EventReplacerFactory.d.ts +1 -2
- package/dist/time/Time.js +1 -1
- package/dist/time/Time.test.d.ts +1 -0
- package/dist/time/Time.test.js +48 -0
- package/dist/time/TimeEventRenderer.test.d.ts +1 -0
- package/dist/time/TimeEventRenderer.test.js +56 -0
- package/dist/time/TimeService.d.ts +1 -2
- package/dist/time/TimeService.js +1 -1
- package/dist/time/TimeTagReplaceCommand.test.d.ts +1 -0
- package/dist/time/TimeTagReplaceCommand.test.js +17 -0
- package/dist/time/TimeTestUtil.d.ts +1 -1
- package/dist/time/TimeTestUtil.js +2 -2
- package/dist/time/TimeUrlBuilder.test.d.ts +1 -0
- package/dist/time/TimeUrlBuilder.test.js +46 -0
- package/dist/time/TitleReplaceCommand.test.d.ts +1 -0
- package/dist/time/TitleReplaceCommand.test.js +44 -0
- package/dist/time/datasource/ChronologyReplacer.test.d.ts +1 -0
- package/dist/time/datasource/ChronologyReplacer.test.js +29 -0
- package/dist/time/datasource/CsvMapper.test.d.ts +1 -0
- package/dist/time/datasource/CsvMapper.test.js +50 -0
- package/dist/time/datasource/DatasourceTestCase.d.ts +1 -1
- package/dist/time/datasource/DatasourceTestCase.js +3 -3
- package/dist/time/datasource/FileSource.d.ts +2 -1
- package/dist/time/datasource/FileSource.js +1 -1
- package/dist/time/datasource/JsonMapper.test.d.ts +1 -0
- package/dist/time/datasource/JsonMapper.test.js +23 -0
- package/dist/time/datasource/baseovnifrance/BaseOvniFranceCaseSummaryRR0Mapper.test.d.ts +1 -0
- package/dist/time/datasource/baseovnifrance/BaseOvniFranceCaseSummaryRR0Mapper.test.js +72 -0
- package/dist/time/datasource/baseovnifrance/BaseOvniFranceCsv.test.d.ts +1 -0
- package/dist/time/datasource/baseovnifrance/BaseOvniFranceCsv.test.js +44 -0
- package/dist/time/datasource/baseovnifrance/BaseOvniFranceDatasource.test.d.ts +1 -0
- package/dist/time/datasource/baseovnifrance/BaseOvniFranceDatasource.test.js +30 -0
- package/dist/time/datasource/fufora/FuforaDatasource.test.d.ts +1 -0
- package/dist/time/datasource/fufora/FuforaDatasource.test.js +30 -0
- package/dist/time/datasource/nuforc/NuforcDatasource.test.d.ts +1 -0
- package/dist/time/datasource/nuforc/NuforcDatasource.test.js +30 -0
- package/dist/time/datasource/nuforc/NuforcRR0Mapper.test.d.ts +1 -0
- package/dist/time/datasource/nuforc/NuforcRR0Mapper.test.js +110 -0
- package/dist/time/datasource/rr0/RR0CaseSummary.d.ts +1 -2
- package/dist/time/datasource/rr0/RR0Datasource.test.d.ts +19 -0
- package/dist/time/datasource/rr0/RR0Datasource.test.js +82 -0
- package/dist/time/datasource/rr0/RR0HttpDatasource.d.ts +1 -1
- package/dist/time/datasource/sceau/SceauDatasource.test.d.ts +17 -0
- package/dist/time/datasource/sceau/SceauDatasource.test.js +84 -0
- package/dist/time/datasource/ufo-search/UfoSearchCaseRR0Mapper.js +1 -1
- package/dist/time/datasource/ufo-search/UfoSearchDatasource.test.d.ts +1 -0
- package/dist/time/datasource/ufo-search/UfoSearchDatasource.test.js +30 -0
- package/dist/time/datasource/ufo-search/UfoSearchFileDatasource.js +2 -2
- package/dist/time/datasource/urecat/UrecatDatasource.test.d.ts +1 -0
- package/dist/time/datasource/urecat/UrecatDatasource.test.js +56 -0
- package/dist/time/datasource/urecat/UrecatHttpDatasource.js +1 -1
- package/dist/time/html/TimeRenderer.js +1 -1
- package/dist/time/html/TimeReplacer.test.d.ts +1 -0
- package/dist/time/html/TimeReplacer.test.js +225 -0
- package/dist/time/text/RelativeTimeTextBuilder.js +53 -102
- package/dist/time/text/RelativeTimeTextBuilder.test.d.ts +1 -0
- package/dist/time/text/RelativeTimeTextBuilder.test.js +125 -0
- package/dist/time/text/TimeTextBuilder.d.ts +4 -5
- package/dist/time/text/TimeTextBuilder.js +8 -21
- package/dist/time/text/TimeTextBuilder.test.d.ts +1 -0
- package/dist/time/text/TimeTextBuilder.test.js +63 -0
- package/dist/util/cli/CLI.test.d.ts +1 -0
- package/dist/util/cli/CLI.test.js +13 -0
- package/dist/util/html/HtmlTable.test.d.ts +1 -0
- package/dist/util/html/HtmlTable.test.js +11 -0
- package/dist/util/string/StringUtil.test.d.ts +1 -0
- package/dist/util/string/StringUtil.test.js +22 -0
- package/dist/util/url/UrlUtil.test.d.ts +1 -0
- package/dist/util/url/UrlUtil.test.js +14 -0
- package/package.json +11 -6
- package/dist/build.js +0 -299
- package/dist/data/AbstractDataFactory.d.ts +0 -16
- package/dist/data/AbstractDataFactory.js +0 -60
- package/dist/data/AbstractDataService.d.ts +0 -12
- package/dist/data/AbstractDataService.js +0 -13
- package/dist/data/AllDataService.d.ts +0 -16
- package/dist/data/AllDataService.js +0 -54
- package/dist/data/RR0Data.d.ts +0 -81
- package/dist/data/RR0DataFactory.d.ts +0 -7
- package/dist/data/TypedDataFactory.d.ts +0 -14
- package/dist/data/TypedDataFactory.js +0 -29
- package/dist/data/index.d.ts +0 -6
- package/dist/data/index.js +0 -6
- package/dist/event/RR0Event.d.ts +0 -7
- package/dist/event/RR0EventFactory.d.ts +0 -7
- package/dist/event/RR0EventFactory.js +0 -21
- package/dist/event/index.d.ts +0 -2
- package/dist/event/index.js +0 -2
- package/dist/org/us/region/mn/kalamazoo/KalamazooCities.js +0 -4
- package/dist/org/us/region/mn/kalamazoo/KalamazooCityCode.d.ts +0 -3
- package/dist/org/us/region/mn/kalamazoo/KalamazooCityCode.js +0 -4
- package/dist/org/us/region/mn/kalamazoo/KalamazooMessages_en.d.ts +0 -4
- package/dist/org/us/region/mn/kalamazoo/KalamazooMessages_en.js +0 -6
- package/dist/org/us/region/mn/kalamazoo/KalamazooMessages_fr.d.ts +0 -4
- package/dist/org/us/region/mn/kalamazoo/KalamazooMessages_fr.js +0 -6
- package/dist/org/us/region/mn/kalamazoo/galesburg/Galesburg.js +0 -5
- package/dist/org/us/region/mn/kalamazoo/galesburg/GalesburgMessages.js +0 -2
- package/dist/org/us/region/mo/kalamazoo/KalamazooCities.js +0 -4
- package/dist/org/us/region/mo/kalamazoo/KalamazooCityCode.d.ts +0 -3
- package/dist/org/us/region/mo/kalamazoo/KalamazooCityCode.js +0 -4
- package/dist/org/us/region/mo/kalamazoo/KalamazooMessages_en.d.ts +0 -4
- package/dist/org/us/region/mo/kalamazoo/KalamazooMessages_en.js +0 -6
- package/dist/org/us/region/mo/kalamazoo/KalamazooMessages_fr.d.ts +0 -4
- package/dist/org/us/region/mo/kalamazoo/KalamazooMessages_fr.js +0 -6
- package/dist/org/us/region/mo/kalamazoo/galesburg/Galesburg.d.ts +0 -1
- package/dist/org/us/region/mo/kalamazoo/galesburg/Galesburg.js +0 -5
- package/dist/org/us/region/mo/kalamazoo/galesburg/GalesburgMessages.js +0 -2
- package/dist/org/us/region/ms/kalamazoo/KalamazooCities.js +0 -4
- package/dist/org/us/region/ms/kalamazoo/KalamazooCityCode.d.ts +0 -3
- package/dist/org/us/region/ms/kalamazoo/KalamazooCityCode.js +0 -4
- package/dist/org/us/region/ms/kalamazoo/KalamazooMessages_en.d.ts +0 -4
- package/dist/org/us/region/ms/kalamazoo/KalamazooMessages_en.js +0 -6
- package/dist/org/us/region/ms/kalamazoo/KalamazooMessages_fr.d.ts +0 -4
- package/dist/org/us/region/ms/kalamazoo/KalamazooMessages_fr.js +0 -6
- package/dist/org/us/region/ms/kalamazoo/galesburg/Galesburg.d.ts +0 -1
- package/dist/org/us/region/ms/kalamazoo/galesburg/Galesburg.js +0 -5
- package/dist/org/us/region/mt/kalamazoo/KalamazooCities.js +0 -4
- package/dist/org/us/region/mt/kalamazoo/KalamazooCityCode.d.ts +0 -3
- package/dist/org/us/region/mt/kalamazoo/KalamazooCityCode.js +0 -4
- package/dist/org/us/region/mt/kalamazoo/KalamazooMessages_en.d.ts +0 -4
- package/dist/org/us/region/mt/kalamazoo/KalamazooMessages_en.js +0 -6
- package/dist/org/us/region/mt/kalamazoo/KalamazooMessages_fr.d.ts +0 -4
- package/dist/org/us/region/mt/kalamazoo/KalamazooMessages_fr.js +0 -6
- package/dist/org/us/region/mt/kalamazoo/galesburg/Galesburg.d.ts +0 -1
- package/dist/org/us/region/mt/kalamazoo/galesburg/Galesburg.js +0 -5
- package/dist/org/us/region/mt/kalamazoo/galesburg/GalesburgMessages.js +0 -2
- package/dist/org/us/region/nh/kalamazoo/Kalamazoo.d.ts +0 -2
- package/dist/org/us/region/nh/kalamazoo/KalamazooCities.d.ts +0 -2
- package/dist/org/us/region/nh/kalamazoo/KalamazooCities.js +0 -4
- package/dist/org/us/region/nh/kalamazoo/KalamazooCityCode.d.ts +0 -3
- package/dist/org/us/region/nh/kalamazoo/KalamazooCityCode.js +0 -4
- package/dist/org/us/region/nh/kalamazoo/KalamazooMessages_en.d.ts +0 -4
- package/dist/org/us/region/nh/kalamazoo/KalamazooMessages_en.js +0 -6
- package/dist/org/us/region/nh/kalamazoo/KalamazooMessages_fr.d.ts +0 -4
- package/dist/org/us/region/nh/kalamazoo/KalamazooMessages_fr.js +0 -6
- package/dist/org/us/region/nh/kalamazoo/galesburg/Galesburg.d.ts +0 -1
- package/dist/org/us/region/nh/kalamazoo/galesburg/Galesburg.js +0 -5
- package/dist/org/us/region/nh/kalamazoo/galesburg/GalesburgMessages.d.ts +0 -2
- package/dist/org/us/region/nh/kalamazoo/galesburg/GalesburgMessages.js +0 -2
- package/dist/org/us/region/nv/kalamazoo/Kalamazoo.d.ts +0 -2
- package/dist/org/us/region/nv/kalamazoo/KalamazooCities.d.ts +0 -2
- package/dist/org/us/region/nv/kalamazoo/KalamazooCities.js +0 -4
- package/dist/org/us/region/nv/kalamazoo/KalamazooCityCode.d.ts +0 -3
- package/dist/org/us/region/nv/kalamazoo/KalamazooCityCode.js +0 -4
- package/dist/org/us/region/nv/kalamazoo/KalamazooMessages_en.d.ts +0 -4
- package/dist/org/us/region/nv/kalamazoo/KalamazooMessages_en.js +0 -6
- package/dist/org/us/region/nv/kalamazoo/KalamazooMessages_fr.d.ts +0 -4
- package/dist/org/us/region/nv/kalamazoo/KalamazooMessages_fr.js +0 -6
- package/dist/org/us/region/nv/kalamazoo/galesburg/Galesburg.d.ts +0 -1
- package/dist/org/us/region/nv/kalamazoo/galesburg/Galesburg.js +0 -5
- package/dist/org/us/region/nv/kalamazoo/galesburg/GalesburgMessages.d.ts +0 -2
- package/dist/org/us/region/nv/kalamazoo/galesburg/GalesburgMessages.js +0 -2
- package/dist/source/Article.d.ts +0 -4
- package/dist/source/ArticleFactory.d.ts +0 -7
- package/dist/source/ArticleFactory.js +0 -11
- package/dist/source/Source.d.ts +0 -45
- package/tsconfig.json +0 -23
- package/tsconfig.prod.json +0 -10
- /package/dist/{build.d.ts → OpenGraphCommand.test.d.ts} +0 -0
- /package/dist/{data/RR0Data.js → RR0Build.test.d.ts} +0 -0
- /package/dist/{data/RR0DataFactory.js → anchor/AnchorReplaceCommandTest.d.ts} +0 -0
- /package/dist/{event/RR0Event.js → anchor/AnchorReplacerTest.d.ts} +0 -0
- /package/dist/{source/Article.js → lang/LanguageReplaceCommant.test.d.ts} +0 -0
- /package/dist/{source/Source.js → org/cn/ChinaMessages.js} +0 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { PlaceReplacer } from "./PlaceReplacer.js";
|
|
2
|
+
import { PlaceService } from "./PlaceService.js";
|
|
3
|
+
import { Place } from "./Place.js";
|
|
4
|
+
import { OrganizationService } from "../org/OrganizationService.js";
|
|
5
|
+
import { rr0TestUtil } from "../test/index.js";
|
|
6
|
+
import { describe, expect, test } from "@javarome/testscript";
|
|
7
|
+
import { OrganizationKind } from "../org/Organization.js";
|
|
8
|
+
import { OrganizationMessages } from "../org/index.js";
|
|
9
|
+
import { PlaceLocation } from "@rr0/place";
|
|
10
|
+
class MockPlaceService extends PlaceService {
|
|
11
|
+
constructor(location, elevation, dirName) {
|
|
12
|
+
super("place");
|
|
13
|
+
this.location = location;
|
|
14
|
+
this.elevation = elevation;
|
|
15
|
+
this.dirName = dirName;
|
|
16
|
+
}
|
|
17
|
+
async read(fileName) {
|
|
18
|
+
return new Place([this.location], this.elevation, this.dirName);
|
|
19
|
+
}
|
|
20
|
+
async geocode(address) {
|
|
21
|
+
return { location: this.location, data: {} };
|
|
22
|
+
}
|
|
23
|
+
async getElevation(location) {
|
|
24
|
+
return this.elevation;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
class MockOrganizationService extends OrganizationService {
|
|
28
|
+
constructor(dirName) {
|
|
29
|
+
super([], "org", null);
|
|
30
|
+
this.dirName = dirName;
|
|
31
|
+
}
|
|
32
|
+
async read(_fileName) {
|
|
33
|
+
let title = "Los Alamos National Laboratories";
|
|
34
|
+
return {
|
|
35
|
+
type: "org",
|
|
36
|
+
kind: OrganizationKind.company,
|
|
37
|
+
id: "laln",
|
|
38
|
+
dirName: this.dirName,
|
|
39
|
+
getTitle(_context) {
|
|
40
|
+
return title;
|
|
41
|
+
},
|
|
42
|
+
places: [new Place([new PlaceLocation(35.87555555555556, -106.32416666666666)])],
|
|
43
|
+
getMessages: (_context) => new OrganizationMessages([title]),
|
|
44
|
+
events: []
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
describe("PlaceReplacer", () => {
|
|
49
|
+
function createPlaceTag(doc, text) {
|
|
50
|
+
const placeTag = doc.createElement("span");
|
|
51
|
+
placeTag.className = "place";
|
|
52
|
+
placeTag.innerHTML = text;
|
|
53
|
+
return placeTag;
|
|
54
|
+
}
|
|
55
|
+
test("link to existing organization", async () => {
|
|
56
|
+
return; // Disable test
|
|
57
|
+
const location = new PlaceLocation(35.8440582, -106.287162);
|
|
58
|
+
const elevation = 2161.025390625;
|
|
59
|
+
const dirName = "org/us/state/nm/lanl/";
|
|
60
|
+
const placeService = new MockPlaceService(location, { elevation }, dirName);
|
|
61
|
+
const orgService = new MockOrganizationService(dirName);
|
|
62
|
+
const replacer = new PlaceReplacer();
|
|
63
|
+
const context = rr0TestUtil.newHtmlContext("people/a/AlexanderJohnB/index.html", "");
|
|
64
|
+
const doc = context.file.document;
|
|
65
|
+
const text = "LANL";
|
|
66
|
+
const placeTag = createPlaceTag(doc, text);
|
|
67
|
+
const replacement = await replacer.replacement(context, placeTag);
|
|
68
|
+
expect(replacement.tagName).toBe("A");
|
|
69
|
+
expect(replacement.className).toBe("plac");
|
|
70
|
+
expect(replacement.href).toBe(`/${dirName}`);
|
|
71
|
+
expect(replacement.textContent).toBe(text);
|
|
72
|
+
expect(replacement.getAttribute("onclick")).toBe(`showMap(event,${location.lat},${location.lng},true)`);
|
|
73
|
+
});
|
|
74
|
+
test("link to non-existing organization", async () => {
|
|
75
|
+
const location = new PlaceLocation(34.0, -105.0);
|
|
76
|
+
const elevation = 100.0;
|
|
77
|
+
const dirName = "";
|
|
78
|
+
const placeService = new MockPlaceService(location, { elevation }, dirName);
|
|
79
|
+
const orgService = new MockOrganizationService(dirName);
|
|
80
|
+
const replacer = new PlaceReplacer();
|
|
81
|
+
const context = rr0TestUtil.newHtmlContext("people/a/AlexanderJohnB/index.html", "");
|
|
82
|
+
const doc = context.file.document;
|
|
83
|
+
const text = "Non existing";
|
|
84
|
+
const placeTag = createPlaceTag(doc, text);
|
|
85
|
+
const replacement = await replacer.replacement(context, placeTag);
|
|
86
|
+
expect(replacement.tagName).toBe("SPAN");
|
|
87
|
+
expect(replacement.className).toBe("plac");
|
|
88
|
+
expect(replacement.textContent).toBe(text);
|
|
89
|
+
expect(replacement.getAttribute("onclick")).toBe(`showMap(event,'${text}',true)`);
|
|
90
|
+
});
|
|
91
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Place } from "./Place.js";
|
|
2
2
|
import fs from "fs";
|
|
3
|
-
import { FileUtil } from "ssg-api";
|
|
4
3
|
import { PlaceLocation } from "@rr0/place";
|
|
4
|
+
import { writeFile } from "@javarome/fileutil";
|
|
5
5
|
export class PlaceService {
|
|
6
6
|
constructor(rootDir) {
|
|
7
7
|
this.rootDir = rootDir;
|
|
@@ -71,7 +71,7 @@ export class PlaceService {
|
|
|
71
71
|
for (const location of place.locations) {
|
|
72
72
|
const fileName = this.getFileName(location);
|
|
73
73
|
const contents = JSON.stringify(place, null, 2);
|
|
74
|
-
await
|
|
74
|
+
await writeFile(fileName, contents, "utf-8");
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { GooglePlaceService } from "./GooglePlaceService.js";
|
|
2
|
+
import { beforeEach, describe, expect, test } from "@javarome/testscript";
|
|
3
|
+
import { PlaceLocation } from "@rr0/place";
|
|
4
|
+
describe("PlaceService", () => {
|
|
5
|
+
const apiKey = process.env.GOOGLE_MAPS_API_KEY;
|
|
6
|
+
if (!apiKey) {
|
|
7
|
+
throw Error("GOOGLE_MAPS_API_KEY is required");
|
|
8
|
+
}
|
|
9
|
+
let service;
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
service = new GooglePlaceService("place", apiKey);
|
|
12
|
+
});
|
|
13
|
+
const lanlPosition = new PlaceLocation(35.8440582, -106.287162);
|
|
14
|
+
const lanlElevation = 2161.025390625;
|
|
15
|
+
test("build place with one first name", async () => {
|
|
16
|
+
var _a;
|
|
17
|
+
const laln = await service.get("LANL");
|
|
18
|
+
expect(laln === null || laln === void 0 ? void 0 : laln.locations).toEqual([lanlPosition]);
|
|
19
|
+
expect((_a = laln === null || laln === void 0 ? void 0 : laln.elevation) === null || _a === void 0 ? void 0 : _a.elevation).toBe(lanlElevation);
|
|
20
|
+
});
|
|
21
|
+
test("read", async () => {
|
|
22
|
+
var _a;
|
|
23
|
+
const fileName = service.getFileName(lanlPosition);
|
|
24
|
+
const result = await service.read(fileName);
|
|
25
|
+
expect(result.locations).toEqual([lanlPosition]);
|
|
26
|
+
expect((_a = result.elevation) === null || _a === void 0 ? void 0 : _a.elevation).toBe(lanlElevation);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DirectoryStep,
|
|
1
|
+
import { DirectoryStep, FileWriteConfig, OutputFunc } from "ssg-api";
|
|
2
2
|
import { HtmlRR0Context, RR0Context } from "../../../../../RR0Context.js";
|
|
3
3
|
import { RR0Case } from "./RR0Case.js";
|
|
4
4
|
import { CaseService } from "./CaseService.js";
|
|
@@ -17,8 +17,7 @@ export declare class CaseDirectoryStep extends DirectoryStep {
|
|
|
17
17
|
* @param outputFunc
|
|
18
18
|
* @param config
|
|
19
19
|
*/
|
|
20
|
-
constructor(caseService: CaseService, rootDirs: string[], excludedDirs: string[], templateFileName: string, outputFunc: OutputFunc, config:
|
|
21
|
-
static create(outputFunc: OutputFunc, config: SsgConfig, caseService: CaseService): Promise<CaseDirectoryStep>;
|
|
20
|
+
constructor(caseService: CaseService, rootDirs: string[], excludedDirs: string[], templateFileName: string, outputFunc: OutputFunc, config: FileWriteConfig);
|
|
22
21
|
/**
|
|
23
22
|
* Convert an array of Case[] to an <ul> HTML unordered list.
|
|
24
23
|
*
|
|
@@ -18,10 +18,6 @@ export class CaseDirectoryStep extends DirectoryStep {
|
|
|
18
18
|
this.caseService = caseService;
|
|
19
19
|
this.outputFunc = outputFunc;
|
|
20
20
|
}
|
|
21
|
-
static async create(outputFunc, config, caseService) {
|
|
22
|
-
const rootDirs = caseService.files;
|
|
23
|
-
return new CaseDirectoryStep(caseService, rootDirs, ["science/crypto/ufo/enquete/dossier/canular"], "science/crypto/ufo/enquete/dossier/index.html", outputFunc, config);
|
|
24
|
-
}
|
|
25
21
|
/**
|
|
26
22
|
* Convert an array of Case[] to an <ul> HTML unordered list.
|
|
27
23
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { describe, expect, test } from "@javarome/testscript";
|
|
3
|
+
import { CaseDirectoryStep } from "./CaseDirectoryStep.js";
|
|
4
|
+
import { rr0TestUtil } from "../../../../../test/index.js";
|
|
5
|
+
import { CaseService } from "./CaseService.js";
|
|
6
|
+
import { TimeElementFactory } from "../../../../../time/html/TimeElementFactory.js";
|
|
7
|
+
import { AllDataService, RR0EventFactory, TypedDataFactory } from "@rr0/data";
|
|
8
|
+
describe("DirectoryStep", () => {
|
|
9
|
+
const root = "src";
|
|
10
|
+
async function outputFunc(context, info, outDir = rr0TestUtil.outDir + "/") {
|
|
11
|
+
info.name = `${outDir}${info.name}`;
|
|
12
|
+
}
|
|
13
|
+
test("", async () => {
|
|
14
|
+
const template = `
|
|
15
|
+
<!--#include virtual="/header-start.html" -->
|
|
16
|
+
<title>Dossiers ufologiques</title>
|
|
17
|
+
<!--#include virtual="/header-end.html" -->
|
|
18
|
+
<p>Before</p>
|
|
19
|
+
<!--#echo var="directories" -->
|
|
20
|
+
<p>After</p>
|
|
21
|
+
<!--#include virtual="/footer.html" -->`;
|
|
22
|
+
const casesDirectoryPath = path.join(root, "science/crypto/ufo/enquete/dossier/index.html");
|
|
23
|
+
const context = rr0TestUtil.newContext(casesDirectoryPath, template);
|
|
24
|
+
const eventFactory = new RR0EventFactory();
|
|
25
|
+
const dataService = new AllDataService([new TypedDataFactory(eventFactory, "case")]);
|
|
26
|
+
const caseFiles = [];
|
|
27
|
+
const timeService = rr0TestUtil.time.getService();
|
|
28
|
+
const timeElementFactory = new TimeElementFactory(timeService.renderer);
|
|
29
|
+
const caseService = new CaseService(dataService, rr0TestUtil.caseFactory, timeElementFactory, caseFiles);
|
|
30
|
+
const step = new CaseDirectoryStep(caseService, [], [], casesDirectoryPath, outputFunc, rr0TestUtil.config);
|
|
31
|
+
const stepResult = await step.execute(context);
|
|
32
|
+
expect(stepResult.directoryCount).toBe(239);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { TypedDataFactory } from "../../../../../data/TypedDataFactory.js";
|
|
2
1
|
import { RR0Case } from "./RR0Case.js";
|
|
3
|
-
import { RR0EventFactory } from "
|
|
2
|
+
import { RR0EventFactory, TypedDataFactory } from "@rr0/data";
|
|
4
3
|
export declare class CaseFactory extends TypedDataFactory<RR0Case> {
|
|
5
4
|
constructor(eventFactory: RR0EventFactory);
|
|
6
5
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { AbstractDataService, AllDataService } from "../../../../../data/index.js";
|
|
2
1
|
import { RR0Case } from "./RR0Case.js";
|
|
3
2
|
import { HtmlRR0Context } from "../../../../../RR0Context.js";
|
|
4
3
|
import { TimeElementFactory } from "../../../../../time/index.js";
|
|
5
4
|
import { CaseFactory } from "./CaseFactory.js";
|
|
5
|
+
import { AbstractDataService, AllDataService } from "@rr0/data";
|
|
6
6
|
export declare class CaseService extends AbstractDataService<RR0Case> {
|
|
7
7
|
protected readonly timeElementFactory: TimeElementFactory;
|
|
8
8
|
constructor(dataService: AllDataService, factory: CaseFactory, timeElementFactory: TimeElementFactory, files: string[]);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import path from "path";
|
|
2
|
-
import { AbstractDataService } from "
|
|
2
|
+
import { AbstractDataService } from "@rr0/data";
|
|
3
3
|
export class CaseService extends AbstractDataService {
|
|
4
4
|
constructor(dataService, factory, timeElementFactory, files) {
|
|
5
5
|
super(dataService, factory, files);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FileUtil } from "ssg-api";
|
|
2
1
|
import fs from "fs";
|
|
2
|
+
import { writeFile } from "@javarome/fileutil";
|
|
3
3
|
/**
|
|
4
4
|
* Saves the index file collected by the SearchCommand.
|
|
5
5
|
*/
|
|
@@ -45,6 +45,6 @@ export class SearchIndexStep {
|
|
|
45
45
|
}
|
|
46
46
|
context.log("Saving search index of", existingIndex.pages.length, "pages at", this.fileName);
|
|
47
47
|
const indexJson = JSON.stringify(existingIndex);
|
|
48
|
-
return
|
|
48
|
+
return writeFile(this.fileName, indexJson, "utf-8");
|
|
49
49
|
}
|
|
50
50
|
}
|
|
@@ -34,7 +34,7 @@ export class SearchVisitor {
|
|
|
34
34
|
this.handleAlreadyIndexed(title, url, titleIndexed);
|
|
35
35
|
}
|
|
36
36
|
const indexContext = context.clone();
|
|
37
|
-
const time = this.timeTextBuilder.build(indexContext,
|
|
37
|
+
const time = this.timeTextBuilder.build(indexContext, { year: "numeric", month: "short", day: "numeric" }).toLowerCase();
|
|
38
38
|
indexedPages.push({ title, url, time });
|
|
39
39
|
}
|
|
40
40
|
if (this.config.indexWords) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Source } from "./Source.js";
|
|
2
|
-
import { AllDataService } from "../data/AllDataService.js";
|
|
3
1
|
import { HttpSource } from "../time/datasource/HttpSource.js";
|
|
4
2
|
import { SourceRegistry } from "./SourceRegistry.js";
|
|
3
|
+
import { AllDataService } from "@rr0/data";
|
|
4
|
+
import { Source } from "@rr0/data/dist/source";
|
|
5
5
|
/**
|
|
6
6
|
* Create Source objects and register them.
|
|
7
7
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SourceRegistry } from "./SourceRegistry.js";
|
|
2
|
-
import { FileContents } from "
|
|
2
|
+
import { FileContents } from "@javarome/fileutil";
|
|
3
3
|
/**
|
|
4
4
|
* Create Source objects and register them.
|
|
5
5
|
*/
|
|
@@ -7,8 +7,13 @@ export class PersistentSourceRegistry extends SourceRegistry {
|
|
|
7
7
|
constructor(dataService, http, baseUrl, fileName, options) {
|
|
8
8
|
super(dataService, http, baseUrl, options);
|
|
9
9
|
this.fileName = fileName;
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
try {
|
|
11
|
+
const registryFileContents = FileContents.read(fileName, "utf-8").contents;
|
|
12
|
+
this.registry = JSON.parse(registryFileContents);
|
|
13
|
+
}
|
|
14
|
+
catch (e) {
|
|
15
|
+
console.warn("Could not read persistent source registry", fileName, e);
|
|
16
|
+
}
|
|
12
17
|
}
|
|
13
18
|
async get(href) {
|
|
14
19
|
return super.get(href);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HtmlRR0Context } from "../RR0Context.js";
|
|
2
|
-
import { Source } from "./Source.js";
|
|
3
|
-
import { AllDataService } from "../data/AllDataService.js";
|
|
4
2
|
import { HttpSource } from "../time/datasource/HttpSource.js";
|
|
3
|
+
import { AllDataService } from "@rr0/data";
|
|
4
|
+
import { Source } from "@rr0/data/dist/source";
|
|
5
5
|
/**
|
|
6
6
|
* Create Source objects.
|
|
7
7
|
*/
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import path from "path";
|
|
2
2
|
import { TimeContext } from "@rr0/time";
|
|
3
|
-
import { FileContents } from "ssg-api";
|
|
4
3
|
import { JSDOM } from "jsdom";
|
|
5
4
|
import { Time } from "../time";
|
|
5
|
+
import { FileContents } from "@javarome/fileutil";
|
|
6
6
|
/**
|
|
7
7
|
* Create Source objects.
|
|
8
8
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { writeFile } from "@javarome/fileutil";
|
|
2
2
|
/**
|
|
3
3
|
* Saves the index file collected by the SourceCommand.
|
|
4
4
|
*/
|
|
@@ -11,6 +11,6 @@ export class SourceIndexStep {
|
|
|
11
11
|
context.log("Saving sources index at", this.fileName);
|
|
12
12
|
const index = this.sourceCommand.registry;
|
|
13
13
|
const indexJson = JSON.stringify(index);
|
|
14
|
-
return
|
|
14
|
+
return writeFile(this.fileName, indexJson, "utf-8");
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { HtmlRR0Context } from "../RR0Context.js";
|
|
2
|
-
import { Source } from "./Source.js";
|
|
3
|
-
import { AllDataService } from "../data/index.js";
|
|
4
2
|
import { HttpSource } from "../time/index.js";
|
|
5
3
|
import { SourceFactory } from "./SourceFactory.js";
|
|
4
|
+
import { AllDataService } from "@rr0/data";
|
|
5
|
+
import { Source } from "@rr0/data/dist/source";
|
|
6
6
|
/**
|
|
7
7
|
* Create Source objects and register them.
|
|
8
8
|
*/
|
|
@@ -59,7 +59,7 @@ export class SourceRenderer {
|
|
|
59
59
|
else {
|
|
60
60
|
sourceContext.time.updateFromStr(timeValue);
|
|
61
61
|
}
|
|
62
|
-
pubItems.push(this.timeTextBuilder.build(sourceContext
|
|
62
|
+
pubItems.push(this.timeTextBuilder.build(sourceContext));
|
|
63
63
|
}
|
|
64
64
|
if (source.index) {
|
|
65
65
|
pubItems.push(source.index.toString());
|
package/dist/source/index.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
export * from "./Article.js";
|
|
2
|
-
export * from "./ArticleFactory.js";
|
|
3
1
|
export * from "./PersistentSourceRegistry.js";
|
|
4
|
-
export * from "./Source.js";
|
|
5
2
|
export * from "./SourceFactory.js";
|
|
6
3
|
export * from "./SourceFileCounter.js";
|
|
7
4
|
export * from "./SourceIndexStep.js";
|
package/dist/source/index.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
export * from "./Article.js";
|
|
2
|
-
export * from "./ArticleFactory.js";
|
|
3
1
|
export * from "./PersistentSourceRegistry.js";
|
|
4
|
-
export * from "./Source.js";
|
|
5
2
|
export * from "./SourceFactory.js";
|
|
6
3
|
export * from "./SourceFileCounter.js";
|
|
7
4
|
export * from "./SourceIndexStep.js";
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { API } from "./API.js";
|
|
2
|
-
import { RR0Data, TypedDataFactory } from "
|
|
3
|
-
import { RR0EventFactory } from "../../../event/index.js";
|
|
2
|
+
import { RR0Data, RR0EventFactory, TypedDataFactory } from "@rr0/data";
|
|
4
3
|
export declare class APIFactory extends TypedDataFactory<API> {
|
|
5
4
|
constructor(eventFactory: RR0EventFactory);
|
|
6
5
|
createFromData(data: RR0Data): API;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { describe, expect, test } from "@javarome/testscript";
|
|
2
|
+
import { CodeReplacer } from "./CodeReplacer.js";
|
|
3
|
+
import { rr0TestUtil } from "../../../../../../test/index.js";
|
|
4
|
+
import { HtmlCodeParser } from "./HtmlCodeParser.js";
|
|
5
|
+
describe("CodeReplacer", () => {
|
|
6
|
+
const replacer = new CodeReplacer([new HtmlCodeParser()]);
|
|
7
|
+
test("replaces nothing", async () => {
|
|
8
|
+
const context = rr0TestUtil.newHtmlContext("tech/info/soft/proj/design/arch/web/js/index.html", `<p>window.document.write("Hello!")</p>`);
|
|
9
|
+
const codeEl = context.file.document.querySelector("code");
|
|
10
|
+
const replacement = await replacer.replacement(context, codeEl);
|
|
11
|
+
expect(replacement).toBeNull();
|
|
12
|
+
});
|
|
13
|
+
test("replaces tags", async () => {
|
|
14
|
+
const code = "window.document.write(\"Hello!\")";
|
|
15
|
+
const context = rr0TestUtil.newHtmlContext("tech/info/soft/proj/design/arch/web/js/index.html", `<code>${code}</code>`);
|
|
16
|
+
const codeEl = context.file.document.querySelector("code");
|
|
17
|
+
const replacement = await replacer.replacement(context, codeEl);
|
|
18
|
+
expect(replacement.innerHTML).toBe(code);
|
|
19
|
+
});
|
|
20
|
+
test("replaces tags", async () => {
|
|
21
|
+
const code = `
|
|
22
|
+
<script>
|
|
23
|
+
// Si le navigateur est de type 4.0 on utilise latestver.html
|
|
24
|
+
if (navigator.userAgent.indexOf("4.0") >= 0) {
|
|
25
|
+
window.location = "latestver.html"
|
|
26
|
+
} else if (ver >= 11) { // Sinon on regarde s'il ont JavaScript 1.1 avant d'utiliser newver.html
|
|
27
|
+
window.location = "newver.html"
|
|
28
|
+
} else { // Par défaut on choisit oldver.html pour tous les autres.
|
|
29
|
+
window.location = "oldver.html"
|
|
30
|
+
}
|
|
31
|
+
</script>
|
|
32
|
+
`;
|
|
33
|
+
const context = rr0TestUtil.newHtmlContext("tech/info/soft/proj/design/arch/web/js/index.html", `<pre><code>${code}</code></pre>`);
|
|
34
|
+
const codeEl = context.file.document.querySelector("code");
|
|
35
|
+
const replacement = await replacer.replacement(context, codeEl);
|
|
36
|
+
const innerHTML = replacement.innerHTML;
|
|
37
|
+
expect(innerHTML).toBe(`
|
|
38
|
+
<span class="tag start"><script></span>
|
|
39
|
+
// Si le navigateur est de type 4.0 on utilise latestver.html
|
|
40
|
+
if (navigator.userAgent.indexOf("4.0") >= 0) {
|
|
41
|
+
window.location = "latestver.html"
|
|
42
|
+
} else if (ver >= 11) { // Sinon on regarde s'il ont JavaScript 1.1 avant d'utiliser newver.html
|
|
43
|
+
window.location = "newver.html"
|
|
44
|
+
} else { // Par défaut on choisit oldver.html pour tous les autres.
|
|
45
|
+
window.location = "oldver.html"
|
|
46
|
+
}
|
|
47
|
+
<span class="tag end"></script></span>
|
|
48
|
+
`);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { HtmlRR0Context, RR0Context } from "../RR0Context.js";
|
|
2
|
+
import { FileWriteConfig } from "ssg-api";
|
|
3
|
+
import { CaseFactory } from "../science/index.js";
|
|
4
|
+
import { PeopleFactory } from "../people/index.js";
|
|
5
|
+
import { TimeTestUtil } from "../time/TimeTestUtil";
|
|
6
|
+
import { AllDataService } from "@rr0/data";
|
|
7
|
+
export declare class RR0TestUtil {
|
|
8
|
+
readonly rootDir: string;
|
|
9
|
+
readonly outDir: string;
|
|
10
|
+
readonly config: FileWriteConfig;
|
|
11
|
+
readonly intlOptions: Intl.DateTimeFormatOptions;
|
|
12
|
+
readonly dataService: AllDataService;
|
|
13
|
+
readonly caseFactory: CaseFactory;
|
|
14
|
+
readonly peopleFactory: PeopleFactory;
|
|
15
|
+
readonly time: TimeTestUtil;
|
|
16
|
+
constructor(rootDir?: string, outDir?: string);
|
|
17
|
+
newContext(inputFileName: string, contents?: string, locale?: string): RR0Context;
|
|
18
|
+
filePath(inputFileName: string): string;
|
|
19
|
+
newHtmlContext(inputFileName: string, contents?: string, locale?: string): HtmlRR0Context;
|
|
20
|
+
}
|
|
21
|
+
export declare const rr0TestUtil: RR0TestUtil;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { RR0ContextImpl } from "../RR0Context.js";
|
|
3
|
+
import { Time } from "../time/index.js";
|
|
4
|
+
import { HtmlFileContents } from "ssg-api";
|
|
5
|
+
import { OrganizationFactory } from "../org/index.js";
|
|
6
|
+
import { CaseFactory } from "../science/index.js";
|
|
7
|
+
import { PeopleFactory } from "../people/index.js";
|
|
8
|
+
import { APIFactory } from "../tech/index.js";
|
|
9
|
+
import { TimeTestUtil } from "../time/TimeTestUtil";
|
|
10
|
+
import { TimeContext } from "@rr0/time";
|
|
11
|
+
import { FileContents } from "@javarome/fileutil";
|
|
12
|
+
import { AllDataService, RR0EventFactory, TypedDataFactory } from "@rr0/data";
|
|
13
|
+
export class RR0TestUtil {
|
|
14
|
+
constructor(rootDir = "test", outDir = "out") {
|
|
15
|
+
this.rootDir = rootDir;
|
|
16
|
+
this.outDir = outDir;
|
|
17
|
+
this.config = {
|
|
18
|
+
getOutputPath: (context) => {
|
|
19
|
+
return path.join(this.outDir, context.file.name);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
this.intlOptions = {
|
|
23
|
+
year: "numeric",
|
|
24
|
+
month: "long",
|
|
25
|
+
day: "numeric",
|
|
26
|
+
weekday: "long",
|
|
27
|
+
hour: "2-digit",
|
|
28
|
+
minute: "2-digit",
|
|
29
|
+
timeZoneName: "short"
|
|
30
|
+
};
|
|
31
|
+
const eventFactory = new RR0EventFactory();
|
|
32
|
+
const sightingFactory = new TypedDataFactory(eventFactory, "sighting", ["index"]);
|
|
33
|
+
const orgFactory = new OrganizationFactory(eventFactory);
|
|
34
|
+
this.caseFactory = new CaseFactory(eventFactory);
|
|
35
|
+
this.peopleFactory = new PeopleFactory(eventFactory);
|
|
36
|
+
const apiFactory = new APIFactory(eventFactory);
|
|
37
|
+
const bookFactory = new TypedDataFactory(eventFactory, "book");
|
|
38
|
+
const articleFactory = new TypedDataFactory(eventFactory, "article");
|
|
39
|
+
this.dataService = new AllDataService([orgFactory, this.caseFactory, this.peopleFactory, bookFactory, articleFactory, sightingFactory, apiFactory]);
|
|
40
|
+
this.dataService.getFromDir("", ["people", "case"]).then(data => {
|
|
41
|
+
// console.debug(data)
|
|
42
|
+
});
|
|
43
|
+
this.time = new TimeTestUtil(this);
|
|
44
|
+
}
|
|
45
|
+
newContext(inputFileName, contents, locale = "fr") {
|
|
46
|
+
const context = new RR0ContextImpl(locale, new TimeContext(), this.config);
|
|
47
|
+
if (contents !== undefined && contents != null) {
|
|
48
|
+
const langInfo = FileContents.getLang(inputFileName);
|
|
49
|
+
context.file = new FileContents(inputFileName, "utf8", contents, new Date(), langInfo);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
context.file = FileContents.read(inputFileName);
|
|
53
|
+
}
|
|
54
|
+
context.file = context.file; // By default
|
|
55
|
+
return context;
|
|
56
|
+
}
|
|
57
|
+
filePath(inputFileName) {
|
|
58
|
+
return path.join(this.rootDir, inputFileName);
|
|
59
|
+
}
|
|
60
|
+
newHtmlContext(inputFileName, contents, locale = "fr") {
|
|
61
|
+
const context = this.newContext(this.filePath(inputFileName), contents, locale);
|
|
62
|
+
const titleExec = /<title>(.*)<\/title>/.exec(contents);
|
|
63
|
+
const title = titleExec && titleExec.length > 0 ? titleExec[1].trim() : undefined;
|
|
64
|
+
const currentFile = context.file;
|
|
65
|
+
const lang = currentFile.lang;
|
|
66
|
+
context.file = new HtmlFileContents(currentFile.name, currentFile.encoding, currentFile.contents, currentFile.lastModified, lang, { author: [] }, {}, title);
|
|
67
|
+
const htmlContext = context;
|
|
68
|
+
Object.assign(htmlContext.time, Time.contextFromFileName(htmlContext, inputFileName));
|
|
69
|
+
return htmlContext;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export const rr0TestUtil = new RR0TestUtil();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./RR0TestUtil.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./RR0TestUtil.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { HtmlRR0Context } from "../RR0Context.js";
|
|
2
|
-
import {
|
|
3
|
-
import { Source, SourceFactory, SourceRenderer } from "../source/index.js";
|
|
2
|
+
import { SourceFactory, SourceRenderer } from "../source/index.js";
|
|
4
3
|
import { NoteRenderer } from "../note/index.js";
|
|
5
4
|
import { NamedPlace } from "./datasource/index.js";
|
|
6
5
|
import { TimeElementFactory } from "./html/TimeElementFactory.js";
|
|
7
|
-
import { RR0Event } from "
|
|
6
|
+
import { RR0Data, RR0Event } from "@rr0/data";
|
|
7
|
+
import { Source } from "@rr0/data/dist/source";
|
|
8
8
|
/**
|
|
9
9
|
* Render a case summary as HTML.
|
|
10
10
|
*/
|
|
@@ -59,7 +59,7 @@ export class EventRenderer {
|
|
|
59
59
|
async renderSources(context, sources, container) {
|
|
60
60
|
for (const source of sources) {
|
|
61
61
|
const href = source.url;
|
|
62
|
-
const resolvedSource = href ? await this.sourceFactory.create(context, href.toString())
|
|
62
|
+
const resolvedSource = source.title || !href ? source : await this.sourceFactory.create(context, href.toString());
|
|
63
63
|
const sourceEl = this.sourceRenderer.render(context, resolvedSource);
|
|
64
64
|
container.append(" ", sourceEl);
|
|
65
65
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { DomReplacer, ReplacerFactory } from "ssg-api";
|
|
2
2
|
import { HtmlRR0Context } from "../RR0Context.js";
|
|
3
|
-
import { AllDataService } from "../data/index.js";
|
|
4
3
|
import { EventRenderer } from "./EventRenderer.js";
|
|
5
|
-
import { RR0Event } from "
|
|
4
|
+
import { AllDataService, RR0Event } from "@rr0/data";
|
|
6
5
|
export declare class EventReplacer<D extends RR0Event> {
|
|
7
6
|
protected renderer: EventRenderer<D>;
|
|
8
7
|
protected dataService: AllDataService;
|
package/dist/time/Time.js
CHANGED
|
@@ -23,7 +23,7 @@ export class Time {
|
|
|
23
23
|
const timeContext = Time.contextFromFileName(context, fileName);
|
|
24
24
|
if (timeContext) {
|
|
25
25
|
const pageContext = new RR0ContextImpl(context.locale, timeContext, context.config, context.people, context.file);
|
|
26
|
-
title = timeTextBuilder.build(pageContext
|
|
26
|
+
title = timeTextBuilder.build(pageContext);
|
|
27
27
|
title = StringUtil.capitalizeFirstLetter(title);
|
|
28
28
|
}
|
|
29
29
|
return title;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|