@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,91 @@
1
+ import { PlaceReplacer } from "./PlaceReplacer.js";
2
+ import { PlaceService } from "./PlaceService.js";
3
+ import { Place } from "./Place.js";
4
+ import { OrganizationService } from "../org/OrganizationService.js";
5
+ import { rr0TestUtil } from "../test/index.js";
6
+ import { describe, expect, test } from "@javarome/testscript";
7
+ import { OrganizationKind } from "../org/Organization.js";
8
+ import { OrganizationMessages } from "../org/index.js";
9
+ import { PlaceLocation } from "@rr0/place";
10
+ class MockPlaceService extends PlaceService {
11
+ constructor(location, elevation, dirName) {
12
+ super("place");
13
+ this.location = location;
14
+ this.elevation = elevation;
15
+ this.dirName = dirName;
16
+ }
17
+ async read(fileName) {
18
+ return new Place([this.location], this.elevation, this.dirName);
19
+ }
20
+ async geocode(address) {
21
+ return { location: this.location, data: {} };
22
+ }
23
+ async getElevation(location) {
24
+ return this.elevation;
25
+ }
26
+ }
27
+ class MockOrganizationService extends OrganizationService {
28
+ constructor(dirName) {
29
+ super([], "org", null);
30
+ this.dirName = dirName;
31
+ }
32
+ async read(_fileName) {
33
+ let title = "Los Alamos National Laboratories";
34
+ return {
35
+ type: "org",
36
+ kind: OrganizationKind.company,
37
+ id: "laln",
38
+ dirName: this.dirName,
39
+ getTitle(_context) {
40
+ return title;
41
+ },
42
+ places: [new Place([new PlaceLocation(35.87555555555556, -106.32416666666666)])],
43
+ getMessages: (_context) => new OrganizationMessages([title]),
44
+ events: []
45
+ };
46
+ }
47
+ }
48
+ describe("PlaceReplacer", () => {
49
+ function createPlaceTag(doc, text) {
50
+ const placeTag = doc.createElement("span");
51
+ placeTag.className = "place";
52
+ placeTag.innerHTML = text;
53
+ return placeTag;
54
+ }
55
+ test("link to existing organization", async () => {
56
+ return; // Disable test
57
+ const location = new PlaceLocation(35.8440582, -106.287162);
58
+ const elevation = 2161.025390625;
59
+ const dirName = "org/us/state/nm/lanl/";
60
+ const placeService = new MockPlaceService(location, { elevation }, dirName);
61
+ const orgService = new MockOrganizationService(dirName);
62
+ const replacer = new PlaceReplacer();
63
+ const context = rr0TestUtil.newHtmlContext("people/a/AlexanderJohnB/index.html", "");
64
+ const doc = context.file.document;
65
+ const text = "LANL";
66
+ const placeTag = createPlaceTag(doc, text);
67
+ const replacement = await replacer.replacement(context, placeTag);
68
+ expect(replacement.tagName).toBe("A");
69
+ expect(replacement.className).toBe("plac");
70
+ expect(replacement.href).toBe(`/${dirName}`);
71
+ expect(replacement.textContent).toBe(text);
72
+ expect(replacement.getAttribute("onclick")).toBe(`showMap(event,${location.lat},${location.lng},true)`);
73
+ });
74
+ test("link to non-existing organization", async () => {
75
+ const location = new PlaceLocation(34.0, -105.0);
76
+ const elevation = 100.0;
77
+ const dirName = "";
78
+ const placeService = new MockPlaceService(location, { elevation }, dirName);
79
+ const orgService = new MockOrganizationService(dirName);
80
+ const replacer = new PlaceReplacer();
81
+ const context = rr0TestUtil.newHtmlContext("people/a/AlexanderJohnB/index.html", "");
82
+ const doc = context.file.document;
83
+ const text = "Non existing";
84
+ const placeTag = createPlaceTag(doc, text);
85
+ const replacement = await replacer.replacement(context, placeTag);
86
+ expect(replacement.tagName).toBe("SPAN");
87
+ expect(replacement.className).toBe("plac");
88
+ expect(replacement.textContent).toBe(text);
89
+ expect(replacement.getAttribute("onclick")).toBe(`showMap(event,'${text}',true)`);
90
+ });
91
+ });
@@ -1,7 +1,7 @@
1
1
  import { Place } from "./Place.js";
2
2
  import fs from "fs";
3
- import { FileUtil } from "ssg-api";
4
3
  import { PlaceLocation } from "@rr0/place";
4
+ import { writeFile } from "@javarome/fileutil";
5
5
  export class PlaceService {
6
6
  constructor(rootDir) {
7
7
  this.rootDir = rootDir;
@@ -71,7 +71,7 @@ export class PlaceService {
71
71
  for (const location of place.locations) {
72
72
  const fileName = this.getFileName(location);
73
73
  const contents = JSON.stringify(place, null, 2);
74
- await FileUtil.writeFile(fileName, contents, "utf-8");
74
+ await writeFile(fileName, contents, "utf-8");
75
75
  }
76
76
  }
77
77
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,28 @@
1
+ import { GooglePlaceService } from "./GooglePlaceService.js";
2
+ import { beforeEach, describe, expect, test } from "@javarome/testscript";
3
+ import { PlaceLocation } from "@rr0/place";
4
+ describe("PlaceService", () => {
5
+ const apiKey = process.env.GOOGLE_MAPS_API_KEY;
6
+ if (!apiKey) {
7
+ throw Error("GOOGLE_MAPS_API_KEY is required");
8
+ }
9
+ let service;
10
+ beforeEach(() => {
11
+ service = new GooglePlaceService("place", apiKey);
12
+ });
13
+ const lanlPosition = new PlaceLocation(35.8440582, -106.287162);
14
+ const lanlElevation = 2161.025390625;
15
+ test("build place with one first name", async () => {
16
+ var _a;
17
+ const laln = await service.get("LANL");
18
+ expect(laln === null || laln === void 0 ? void 0 : laln.locations).toEqual([lanlPosition]);
19
+ expect((_a = laln === null || laln === void 0 ? void 0 : laln.elevation) === null || _a === void 0 ? void 0 : _a.elevation).toBe(lanlElevation);
20
+ });
21
+ test("read", async () => {
22
+ var _a;
23
+ const fileName = service.getFileName(lanlPosition);
24
+ const result = await service.read(fileName);
25
+ expect(result.locations).toEqual([lanlPosition]);
26
+ expect((_a = result.elevation) === null || _a === void 0 ? void 0 : _a.elevation).toBe(lanlElevation);
27
+ });
28
+ });
@@ -1,4 +1,4 @@
1
- import { DirectoryStep, OutputFunc, SsgConfig } from "ssg-api";
1
+ import { DirectoryStep, FileWriteConfig, OutputFunc } from "ssg-api";
2
2
  import { HtmlRR0Context, RR0Context } from "../../../../../RR0Context.js";
3
3
  import { RR0Case } from "./RR0Case.js";
4
4
  import { CaseService } from "./CaseService.js";
@@ -17,8 +17,7 @@ export declare class CaseDirectoryStep extends DirectoryStep {
17
17
  * @param outputFunc
18
18
  * @param config
19
19
  */
20
- constructor(caseService: CaseService, rootDirs: string[], excludedDirs: string[], templateFileName: string, outputFunc: OutputFunc, config: SsgConfig);
21
- static create(outputFunc: OutputFunc, config: SsgConfig, caseService: CaseService): Promise<CaseDirectoryStep>;
20
+ constructor(caseService: CaseService, rootDirs: string[], excludedDirs: string[], templateFileName: string, outputFunc: OutputFunc, config: FileWriteConfig);
22
21
  /**
23
22
  * Convert an array of Case[] to an <ul> HTML unordered list.
24
23
  *
@@ -18,10 +18,6 @@ export class CaseDirectoryStep extends DirectoryStep {
18
18
  this.caseService = caseService;
19
19
  this.outputFunc = outputFunc;
20
20
  }
21
- static async create(outputFunc, config, caseService) {
22
- const rootDirs = caseService.files;
23
- return new CaseDirectoryStep(caseService, rootDirs, ["science/crypto/ufo/enquete/dossier/canular"], "science/crypto/ufo/enquete/dossier/index.html", outputFunc, config);
24
- }
25
21
  /**
26
22
  * Convert an array of Case[] to an <ul> HTML unordered list.
27
23
  *
@@ -0,0 +1,34 @@
1
+ import path from "path";
2
+ import { describe, expect, test } from "@javarome/testscript";
3
+ import { CaseDirectoryStep } from "./CaseDirectoryStep.js";
4
+ import { rr0TestUtil } from "../../../../../test/index.js";
5
+ import { CaseService } from "./CaseService.js";
6
+ import { TimeElementFactory } from "../../../../../time/html/TimeElementFactory.js";
7
+ import { AllDataService, RR0EventFactory, TypedDataFactory } from "@rr0/data";
8
+ describe("DirectoryStep", () => {
9
+ const root = "src";
10
+ async function outputFunc(context, info, outDir = rr0TestUtil.outDir + "/") {
11
+ info.name = `${outDir}${info.name}`;
12
+ }
13
+ test("", async () => {
14
+ const template = `
15
+ <!--#include virtual="/header-start.html" -->
16
+ <title>Dossiers ufologiques</title>
17
+ <!--#include virtual="/header-end.html" -->
18
+ <p>Before</p>
19
+ <!--#echo var="directories" -->
20
+ <p>After</p>
21
+ <!--#include virtual="/footer.html" -->`;
22
+ const casesDirectoryPath = path.join(root, "science/crypto/ufo/enquete/dossier/index.html");
23
+ const context = rr0TestUtil.newContext(casesDirectoryPath, template);
24
+ const eventFactory = new RR0EventFactory();
25
+ const dataService = new AllDataService([new TypedDataFactory(eventFactory, "case")]);
26
+ const caseFiles = [];
27
+ const timeService = rr0TestUtil.time.getService();
28
+ const timeElementFactory = new TimeElementFactory(timeService.renderer);
29
+ const caseService = new CaseService(dataService, rr0TestUtil.caseFactory, timeElementFactory, caseFiles);
30
+ const step = new CaseDirectoryStep(caseService, [], [], casesDirectoryPath, outputFunc, rr0TestUtil.config);
31
+ const stepResult = await step.execute(context);
32
+ expect(stepResult.directoryCount).toBe(239);
33
+ });
34
+ });
@@ -1,6 +1,5 @@
1
- import { TypedDataFactory } from "../../../../../data/TypedDataFactory.js";
2
1
  import { RR0Case } from "./RR0Case.js";
3
- import { RR0EventFactory } from "../../../../../event/RR0EventFactory.js";
2
+ import { RR0EventFactory, TypedDataFactory } from "@rr0/data";
4
3
  export declare class CaseFactory extends TypedDataFactory<RR0Case> {
5
4
  constructor(eventFactory: RR0EventFactory);
6
5
  }
@@ -1,4 +1,4 @@
1
- import { TypedDataFactory } from "../../../../../data/TypedDataFactory.js";
1
+ import { TypedDataFactory } from "@rr0/data";
2
2
  export class CaseFactory extends TypedDataFactory {
3
3
  constructor(eventFactory) {
4
4
  super(eventFactory, "case");
@@ -1,8 +1,8 @@
1
- import { AbstractDataService, AllDataService } from "../../../../../data/index.js";
2
1
  import { RR0Case } from "./RR0Case.js";
3
2
  import { HtmlRR0Context } from "../../../../../RR0Context.js";
4
3
  import { TimeElementFactory } from "../../../../../time/index.js";
5
4
  import { CaseFactory } from "./CaseFactory.js";
5
+ import { AbstractDataService, AllDataService } from "@rr0/data";
6
6
  export declare class CaseService extends AbstractDataService<RR0Case> {
7
7
  protected readonly timeElementFactory: TimeElementFactory;
8
8
  constructor(dataService: AllDataService, factory: CaseFactory, timeElementFactory: TimeElementFactory, files: string[]);
@@ -1,5 +1,5 @@
1
1
  import path from "path";
2
- import { AbstractDataService } from "../../../../../data/index.js";
2
+ import { AbstractDataService } from "@rr0/data";
3
3
  export class CaseService extends AbstractDataService {
4
4
  constructor(dataService, factory, timeElementFactory, files) {
5
5
  super(dataService, factory, files);
@@ -1,5 +1,5 @@
1
- import { FileUtil } from "ssg-api";
2
1
  import fs from "fs";
2
+ import { writeFile } from "@javarome/fileutil";
3
3
  /**
4
4
  * Saves the index file collected by the SearchCommand.
5
5
  */
@@ -45,6 +45,6 @@ export class SearchIndexStep {
45
45
  }
46
46
  context.log("Saving search index of", existingIndex.pages.length, "pages at", this.fileName);
47
47
  const indexJson = JSON.stringify(existingIndex);
48
- return FileUtil.writeFile(this.fileName, indexJson, "utf-8");
48
+ return writeFile(this.fileName, indexJson, "utf-8");
49
49
  }
50
50
  }
@@ -34,7 +34,7 @@ export class SearchVisitor {
34
34
  this.handleAlreadyIndexed(title, url, titleIndexed);
35
35
  }
36
36
  const indexContext = context.clone();
37
- const time = this.timeTextBuilder.build(indexContext, true, { year: "numeric", month: "short", day: "numeric" }).toLowerCase();
37
+ const time = this.timeTextBuilder.build(indexContext, { year: "numeric", month: "short", day: "numeric" }).toLowerCase();
38
38
  indexedPages.push({ title, url, time });
39
39
  }
40
40
  if (this.config.indexWords) {
@@ -1,7 +1,7 @@
1
- import { Source } from "./Source.js";
2
- import { AllDataService } from "../data/AllDataService.js";
3
1
  import { HttpSource } from "../time/datasource/HttpSource.js";
4
2
  import { SourceRegistry } from "./SourceRegistry.js";
3
+ import { AllDataService } from "@rr0/data";
4
+ import { Source } from "@rr0/data/dist/source";
5
5
  /**
6
6
  * Create Source objects and register them.
7
7
  */
@@ -1,5 +1,5 @@
1
1
  import { SourceRegistry } from "./SourceRegistry.js";
2
- import { FileContents } from "ssg-api";
2
+ import { FileContents } from "@javarome/fileutil";
3
3
  /**
4
4
  * Create Source objects and register them.
5
5
  */
@@ -7,8 +7,13 @@ export class PersistentSourceRegistry extends SourceRegistry {
7
7
  constructor(dataService, http, baseUrl, fileName, options) {
8
8
  super(dataService, http, baseUrl, options);
9
9
  this.fileName = fileName;
10
- const registryFileContents = FileContents.read(fileName, "utf-8").contents;
11
- this.registry = JSON.parse(registryFileContents);
10
+ try {
11
+ const registryFileContents = FileContents.read(fileName, "utf-8").contents;
12
+ this.registry = JSON.parse(registryFileContents);
13
+ }
14
+ catch (e) {
15
+ console.warn("Could not read persistent source registry", fileName, e);
16
+ }
12
17
  }
13
18
  async get(href) {
14
19
  return super.get(href);
@@ -1,7 +1,7 @@
1
1
  import { HtmlRR0Context } from "../RR0Context.js";
2
- import { Source } from "./Source.js";
3
- import { AllDataService } from "../data/AllDataService.js";
4
2
  import { HttpSource } from "../time/datasource/HttpSource.js";
3
+ import { AllDataService } from "@rr0/data";
4
+ import { Source } from "@rr0/data/dist/source";
5
5
  /**
6
6
  * Create Source objects.
7
7
  */
@@ -1,8 +1,8 @@
1
1
  import path from "path";
2
2
  import { TimeContext } from "@rr0/time";
3
- import { FileContents } from "ssg-api";
4
3
  import { JSDOM } from "jsdom";
5
4
  import { Time } from "../time";
5
+ import { FileContents } from "@javarome/fileutil";
6
6
  /**
7
7
  * Create Source objects.
8
8
  */
@@ -1,4 +1,4 @@
1
- import { FileUtil } from "ssg-api";
1
+ import { writeFile } from "@javarome/fileutil";
2
2
  /**
3
3
  * Saves the index file collected by the SourceCommand.
4
4
  */
@@ -11,6 +11,6 @@ export class SourceIndexStep {
11
11
  context.log("Saving sources index at", this.fileName);
12
12
  const index = this.sourceCommand.registry;
13
13
  const indexJson = JSON.stringify(index);
14
- return FileUtil.writeFile(this.fileName, indexJson, "utf-8");
14
+ return writeFile(this.fileName, indexJson, "utf-8");
15
15
  }
16
16
  }
@@ -1,8 +1,8 @@
1
1
  import { HtmlRR0Context } from "../RR0Context.js";
2
- import { Source } from "./Source.js";
3
- import { AllDataService } from "../data/index.js";
4
2
  import { HttpSource } from "../time/index.js";
5
3
  import { SourceFactory } from "./SourceFactory.js";
4
+ import { AllDataService } from "@rr0/data";
5
+ import { Source } from "@rr0/data/dist/source";
6
6
  /**
7
7
  * Create Source objects and register them.
8
8
  */
@@ -1,6 +1,6 @@
1
1
  import { HtmlRR0Context } from "../RR0Context.js";
2
- import { Source } from "./Source.js";
3
2
  import { TimeTextBuilder } from "../time/index.js";
3
+ import { Source } from "@rr0/data/dist/source";
4
4
  /**
5
5
  * Render a case summary for a RR0 web page.
6
6
  */
@@ -59,7 +59,7 @@ export class SourceRenderer {
59
59
  else {
60
60
  sourceContext.time.updateFromStr(timeValue);
61
61
  }
62
- pubItems.push(this.timeTextBuilder.build(sourceContext, true));
62
+ pubItems.push(this.timeTextBuilder.build(sourceContext));
63
63
  }
64
64
  if (source.index) {
65
65
  pubItems.push(source.index.toString());
@@ -1,7 +1,4 @@
1
- export * from "./Article.js";
2
- export * from "./ArticleFactory.js";
3
1
  export * from "./PersistentSourceRegistry.js";
4
- export * from "./Source.js";
5
2
  export * from "./SourceFactory.js";
6
3
  export * from "./SourceFileCounter.js";
7
4
  export * from "./SourceIndexStep.js";
@@ -1,7 +1,4 @@
1
- export * from "./Article.js";
2
- export * from "./ArticleFactory.js";
3
1
  export * from "./PersistentSourceRegistry.js";
4
- export * from "./Source.js";
5
2
  export * from "./SourceFactory.js";
6
3
  export * from "./SourceFileCounter.js";
7
4
  export * from "./SourceIndexStep.js";
@@ -1,4 +1,4 @@
1
- import { RR0Data } from "../../../data/RR0Data.js";
1
+ import { RR0Data } from "@rr0/data";
2
2
  export interface API extends RR0Data {
3
3
  type: "api";
4
4
  }
@@ -1,6 +1,5 @@
1
1
  import { API } from "./API.js";
2
- import { RR0Data, TypedDataFactory } from "../../../data/index.js";
3
- import { RR0EventFactory } from "../../../event/index.js";
2
+ import { RR0Data, RR0EventFactory, TypedDataFactory } from "@rr0/data";
4
3
  export declare class APIFactory extends TypedDataFactory<API> {
5
4
  constructor(eventFactory: RR0EventFactory);
6
5
  createFromData(data: RR0Data): API;
@@ -1,4 +1,4 @@
1
- import { TypedDataFactory } from "../../../data/index.js";
1
+ import { TypedDataFactory } from "@rr0/data";
2
2
  export class APIFactory extends TypedDataFactory {
3
3
  constructor(eventFactory) {
4
4
  super(eventFactory, "api", ["index"]);
@@ -0,0 +1,50 @@
1
+ import { describe, expect, test } from "@javarome/testscript";
2
+ import { CodeReplacer } from "./CodeReplacer.js";
3
+ import { rr0TestUtil } from "../../../../../../test/index.js";
4
+ import { HtmlCodeParser } from "./HtmlCodeParser.js";
5
+ describe("CodeReplacer", () => {
6
+ const replacer = new CodeReplacer([new HtmlCodeParser()]);
7
+ test("replaces nothing", async () => {
8
+ const context = rr0TestUtil.newHtmlContext("tech/info/soft/proj/design/arch/web/js/index.html", `<p>window.document.write("Hello!")</p>`);
9
+ const codeEl = context.file.document.querySelector("code");
10
+ const replacement = await replacer.replacement(context, codeEl);
11
+ expect(replacement).toBeNull();
12
+ });
13
+ test("replaces tags", async () => {
14
+ const code = "window.document.write(\"Hello!\")";
15
+ const context = rr0TestUtil.newHtmlContext("tech/info/soft/proj/design/arch/web/js/index.html", `<code>${code}</code>`);
16
+ const codeEl = context.file.document.querySelector("code");
17
+ const replacement = await replacer.replacement(context, codeEl);
18
+ expect(replacement.innerHTML).toBe(code);
19
+ });
20
+ test("replaces tags", async () => {
21
+ const code = `
22
+ <script>
23
+ // Si le navigateur est de type 4.0 on utilise latestver.html
24
+ if (navigator.userAgent.indexOf("4.0") >= 0) {
25
+ window.location = "latestver.html"
26
+ } else if (ver >= 11) { // Sinon on regarde s'il ont JavaScript 1.1 avant d'utiliser newver.html
27
+ window.location = "newver.html"
28
+ } else { // Par défaut on choisit oldver.html pour tous les autres.
29
+ window.location = "oldver.html"
30
+ }
31
+ </script>
32
+ `;
33
+ const context = rr0TestUtil.newHtmlContext("tech/info/soft/proj/design/arch/web/js/index.html", `<pre><code>${code}</code></pre>`);
34
+ const codeEl = context.file.document.querySelector("code");
35
+ const replacement = await replacer.replacement(context, codeEl);
36
+ const innerHTML = replacement.innerHTML;
37
+ expect(innerHTML).toBe(`
38
+ <span class="tag start">&lt;script&gt;</span>
39
+ // Si le navigateur est de type 4.0 on utilise latestver.html
40
+ if (navigator.userAgent.indexOf("4.0") &gt;= 0) {
41
+ window.location = "latestver.html"
42
+ } else if (ver &gt;= 11) { // Sinon on regarde s'il ont JavaScript 1.1 avant d'utiliser newver.html
43
+ window.location = "newver.html"
44
+ } else { // Par défaut on choisit oldver.html pour tous les autres.
45
+ window.location = "oldver.html"
46
+ }
47
+ <span class="tag end">&lt;/script&gt;</span>
48
+ `);
49
+ });
50
+ });
@@ -0,0 +1,21 @@
1
+ import { HtmlRR0Context, RR0Context } from "../RR0Context.js";
2
+ import { FileWriteConfig } from "ssg-api";
3
+ import { CaseFactory } from "../science/index.js";
4
+ import { PeopleFactory } from "../people/index.js";
5
+ import { TimeTestUtil } from "../time/TimeTestUtil";
6
+ import { AllDataService } from "@rr0/data";
7
+ export declare class RR0TestUtil {
8
+ readonly rootDir: string;
9
+ readonly outDir: string;
10
+ readonly config: FileWriteConfig;
11
+ readonly intlOptions: Intl.DateTimeFormatOptions;
12
+ readonly dataService: AllDataService;
13
+ readonly caseFactory: CaseFactory;
14
+ readonly peopleFactory: PeopleFactory;
15
+ readonly time: TimeTestUtil;
16
+ constructor(rootDir?: string, outDir?: string);
17
+ newContext(inputFileName: string, contents?: string, locale?: string): RR0Context;
18
+ filePath(inputFileName: string): string;
19
+ newHtmlContext(inputFileName: string, contents?: string, locale?: string): HtmlRR0Context;
20
+ }
21
+ export declare const rr0TestUtil: RR0TestUtil;
@@ -0,0 +1,72 @@
1
+ import path from "path";
2
+ import { RR0ContextImpl } from "../RR0Context.js";
3
+ import { Time } from "../time/index.js";
4
+ import { HtmlFileContents } from "ssg-api";
5
+ import { OrganizationFactory } from "../org/index.js";
6
+ import { CaseFactory } from "../science/index.js";
7
+ import { PeopleFactory } from "../people/index.js";
8
+ import { APIFactory } from "../tech/index.js";
9
+ import { TimeTestUtil } from "../time/TimeTestUtil";
10
+ import { TimeContext } from "@rr0/time";
11
+ import { FileContents } from "@javarome/fileutil";
12
+ import { AllDataService, RR0EventFactory, TypedDataFactory } from "@rr0/data";
13
+ export class RR0TestUtil {
14
+ constructor(rootDir = "test", outDir = "out") {
15
+ this.rootDir = rootDir;
16
+ this.outDir = outDir;
17
+ this.config = {
18
+ getOutputPath: (context) => {
19
+ return path.join(this.outDir, context.file.name);
20
+ }
21
+ };
22
+ this.intlOptions = {
23
+ year: "numeric",
24
+ month: "long",
25
+ day: "numeric",
26
+ weekday: "long",
27
+ hour: "2-digit",
28
+ minute: "2-digit",
29
+ timeZoneName: "short"
30
+ };
31
+ const eventFactory = new RR0EventFactory();
32
+ const sightingFactory = new TypedDataFactory(eventFactory, "sighting", ["index"]);
33
+ const orgFactory = new OrganizationFactory(eventFactory);
34
+ this.caseFactory = new CaseFactory(eventFactory);
35
+ this.peopleFactory = new PeopleFactory(eventFactory);
36
+ const apiFactory = new APIFactory(eventFactory);
37
+ const bookFactory = new TypedDataFactory(eventFactory, "book");
38
+ const articleFactory = new TypedDataFactory(eventFactory, "article");
39
+ this.dataService = new AllDataService([orgFactory, this.caseFactory, this.peopleFactory, bookFactory, articleFactory, sightingFactory, apiFactory]);
40
+ this.dataService.getFromDir("", ["people", "case"]).then(data => {
41
+ // console.debug(data)
42
+ });
43
+ this.time = new TimeTestUtil(this);
44
+ }
45
+ newContext(inputFileName, contents, locale = "fr") {
46
+ const context = new RR0ContextImpl(locale, new TimeContext(), this.config);
47
+ if (contents !== undefined && contents != null) {
48
+ const langInfo = FileContents.getLang(inputFileName);
49
+ context.file = new FileContents(inputFileName, "utf8", contents, new Date(), langInfo);
50
+ }
51
+ else {
52
+ context.file = FileContents.read(inputFileName);
53
+ }
54
+ context.file = context.file; // By default
55
+ return context;
56
+ }
57
+ filePath(inputFileName) {
58
+ return path.join(this.rootDir, inputFileName);
59
+ }
60
+ newHtmlContext(inputFileName, contents, locale = "fr") {
61
+ const context = this.newContext(this.filePath(inputFileName), contents, locale);
62
+ const titleExec = /<title>(.*)<\/title>/.exec(contents);
63
+ const title = titleExec && titleExec.length > 0 ? titleExec[1].trim() : undefined;
64
+ const currentFile = context.file;
65
+ const lang = currentFile.lang;
66
+ context.file = new HtmlFileContents(currentFile.name, currentFile.encoding, currentFile.contents, currentFile.lastModified, lang, { author: [] }, {}, title);
67
+ const htmlContext = context;
68
+ Object.assign(htmlContext.time, Time.contextFromFileName(htmlContext, inputFileName));
69
+ return htmlContext;
70
+ }
71
+ }
72
+ export const rr0TestUtil = new RR0TestUtil();
@@ -0,0 +1 @@
1
+ export * from "./RR0TestUtil.js";
@@ -0,0 +1 @@
1
+ export * from "./RR0TestUtil.js";
@@ -1,10 +1,10 @@
1
1
  import { HtmlRR0Context } from "../RR0Context.js";
2
- import { RR0Data } from "../data/index.js";
3
- import { Source, SourceFactory, SourceRenderer } from "../source/index.js";
2
+ import { SourceFactory, SourceRenderer } from "../source/index.js";
4
3
  import { NoteRenderer } from "../note/index.js";
5
4
  import { NamedPlace } from "./datasource/index.js";
6
5
  import { TimeElementFactory } from "./html/TimeElementFactory.js";
7
- import { RR0Event } from "../event/index.js";
6
+ import { RR0Data, RR0Event } from "@rr0/data";
7
+ import { Source } from "@rr0/data/dist/source";
8
8
  /**
9
9
  * Render a case summary as HTML.
10
10
  */
@@ -59,7 +59,7 @@ export class EventRenderer {
59
59
  async renderSources(context, sources, container) {
60
60
  for (const source of sources) {
61
61
  const href = source.url;
62
- const resolvedSource = href ? await this.sourceFactory.create(context, href.toString()) : source;
62
+ const resolvedSource = source.title || !href ? source : await this.sourceFactory.create(context, href.toString());
63
63
  const sourceEl = this.sourceRenderer.render(context, resolvedSource);
64
64
  container.append(" ", sourceEl);
65
65
  }
@@ -1,8 +1,7 @@
1
1
  import { DomReplacer, ReplacerFactory } from "ssg-api";
2
2
  import { HtmlRR0Context } from "../RR0Context.js";
3
- import { AllDataService } from "../data/index.js";
4
3
  import { EventRenderer } from "./EventRenderer.js";
5
- import { RR0Event } from "../event/index.js";
4
+ import { AllDataService, RR0Event } from "@rr0/data";
6
5
  export declare class EventReplacer<D extends RR0Event> {
7
6
  protected renderer: EventRenderer<D>;
8
7
  protected dataService: AllDataService;
package/dist/time/Time.js CHANGED
@@ -23,7 +23,7 @@ export class Time {
23
23
  const timeContext = Time.contextFromFileName(context, fileName);
24
24
  if (timeContext) {
25
25
  const pageContext = new RR0ContextImpl(context.locale, timeContext, context.config, context.people, context.file);
26
- title = timeTextBuilder.build(pageContext, true);
26
+ title = timeTextBuilder.build(pageContext);
27
27
  title = StringUtil.capitalizeFirstLetter(title);
28
28
  }
29
29
  return title;
@@ -0,0 +1 @@
1
+ export {};