@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
package/dist/people/People.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Occupation } from "./Occupation.js";
|
|
2
2
|
import { Gender } from "@rr0/common";
|
|
3
3
|
import { CountryCode } from "../org/country/CountryCode.js";
|
|
4
|
-
import { RR0Data } from "
|
|
5
|
-
import { RR0Event } from "../event/RR0Event.js";
|
|
4
|
+
import { RR0Data, RR0Event } from "@rr0/data";
|
|
6
5
|
export declare class People implements RR0Data {
|
|
7
6
|
firstNames: string[];
|
|
8
7
|
lastName: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { People } from "./People.js";
|
|
2
|
+
import { PeopleService } from "./PeopleService.js";
|
|
3
|
+
import { describe, expect, test } from "@javarome/testscript";
|
|
4
|
+
import { rr0TestUtil } from "../test/index.js";
|
|
5
|
+
import path from "path";
|
|
6
|
+
import { AllDataService } from "@rr0/data";
|
|
7
|
+
describe("People", () => {
|
|
8
|
+
const peopleRoot = "src/people";
|
|
9
|
+
const peopleFiles = [
|
|
10
|
+
path.join(peopleRoot, "b/BeauJerome"),
|
|
11
|
+
path.join(peopleRoot, "b/BeauJeromePierre"),
|
|
12
|
+
path.join(peopleRoot, "h/HynekJosefAllen"),
|
|
13
|
+
path.join(peopleRoot, "v/VonBraunWerner")
|
|
14
|
+
];
|
|
15
|
+
const service = new PeopleService(new AllDataService([]), rr0TestUtil.peopleFactory, peopleFiles);
|
|
16
|
+
test("age", async () => {
|
|
17
|
+
const [hynek] = await service.getFromDir("HynekJosefAllen");
|
|
18
|
+
expect(hynek.isDeceased()).toBe(false);
|
|
19
|
+
expect(hynek.getAge()).toBe(undefined);
|
|
20
|
+
hynek.birthTime = new Date("1910-05-01");
|
|
21
|
+
expect(hynek.isDeceased()).toBe(false);
|
|
22
|
+
expect(hynek.isDeceased(new Date("2040"))).toBe(true);
|
|
23
|
+
expect(hynek.getAge(new Date("1972-08-12"))).toBe(62);
|
|
24
|
+
hynek.deathTime = new Date("1986-04-27");
|
|
25
|
+
expect(hynek.isDeceased()).toBe(true);
|
|
26
|
+
expect(hynek.getAge(new Date("1986-04-27"))).toBe(76);
|
|
27
|
+
expect(hynek.getAge(new Date("2020-04-27"))).toBe(76);
|
|
28
|
+
});
|
|
29
|
+
test("build url", () => {
|
|
30
|
+
expect(People.getUrl("Beau", ["Jérôme"])).toBe("people/b/BeauJerome");
|
|
31
|
+
expect(People.getUrl("Beau", ["Jérôme", "Pierre"])).toBe("people/b/BeauJeromePierre");
|
|
32
|
+
expect(People.getUrl("VonBraun", ["Werner"])).toBe("people/v/VonBraunWerner");
|
|
33
|
+
});
|
|
34
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Occupation } from "./Occupation.js";
|
|
2
2
|
import { People } from "./People.js";
|
|
3
3
|
import { HtmlRR0Context } from "../RR0Context.js";
|
|
4
|
-
import { DirectoryStep,
|
|
4
|
+
import { DirectoryStep, FileWriteConfig, OutputFunc } from "ssg-api";
|
|
5
5
|
import { PeopleService } from "./PeopleService.js";
|
|
6
6
|
import { CountryCode } from "../org/country/CountryCode.js";
|
|
7
7
|
export type PeopleFilter = (p: People) => boolean;
|
|
@@ -13,7 +13,7 @@ export declare class PeopleDirectoryStep extends DirectoryStep {
|
|
|
13
13
|
protected outputFunc: OutputFunc;
|
|
14
14
|
protected service: PeopleService;
|
|
15
15
|
protected filter: PeopleFilter;
|
|
16
|
-
constructor(name: string, rootDirs: string[], excludedDirs: string[], templateFileName: string, outputFunc: OutputFunc, config:
|
|
16
|
+
constructor(name: string, rootDirs: string[], excludedDirs: string[], templateFileName: string, outputFunc: OutputFunc, config: FileWriteConfig, service: PeopleService, filter?: PeopleFilter);
|
|
17
17
|
protected processDirs(context: HtmlRR0Context, dirNames: string[]): Promise<void>;
|
|
18
18
|
protected toList(context: HtmlRR0Context, peopleList: People[], pseudoPeopleList: People[], allCountries: Set<CountryCode>, occupations: Set<Occupation>): HTMLUListElement;
|
|
19
19
|
protected toListItem(context: HtmlRR0Context, people: People, pseudoPeopleList: People[], allCountries: Set<CountryCode>, occupations: Set<Occupation>): HTMLLIElement;
|
|
@@ -1,25 +1,38 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FileWriteConfig, OutputFunc } from "ssg-api";
|
|
2
2
|
import { PeopleService } from "./PeopleService.js";
|
|
3
3
|
import { PeopleDirectoryStep } from "./PeopleDirectoryStep.js";
|
|
4
|
+
export type PeopleDirectoryStepOptions = {
|
|
5
|
+
root: string;
|
|
6
|
+
scientists?: string;
|
|
7
|
+
ufologists?: string;
|
|
8
|
+
ufoWitnesses?: string;
|
|
9
|
+
astronomers?: string;
|
|
10
|
+
contactees?: string;
|
|
11
|
+
pilots?: string;
|
|
12
|
+
military?: string;
|
|
13
|
+
softwareEngineers?: string;
|
|
14
|
+
politicians?: string;
|
|
15
|
+
rulers?: string;
|
|
16
|
+
};
|
|
4
17
|
/**
|
|
5
18
|
* Scan directories for people information, then populates a template with collected data.
|
|
6
19
|
*/
|
|
7
20
|
export declare class PeopleDirectoryStepFactory {
|
|
8
21
|
protected outputFunc: OutputFunc;
|
|
9
|
-
protected config:
|
|
22
|
+
protected config: FileWriteConfig;
|
|
10
23
|
protected service: PeopleService;
|
|
11
24
|
protected excludedDirs: string[];
|
|
12
|
-
constructor(outputFunc: OutputFunc, config:
|
|
13
|
-
create(): Promise<PeopleDirectoryStep[]>;
|
|
25
|
+
constructor(outputFunc: OutputFunc, config: FileWriteConfig, service: PeopleService, excludedDirs: string[]);
|
|
26
|
+
create(options: PeopleDirectoryStepOptions): Promise<PeopleDirectoryStep[]>;
|
|
14
27
|
createLetters(): Promise<PeopleDirectoryStep[]>;
|
|
15
|
-
createAll(dirs: string[]): PeopleDirectoryStep;
|
|
16
|
-
createMilitary(dirs: string[]): PeopleDirectoryStep;
|
|
17
|
-
|
|
18
|
-
createSoftwareEngineers(dirs: string[]): PeopleDirectoryStep;
|
|
19
|
-
createPilots(dirs: string[]): PeopleDirectoryStep;
|
|
20
|
-
createContactees(dirs: string[]): PeopleDirectoryStep;
|
|
21
|
-
createAstronomers(dirs: string[]): PeopleDirectoryStep;
|
|
22
|
-
|
|
23
|
-
createUfologists(dirs: string[]): PeopleDirectoryStep;
|
|
24
|
-
createScientists(dirs: string[]): PeopleDirectoryStep;
|
|
28
|
+
createAll(dirs: string[], templateFileName: string): PeopleDirectoryStep;
|
|
29
|
+
createMilitary(dirs: string[], templateFileName: string): PeopleDirectoryStep;
|
|
30
|
+
createPoliticians(dirs: string[], templateFileName: string, rulersTemplateFileName?: string): PeopleDirectoryStep[];
|
|
31
|
+
createSoftwareEngineers(dirs: string[], templateFileName: string): PeopleDirectoryStep;
|
|
32
|
+
createPilots(dirs: string[], templateFileName: string): PeopleDirectoryStep;
|
|
33
|
+
createContactees(dirs: string[], templateFileName: string): PeopleDirectoryStep;
|
|
34
|
+
createAstronomers(dirs: string[], templateFileName: string): PeopleDirectoryStep;
|
|
35
|
+
createUfoWitnesses(dirs: string[], templateFileName: string): PeopleDirectoryStep;
|
|
36
|
+
createUfologists(dirs: string[], templateFileName: string): PeopleDirectoryStep;
|
|
37
|
+
createScientists(dirs: string[], templateFileName: string): PeopleDirectoryStep;
|
|
25
38
|
}
|
|
@@ -7,38 +7,57 @@ import path from "path";
|
|
|
7
7
|
* Scan directories for people information, then populates a template with collected data.
|
|
8
8
|
*/
|
|
9
9
|
export class PeopleDirectoryStepFactory {
|
|
10
|
-
constructor(outputFunc, config, service, excludedDirs
|
|
10
|
+
constructor(outputFunc, config, service, excludedDirs) {
|
|
11
11
|
this.outputFunc = outputFunc;
|
|
12
12
|
this.config = config;
|
|
13
13
|
this.service = service;
|
|
14
14
|
this.excludedDirs = excludedDirs;
|
|
15
15
|
}
|
|
16
|
-
async create() {
|
|
16
|
+
async create(options) {
|
|
17
17
|
const dirs = RR0FileUtil.findDirectoriesContaining("people*.json", "out");
|
|
18
|
-
const
|
|
19
|
-
const ufologistsDirectoryStep = this.createUfologists(dirs);
|
|
20
|
-
const ufoWitnessesDirectoryStep = this.createWitnesses(dirs);
|
|
21
|
-
const astronomersDirectoryStep = this.createAstronomers(dirs);
|
|
22
|
-
const contacteesDirectoryStep = this.createContactees(dirs);
|
|
23
|
-
const pilotsDirectoryStep = this.createPilots(dirs);
|
|
24
|
-
const militaryDirectoryStep = this.createMilitary(dirs);
|
|
25
|
-
const politiciansDirectoryStep = this.createPolicitians(dirs);
|
|
26
|
-
const softwareEngineersDirectoryStep = this.createSoftwareEngineers(dirs);
|
|
27
|
-
const allPeopleDirectoryStep = this.createAll(dirs);
|
|
18
|
+
const allPeopleDirectoryStep = this.createAll(dirs, options.root);
|
|
28
19
|
const letterDirectorySteps = await this.createLetters();
|
|
29
|
-
|
|
30
|
-
scientistsDirectoryStep,
|
|
31
|
-
ufologistsDirectoryStep,
|
|
32
|
-
ufoWitnessesDirectoryStep,
|
|
33
|
-
astronomersDirectoryStep,
|
|
34
|
-
contacteesDirectoryStep,
|
|
35
|
-
pilotsDirectoryStep,
|
|
36
|
-
militaryDirectoryStep,
|
|
37
|
-
softwareEngineersDirectoryStep,
|
|
38
|
-
...politiciansDirectoryStep,
|
|
20
|
+
const steps = [
|
|
39
21
|
allPeopleDirectoryStep,
|
|
40
22
|
...letterDirectorySteps
|
|
41
23
|
];
|
|
24
|
+
const scientists = options.scientists;
|
|
25
|
+
if (scientists) {
|
|
26
|
+
steps.push(this.createScientists(dirs, scientists));
|
|
27
|
+
}
|
|
28
|
+
const ufologists = options.ufologists;
|
|
29
|
+
if (ufologists) {
|
|
30
|
+
steps.push(this.createUfologists(dirs, ufologists));
|
|
31
|
+
}
|
|
32
|
+
const ufoWitnesses = options.ufoWitnesses;
|
|
33
|
+
if (ufoWitnesses) {
|
|
34
|
+
steps.push(this.createUfoWitnesses(dirs, ufoWitnesses));
|
|
35
|
+
}
|
|
36
|
+
const astronomers = options.astronomers;
|
|
37
|
+
if (astronomers) {
|
|
38
|
+
steps.push(this.createAstronomers(dirs, astronomers));
|
|
39
|
+
}
|
|
40
|
+
const contactees = options.contactees;
|
|
41
|
+
if (contactees) {
|
|
42
|
+
steps.push(this.createContactees(dirs, contactees));
|
|
43
|
+
}
|
|
44
|
+
const pilots = options.pilots;
|
|
45
|
+
if (pilots) {
|
|
46
|
+
steps.push(this.createPilots(dirs, pilots));
|
|
47
|
+
}
|
|
48
|
+
const military = options.military;
|
|
49
|
+
if (military) {
|
|
50
|
+
steps.push(this.createMilitary(dirs, military));
|
|
51
|
+
}
|
|
52
|
+
const softwareEngineers = options.softwareEngineers;
|
|
53
|
+
if (softwareEngineers) {
|
|
54
|
+
steps.push(this.createSoftwareEngineers(dirs, softwareEngineers));
|
|
55
|
+
}
|
|
56
|
+
const politicians = options.politicians;
|
|
57
|
+
if (politicians) {
|
|
58
|
+
steps.push(...this.createPoliticians(dirs, politicians, options.rulers));
|
|
59
|
+
}
|
|
60
|
+
return steps;
|
|
42
61
|
}
|
|
43
62
|
async createLetters() {
|
|
44
63
|
const letterDirs = await glob("people/*/");
|
|
@@ -52,38 +71,41 @@ export class PeopleDirectoryStepFactory {
|
|
|
52
71
|
}
|
|
53
72
|
return letterDirectorySteps;
|
|
54
73
|
}
|
|
55
|
-
createAll(dirs) {
|
|
56
|
-
return new PeopleDirectoryStep("all people directories", dirs, this.excludedDirs,
|
|
74
|
+
createAll(dirs, templateFileName) {
|
|
75
|
+
return new PeopleDirectoryStep("all people directories", dirs, this.excludedDirs, templateFileName, this.outputFunc, this.config, this.service);
|
|
57
76
|
}
|
|
58
|
-
createMilitary(dirs) {
|
|
59
|
-
return new PeopleDirectoryStep("military people directories", dirs, this.excludedDirs,
|
|
77
|
+
createMilitary(dirs, templateFileName) {
|
|
78
|
+
return new PeopleDirectoryStep("military people directories", dirs, this.excludedDirs, templateFileName, this.outputFunc, this.config, this.service, peopleOccupationFilter([Occupation.military]));
|
|
60
79
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
new PeopleDirectoryStep("politicians directories", dirs, this.excludedDirs,
|
|
64
|
-
new PeopleDirectoryStep("politician leaders directories", dirs, this.excludedDirs, "people/dirigeants.html", this.outputFunc, this.config, this.service, peopleOccupationFilter([Occupation.leader]))
|
|
80
|
+
createPoliticians(dirs, templateFileName, rulersTemplateFileName) {
|
|
81
|
+
const steps = [
|
|
82
|
+
new PeopleDirectoryStep("politicians directories", dirs, this.excludedDirs, templateFileName, this.outputFunc, this.config, this.service, peopleOccupationFilter([Occupation.politician]))
|
|
65
83
|
];
|
|
84
|
+
if (rulersTemplateFileName) {
|
|
85
|
+
steps.push(new PeopleDirectoryStep("politician leaders directories", dirs, this.excludedDirs, rulersTemplateFileName, this.outputFunc, this.config, this.service, peopleOccupationFilter([Occupation.leader])));
|
|
86
|
+
}
|
|
87
|
+
return steps;
|
|
66
88
|
}
|
|
67
|
-
createSoftwareEngineers(dirs) {
|
|
68
|
-
return new PeopleDirectoryStep("software engineers directories", dirs, this.excludedDirs,
|
|
89
|
+
createSoftwareEngineers(dirs, templateFileName) {
|
|
90
|
+
return new PeopleDirectoryStep("software engineers directories", dirs, this.excludedDirs, templateFileName, this.outputFunc, this.config, this.service, peopleOccupationFilter([Occupation.softwareEngineer]));
|
|
69
91
|
}
|
|
70
|
-
createPilots(dirs) {
|
|
71
|
-
return new PeopleDirectoryStep("pilots directories", dirs, this.excludedDirs,
|
|
92
|
+
createPilots(dirs, templateFileName) {
|
|
93
|
+
return new PeopleDirectoryStep("pilots directories", dirs, this.excludedDirs, templateFileName, this.outputFunc, this.config, this.service, peopleOccupationFilter([Occupation.astronaut, Occupation.pilot]));
|
|
72
94
|
}
|
|
73
|
-
createContactees(dirs) {
|
|
74
|
-
return new PeopleDirectoryStep("contactees directories", dirs, this.excludedDirs,
|
|
95
|
+
createContactees(dirs, templateFileName) {
|
|
96
|
+
return new PeopleDirectoryStep("contactees directories", dirs, this.excludedDirs, templateFileName, this.outputFunc, this.config, this.service, peopleOccupationFilter([Occupation.contactee]));
|
|
75
97
|
}
|
|
76
|
-
createAstronomers(dirs) {
|
|
77
|
-
return new PeopleDirectoryStep("astronomers directories", dirs, this.excludedDirs,
|
|
98
|
+
createAstronomers(dirs, templateFileName) {
|
|
99
|
+
return new PeopleDirectoryStep("astronomers directories", dirs, this.excludedDirs, templateFileName, this.outputFunc, this.config, this.service, peopleOccupationFilter([Occupation.astronomer]));
|
|
78
100
|
}
|
|
79
|
-
|
|
80
|
-
return new PeopleDirectoryStep(`UFO witnesses directories`, dirs, this.excludedDirs,
|
|
101
|
+
createUfoWitnesses(dirs, templateFileName) {
|
|
102
|
+
return new PeopleDirectoryStep(`UFO witnesses directories`, dirs, this.excludedDirs, templateFileName, this.outputFunc, this.config, this.service, peopleOccupationFilter([Occupation.ufoWitness, Occupation.ufoWitness2, Occupation.abductee, Occupation.contactee]));
|
|
81
103
|
}
|
|
82
|
-
createUfologists(dirs) {
|
|
83
|
-
return new PeopleDirectoryStep("ufologists directories", dirs, this.excludedDirs,
|
|
104
|
+
createUfologists(dirs, templateFileName) {
|
|
105
|
+
return new PeopleDirectoryStep("ufologists directories", dirs, this.excludedDirs, templateFileName, this.outputFunc, this.config, this.service, peopleOccupationFilter([Occupation.ufologist]));
|
|
84
106
|
}
|
|
85
|
-
createScientists(dirs) {
|
|
86
|
-
return new PeopleDirectoryStep("scientists directories", dirs, this.excludedDirs,
|
|
107
|
+
createScientists(dirs, templateFileName) {
|
|
108
|
+
return new PeopleDirectoryStep("scientists directories", dirs, this.excludedDirs, templateFileName, this.outputFunc, this.config, this.service, peopleOccupationFilter([
|
|
87
109
|
Occupation.anthropologist, Occupation.astronomer, Occupation.astrophysicist, Occupation.archeologist,
|
|
88
110
|
Occupation.biochemist, Occupation.biologist, Occupation.biophysicist, Occupation.botanist,
|
|
89
111
|
Occupation.chemist,
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { People } from "./People.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 PeopleFactory extends TypedDataFactory<People> {
|
|
5
4
|
constructor(eventFactory: RR0EventFactory);
|
|
6
5
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { People } from "./People.js";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import { StringUtil } from "../util/index.js";
|
|
4
|
-
import { TypedDataFactory } from "
|
|
4
|
+
import { TypedDataFactory } from "@rr0/data";
|
|
5
5
|
export class PeopleFactory extends TypedDataFactory {
|
|
6
6
|
constructor(eventFactory) {
|
|
7
7
|
super(eventFactory, "people");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { PeopleService } from "./PeopleService.js";
|
|
2
|
+
import { People } from "./People.js";
|
|
3
|
+
import { describe, expect, test } from "@javarome/testscript";
|
|
4
|
+
import { rr0TestUtil } from "../test/index.js";
|
|
5
|
+
import path from "path";
|
|
6
|
+
describe("PeopleFactory", () => {
|
|
7
|
+
const dataService = rr0TestUtil.dataService;
|
|
8
|
+
const peopleRoot = "src/people";
|
|
9
|
+
const peopleFiles = [
|
|
10
|
+
path.join(peopleRoot, "a/Aristote"),
|
|
11
|
+
path.join(peopleRoot, "b/BeauJerome"),
|
|
12
|
+
path.join(peopleRoot, "b/BeauJeromePierre"),
|
|
13
|
+
path.join(peopleRoot, "c/CondonEdwardU"),
|
|
14
|
+
path.join(peopleRoot, "h/HynekJosefAllen"),
|
|
15
|
+
path.join(peopleRoot, "v/VonBraunWerner")
|
|
16
|
+
];
|
|
17
|
+
const factory = new PeopleService(dataService, rr0TestUtil.peopleFactory, peopleFiles);
|
|
18
|
+
test("build people with one first name", () => {
|
|
19
|
+
expect(factory.createFromFullName("Jérôme Beau")).toEqual(new People(["Jérôme"], "Beau", [], [], [], false, undefined, undefined, undefined, "people/b/BeauJerome"));
|
|
20
|
+
});
|
|
21
|
+
test("build people with two first names", () => {
|
|
22
|
+
const people = factory.createFromFullName("Jérôme Pierre Beau");
|
|
23
|
+
expect(people.title).toBe("Beau, Jérôme Pierre");
|
|
24
|
+
expect(people.countries).toBe([]);
|
|
25
|
+
expect(people.lastName).toBe("Beau");
|
|
26
|
+
expect(people.firstNames).toBe(["Jérôme", "Pierre"]);
|
|
27
|
+
expect(people.hoax).toBe(false);
|
|
28
|
+
expect(people.discredited).toBe(false);
|
|
29
|
+
expect(people.dirName).toBe("people/b/BeauJeromePierre");
|
|
30
|
+
expect(people.occupations).toBe([]);
|
|
31
|
+
expect(people.pseudonyms).toBe([]);
|
|
32
|
+
});
|
|
33
|
+
test("build people with two last names", () => {
|
|
34
|
+
const people = factory.createFromFullName("Werner VonBraun");
|
|
35
|
+
expect(people.title).toBe("Von Braun, Werner");
|
|
36
|
+
expect(people.countries).toBe([]);
|
|
37
|
+
expect(people.lastName).toBe("VonBraun");
|
|
38
|
+
expect(people.firstNames).toBe(["Werner"]);
|
|
39
|
+
expect(people.hoax).toBe(false);
|
|
40
|
+
expect(people.discredited).toBe(false);
|
|
41
|
+
expect(people.dirName).toBe("people/v/VonBraunWerner");
|
|
42
|
+
expect(people.occupations).toBe([]);
|
|
43
|
+
expect(people.pseudonyms).toBe([]);
|
|
44
|
+
});
|
|
45
|
+
test("build people with one initial first names", () => {
|
|
46
|
+
const people = factory.createFromFullName("Edward U. Condon");
|
|
47
|
+
expect(people.title).toBe("Condon, Edward U.");
|
|
48
|
+
expect(people.countries).toBe([]);
|
|
49
|
+
expect(people.lastName).toBe("Condon");
|
|
50
|
+
expect(people.firstNames).toBe(["Edward", "U."]);
|
|
51
|
+
expect(people.hoax).toBe(false);
|
|
52
|
+
expect(people.discredited).toBe(false);
|
|
53
|
+
expect(people.dirName).toBe("people/c/CondonEdwardU");
|
|
54
|
+
expect(people.occupations).toBe([]);
|
|
55
|
+
expect(people.pseudonyms).toBe([]);
|
|
56
|
+
});
|
|
57
|
+
test("build people with last name first", () => {
|
|
58
|
+
const people = factory.createFromFullName("Hynek, Josef Allen");
|
|
59
|
+
expect(people.title).toBe("Hynek, Josef Allen");
|
|
60
|
+
expect(people.countries).toBe([]);
|
|
61
|
+
expect(people.lastName).toBe("Hynek");
|
|
62
|
+
expect(people.firstNames).toBe(["Josef", "Allen"]);
|
|
63
|
+
expect(people.hoax).toBe(false);
|
|
64
|
+
expect(people.discredited).toBe(false);
|
|
65
|
+
expect(people.dirName).toBe("people/h/HynekJosefAllen");
|
|
66
|
+
expect(people.occupations).toBe([]);
|
|
67
|
+
expect(people.pseudonyms).toBe([]);
|
|
68
|
+
});
|
|
69
|
+
test("Single name", () => {
|
|
70
|
+
const people = factory.createFromFullName("Aristote");
|
|
71
|
+
expect(people.title).toBe("Aristote");
|
|
72
|
+
expect(people.countries).toBe([]);
|
|
73
|
+
expect(people.lastName).toBe("Aristote");
|
|
74
|
+
expect(people.firstNames).toBe([]);
|
|
75
|
+
expect(people.hoax).toBe(false);
|
|
76
|
+
expect(people.discredited).toBe(false);
|
|
77
|
+
expect(people.dirName).toBe("people/a/Aristote");
|
|
78
|
+
expect(people.occupations).toBe([]);
|
|
79
|
+
expect(people.pseudonyms).toBe([]);
|
|
80
|
+
});
|
|
81
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PeopleReplacerFactory } from "./PeopleReplacerFactory.js";
|
|
2
|
+
import { rr0TestUtil } from "../test/index.js";
|
|
3
|
+
import { ClassDomReplaceCommand } from "ssg-api";
|
|
4
|
+
import { describe, expect, test } from "@javarome/testscript";
|
|
5
|
+
import { PeopleService } from "./PeopleService.js";
|
|
6
|
+
import path from "path";
|
|
7
|
+
describe("ClassDomReplaceCommand", () => {
|
|
8
|
+
test("replaces", async () => {
|
|
9
|
+
const peopleRoot = "src/people";
|
|
10
|
+
const peopleFiles = [path.join(peopleRoot, "b/BeauJerome")];
|
|
11
|
+
const peopleService = new PeopleService(rr0TestUtil.dataService, rr0TestUtil.peopleFactory, peopleFiles);
|
|
12
|
+
const command = new ClassDomReplaceCommand(new PeopleReplacerFactory(peopleService), "people");
|
|
13
|
+
const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08/index.html", `<span class="people">Jérôme Beau</span>`);
|
|
14
|
+
await command.execute(context);
|
|
15
|
+
expect(context.file.contents).toBe(`<html><head></head><body><span title="1972-, 50 ans, France, ufologue, Informaticien" class="country-fr occupation-ufologist occupation-softwareEngineer" translate="no"><a href="/src/people/b/BeauJerome/">Jérôme Beau</a></span></body></html>`);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { PeopleReplacer } from "./PeopleReplacer.js";
|
|
2
|
+
import { rr0TestUtil } from "../test/index.js";
|
|
3
|
+
import { PeopleService } from "./PeopleService.js";
|
|
4
|
+
import { describe, expect, test } from "@javarome/testscript";
|
|
5
|
+
import { PeopleFactory } from "./PeopleFactory.js";
|
|
6
|
+
import path from "path";
|
|
7
|
+
import { AllDataService, RR0EventFactory } from "@rr0/data";
|
|
8
|
+
describe("PeopleReplacer", () => {
|
|
9
|
+
const peopleRoot = "src/people";
|
|
10
|
+
const peopleFiles = [
|
|
11
|
+
path.join(peopleRoot, "b/BeauJerome"),
|
|
12
|
+
path.join(peopleRoot, "h/HynekJosefAllen")
|
|
13
|
+
];
|
|
14
|
+
const peopleFactory = new PeopleFactory(new RR0EventFactory());
|
|
15
|
+
function createPeopleElement(context, content, title) {
|
|
16
|
+
const peopleElement = context.file.document.createElement("span");
|
|
17
|
+
peopleElement.textContent = content;
|
|
18
|
+
if (title) {
|
|
19
|
+
peopleElement.title = title;
|
|
20
|
+
}
|
|
21
|
+
return peopleElement;
|
|
22
|
+
}
|
|
23
|
+
test("ignore brackets", async () => {
|
|
24
|
+
const dataService = new AllDataService([peopleFactory]);
|
|
25
|
+
const replacer = new PeopleReplacer(new PeopleService(dataService, peopleFactory, peopleFiles));
|
|
26
|
+
const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
|
|
27
|
+
{
|
|
28
|
+
const lastnameFirstElement = createPeopleElement(context, "Hynek, Josef Allen (Northwestern University, Evanston, Illinois)");
|
|
29
|
+
const replacement = await replacer.replacement(context, lastnameFirstElement);
|
|
30
|
+
expect(replacement.outerHTML).toBe(`<span title="1910-1986, 76 ans, USA, ufologue, astronome" class="deceased country-us occupation-ufologist occupation-astronomer" translate="no"><a href="/src/people/h/HynekJosefAllen/">Hynek, Josef Allen (Northwestern University, Evanston, Illinois)</a></span>`);
|
|
31
|
+
}
|
|
32
|
+
{
|
|
33
|
+
const firstnameFirstElement = createPeopleElement(context, "Josef Allen Hynek (Northwestern University, Evanston, Illinois)");
|
|
34
|
+
const replacement = await replacer.replacement(context, firstnameFirstElement);
|
|
35
|
+
expect(replacement.outerHTML).toBe(`<span title="1910-1986, 76 ans, USA, ufologue, astronome" class="deceased country-us occupation-ufologist occupation-astronomer" translate="no"><a href="/src/people/h/HynekJosefAllen/">Josef Allen Hynek (Northwestern University, Evanston, Illinois)</a></span>`);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
test("replace people tags", async () => {
|
|
39
|
+
const dataService = new AllDataService([peopleFactory]);
|
|
40
|
+
const replacer = new PeopleReplacer(new PeopleService(dataService, peopleFactory, peopleFiles));
|
|
41
|
+
const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
|
|
42
|
+
{
|
|
43
|
+
const peopleWithTitle = createPeopleElement(context, "Ronald Reagan", "Ronald Wilson Reagan");
|
|
44
|
+
let replacement = await replacer.replacement(context, peopleWithTitle);
|
|
45
|
+
expect(replacement.outerHTML).toBe(`<span translate="no"><a href="/src/people/r/ReaganRonald/">Ronald Reagan</a></span>`);
|
|
46
|
+
}
|
|
47
|
+
{
|
|
48
|
+
const peopleWithFullName = createPeopleElement(context, "Jérôme Beau");
|
|
49
|
+
let replacement = await replacer.replacement(context, peopleWithFullName);
|
|
50
|
+
expect(replacement.outerHTML).toBe(`<span title="1972-, 50 ans, France, ufologue, Informaticien" class="country-fr occupation-ufologist occupation-softwareEngineer" translate="no"><a href="/src/people/b/BeauJerome/">Jérôme Beau</a></span>`);
|
|
51
|
+
}
|
|
52
|
+
{
|
|
53
|
+
const peopleWithLastName = createPeopleElement(context, "Beau");
|
|
54
|
+
let replacement = await replacer.replacement(context, peopleWithLastName);
|
|
55
|
+
expect(replacement.outerHTML).toBe(`<span title="1972-, 50 ans, France, ufologue, Informaticien" class="country-fr occupation-ufologist occupation-softwareEngineer" translate="no" title="Jérôme Beau"><a href="/src/people/b/BeauJerome/" title="Jérôme Beau">Beau</a></span>`);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { People } from "./People.js";
|
|
2
2
|
import { HtmlRR0Context } from "../RR0Context.js";
|
|
3
|
-
import { AbstractDataService, AllDataService } from "../data/index.js";
|
|
4
3
|
import { CountryCode } from "../org/index.js";
|
|
5
4
|
import { Occupation } from "./Occupation.js";
|
|
6
5
|
import { PeopleFactory } from "./PeopleFactory.js";
|
|
6
|
+
import { AbstractDataService, AllDataService } from "@rr0/data";
|
|
7
7
|
export declare class PeopleService extends AbstractDataService<People> {
|
|
8
8
|
protected peopleFactory: PeopleFactory;
|
|
9
9
|
readonly cache: Map<string, People>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { People } from "./People.js";
|
|
2
2
|
import path from "path";
|
|
3
|
-
import { AbstractDataFactory, AbstractDataService } from "../data/index.js";
|
|
4
3
|
import { Time } from "../time/Time.js";
|
|
5
4
|
import { Gender } from "@rr0/common";
|
|
5
|
+
import { AbstractDataFactory, AbstractDataService } from "@rr0/data";
|
|
6
6
|
export class PeopleService extends AbstractDataService {
|
|
7
7
|
constructor(dataService, peopleFactory, files) {
|
|
8
8
|
super(dataService, peopleFactory, files);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { AuthorReplaceCommand } from "./AuthorReplaceCommand.js";
|
|
2
|
+
import { rr0TestUtil } from "../../test/index.js";
|
|
3
|
+
import { describe, expect, test } from "@javarome/testscript";
|
|
4
|
+
import { RelativeTimeTextBuilder } from "../../time/index.js";
|
|
5
|
+
describe("AuthorReplaceCommand", async () => {
|
|
6
|
+
const timeTextBuilder = rr0TestUtil.time.timeTextBuilder;
|
|
7
|
+
const relativeTimeTextBuilder = new RelativeTimeTextBuilder(timeTextBuilder);
|
|
8
|
+
const timeService = await rr0TestUtil.time.getService();
|
|
9
|
+
test("no author", async () => {
|
|
10
|
+
const timeFile = rr0TestUtil.time.filePath("1/9/5/4/index.html");
|
|
11
|
+
const command = new AuthorReplaceCommand(timeService);
|
|
12
|
+
const context = rr0TestUtil.newHtmlContext(timeFile, `This is published by <!--#echo var="author" -->!`);
|
|
13
|
+
await command.execute(context);
|
|
14
|
+
expect(context.file.meta.author).toEqual([]);
|
|
15
|
+
expect(context.file.contents).toBe("This is published by !");
|
|
16
|
+
});
|
|
17
|
+
test("author only", async () => {
|
|
18
|
+
const timeFile = rr0TestUtil.time.filePath("1/9/5/4/10/index.html");
|
|
19
|
+
const command = new AuthorReplaceCommand(timeService);
|
|
20
|
+
const context = rr0TestUtil.newHtmlContext(timeFile, `This is published by <!--#echo var="author" -->!`);
|
|
21
|
+
context.file.meta.author.push("Beau, Jérôme");
|
|
22
|
+
const time = relativeTimeTextBuilder.build(undefined, context);
|
|
23
|
+
await command.execute(context);
|
|
24
|
+
expect(context.file.meta.author).toEqual(["Beau, Jérôme"]);
|
|
25
|
+
expect(context.file.contents).toBe(`This is published by <div class="document-author"><span class="people">Beau, Jérôme</span>, <span class="time">${time}</span></div>!`);
|
|
26
|
+
});
|
|
27
|
+
test("copyright only", async () => {
|
|
28
|
+
const timeFile = rr0TestUtil.time.filePath("1/9/5/4/10/index.html");
|
|
29
|
+
const command = new AuthorReplaceCommand(timeService);
|
|
30
|
+
const context = rr0TestUtil.newHtmlContext(timeFile, `This is published by <!--#echo var="author" -->!`);
|
|
31
|
+
context.file.meta.copyright = "Some publication";
|
|
32
|
+
const time = relativeTimeTextBuilder.build(undefined, context);
|
|
33
|
+
await command.execute(context);
|
|
34
|
+
expect(context.file.meta.author).toEqual([]);
|
|
35
|
+
expect(context.file.meta.copyright).toBe("Some publication");
|
|
36
|
+
expect(context.file.contents).toBe(`This is published by <div class="document-author">Some publication</div>, <span class="time">${time}</span></div>!`);
|
|
37
|
+
});
|
|
38
|
+
test("author with copyright", async () => {
|
|
39
|
+
const timeFile = rr0TestUtil.time.filePath("1/9/5/4/10/index.html");
|
|
40
|
+
const command = new AuthorReplaceCommand(timeService);
|
|
41
|
+
const context = rr0TestUtil.newHtmlContext(timeFile, `This is published by <!--#echo var="author" -->!`);
|
|
42
|
+
context.file.meta.author.push("Beau, Jérôme");
|
|
43
|
+
context.file.meta.copyright = "Some publication";
|
|
44
|
+
await command.execute(context);
|
|
45
|
+
expect(context.file.meta.author).toEqual(["Beau, Jérôme"]);
|
|
46
|
+
expect(context.file.meta.copyright).toBe("Some publication");
|
|
47
|
+
expect(context.file.contents).toBe(`This is published by <div class="document-author"><span class="people">Beau, Jérôme</span>: Some publication</div>!`);
|
|
48
|
+
});
|
|
49
|
+
});
|
package/dist/place/Place.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|