@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.
Files changed (454) hide show
  1. package/README.md +20 -2
  2. package/dist/DefaultContentVisitor.d.ts +1 -3
  3. package/dist/OpenGraphCommand.js +1 -1
  4. package/dist/OpenGraphCommand.test.js +14 -0
  5. package/dist/RR0Build.d.ts +56 -0
  6. package/dist/RR0Build.js +254 -0
  7. package/dist/RR0Build.test.js +103 -0
  8. package/dist/RR0Context.d.ts +6 -4
  9. package/dist/RR0Context.js +4 -0
  10. package/dist/TableReplaceCommand.js +2 -1
  11. package/dist/anchor/AnchorReplaceCommandTest.js +23 -0
  12. package/dist/anchor/AnchorReplacerTest.js +60 -0
  13. package/dist/anchor/CaseAnchorHandler.js +1 -1
  14. package/dist/anchor/DataAnchorHandler.d.ts +1 -2
  15. package/dist/book/Book.d.ts +1 -1
  16. package/dist/book/BookDirectoryStep.d.ts +3 -3
  17. package/dist/book/BookDirectoryStep.js +2 -1
  18. package/dist/book/BookService.d.ts +3 -3
  19. package/dist/book/BookService.js +2 -2
  20. package/dist/index.d.ts +0 -2
  21. package/dist/index.js +0 -2
  22. package/dist/lang/LanguageReplaceCommant.test.js +17 -0
  23. package/dist/lang/RR0Messages.d.ts +1 -0
  24. package/dist/lang/RR0Messages_en.d.ts +1 -0
  25. package/dist/lang/RR0Messages_en.js +2 -1
  26. package/dist/lang/RR0Messages_fr.d.ts +1 -0
  27. package/dist/lang/RR0Messages_fr.js +2 -1
  28. package/dist/org/Cities.js +12 -20
  29. package/dist/org/CountryMessageList_en.js +2 -1
  30. package/dist/org/CountryMessageList_fr.js +2 -1
  31. package/dist/org/Organization.d.ts +1 -2
  32. package/dist/org/OrganizationFactory.d.ts +1 -2
  33. package/dist/org/OrganizationFactory.js +1 -1
  34. package/dist/org/OrganizationService.d.ts +5 -1
  35. package/dist/org/OrganizationService.js +5 -1
  36. package/dist/org/au/Australia_en.d.ts +1 -1
  37. package/dist/org/au/Australia_fr.d.ts +1 -1
  38. package/dist/org/au/region/vic/Victoria.d.ts +1 -1
  39. package/dist/org/au/region/vic/Victoria.js +1 -1
  40. package/dist/org/au/region/vic/VictoriaMessages_en.d.ts +2 -2
  41. package/dist/org/au/region/vic/VictoriaMessages_en.js +2 -2
  42. package/dist/org/au/region/vic/VictoriaMessages_fr.d.ts +2 -2
  43. package/dist/org/au/region/vic/VictoriaMessages_fr.js +2 -2
  44. package/dist/org/cn/China.d.ts +6 -0
  45. package/dist/org/cn/China.js +6 -0
  46. package/dist/org/cn/ChinaMessages.d.ts +1 -0
  47. package/dist/org/cn/ChinaMessages_cn.d.ts +3 -0
  48. package/dist/org/cn/ChinaMessages_cn.js +5 -0
  49. package/dist/org/cn/ChinaMessages_en.d.ts +3 -0
  50. package/dist/org/cn/ChinaMessages_en.js +5 -0
  51. package/dist/org/cn/ChinaMessages_fr.d.ts +3 -0
  52. package/dist/org/cn/ChinaMessages_fr.js +5 -0
  53. package/dist/org/cn/region/ChinaCities.d.ts +2 -0
  54. package/dist/org/cn/region/ChinaCities.js +4 -0
  55. package/dist/org/cn/region/ChinaRegion.d.ts +4 -0
  56. package/dist/org/cn/region/ChinaRegion.js +5 -0
  57. package/dist/org/cn/region/ChinaRegionCode.d.ts +3 -0
  58. package/dist/org/cn/region/ChinaRegionCode.js +4 -0
  59. package/dist/org/cn/region/ChinaRegions.d.ts +2 -0
  60. package/dist/org/cn/region/ChinaRegions.js +4 -0
  61. package/dist/org/cn/region/n/NorthChina.d.ts +2 -0
  62. package/dist/org/cn/region/n/NorthChina.js +4 -0
  63. package/dist/org/cn/region/n/NorthChinaDepartmentCode.d.ts +3 -0
  64. package/dist/org/cn/region/n/NorthChinaDepartmentCode.js +4 -0
  65. package/dist/org/cn/region/n/NorthChinaMessages_cn.d.ts +6 -0
  66. package/dist/org/cn/region/n/NorthChinaMessages_cn.js +6 -0
  67. package/dist/org/cn/region/n/NorthChinaMessages_en.d.ts +6 -0
  68. package/dist/org/cn/region/n/NorthChinaMessages_en.js +6 -0
  69. package/dist/org/cn/region/n/NorthChinaMessages_fr.d.ts +6 -0
  70. package/dist/org/cn/region/n/NorthChinaMessages_fr.js +6 -0
  71. package/dist/org/cn/region/n/ji/Hebei.d.ts +2 -0
  72. package/dist/org/cn/region/n/ji/Hebei.js +5 -0
  73. package/dist/org/cn/region/n/ji/HebeiCities.d.ts +2 -0
  74. package/dist/org/cn/region/n/ji/HebeiCities.js +4 -0
  75. package/dist/org/cn/region/n/ji/HebeiCityCode.d.ts +3 -0
  76. package/dist/org/cn/region/n/ji/HebeiCityCode.js +4 -0
  77. package/dist/org/cn/region/n/ji/HebeiMessages_cn.d.ts +4 -0
  78. package/dist/org/cn/region/n/ji/HebeiMessages_cn.js +6 -0
  79. package/dist/org/cn/region/n/ji/HebeiMessages_en.d.ts +4 -0
  80. package/dist/org/cn/region/n/ji/HebeiMessages_en.js +6 -0
  81. package/dist/org/cn/region/n/ji/HebeiMessages_fr.d.ts +4 -0
  82. package/dist/org/cn/region/n/ji/HebeiMessages_fr.js +6 -0
  83. package/dist/org/cn/region/n/ji/Tianjin/Tianjin.d.ts +2 -0
  84. package/dist/org/cn/region/n/ji/Tianjin/Tianjin.js +5 -0
  85. package/dist/org/cn/region/n/ji/Tianjin/TianjinMessages_cn.d.ts +2 -0
  86. package/dist/org/cn/region/n/ji/Tianjin/TianjinMessages_cn.js +2 -0
  87. package/dist/org/cn/region/n/ji/Tianjin/TianjinMessages_en.d.ts +2 -0
  88. package/dist/org/cn/region/n/ji/Tianjin/TianjinMessages_en.js +2 -0
  89. package/dist/org/cn/region/n/ji/Tianjin/TianjinMessages_fr.d.ts +2 -0
  90. package/dist/org/cn/region/n/ji/Tianjin/TianjinMessages_fr.js +3 -0
  91. package/dist/org/country/CountryMessages.test.d.ts +1 -0
  92. package/dist/org/country/CountryMessages.test.js +20 -0
  93. package/dist/org/country/CountryService.test.d.ts +1 -0
  94. package/dist/org/country/CountryService.test.js +11 -0
  95. package/dist/org/country/region/RegionMessages.test.d.ts +1 -0
  96. package/dist/org/country/region/RegionMessages.test.js +17 -0
  97. package/dist/org/country/region/RegionService.test.d.ts +1 -0
  98. package/dist/org/country/region/RegionService.test.js +13 -0
  99. package/dist/org/country/region/department/DeparmentMessages.test.d.ts +1 -0
  100. package/dist/org/country/region/department/DeparmentMessages.test.js +22 -0
  101. package/dist/org/country/region/department/DepartmentService.test.d.ts +1 -0
  102. package/dist/org/country/region/department/DepartmentService.test.js +13 -0
  103. package/dist/org/country/region/department/city/CityMessages.test.d.ts +1 -0
  104. package/dist/org/country/region/department/city/CityMessages.test.js +34 -0
  105. package/dist/org/country/region/department/city/CityService.test.d.ts +1 -0
  106. package/dist/org/country/region/department/city/CityService.test.js +19 -0
  107. package/dist/org/do/DominicanRepublicMessages.d.ts +1 -1
  108. package/dist/org/do/DominicanRepublic_en.d.ts +2 -2
  109. package/dist/org/do/DominicanRepublic_fr.d.ts +2 -2
  110. package/dist/org/eu/fr/FranceMessages.test.d.ts +1 -0
  111. package/dist/org/eu/fr/FranceMessages.test.js +11 -0
  112. package/dist/org/eu/fr/cnes/geipan/geipan/GeipanDatasource.test.d.ts +1 -0
  113. package/dist/org/eu/fr/cnes/geipan/geipan/GeipanDatasource.test.js +30 -0
  114. package/dist/org/us/region/UsaCountyCode.d.ts +7 -1
  115. package/dist/org/us/region/UsaCountyCode.js +7 -1
  116. package/dist/org/us/region/mn/MinnesotaCities.js +2 -2
  117. package/dist/org/us/region/mn/MinnesotaCounties.js +2 -2
  118. package/dist/org/us/region/mn/Minnesota_en.d.ts +2 -2
  119. package/dist/org/us/region/mn/Minnesota_en.js +2 -2
  120. package/dist/org/us/region/mn/Minnesota_fr.d.ts +2 -2
  121. package/dist/org/us/region/mn/Minnesota_fr.js +2 -2
  122. package/dist/org/us/region/mn/{kalamazoo/Kalamazoo.d.ts → hennepin/Hennepin.d.ts} +1 -1
  123. package/dist/org/us/region/mn/{kalamazoo/Kalamazoo.js → hennepin/Hennepin.js} +1 -1
  124. package/dist/org/us/region/mn/{kalamazoo/KalamazooCities.d.ts → hennepin/HennepinCities.d.ts} +1 -1
  125. package/dist/org/us/region/mn/hennepin/HennepinCities.js +4 -0
  126. package/dist/org/us/region/mn/hennepin/HennepinCityCode.d.ts +3 -0
  127. package/dist/org/us/region/mn/hennepin/HennepinCityCode.js +4 -0
  128. package/dist/org/us/region/mn/hennepin/HennepinMessages_en.d.ts +4 -0
  129. package/dist/org/us/region/mn/hennepin/HennepinMessages_en.js +6 -0
  130. package/dist/org/us/region/mn/hennepin/HennepinMessages_fr.d.ts +4 -0
  131. package/dist/org/us/region/mn/hennepin/HennepinMessages_fr.js +6 -0
  132. package/dist/org/us/region/mn/hennepin/Minneapolis/Minneapolis.d.ts +1 -0
  133. package/dist/org/us/region/mn/hennepin/Minneapolis/Minneapolis.js +5 -0
  134. package/dist/org/us/region/mn/hennepin/Minneapolis/MinneapolisMessages.d.ts +2 -0
  135. package/dist/org/us/region/mn/hennepin/Minneapolis/MinneapolisMessages.js +2 -0
  136. package/dist/org/us/region/mo/MissouriCities.js +2 -2
  137. package/dist/org/us/region/mo/MissouriCounties.js +2 -2
  138. package/dist/org/us/region/mo/Missouri_en.d.ts +2 -2
  139. package/dist/org/us/region/mo/Missouri_en.js +2 -2
  140. package/dist/org/us/region/mo/Missouri_fr.d.ts +2 -2
  141. package/dist/org/us/region/mo/Missouri_fr.js +2 -2
  142. package/dist/org/us/region/{mn/kalamazoo/galesburg/Galesburg.d.ts → mo/pike/Louisiana/Louisiana.d.ts} +1 -1
  143. package/dist/org/us/region/mo/pike/Louisiana/Louisiana.js +5 -0
  144. package/dist/org/us/region/{mn/kalamazoo/galesburg/GalesburgMessages.d.ts → mo/pike/Louisiana/LouisianaMessages.d.ts} +1 -1
  145. package/dist/org/us/region/{ms/kalamazoo/galesburg/GalesburgMessages.js → mo/pike/Louisiana/LouisianaMessages.js} +1 -1
  146. package/dist/org/us/region/mo/{kalamazoo/Kalamazoo.d.ts → pike/Pike.d.ts} +1 -1
  147. package/dist/org/us/region/mo/{kalamazoo/Kalamazoo.js → pike/Pike.js} +1 -1
  148. package/dist/org/us/region/mo/{kalamazoo/KalamazooCities.d.ts → pike/PikeCities.d.ts} +1 -1
  149. package/dist/org/us/region/mo/pike/PikeCities.js +4 -0
  150. package/dist/org/us/region/mo/pike/PikeCityCode.d.ts +3 -0
  151. package/dist/org/us/region/mo/pike/PikeCityCode.js +4 -0
  152. package/dist/org/us/region/mo/pike/PikeMessages_en.d.ts +4 -0
  153. package/dist/org/us/region/mo/pike/PikeMessages_en.js +6 -0
  154. package/dist/org/us/region/mo/pike/PikeMessages_fr.d.ts +4 -0
  155. package/dist/org/us/region/mo/pike/PikeMessages_fr.js +6 -0
  156. package/dist/org/us/region/ms/MississippiCities.js +2 -2
  157. package/dist/org/us/region/ms/MississippiCounties.js +2 -2
  158. package/dist/org/us/region/ms/Mississippi_en.d.ts +2 -2
  159. package/dist/org/us/region/ms/Mississippi_en.js +2 -2
  160. package/dist/org/us/region/ms/Mississippi_fr.d.ts +2 -2
  161. package/dist/org/us/region/ms/Mississippi_fr.js +2 -2
  162. package/dist/org/us/region/ms/{kalamazoo/Kalamazoo.d.ts → hinds/Hinds.d.ts} +1 -1
  163. package/dist/org/us/region/ms/{kalamazoo/Kalamazoo.js → hinds/Hinds.js} +1 -1
  164. package/dist/org/us/region/ms/{kalamazoo/KalamazooCities.d.ts → hinds/HindsCities.d.ts} +1 -1
  165. package/dist/org/us/region/ms/hinds/HindsCities.js +4 -0
  166. package/dist/org/us/region/ms/hinds/HindsCityCode.d.ts +3 -0
  167. package/dist/org/us/region/ms/hinds/HindsCityCode.js +4 -0
  168. package/dist/org/us/region/ms/hinds/HindsMessages_en.d.ts +4 -0
  169. package/dist/org/us/region/ms/hinds/HindsMessages_en.js +6 -0
  170. package/dist/org/us/region/ms/hinds/HindsMessages_fr.d.ts +4 -0
  171. package/dist/org/us/region/ms/hinds/HindsMessages_fr.js +6 -0
  172. package/dist/org/us/region/ms/hinds/Jackson/Jackson.d.ts +1 -0
  173. package/dist/org/us/region/ms/hinds/Jackson/Jackson.js +5 -0
  174. package/dist/org/us/region/ms/{kalamazoo/galesburg/GalesburgMessages.d.ts → hinds/Jackson/JacksonMessages.d.ts} +1 -1
  175. package/dist/org/us/region/ms/hinds/Jackson/JacksonMessages.js +2 -0
  176. package/dist/org/us/region/mt/MontanaCities.js +2 -2
  177. package/dist/org/us/region/mt/MontanaCounties.js +2 -2
  178. package/dist/org/us/region/mt/Montana_en.d.ts +2 -2
  179. package/dist/org/us/region/mt/Montana_en.js +2 -2
  180. package/dist/org/us/region/mt/Montana_fr.d.ts +2 -2
  181. package/dist/org/us/region/mt/Montana_fr.js +2 -2
  182. package/dist/org/us/region/mt/{kalamazoo/Kalamazoo.d.ts → cascade/Cascade.d.ts} +1 -1
  183. package/dist/org/us/region/mt/{kalamazoo/Kalamazoo.js → cascade/Cascade.js} +1 -1
  184. package/dist/org/us/region/mt/{kalamazoo/KalamazooCities.d.ts → cascade/CascadeCities.d.ts} +1 -1
  185. package/dist/org/us/region/mt/cascade/CascadeCities.js +4 -0
  186. package/dist/org/us/region/mt/cascade/CascadeCityCode.d.ts +3 -0
  187. package/dist/org/us/region/mt/cascade/CascadeCityCode.js +4 -0
  188. package/dist/org/us/region/mt/cascade/CascadeMessages_en.d.ts +4 -0
  189. package/dist/org/us/region/mt/cascade/CascadeMessages_en.js +6 -0
  190. package/dist/org/us/region/mt/cascade/CascadeMessages_fr.d.ts +4 -0
  191. package/dist/org/us/region/mt/cascade/CascadeMessages_fr.js +6 -0
  192. package/dist/org/us/region/mt/cascade/GreatFalls/GreatFalls.d.ts +1 -0
  193. package/dist/org/us/region/mt/cascade/GreatFalls/GreatFalls.js +5 -0
  194. package/dist/org/us/region/mt/{kalamazoo/galesburg/GalesburgMessages.d.ts → cascade/GreatFalls/GreatFallsMessages.d.ts} +1 -1
  195. package/dist/org/us/region/mt/cascade/GreatFalls/GreatFallsMessages.js +2 -0
  196. package/dist/org/us/region/nh/NewHampshireCities.js +2 -2
  197. package/dist/org/us/region/nh/NewHampshireCounties.js +2 -2
  198. package/dist/org/us/region/nh/NewHampshire_en.d.ts +2 -2
  199. package/dist/org/us/region/nh/NewHampshire_en.js +2 -2
  200. package/dist/org/us/region/nh/NewHampshire_fr.d.ts +2 -2
  201. package/dist/org/us/region/nh/NewHampshire_fr.js +2 -2
  202. package/dist/org/us/region/nh/rockingham/Portsmouth/Portsmouth.d.ts +1 -0
  203. package/dist/org/us/region/nh/rockingham/Portsmouth/Portsmouth.js +5 -0
  204. package/dist/org/us/region/nh/rockingham/Portsmouth/PortsmouthMessages.d.ts +2 -0
  205. package/dist/org/us/region/nh/rockingham/Portsmouth/PortsmouthMessages.js +2 -0
  206. package/dist/org/us/region/nh/rockingham/Rockingham.d.ts +2 -0
  207. package/dist/org/us/region/nh/{kalamazoo/Kalamazoo.js → rockingham/Rockingham.js} +1 -1
  208. package/dist/org/us/region/nh/rockingham/RockinghamCities.d.ts +2 -0
  209. package/dist/org/us/region/nh/rockingham/RockinghamCities.js +4 -0
  210. package/dist/org/us/region/nh/rockingham/RockinghamCityCode.d.ts +3 -0
  211. package/dist/org/us/region/nh/rockingham/RockinghamCityCode.js +4 -0
  212. package/dist/org/us/region/nh/rockingham/RockinghamMessages_en.d.ts +4 -0
  213. package/dist/org/us/region/nh/rockingham/RockinghamMessages_en.js +6 -0
  214. package/dist/org/us/region/nh/rockingham/RockinghamMessages_fr.d.ts +4 -0
  215. package/dist/org/us/region/nh/rockingham/RockinghamMessages_fr.js +6 -0
  216. package/dist/org/us/region/nv/NevadaCities.js +2 -2
  217. package/dist/org/us/region/nv/NevadaCounties.js +2 -2
  218. package/dist/org/us/region/nv/Nevada_en.d.ts +2 -2
  219. package/dist/org/us/region/nv/Nevada_en.js +2 -2
  220. package/dist/org/us/region/nv/Nevada_fr.d.ts +2 -2
  221. package/dist/org/us/region/nv/Nevada_fr.js +2 -2
  222. package/dist/org/us/region/nv/clark/Clark.d.ts +2 -0
  223. package/dist/org/us/region/nv/{kalamazoo/Kalamazoo.js → clark/Clark.js} +1 -1
  224. package/dist/org/us/region/nv/clark/ClarkCities.d.ts +2 -0
  225. package/dist/org/us/region/nv/clark/ClarkCities.js +4 -0
  226. package/dist/org/us/region/nv/clark/ClarkCityCode.d.ts +3 -0
  227. package/dist/org/us/region/nv/clark/ClarkCityCode.js +4 -0
  228. package/dist/org/us/region/nv/clark/ClarkMessages_en.d.ts +4 -0
  229. package/dist/org/us/region/nv/clark/ClarkMessages_en.js +6 -0
  230. package/dist/org/us/region/nv/clark/ClarkMessages_fr.d.ts +4 -0
  231. package/dist/org/us/region/nv/clark/ClarkMessages_fr.js +6 -0
  232. package/dist/org/us/region/nv/clark/LasVegas/LasVegas.d.ts +1 -0
  233. package/dist/org/us/region/nv/clark/LasVegas/LasVegas.js +5 -0
  234. package/dist/org/us/region/{mo/kalamazoo/galesburg/GalesburgMessages.d.ts → nv/clark/LasVegas/LasVegasMessages.d.ts} +1 -1
  235. package/dist/org/us/region/nv/clark/LasVegas/LasVegasMessages.js +2 -0
  236. package/dist/people/People.d.ts +1 -2
  237. package/dist/people/People.test.d.ts +1 -0
  238. package/dist/people/People.test.js +34 -0
  239. package/dist/people/PeopleDirectoryStep.d.ts +2 -2
  240. package/dist/people/PeopleDirectoryStepFactory.d.ts +27 -14
  241. package/dist/people/PeopleDirectoryStepFactory.js +66 -44
  242. package/dist/people/PeopleFactory.d.ts +1 -2
  243. package/dist/people/PeopleFactory.js +1 -1
  244. package/dist/people/PeopleFactory.test.d.ts +1 -0
  245. package/dist/people/PeopleFactory.test.js +81 -0
  246. package/dist/people/PeopleRegexReplaceCommand.test.d.ts +1 -0
  247. package/dist/people/PeopleRegexReplaceCommand.test.js +17 -0
  248. package/dist/people/PeopleReplacer.test.d.ts +1 -0
  249. package/dist/people/PeopleReplacer.test.js +58 -0
  250. package/dist/people/PeopleService.d.ts +1 -1
  251. package/dist/people/PeopleService.js +1 -1
  252. package/dist/people/author/AuthorReplaceCommandTest.d.ts +1 -0
  253. package/dist/people/author/AuthorReplaceCommandTest.js +49 -0
  254. package/dist/place/Place.d.ts +1 -2
  255. package/dist/place/PlaceReplacer.test.d.ts +1 -0
  256. package/dist/place/PlaceReplacer.test.js +91 -0
  257. package/dist/place/PlaceService.js +2 -2
  258. package/dist/place/PlaceService.test.d.ts +1 -0
  259. package/dist/place/PlaceService.test.js +28 -0
  260. package/dist/science/crypto/ufo/enquete/dossier/CaseDirectoryStep.d.ts +2 -3
  261. package/dist/science/crypto/ufo/enquete/dossier/CaseDirectoryStep.js +0 -4
  262. package/dist/science/crypto/ufo/enquete/dossier/CaseDirectoryStep.test.d.ts +1 -0
  263. package/dist/science/crypto/ufo/enquete/dossier/CaseDirectoryStep.test.js +34 -0
  264. package/dist/science/crypto/ufo/enquete/dossier/CaseFactory.d.ts +1 -2
  265. package/dist/science/crypto/ufo/enquete/dossier/CaseFactory.js +1 -1
  266. package/dist/science/crypto/ufo/enquete/dossier/CaseService.d.ts +1 -1
  267. package/dist/science/crypto/ufo/enquete/dossier/CaseService.js +1 -1
  268. package/dist/search/SearchIndexStep.js +2 -2
  269. package/dist/search/SearchVisitor.js +1 -1
  270. package/dist/source/PersistentSourceRegistry.d.ts +2 -2
  271. package/dist/source/PersistentSourceRegistry.js +8 -3
  272. package/dist/source/SourceFactory.d.ts +2 -2
  273. package/dist/source/SourceFactory.js +1 -1
  274. package/dist/source/SourceIndexStep.js +2 -2
  275. package/dist/source/SourceRegistry.d.ts +2 -2
  276. package/dist/source/SourceRenderer.d.ts +1 -1
  277. package/dist/source/SourceRenderer.js +1 -1
  278. package/dist/source/index.d.ts +0 -3
  279. package/dist/source/index.js +0 -3
  280. package/dist/tech/info/soft/API.d.ts +1 -1
  281. package/dist/tech/info/soft/APIFactory.d.ts +1 -2
  282. package/dist/tech/info/soft/APIFactory.js +1 -1
  283. package/dist/tech/info/soft/proj/impl/lang/CodeReplacerTest.d.ts +1 -0
  284. package/dist/tech/info/soft/proj/impl/lang/CodeReplacerTest.js +50 -0
  285. package/dist/test/RR0TestUtil.d.ts +21 -0
  286. package/dist/test/RR0TestUtil.js +72 -0
  287. package/dist/test/index.d.ts +1 -0
  288. package/dist/test/index.js +1 -0
  289. package/dist/time/EventRenderer.d.ts +3 -3
  290. package/dist/time/EventRenderer.js +1 -1
  291. package/dist/time/EventReplacerFactory.d.ts +1 -2
  292. package/dist/time/Time.js +1 -1
  293. package/dist/time/Time.test.d.ts +1 -0
  294. package/dist/time/Time.test.js +48 -0
  295. package/dist/time/TimeEventRenderer.test.d.ts +1 -0
  296. package/dist/time/TimeEventRenderer.test.js +56 -0
  297. package/dist/time/TimeService.d.ts +1 -2
  298. package/dist/time/TimeService.js +1 -1
  299. package/dist/time/TimeTagReplaceCommand.test.d.ts +1 -0
  300. package/dist/time/TimeTagReplaceCommand.test.js +17 -0
  301. package/dist/time/TimeTestUtil.d.ts +1 -1
  302. package/dist/time/TimeTestUtil.js +2 -2
  303. package/dist/time/TimeUrlBuilder.test.d.ts +1 -0
  304. package/dist/time/TimeUrlBuilder.test.js +46 -0
  305. package/dist/time/TitleReplaceCommand.test.d.ts +1 -0
  306. package/dist/time/TitleReplaceCommand.test.js +44 -0
  307. package/dist/time/datasource/ChronologyReplacer.test.d.ts +1 -0
  308. package/dist/time/datasource/ChronologyReplacer.test.js +29 -0
  309. package/dist/time/datasource/CsvMapper.test.d.ts +1 -0
  310. package/dist/time/datasource/CsvMapper.test.js +50 -0
  311. package/dist/time/datasource/DatasourceTestCase.d.ts +1 -1
  312. package/dist/time/datasource/DatasourceTestCase.js +3 -3
  313. package/dist/time/datasource/FileSource.d.ts +2 -1
  314. package/dist/time/datasource/FileSource.js +1 -1
  315. package/dist/time/datasource/JsonMapper.test.d.ts +1 -0
  316. package/dist/time/datasource/JsonMapper.test.js +23 -0
  317. package/dist/time/datasource/baseovnifrance/BaseOvniFranceCaseSummaryRR0Mapper.test.d.ts +1 -0
  318. package/dist/time/datasource/baseovnifrance/BaseOvniFranceCaseSummaryRR0Mapper.test.js +72 -0
  319. package/dist/time/datasource/baseovnifrance/BaseOvniFranceCsv.test.d.ts +1 -0
  320. package/dist/time/datasource/baseovnifrance/BaseOvniFranceCsv.test.js +44 -0
  321. package/dist/time/datasource/baseovnifrance/BaseOvniFranceDatasource.test.d.ts +1 -0
  322. package/dist/time/datasource/baseovnifrance/BaseOvniFranceDatasource.test.js +30 -0
  323. package/dist/time/datasource/fufora/FuforaDatasource.test.d.ts +1 -0
  324. package/dist/time/datasource/fufora/FuforaDatasource.test.js +30 -0
  325. package/dist/time/datasource/nuforc/NuforcDatasource.test.d.ts +1 -0
  326. package/dist/time/datasource/nuforc/NuforcDatasource.test.js +30 -0
  327. package/dist/time/datasource/nuforc/NuforcRR0Mapper.test.d.ts +1 -0
  328. package/dist/time/datasource/nuforc/NuforcRR0Mapper.test.js +110 -0
  329. package/dist/time/datasource/rr0/RR0CaseSummary.d.ts +1 -2
  330. package/dist/time/datasource/rr0/RR0Datasource.test.d.ts +19 -0
  331. package/dist/time/datasource/rr0/RR0Datasource.test.js +82 -0
  332. package/dist/time/datasource/rr0/RR0HttpDatasource.d.ts +1 -1
  333. package/dist/time/datasource/sceau/SceauDatasource.test.d.ts +17 -0
  334. package/dist/time/datasource/sceau/SceauDatasource.test.js +84 -0
  335. package/dist/time/datasource/ufo-search/UfoSearchCaseRR0Mapper.js +1 -1
  336. package/dist/time/datasource/ufo-search/UfoSearchDatasource.test.d.ts +1 -0
  337. package/dist/time/datasource/ufo-search/UfoSearchDatasource.test.js +30 -0
  338. package/dist/time/datasource/ufo-search/UfoSearchFileDatasource.js +2 -2
  339. package/dist/time/datasource/urecat/UrecatDatasource.test.d.ts +1 -0
  340. package/dist/time/datasource/urecat/UrecatDatasource.test.js +56 -0
  341. package/dist/time/datasource/urecat/UrecatHttpDatasource.js +1 -1
  342. package/dist/time/html/TimeRenderer.js +1 -1
  343. package/dist/time/html/TimeReplacer.test.d.ts +1 -0
  344. package/dist/time/html/TimeReplacer.test.js +225 -0
  345. package/dist/time/text/RelativeTimeTextBuilder.js +53 -102
  346. package/dist/time/text/RelativeTimeTextBuilder.test.d.ts +1 -0
  347. package/dist/time/text/RelativeTimeTextBuilder.test.js +125 -0
  348. package/dist/time/text/TimeTextBuilder.d.ts +4 -5
  349. package/dist/time/text/TimeTextBuilder.js +8 -21
  350. package/dist/time/text/TimeTextBuilder.test.d.ts +1 -0
  351. package/dist/time/text/TimeTextBuilder.test.js +63 -0
  352. package/dist/util/cli/CLI.test.d.ts +1 -0
  353. package/dist/util/cli/CLI.test.js +13 -0
  354. package/dist/util/html/HtmlTable.test.d.ts +1 -0
  355. package/dist/util/html/HtmlTable.test.js +11 -0
  356. package/dist/util/string/StringUtil.test.d.ts +1 -0
  357. package/dist/util/string/StringUtil.test.js +22 -0
  358. package/dist/util/url/UrlUtil.test.d.ts +1 -0
  359. package/dist/util/url/UrlUtil.test.js +14 -0
  360. package/package.json +11 -6
  361. package/dist/build.js +0 -299
  362. package/dist/data/AbstractDataFactory.d.ts +0 -16
  363. package/dist/data/AbstractDataFactory.js +0 -60
  364. package/dist/data/AbstractDataService.d.ts +0 -12
  365. package/dist/data/AbstractDataService.js +0 -13
  366. package/dist/data/AllDataService.d.ts +0 -16
  367. package/dist/data/AllDataService.js +0 -54
  368. package/dist/data/RR0Data.d.ts +0 -81
  369. package/dist/data/RR0DataFactory.d.ts +0 -7
  370. package/dist/data/TypedDataFactory.d.ts +0 -14
  371. package/dist/data/TypedDataFactory.js +0 -29
  372. package/dist/data/index.d.ts +0 -6
  373. package/dist/data/index.js +0 -6
  374. package/dist/event/RR0Event.d.ts +0 -7
  375. package/dist/event/RR0EventFactory.d.ts +0 -7
  376. package/dist/event/RR0EventFactory.js +0 -21
  377. package/dist/event/index.d.ts +0 -2
  378. package/dist/event/index.js +0 -2
  379. package/dist/org/us/region/mn/kalamazoo/KalamazooCities.js +0 -4
  380. package/dist/org/us/region/mn/kalamazoo/KalamazooCityCode.d.ts +0 -3
  381. package/dist/org/us/region/mn/kalamazoo/KalamazooCityCode.js +0 -4
  382. package/dist/org/us/region/mn/kalamazoo/KalamazooMessages_en.d.ts +0 -4
  383. package/dist/org/us/region/mn/kalamazoo/KalamazooMessages_en.js +0 -6
  384. package/dist/org/us/region/mn/kalamazoo/KalamazooMessages_fr.d.ts +0 -4
  385. package/dist/org/us/region/mn/kalamazoo/KalamazooMessages_fr.js +0 -6
  386. package/dist/org/us/region/mn/kalamazoo/galesburg/Galesburg.js +0 -5
  387. package/dist/org/us/region/mn/kalamazoo/galesburg/GalesburgMessages.js +0 -2
  388. package/dist/org/us/region/mo/kalamazoo/KalamazooCities.js +0 -4
  389. package/dist/org/us/region/mo/kalamazoo/KalamazooCityCode.d.ts +0 -3
  390. package/dist/org/us/region/mo/kalamazoo/KalamazooCityCode.js +0 -4
  391. package/dist/org/us/region/mo/kalamazoo/KalamazooMessages_en.d.ts +0 -4
  392. package/dist/org/us/region/mo/kalamazoo/KalamazooMessages_en.js +0 -6
  393. package/dist/org/us/region/mo/kalamazoo/KalamazooMessages_fr.d.ts +0 -4
  394. package/dist/org/us/region/mo/kalamazoo/KalamazooMessages_fr.js +0 -6
  395. package/dist/org/us/region/mo/kalamazoo/galesburg/Galesburg.d.ts +0 -1
  396. package/dist/org/us/region/mo/kalamazoo/galesburg/Galesburg.js +0 -5
  397. package/dist/org/us/region/mo/kalamazoo/galesburg/GalesburgMessages.js +0 -2
  398. package/dist/org/us/region/ms/kalamazoo/KalamazooCities.js +0 -4
  399. package/dist/org/us/region/ms/kalamazoo/KalamazooCityCode.d.ts +0 -3
  400. package/dist/org/us/region/ms/kalamazoo/KalamazooCityCode.js +0 -4
  401. package/dist/org/us/region/ms/kalamazoo/KalamazooMessages_en.d.ts +0 -4
  402. package/dist/org/us/region/ms/kalamazoo/KalamazooMessages_en.js +0 -6
  403. package/dist/org/us/region/ms/kalamazoo/KalamazooMessages_fr.d.ts +0 -4
  404. package/dist/org/us/region/ms/kalamazoo/KalamazooMessages_fr.js +0 -6
  405. package/dist/org/us/region/ms/kalamazoo/galesburg/Galesburg.d.ts +0 -1
  406. package/dist/org/us/region/ms/kalamazoo/galesburg/Galesburg.js +0 -5
  407. package/dist/org/us/region/mt/kalamazoo/KalamazooCities.js +0 -4
  408. package/dist/org/us/region/mt/kalamazoo/KalamazooCityCode.d.ts +0 -3
  409. package/dist/org/us/region/mt/kalamazoo/KalamazooCityCode.js +0 -4
  410. package/dist/org/us/region/mt/kalamazoo/KalamazooMessages_en.d.ts +0 -4
  411. package/dist/org/us/region/mt/kalamazoo/KalamazooMessages_en.js +0 -6
  412. package/dist/org/us/region/mt/kalamazoo/KalamazooMessages_fr.d.ts +0 -4
  413. package/dist/org/us/region/mt/kalamazoo/KalamazooMessages_fr.js +0 -6
  414. package/dist/org/us/region/mt/kalamazoo/galesburg/Galesburg.d.ts +0 -1
  415. package/dist/org/us/region/mt/kalamazoo/galesburg/Galesburg.js +0 -5
  416. package/dist/org/us/region/mt/kalamazoo/galesburg/GalesburgMessages.js +0 -2
  417. package/dist/org/us/region/nh/kalamazoo/Kalamazoo.d.ts +0 -2
  418. package/dist/org/us/region/nh/kalamazoo/KalamazooCities.d.ts +0 -2
  419. package/dist/org/us/region/nh/kalamazoo/KalamazooCities.js +0 -4
  420. package/dist/org/us/region/nh/kalamazoo/KalamazooCityCode.d.ts +0 -3
  421. package/dist/org/us/region/nh/kalamazoo/KalamazooCityCode.js +0 -4
  422. package/dist/org/us/region/nh/kalamazoo/KalamazooMessages_en.d.ts +0 -4
  423. package/dist/org/us/region/nh/kalamazoo/KalamazooMessages_en.js +0 -6
  424. package/dist/org/us/region/nh/kalamazoo/KalamazooMessages_fr.d.ts +0 -4
  425. package/dist/org/us/region/nh/kalamazoo/KalamazooMessages_fr.js +0 -6
  426. package/dist/org/us/region/nh/kalamazoo/galesburg/Galesburg.d.ts +0 -1
  427. package/dist/org/us/region/nh/kalamazoo/galesburg/Galesburg.js +0 -5
  428. package/dist/org/us/region/nh/kalamazoo/galesburg/GalesburgMessages.d.ts +0 -2
  429. package/dist/org/us/region/nh/kalamazoo/galesburg/GalesburgMessages.js +0 -2
  430. package/dist/org/us/region/nv/kalamazoo/Kalamazoo.d.ts +0 -2
  431. package/dist/org/us/region/nv/kalamazoo/KalamazooCities.d.ts +0 -2
  432. package/dist/org/us/region/nv/kalamazoo/KalamazooCities.js +0 -4
  433. package/dist/org/us/region/nv/kalamazoo/KalamazooCityCode.d.ts +0 -3
  434. package/dist/org/us/region/nv/kalamazoo/KalamazooCityCode.js +0 -4
  435. package/dist/org/us/region/nv/kalamazoo/KalamazooMessages_en.d.ts +0 -4
  436. package/dist/org/us/region/nv/kalamazoo/KalamazooMessages_en.js +0 -6
  437. package/dist/org/us/region/nv/kalamazoo/KalamazooMessages_fr.d.ts +0 -4
  438. package/dist/org/us/region/nv/kalamazoo/KalamazooMessages_fr.js +0 -6
  439. package/dist/org/us/region/nv/kalamazoo/galesburg/Galesburg.d.ts +0 -1
  440. package/dist/org/us/region/nv/kalamazoo/galesburg/Galesburg.js +0 -5
  441. package/dist/org/us/region/nv/kalamazoo/galesburg/GalesburgMessages.d.ts +0 -2
  442. package/dist/org/us/region/nv/kalamazoo/galesburg/GalesburgMessages.js +0 -2
  443. package/dist/source/Article.d.ts +0 -4
  444. package/dist/source/ArticleFactory.d.ts +0 -7
  445. package/dist/source/ArticleFactory.js +0 -11
  446. package/dist/source/Source.d.ts +0 -45
  447. package/tsconfig.json +0 -23
  448. package/tsconfig.prod.json +0 -10
  449. /package/dist/{build.d.ts → OpenGraphCommand.test.d.ts} +0 -0
  450. /package/dist/{data/RR0Data.js → RR0Build.test.d.ts} +0 -0
  451. /package/dist/{data/RR0DataFactory.js → anchor/AnchorReplaceCommandTest.d.ts} +0 -0
  452. /package/dist/{event/RR0Event.js → anchor/AnchorReplacerTest.d.ts} +0 -0
  453. /package/dist/{source/Article.js → lang/LanguageReplaceCommant.test.d.ts} +0 -0
  454. /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,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,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
+ });
@@ -1,5 +1,4 @@
1
- import { RR0Data } from "../../../data/index.js";
2
- import { RR0Event } from "../../../event/index.js";
1
+ import { RR0Data, RR0Event } from "@rr0/data";
3
2
  export interface RR0CaseSummary extends RR0Event {
4
3
  /**
5
4
  * A unique identifier for this data.
@@ -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(" &amp; ");
44
+ if (authorStr) {
45
+ authorStr += "&nbsp;: ";
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(" &amp; ");
46
+ if (authorStr) {
47
+ authorStr += "&nbsp;: ";
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,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,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, true, {
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, true, renderOptions);
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 {};