@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,30 @@
|
|
|
1
|
+
import { beforeEach, describe, test } from "@javarome/testscript";
|
|
2
|
+
import { rr0TestUtil } from "../../../test/index.js";
|
|
3
|
+
import { fuforaTestCases } from "./FuforaTestCases.js";
|
|
4
|
+
import { DatasourceTestCase } from "../DatasourceTestCase.js";
|
|
5
|
+
import { fuforaRR0Mapping } from "./FuforaRR0Mapping.js";
|
|
6
|
+
describe("FuforaCaseSource", () => {
|
|
7
|
+
const testCase = new class extends DatasourceTestCase {
|
|
8
|
+
constructor(mapping, sourceCases) {
|
|
9
|
+
super(mapping, sourceCases);
|
|
10
|
+
}
|
|
11
|
+
getTime(c) {
|
|
12
|
+
return c.dateTime;
|
|
13
|
+
}
|
|
14
|
+
sortComparator(c1, c2) {
|
|
15
|
+
return c1.id < c2.id ? -1 : c1.id > c2.id ? 1 : 0;
|
|
16
|
+
}
|
|
17
|
+
}(fuforaRR0Mapping, fuforaTestCases);
|
|
18
|
+
let context;
|
|
19
|
+
beforeEach(() => {
|
|
20
|
+
context = rr0TestUtil.time.newHtmlContext("1/9/7/0/11/index.html");
|
|
21
|
+
context.time.setYear(1970);
|
|
22
|
+
context.time.setMonth(11);
|
|
23
|
+
});
|
|
24
|
+
test("fetch", async () => {
|
|
25
|
+
await testCase.testFetch(context);
|
|
26
|
+
});
|
|
27
|
+
test("render", async () => {
|
|
28
|
+
await testCase.testRender(context);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { beforeEach, describe, test } from "@javarome/testscript";
|
|
2
|
+
import { rr0TestUtil } from "../../../test/index.js";
|
|
3
|
+
import { nuforcRR0Mapping } from "./NuforcRR0Mapping.js";
|
|
4
|
+
import { nuforcTestCases } from "./NuforcTestCases.js";
|
|
5
|
+
import { DatasourceTestCase } from "../DatasourceTestCase.js";
|
|
6
|
+
describe("NuforcCaseSource", () => {
|
|
7
|
+
const testCase = new class extends DatasourceTestCase {
|
|
8
|
+
constructor(mapping, sourceCases) {
|
|
9
|
+
super(mapping, sourceCases);
|
|
10
|
+
}
|
|
11
|
+
getTime(c) {
|
|
12
|
+
return c.time;
|
|
13
|
+
}
|
|
14
|
+
sortComparator(c1, c2) {
|
|
15
|
+
return c1.id < c2.id ? -1 : c1.id > c2.id ? 1 : 0;
|
|
16
|
+
}
|
|
17
|
+
}(nuforcRR0Mapping, nuforcTestCases);
|
|
18
|
+
let context;
|
|
19
|
+
beforeEach(() => {
|
|
20
|
+
context = rr0TestUtil.time.newHtmlContext("1/9/7/0/03/index.html");
|
|
21
|
+
context.time.setYear(1970);
|
|
22
|
+
context.time.setMonth(3);
|
|
23
|
+
});
|
|
24
|
+
test("fetch", async () => {
|
|
25
|
+
await testCase.testFetch(context);
|
|
26
|
+
});
|
|
27
|
+
test("render", async () => {
|
|
28
|
+
await testCase.testRender(context);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, test } from "@javarome/testscript";
|
|
2
|
+
import { rr0TestUtil } from "../../../test/index.js";
|
|
3
|
+
import { TimeContext } from "@rr0/time";
|
|
4
|
+
import { nuforcDatasource, nuforcRR0Mapper } from "./NuforcRR0Mapping.js";
|
|
5
|
+
import { nuforcTestCases } from "./NuforcTestCases.js";
|
|
6
|
+
import { castlegar } from "../../../org/ca/region/bc/rdck/Castlegar/Castlegar.js";
|
|
7
|
+
import { fortWorth } from "../../../org/us/region/tx/tarrant/fortworth/FortWorth.js";
|
|
8
|
+
import { campPendleton } from "../../../org/us/region/ca/sandiego/camppendleton/CampPendleton.js";
|
|
9
|
+
import { stPetersburg } from "../../../org/us/region/fl/pinellas/stpetersburg/StPetersburg.js";
|
|
10
|
+
import { monessen } from "../../../org/us/region/pa/westmoreland/monessen/Monessen.js";
|
|
11
|
+
import { bonneyLake } from "../../../org/us/region/wa/pierce/bonneylake/BonneyLake.js";
|
|
12
|
+
import { slocomb } from "../../../org/us/region/al/geneva/slocomb/Slocomb.js";
|
|
13
|
+
function expectedSource(datasource, dataDate, caseNumber) {
|
|
14
|
+
const url = new URL("sighting/?id=" + caseNumber, datasource.baseUrl).href;
|
|
15
|
+
return {
|
|
16
|
+
previousSourceRefs: [], events: [],
|
|
17
|
+
url, title: "cas n° " + caseNumber, authors: datasource.authors,
|
|
18
|
+
publication: { publisher: datasource.copyright, time: TimeContext.fromDate(dataDate) }
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
describe("NuforcRR0Mapper", () => {
|
|
22
|
+
let context;
|
|
23
|
+
beforeEach(() => {
|
|
24
|
+
context = rr0TestUtil.time.newHtmlContext("1/9/7/0/03/index.html");
|
|
25
|
+
context.time.setYear(1970);
|
|
26
|
+
context.time.setMonth(3);
|
|
27
|
+
});
|
|
28
|
+
test("fetch native cases", async () => {
|
|
29
|
+
const items = await nuforcDatasource.fetch(context);
|
|
30
|
+
expect(items).toEqual(nuforcTestCases);
|
|
31
|
+
});
|
|
32
|
+
test("fetch and map as RR0 cases", async () => {
|
|
33
|
+
const dataDate = new Date("2024-08-12 00:00:00 GMT+1");
|
|
34
|
+
const testCases = nuforcTestCases.sort((c1, c2) => c1.id < c2.id ? -1 : c1.id > c2.id ? 1 : 0);
|
|
35
|
+
const mapped = testCases.map(sourceCase => nuforcRR0Mapper.map(context, sourceCase, dataDate));
|
|
36
|
+
const nativeCase1 = testCases[0];
|
|
37
|
+
const nativeCase1Time = nativeCase1.time;
|
|
38
|
+
const nativeCase2 = testCases[1];
|
|
39
|
+
const nativeCase2Time = nativeCase2.time;
|
|
40
|
+
const nativeCase3 = testCases[2];
|
|
41
|
+
const nativeCase3Time = nativeCase3.time;
|
|
42
|
+
const nativeCase4 = testCases[3];
|
|
43
|
+
const nativeCase4Time = nativeCase4.time;
|
|
44
|
+
const nativeCase5 = testCases[4];
|
|
45
|
+
const nativeCase5Time = nativeCase5.time;
|
|
46
|
+
const nativeCase6 = testCases[5];
|
|
47
|
+
const nativeCase6Time = nativeCase6.time;
|
|
48
|
+
const nativeCase7 = testCases[6];
|
|
49
|
+
const nativeCase7Time = nativeCase7.time;
|
|
50
|
+
const expected = [
|
|
51
|
+
{
|
|
52
|
+
type: "sighting",
|
|
53
|
+
events: [],
|
|
54
|
+
time: new TimeContext(nativeCase1Time.getYear(), nativeCase1Time.getMonth(), nativeCase1Time.getDayOfMonth(), nativeCase1Time.getHour(), nativeCase1Time.getMinutes(), nativeCase1Time.getTimeZone()),
|
|
55
|
+
place: { name: slocomb.getMessages(context).title, place: slocomb.places[0] },
|
|
56
|
+
description: nuforcRR0Mapper.getDescription(nativeCase1),
|
|
57
|
+
sources: [expectedSource(nuforcDatasource, dataDate, nativeCase1.id)]
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
type: "sighting",
|
|
61
|
+
events: [],
|
|
62
|
+
time: new TimeContext(nativeCase2Time.getYear(), nativeCase2Time.getMonth(), nativeCase2Time.getDayOfMonth(), nativeCase2Time.getHour(), nativeCase2Time.getMinutes(), nativeCase2Time.getTimeZone()),
|
|
63
|
+
place: { name: castlegar.getMessages(context).title, place: castlegar.places[0] },
|
|
64
|
+
description: nuforcRR0Mapper.getDescription(nativeCase2),
|
|
65
|
+
sources: [expectedSource(nuforcDatasource, dataDate, nativeCase2.id)]
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
type: "sighting",
|
|
69
|
+
events: [],
|
|
70
|
+
time: new TimeContext(nativeCase3Time.getYear(), nativeCase3Time.getMonth(), nativeCase3Time.getDayOfMonth(), nativeCase3Time.getHour(), nativeCase3Time.getMinutes(), nativeCase3Time.getTimeZone()),
|
|
71
|
+
place: { name: fortWorth.getMessages(context).title, place: fortWorth.places[0] },
|
|
72
|
+
description: nuforcRR0Mapper.getDescription(nativeCase3),
|
|
73
|
+
sources: [expectedSource(nuforcDatasource, dataDate, nativeCase3.id)]
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: "sighting",
|
|
77
|
+
events: [],
|
|
78
|
+
time: new TimeContext(nativeCase4Time.getYear(), nativeCase4Time.getMonth(), nativeCase4Time.getDayOfMonth(), nativeCase4Time.getHour(), nativeCase4Time.getMinutes(), nativeCase4Time.getTimeZone()),
|
|
79
|
+
place: { name: campPendleton.getMessages(context).title, place: campPendleton.places[0] },
|
|
80
|
+
description: nuforcRR0Mapper.getDescription(nativeCase4),
|
|
81
|
+
sources: [expectedSource(nuforcDatasource, dataDate, nativeCase4.id)]
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
type: "sighting",
|
|
85
|
+
events: [],
|
|
86
|
+
time: new TimeContext(nativeCase5Time.getYear(), nativeCase5Time.getMonth(), nativeCase5Time.getDayOfMonth(), nativeCase5Time.getHour(), nativeCase5Time.getMinutes(), nativeCase5Time.getTimeZone()),
|
|
87
|
+
place: { name: stPetersburg.getMessages(context).title, place: stPetersburg.places[0] },
|
|
88
|
+
description: nuforcRR0Mapper.getDescription(nativeCase5),
|
|
89
|
+
sources: [expectedSource(nuforcDatasource, dataDate, nativeCase5.id)]
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
type: "sighting",
|
|
93
|
+
events: [],
|
|
94
|
+
time: new TimeContext(nativeCase6Time.getYear(), nativeCase6Time.getMonth(), nativeCase6Time.getDayOfMonth(), nativeCase6Time.getHour(), nativeCase6Time.getMinutes(), nativeCase6Time.getTimeZone()),
|
|
95
|
+
place: { name: monessen.getMessages(context).title, place: monessen.places[0] },
|
|
96
|
+
description: nuforcRR0Mapper.getDescription(nativeCase6),
|
|
97
|
+
sources: [expectedSource(nuforcDatasource, dataDate, nativeCase6.id)]
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
type: "sighting",
|
|
101
|
+
events: [],
|
|
102
|
+
time: new TimeContext(nativeCase7Time.getYear(), nativeCase7Time.getMonth(), nativeCase7Time.getDayOfMonth(), nativeCase7Time.getHour(), nativeCase7Time.getMinutes(), nativeCase7Time.getTimeZone()),
|
|
103
|
+
place: { name: bonneyLake.getMessages(context).title, place: bonneyLake.places[0] },
|
|
104
|
+
description: nuforcRR0Mapper.getDescription(nativeCase7),
|
|
105
|
+
sources: [expectedSource(nuforcDatasource, dataDate, nativeCase7.id)]
|
|
106
|
+
}
|
|
107
|
+
];
|
|
108
|
+
expect(mapped).toEqual(expected);
|
|
109
|
+
});
|
|
110
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { HtmlRR0Context } from "../../../RR0Context.js";
|
|
2
|
+
import { RR0CaseSummary } from "./RR0CaseSummary.js";
|
|
3
|
+
import { RR0CaseMapping } from "./RR0CaseMapping.js";
|
|
4
|
+
import { RR0Datasource } from "./RR0Datasource.js";
|
|
5
|
+
import { Datasource } from "../Datasource.js";
|
|
6
|
+
import { ChronologyReplacerActions } from "../ChronologyReplacerActions.js";
|
|
7
|
+
import { TimeTextBuilder } from "../../text/TimeTextBuilder.js";
|
|
8
|
+
export declare class RR0TestDatasource extends RR0Datasource implements Datasource<RR0CaseSummary> {
|
|
9
|
+
timeTextBuilder: TimeTextBuilder;
|
|
10
|
+
constructor();
|
|
11
|
+
protected readCases(_context: HtmlRR0Context): Promise<RR0CaseSummary[]>;
|
|
12
|
+
}
|
|
13
|
+
export declare class RR0TestMapping implements RR0CaseMapping<RR0CaseSummary> {
|
|
14
|
+
readonly actions: ChronologyReplacerActions;
|
|
15
|
+
readonly datasource: RR0TestDatasource;
|
|
16
|
+
readonly backupDatasource: import("./RR0FileDatasource.js").RR0FileDatasource;
|
|
17
|
+
readonly mapper: import("./RR0CaseSummaryMapper.js").RR0CaseSummaryMapper;
|
|
18
|
+
constructor(actions: ChronologyReplacerActions);
|
|
19
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { beforeEach, describe, test } from "@javarome/testscript";
|
|
2
|
+
import { rr0TestUtil } from "../../../test/index.js";
|
|
3
|
+
import { rr0TestCases } from "./RR0TestCases.js";
|
|
4
|
+
import { DatasourceTestCase } from "../DatasourceTestCase.js";
|
|
5
|
+
import { rr0FileDatasource, rr0Mapper } from "./RR0Mapping.js";
|
|
6
|
+
import { HtmlTag } from "../../../util/html/HtmlTag.js";
|
|
7
|
+
import { RR0Datasource } from "./RR0Datasource.js";
|
|
8
|
+
import { TimeTextBuilder } from "../../text/TimeTextBuilder.js";
|
|
9
|
+
export class RR0TestDatasource extends RR0Datasource {
|
|
10
|
+
constructor() {
|
|
11
|
+
super();
|
|
12
|
+
this.timeTextBuilder = new TimeTextBuilder(rr0TestUtil.intlOptions);
|
|
13
|
+
}
|
|
14
|
+
async readCases(_context) {
|
|
15
|
+
return rr0TestCases;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class RR0TestMapping {
|
|
19
|
+
constructor(actions) {
|
|
20
|
+
this.actions = actions;
|
|
21
|
+
this.datasource = new RR0TestDatasource();
|
|
22
|
+
this.backupDatasource = rr0FileDatasource;
|
|
23
|
+
this.mapper = rr0Mapper;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
describe("RR0CaseSource", () => {
|
|
27
|
+
const testCase = new class extends DatasourceTestCase {
|
|
28
|
+
constructor(mapping, sourceCases) {
|
|
29
|
+
super(mapping, sourceCases);
|
|
30
|
+
}
|
|
31
|
+
getTime(c) {
|
|
32
|
+
return c.time;
|
|
33
|
+
}
|
|
34
|
+
sortComparator(c1, c2) {
|
|
35
|
+
return !c1.time || c2.time && c1.time.isBefore(c2.time) ? -1 : !c2.time || c1.time.isAfter(c2.time) ? 1 : 0;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Specialization of sources for RR0 cases
|
|
39
|
+
*/
|
|
40
|
+
expectedSourceStr(context, expectedSources, _nativeCase) {
|
|
41
|
+
return expectedSources.map(source => {
|
|
42
|
+
const sourceItems = [];
|
|
43
|
+
let authorStr = source.authors.map(author => `<span class="people">${author}</span>`).join(" & ");
|
|
44
|
+
if (authorStr) {
|
|
45
|
+
authorStr += " : ";
|
|
46
|
+
}
|
|
47
|
+
if (source.title) {
|
|
48
|
+
sourceItems.push(source.title);
|
|
49
|
+
}
|
|
50
|
+
const publication = source.publication;
|
|
51
|
+
if (publication) {
|
|
52
|
+
if (publication.publisher) {
|
|
53
|
+
sourceItems.push(`<i>${publication.publisher}</i>`);
|
|
54
|
+
}
|
|
55
|
+
if (publication.time) {
|
|
56
|
+
const sourceContext = context.clone();
|
|
57
|
+
sourceContext.time = source.publication.time;
|
|
58
|
+
const timeStr = this.timeTextBuilder.build(sourceContext);
|
|
59
|
+
sourceItems.push(timeStr);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const index = source.index;
|
|
63
|
+
if (index) {
|
|
64
|
+
sourceItems.push(index);
|
|
65
|
+
}
|
|
66
|
+
return " " + HtmlTag.toString("span", authorStr + sourceItems.join(", "), { class: "source" });
|
|
67
|
+
}).join("");
|
|
68
|
+
}
|
|
69
|
+
}(new RR0TestMapping({ read: ["fetch"], write: [] }), rr0TestCases);
|
|
70
|
+
let context;
|
|
71
|
+
beforeEach(() => {
|
|
72
|
+
context = rr0TestUtil.time.newHtmlContext("1/9/7/0/03/index.html");
|
|
73
|
+
context.time.setYear(1970);
|
|
74
|
+
context.time.setMonth(3);
|
|
75
|
+
});
|
|
76
|
+
test("fetch", async () => {
|
|
77
|
+
await testCase.testFetch(context);
|
|
78
|
+
});
|
|
79
|
+
test("render", async () => {
|
|
80
|
+
await testCase.testRender(context);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
@@ -3,9 +3,9 @@ import { HttpSource } from "../HttpSource.js";
|
|
|
3
3
|
import { RR0Datasource } from "./RR0Datasource.js";
|
|
4
4
|
import { TimeContext } from "@rr0/time";
|
|
5
5
|
import { RR0CaseSummary } from "./RR0CaseSummary.js";
|
|
6
|
-
import { Source } from "../../../source/index.js";
|
|
7
6
|
import { CityService } from "../../../org/index.js";
|
|
8
7
|
import { NamedPlace } from "./NamedPlace";
|
|
8
|
+
import { Source } from "@rr0/data/dist/source";
|
|
9
9
|
export declare class RR0HttpDatasource extends RR0Datasource {
|
|
10
10
|
readonly baseUrl: URL;
|
|
11
11
|
readonly searchPath: string;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SceauCaseSummary } from "./SceauCaseSummary.js";
|
|
2
|
+
import { SceauCaseMapping } from "./SceauCaseMapping.js";
|
|
3
|
+
import { SceauDatasource } from "./SceauDatasource.js";
|
|
4
|
+
import { ChronologyReplacerActions } from "../ChronologyReplacerActions.js";
|
|
5
|
+
import { TimeTextBuilder } from "../../text/TimeTextBuilder.js";
|
|
6
|
+
import { HtmlRR0Context } from "../../../RR0Context.js";
|
|
7
|
+
export declare class SceauTestDatasource extends SceauDatasource {
|
|
8
|
+
timeTextBuilder: TimeTextBuilder;
|
|
9
|
+
constructor();
|
|
10
|
+
protected readCases(_context: HtmlRR0Context): Promise<SceauCaseSummary[]>;
|
|
11
|
+
}
|
|
12
|
+
export declare class SceauTestMapping implements SceauCaseMapping {
|
|
13
|
+
readonly actions: ChronologyReplacerActions;
|
|
14
|
+
readonly datasource: import("./SceauHttpDatasource.js").SceauHttpDatasource;
|
|
15
|
+
readonly mapper: import("./SceauCaseSummaryRR0Mapper.js").SceauCaseSummaryRR0Mapper;
|
|
16
|
+
constructor(actions: ChronologyReplacerActions);
|
|
17
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { beforeEach, describe, test } from "@javarome/testscript";
|
|
2
|
+
import { DatasourceTestCase } from "../DatasourceTestCase.js";
|
|
3
|
+
import { TimeContext } from "@rr0/time";
|
|
4
|
+
import { HtmlTag } from "../../../util/index.js";
|
|
5
|
+
import { SceauDatasource } from "./SceauDatasource.js";
|
|
6
|
+
import { TimeTextBuilder } from "../../text/TimeTextBuilder.js";
|
|
7
|
+
import { rr0TestUtil } from "../../../test/index.js";
|
|
8
|
+
import { sceauDatasource, sceauRR0Mapper } from "./SceauRR0Mapping.js";
|
|
9
|
+
import { sceauTestCases } from "./SceauTestCases.js";
|
|
10
|
+
export class SceauTestDatasource extends SceauDatasource {
|
|
11
|
+
constructor() {
|
|
12
|
+
super();
|
|
13
|
+
this.timeTextBuilder = new TimeTextBuilder(rr0TestUtil.intlOptions);
|
|
14
|
+
}
|
|
15
|
+
async readCases(_context) {
|
|
16
|
+
return sceauTestCases;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export class SceauTestMapping {
|
|
20
|
+
constructor(actions) {
|
|
21
|
+
this.actions = actions;
|
|
22
|
+
this.datasource = sceauDatasource; // new SceauTestDatasource()
|
|
23
|
+
this.mapper = sceauRR0Mapper;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
describe("SCEAUCaseSource", () => {
|
|
27
|
+
const testCase = new class extends DatasourceTestCase {
|
|
28
|
+
constructor(mapping, sourceCases) {
|
|
29
|
+
super(mapping, sourceCases);
|
|
30
|
+
}
|
|
31
|
+
getTime(c) {
|
|
32
|
+
return TimeContext.fromString(c.dateCas);
|
|
33
|
+
}
|
|
34
|
+
sortComparator(c1, c2) {
|
|
35
|
+
const c1Time = this.getTime(c1);
|
|
36
|
+
const c2time = this.getTime(c2);
|
|
37
|
+
return !c1Time || c2time && c1Time.isBefore(c2time) ? -1 : !c2time || c1Time.isAfter(c2time) ? 1 : 0;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Specialization of sources for SCEAU cases
|
|
41
|
+
*/
|
|
42
|
+
expectedSourceStr(context, expectedSources, _nativeCase) {
|
|
43
|
+
return expectedSources.map(source => {
|
|
44
|
+
const sourceItems = [];
|
|
45
|
+
let authorStr = source.authors.map(author => `<span class="people">${author}</span>`).join(" & ");
|
|
46
|
+
if (authorStr) {
|
|
47
|
+
authorStr += " : ";
|
|
48
|
+
}
|
|
49
|
+
if (source.title) {
|
|
50
|
+
sourceItems.push(source.title);
|
|
51
|
+
}
|
|
52
|
+
const publication = source.publication;
|
|
53
|
+
if (publication) {
|
|
54
|
+
if (publication.publisher) {
|
|
55
|
+
sourceItems.push(`<i>${publication.publisher}</i>`);
|
|
56
|
+
}
|
|
57
|
+
if (publication.time) {
|
|
58
|
+
const sourceContext = context.clone();
|
|
59
|
+
sourceContext.time = source.publication.time;
|
|
60
|
+
const timeStr = this.timeTextBuilder.build(sourceContext);
|
|
61
|
+
sourceItems.push(timeStr);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const index = source.index;
|
|
65
|
+
if (index) {
|
|
66
|
+
sourceItems.push(index);
|
|
67
|
+
}
|
|
68
|
+
return " " + HtmlTag.toString("span", authorStr + sourceItems.join(", "), { class: "source" });
|
|
69
|
+
}).join("");
|
|
70
|
+
}
|
|
71
|
+
}(new SceauTestMapping({ read: ["fetch"], write: [] }), sceauTestCases);
|
|
72
|
+
let context;
|
|
73
|
+
beforeEach(() => {
|
|
74
|
+
context = rr0TestUtil.time.newHtmlContext("1/9/7/0/03/index.html");
|
|
75
|
+
context.time.setYear(1970);
|
|
76
|
+
context.time.setMonth(3);
|
|
77
|
+
});
|
|
78
|
+
test("fetch", async () => {
|
|
79
|
+
await testCase.testFetch(context);
|
|
80
|
+
});
|
|
81
|
+
test("render", async () => {
|
|
82
|
+
await testCase.testRender(context);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
@@ -32,7 +32,7 @@ export class UfoSearchCaseRR0Mapper {
|
|
|
32
32
|
}
|
|
33
33
|
getPlace(context, placeName) {
|
|
34
34
|
const org = this.cityService.find(context, placeName, undefined);
|
|
35
|
-
assert.ok(org, `Could not find place "${placeName}"
|
|
35
|
+
assert.ok(org, `Could not find place "${placeName}"`);
|
|
36
36
|
return { name: org.getMessages(context).toTitle(context, org, { parent: true }), org, place: org.places[0] };
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { beforeEach, describe, test } from "@javarome/testscript";
|
|
2
|
+
import { rr0TestUtil } from "../../../test/index.js";
|
|
3
|
+
import { DatasourceTestCase } from "../DatasourceTestCase.js";
|
|
4
|
+
import { ufoSearchTestCases } from "./UfoSearchTestCases.js";
|
|
5
|
+
import { ufoSearchRR0Mapping } from "./UfoSearchMapping.js";
|
|
6
|
+
describe("UfoSearchCaseSource", () => {
|
|
7
|
+
const testCase = new class extends DatasourceTestCase {
|
|
8
|
+
constructor(mapping, sourceCases) {
|
|
9
|
+
super(mapping, sourceCases);
|
|
10
|
+
}
|
|
11
|
+
getTime(c) {
|
|
12
|
+
return c.time;
|
|
13
|
+
}
|
|
14
|
+
sortComparator(c1, c2) {
|
|
15
|
+
return c1.id < c2.id ? -1 : c1.id > c2.id ? 1 : 0;
|
|
16
|
+
}
|
|
17
|
+
}(ufoSearchRR0Mapping, ufoSearchTestCases);
|
|
18
|
+
let context;
|
|
19
|
+
beforeEach(() => {
|
|
20
|
+
context = rr0TestUtil.time.newHtmlContext("1/9/7/0/03/index.html");
|
|
21
|
+
context.time.setYear(1977);
|
|
22
|
+
context.time.setMonth(3);
|
|
23
|
+
});
|
|
24
|
+
test("fetch", async () => {
|
|
25
|
+
await testCase.testFetch(context);
|
|
26
|
+
});
|
|
27
|
+
test("render", async () => {
|
|
28
|
+
await testCase.testRender(context);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FileContents } from "ssg-api";
|
|
2
1
|
import { UfoSearchDatasource } from "./UfoSearchDatasource.js";
|
|
3
2
|
import { JsonMapper } from "../JsonMapper.js";
|
|
3
|
+
import { FileContents } from "@javarome/fileutil";
|
|
4
4
|
class FileMapper extends JsonMapper {
|
|
5
5
|
constructor(mapper) {
|
|
6
6
|
super();
|
|
@@ -8,7 +8,7 @@ class FileMapper extends JsonMapper {
|
|
|
8
8
|
}
|
|
9
9
|
parse(context, data) {
|
|
10
10
|
const allData = super.parse(context, data);
|
|
11
|
-
return allData["Majestic Timeline"].map(line => this.mapper.map(context, line, context.file.lastModified));
|
|
11
|
+
return allData["Majestic Timeline"].map((line) => this.mapper.map(context, line, context.file.lastModified));
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
export class UfoSearchFileDatasource extends UfoSearchDatasource {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, test } from "@javarome/testscript";
|
|
2
|
+
import { rr0TestUtil } from "../../../test/index.js";
|
|
3
|
+
import { urecatRR0Mapping } from "./UrecatRR0Mapping.js";
|
|
4
|
+
import { urecatTestCases } from "./UrecatTestCases.js";
|
|
5
|
+
import { DatasourceTestCase } from "../DatasourceTestCase.js";
|
|
6
|
+
describe("UrecatCaseSource", () => {
|
|
7
|
+
const testCase = new class extends DatasourceTestCase {
|
|
8
|
+
constructor(mapping, sourceCases) {
|
|
9
|
+
super(mapping, sourceCases);
|
|
10
|
+
}
|
|
11
|
+
getTime(c) {
|
|
12
|
+
return c.basicInfo.base.sightingDate;
|
|
13
|
+
}
|
|
14
|
+
sortComparator(c1, c2) {
|
|
15
|
+
return c1.url < c2.url ? -1 : c1.url > c2.url ? 1 : 0;
|
|
16
|
+
}
|
|
17
|
+
}(urecatRR0Mapping, urecatTestCases);
|
|
18
|
+
let context;
|
|
19
|
+
beforeEach(() => {
|
|
20
|
+
context = rr0TestUtil.time.newHtmlContext("1/9/7/7/03/index.html");
|
|
21
|
+
});
|
|
22
|
+
test("witnesses", () => {
|
|
23
|
+
const datasource = testCase.mapping.datasource;
|
|
24
|
+
expect(datasource.getWitnesses("")).toEqual([{ name: "" }]);
|
|
25
|
+
expect(datasource.getWitnesses("Scott C. Waring")).toEqual([{ name: "Scott C. Waring" }]);
|
|
26
|
+
expect(datasource.getWitnesses("Un couple anonyme")).toEqual([{ name: "Un couple anonyme" }]);
|
|
27
|
+
expect(datasource.getWitnesses("Quelqu'un")).toEqual([{ name: "Quelqu'un" }]);
|
|
28
|
+
expect(datasource.getWitnesses("Une femme")).toEqual([{ name: "Une femme" }]);
|
|
29
|
+
expect(datasource.getWitnesses("Un homme anomyme")).toEqual([{ name: "Un homme anomyme" }]);
|
|
30
|
+
expect(datasource.getWitnesses("Une fille ou une femme")).toEqual([{ name: "Une fille ou une femme" }]);
|
|
31
|
+
expect(datasource.getWitnesses("Constantin Toader et d'autres")).toEqual([
|
|
32
|
+
{ name: "Constantin Toader" }, { name: "d'autres" }
|
|
33
|
+
]);
|
|
34
|
+
expect(datasource.getWitnesses("Une femme et sa fille")).toEqual([
|
|
35
|
+
{ name: "Une femme" }, { name: "sa fille" }
|
|
36
|
+
]);
|
|
37
|
+
expect(datasource.getWitnesses("Une femme, un homme, deux parents")).toEqual([
|
|
38
|
+
{ name: "Une femme" }, { name: "un homme" }, { name: "parent 1" }, { name: "parent 2" }
|
|
39
|
+
]);
|
|
40
|
+
expect(datasource.getWitnesses("Walter Lopez, Omar Ferlatti, une bergère")).toEqual([
|
|
41
|
+
{ name: "Walter Lopez" }, { name: "Omar Ferlatti" }, { name: "une bergère" }
|
|
42
|
+
]);
|
|
43
|
+
expect(datasource.getWitnesses("Judi et David Simpson")).toEqual([
|
|
44
|
+
{ name: "Judi Simpson" }, { name: "David Simpson" }
|
|
45
|
+
]);
|
|
46
|
+
expect(datasource.getWitnesses("Une femme et ses deux enfants")).toEqual([
|
|
47
|
+
{ name: "Une femme" }, { name: "enfant 1" }, { name: "enfant 2" }
|
|
48
|
+
]);
|
|
49
|
+
});
|
|
50
|
+
test("fetch", async () => {
|
|
51
|
+
await testCase.testFetch(context);
|
|
52
|
+
});
|
|
53
|
+
test("render", async () => {
|
|
54
|
+
await testCase.testRender(context);
|
|
55
|
+
});
|
|
56
|
+
});
|
|
@@ -111,7 +111,7 @@ export class UrecatHttpDatasource extends UrecatDatasource {
|
|
|
111
111
|
const caseContext = this.getDate(context, url, row);
|
|
112
112
|
const { placeName, departmentOrState, country } = this.getLocation(columns[1]);
|
|
113
113
|
const witnesses = this.getWitnesses(columns[2].textContent);
|
|
114
|
-
const timeStr = new TimeTextBuilder(this.intlOptions).build(caseContext,
|
|
114
|
+
const timeStr = new TimeTextBuilder(this.intlOptions).build(caseContext, {
|
|
115
115
|
year: "numeric",
|
|
116
116
|
month: "long",
|
|
117
117
|
day: "numeric",
|
|
@@ -18,7 +18,7 @@ export class TimeRenderer {
|
|
|
18
18
|
renderContent(context, previousContext, options, renderOptions = this.textBuilder.options) {
|
|
19
19
|
const time = context.time;
|
|
20
20
|
const absoluteTimeUrl = this.service.urlBuilder.fromContext(time);
|
|
21
|
-
const title = this.textBuilder.build(context,
|
|
21
|
+
const title = this.textBuilder.build(context, renderOptions);
|
|
22
22
|
const text = (previousContext ? this.relativeTextBuilder.build(previousContext, context) : undefined) || title;
|
|
23
23
|
const file = context.file;
|
|
24
24
|
const currentFileName = file.name;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|