@rr0/cms 0.3.16 → 0.3.19

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 (569) hide show
  1. package/dist/CMSContext.d.ts +7 -0
  2. package/dist/{RR0Build.d.ts → CMSGenerator.d.ts} +35 -16
  3. package/dist/{RR0Build.js → CMSGenerator.js} +97 -96
  4. package/dist/CMSGenerator.test.d.ts +1 -0
  5. package/dist/{RR0Build.test.js → CMSGenerator.test.js} +64 -52
  6. package/dist/{DefaultContentVisitor.d.ts → DataContentVisitor.d.ts} +4 -1
  7. package/dist/{DefaultContentVisitor.js → DataContentVisitor.js} +4 -1
  8. package/dist/DescriptionReplaceCommand.d.ts +1 -1
  9. package/dist/ImageCommand.js +2 -2
  10. package/dist/OpenGraphCommand.d.ts +1 -1
  11. package/dist/OpenGraphCommand.js +1 -1
  12. package/dist/OpenGraphCommand.test.js +1 -2
  13. package/dist/PerFileCounter.d.ts +1 -1
  14. package/dist/RR0Context.d.ts +6 -2
  15. package/dist/RR0Context.js +19 -11
  16. package/dist/RR0Context.test.js +6 -6
  17. package/dist/ReferenceGenerator.d.ts +1 -1
  18. package/dist/anchor/AnchorReplaceCommandTest.js +1 -1
  19. package/dist/book/Book.d.ts +2 -2
  20. package/dist/book/Book.js +3 -1
  21. package/dist/book/BookDirectoryStep.d.ts +1 -1
  22. package/dist/book/BookDirectoryStep.js +3 -3
  23. package/dist/book/BookJson.d.ts +1 -1
  24. package/dist/book/BookService.d.ts +1 -1
  25. package/dist/book/BookService.test.js +5 -9
  26. package/dist/index.d.ts +3 -3
  27. package/dist/index.js +3 -2
  28. package/dist/lang/RR0Messages.d.ts +1 -1
  29. package/dist/org/Cities.js +11 -11
  30. package/dist/org/CmsOrganizationFactory.d.ts +1 -2
  31. package/dist/org/CountryMessageList_en.js +1 -1
  32. package/dist/org/CountryMessageList_fr.js +1 -1
  33. package/dist/org/OrganizationService.d.ts +1 -1
  34. package/dist/org/au/Australia.d.ts +1 -1
  35. package/dist/org/au/Australia.js +1 -1
  36. package/dist/org/au/index.d.ts +1 -1
  37. package/dist/org/au/index.js +1 -1
  38. package/dist/org/ca/Canada.d.ts +1 -1
  39. package/dist/org/ca/Canada.js +1 -1
  40. package/dist/org/cn/China.d.ts +1 -1
  41. package/dist/org/cn/China.js +1 -1
  42. package/dist/org/cn/ChinaMessages_cn.js +1 -1
  43. package/dist/org/cn/ChinaMessages_en.js +1 -1
  44. package/dist/org/cn/ChinaMessages_fr.js +1 -1
  45. package/dist/org/cn/region/ChinaCities.js +1 -1
  46. package/dist/org/cn/region/ChinaRegions.d.ts +1 -1
  47. package/dist/org/cn/region/ChinaRegions.js +1 -1
  48. package/dist/org/cn/region/n/NorthChinaMessages_cn.d.ts +3 -3
  49. package/dist/org/cn/region/n/NorthChinaMessages_cn.js +3 -3
  50. package/dist/org/cn/region/n/NorthChinaMessages_en.d.ts +3 -3
  51. package/dist/org/cn/region/n/NorthChinaMessages_en.js +3 -3
  52. package/dist/org/cn/region/n/NorthChinaMessages_fr.d.ts +3 -3
  53. package/dist/org/cn/region/n/NorthChinaMessages_fr.js +3 -3
  54. package/dist/org/cn/region/n/ji/Hebei.d.ts +1 -1
  55. package/dist/org/cn/region/n/ji/Hebei.js +3 -3
  56. package/dist/org/cn/region/n/ji/HebeiCities.d.ts +1 -1
  57. package/dist/org/cn/region/n/ji/HebeiCities.js +1 -1
  58. package/dist/org/cn/region/n/ji/HebeiMessages_cn.js +1 -1
  59. package/dist/org/cn/region/n/ji/HebeiMessages_fr.js +1 -1
  60. package/dist/org/cn/region/n/ji/Tianjin/Tianjin.js +2 -2
  61. package/dist/org/co/Colombia.d.ts +2 -2
  62. package/dist/org/co/Colombia.js +1 -1
  63. package/dist/org/country/CmsCountry.d.ts +1 -1
  64. package/dist/org/country/CmsCountry.js +1 -1
  65. package/dist/org/country/Countries.d.ts +1 -1
  66. package/dist/org/country/Countries.js +30 -30
  67. package/dist/org/country/CountryService.d.ts +1 -1
  68. package/dist/org/country/CountryService.test.js +1 -1
  69. package/dist/org/country/region/RegionService.d.ts +1 -1
  70. package/dist/org/country/region/RegionService.test.js +1 -1
  71. package/dist/org/country/region/department/DepartmentService.test.js +1 -1
  72. package/dist/org/do/DominicanRepublic.d.ts +2 -2
  73. package/dist/org/do/DominicanRepublic.js +1 -1
  74. package/dist/org/dz/Algeria.d.ts +1 -1
  75. package/dist/org/dz/Algeria.js +1 -1
  76. package/dist/org/ec/Ecuador.d.ts +1 -1
  77. package/dist/org/ec/Ecuador.js +1 -1
  78. package/dist/org/eg/Egypt.d.ts +1 -1
  79. package/dist/org/eg/Egypt.js +1 -1
  80. package/dist/org/eu/de/Germany.d.ts +1 -1
  81. package/dist/org/eu/de/Germany.js +1 -1
  82. package/dist/org/eu/dk/Denmark.d.ts +1 -1
  83. package/dist/org/eu/dk/Denmark.js +1 -1
  84. package/dist/org/eu/es/Spain.d.ts +1 -1
  85. package/dist/org/eu/es/Spain.js +1 -1
  86. package/dist/org/eu/fi/Finland.d.ts +1 -1
  87. package/dist/org/eu/fi/Finland.js +1 -1
  88. package/dist/org/eu/fr/France.d.ts +1 -1
  89. package/dist/org/eu/fr/France.js +1 -1
  90. package/dist/org/eu/fr/cnes/geipan/geipan/GeipanFileDatasource.d.ts +1 -1
  91. package/dist/org/eu/fr/cnes/geipan/geipan/GeipanHttpDatasource.js +1 -1
  92. package/dist/org/eu/fr/cnes/geipan/geipan/GeipanRR0Mapping.d.ts +2 -2
  93. package/dist/org/eu/fr/region/ara/01/HautevilleLompnes/HautevilleLompnes.d.ts +1 -1
  94. package/dist/org/eu/fr/region/ara/01/HautevilleLompnes/HautevilleLompnes.js +2 -2
  95. package/dist/org/eu/fr/region/ara/03/montmarault/Montmarault.d.ts +1 -1
  96. package/dist/org/eu/fr/region/ara/03/montmarault/Montmarault.js +2 -2
  97. package/dist/org/eu/fr/region/ara/03/valonensully/VallonEnSully.d.ts +1 -1
  98. package/dist/org/eu/fr/region/ara/03/valonensully/VallonEnSully.js +2 -2
  99. package/dist/org/eu/fr/region/ara/07/Coux/Coux.d.ts +1 -1
  100. package/dist/org/eu/fr/region/ara/07/Coux/Coux.js +2 -2
  101. package/dist/org/eu/fr/region/ara/07/Largentiere/Largentiere.d.ts +1 -1
  102. package/dist/org/eu/fr/region/ara/07/Largentiere/Largentiere.js +2 -2
  103. package/dist/org/eu/fr/region/ara/07/VernouxEnVivarais/VernouxEnVivarais.d.ts +1 -1
  104. package/dist/org/eu/fr/region/ara/07/VernouxEnVivarais/VernouxEnVivarais.js +2 -2
  105. package/dist/org/eu/fr/region/ara/15/mauriac/Mauriac.d.ts +1 -1
  106. package/dist/org/eu/fr/region/ara/15/mauriac/Mauriac.js +2 -2
  107. package/dist/org/eu/fr/region/ara/15/pierrefort/Pierrefort.d.ts +1 -1
  108. package/dist/org/eu/fr/region/ara/15/pierrefort/Pierrefort.js +2 -2
  109. package/dist/org/eu/fr/region/ara/26/Chateaudouble/Chateaudouble.d.ts +1 -1
  110. package/dist/org/eu/fr/region/ara/26/Chateaudouble/Chateaudouble.js +2 -2
  111. package/dist/org/eu/fr/region/ara/38/Allevard/Allevard.d.ts +1 -1
  112. package/dist/org/eu/fr/region/ara/38/Allevard/Allevard.js +2 -2
  113. package/dist/org/eu/fr/region/ara/38/Chirens/Chirens.d.ts +1 -1
  114. package/dist/org/eu/fr/region/ara/38/Chirens/Chirens.js +2 -2
  115. package/dist/org/eu/fr/region/ara/38/Domene/Domene.d.ts +1 -1
  116. package/dist/org/eu/fr/region/ara/38/Domene/Domene.js +2 -2
  117. package/dist/org/eu/fr/region/ara/38/Meylan/Meylan.d.ts +1 -1
  118. package/dist/org/eu/fr/region/ara/38/Meylan/Meylan.js +2 -2
  119. package/dist/org/eu/fr/region/ara/38/Renage/Renage.d.ts +1 -1
  120. package/dist/org/eu/fr/region/ara/38/Renage/Renage.js +2 -2
  121. package/dist/org/eu/fr/region/ara/38/SaintGeoireEnValdaine/SaintGeoireEnValdaine.d.ts +1 -1
  122. package/dist/org/eu/fr/region/ara/38/SaintGeoireEnValdaine/SaintGeoireEnValdaine.js +2 -2
  123. package/dist/org/eu/fr/region/ara/38/SaintMarcellin/SaintMarcellin.d.ts +1 -1
  124. package/dist/org/eu/fr/region/ara/38/SaintMarcellin/SaintMarcellin.js +2 -2
  125. package/dist/org/eu/fr/region/ara/38/SaintVerand/SaintVerand.d.ts +1 -1
  126. package/dist/org/eu/fr/region/ara/38/SaintVerand/SaintVerand.js +2 -2
  127. package/dist/org/eu/fr/region/ara/38/Valbonnais/Valbonnais.d.ts +1 -1
  128. package/dist/org/eu/fr/region/ara/38/Valbonnais/Valbonnais.js +2 -2
  129. package/dist/org/eu/fr/region/ara/38/Venon/Venon.d.ts +1 -1
  130. package/dist/org/eu/fr/region/ara/38/Venon/Venon.js +2 -2
  131. package/dist/org/eu/fr/region/ara/42/Montbrison/Montbrison.d.ts +1 -1
  132. package/dist/org/eu/fr/region/ara/42/Montbrison/Montbrison.js +2 -2
  133. package/dist/org/eu/fr/region/ara/42/Roanne/Roanne.d.ts +1 -1
  134. package/dist/org/eu/fr/region/ara/42/Roanne/Roanne.js +2 -2
  135. package/dist/org/eu/fr/region/ara/42/SaintEtienne/SaintEtienne.d.ts +1 -1
  136. package/dist/org/eu/fr/region/ara/42/SaintEtienne/SaintEtienne.js +2 -2
  137. package/dist/org/eu/fr/region/ara/63/Billom/Billom.d.ts +1 -1
  138. package/dist/org/eu/fr/region/ara/63/Billom/Billom.js +2 -2
  139. package/dist/org/eu/fr/region/ara/63/ChatelGuyon/ChatelGuyon.d.ts +1 -1
  140. package/dist/org/eu/fr/region/ara/63/ChatelGuyon/ChatelGuyon.js +2 -2
  141. package/dist/org/eu/fr/region/ara/63/Riom/Riom.d.ts +1 -1
  142. package/dist/org/eu/fr/region/ara/63/Riom/Riom.js +2 -2
  143. package/dist/org/eu/fr/region/ara/69/Belleville/Belleville.d.ts +1 -1
  144. package/dist/org/eu/fr/region/ara/69/Belleville/Belleville.js +2 -2
  145. package/dist/org/eu/fr/region/ara/69/Lyon/Lyon.d.ts +2 -2
  146. package/dist/org/eu/fr/region/ara/69/Lyon/Lyon.js +3 -3
  147. package/dist/org/eu/fr/region/ara/73/SaintJeanDeMaurienne/SaintJeanDeMaurienne.d.ts +1 -1
  148. package/dist/org/eu/fr/region/ara/73/SaintJeanDeMaurienne/SaintJeanDeMaurienne.js +2 -2
  149. package/dist/org/eu/fr/region/bfc/21/MirebeauSurBeze/MirebeauSurBeze.d.ts +1 -1
  150. package/dist/org/eu/fr/region/bfc/21/MirebeauSurBeze/MirebeauSurBeze.js +2 -2
  151. package/dist/org/eu/fr/region/bfc/21/Vitteaux/Vitteaux.d.ts +1 -1
  152. package/dist/org/eu/fr/region/bfc/21/Vitteaux/Vitteaux.js +2 -2
  153. package/dist/org/eu/fr/region/bfc/25/AmathayVesigneux/AmathayVesigneux.d.ts +1 -1
  154. package/dist/org/eu/fr/region/bfc/25/AmathayVesigneux/AmathayVesigneux.js +2 -2
  155. package/dist/org/eu/fr/region/bfc/25/Ouhans/Ouhans.d.ts +1 -1
  156. package/dist/org/eu/fr/region/bfc/25/Ouhans/Ouhans.js +2 -2
  157. package/dist/org/eu/fr/region/bfc/39/SaintClaude/SaintClaude.d.ts +1 -1
  158. package/dist/org/eu/fr/region/bfc/39/SaintClaude/SaintClaude.js +2 -2
  159. package/dist/org/eu/fr/region/bfc/56/Locmine/Locmine.d.ts +1 -1
  160. package/dist/org/eu/fr/region/bfc/56/Locmine/Locmine.js +2 -2
  161. package/dist/org/eu/fr/region/bfc/58/ChateauneufValDeBargis/ChateauneufValDeBargis.d.ts +1 -1
  162. package/dist/org/eu/fr/region/bfc/58/ChateauneufValDeBargis/ChateauneufValDeBargis.js +2 -2
  163. package/dist/org/eu/fr/region/bfc/71/Joncy/Joncy.d.ts +1 -1
  164. package/dist/org/eu/fr/region/bfc/71/Joncy/Joncy.js +2 -2
  165. package/dist/org/eu/fr/region/bfc/71/Verosvres/Verosvres.d.ts +1 -1
  166. package/dist/org/eu/fr/region/bfc/71/Verosvres/Verosvres.js +2 -2
  167. package/dist/org/eu/fr/region/bfc/89/Avallon/Avallon.d.ts +1 -1
  168. package/dist/org/eu/fr/region/bfc/89/Avallon/Avallon.js +2 -2
  169. package/dist/org/eu/fr/region/bfc/89/FlognyLaChapelle/FlognyLaChapelle.d.ts +1 -1
  170. package/dist/org/eu/fr/region/bfc/89/FlognyLaChapelle/FlognyLaChapelle.js +2 -2
  171. package/dist/org/eu/fr/region/bfc/89/JouxLaVille/JouxLaVille.d.ts +1 -1
  172. package/dist/org/eu/fr/region/bfc/89/JouxLaVille/JouxLaVille.js +2 -2
  173. package/dist/org/eu/fr/region/bfc/89/PrecyLeSec/PrecyLeSec.d.ts +1 -1
  174. package/dist/org/eu/fr/region/bfc/89/PrecyLeSec/PrecyLeSec.js +2 -2
  175. package/dist/org/eu/fr/region/bfc/89/Provency/Provency.d.ts +1 -1
  176. package/dist/org/eu/fr/region/bfc/89/Provency/Provency.js +2 -2
  177. package/dist/org/eu/fr/region/bfc/89/SaintMore/SaintMore.d.ts +1 -1
  178. package/dist/org/eu/fr/region/bfc/89/SaintMore/SaintMore.js +2 -2
  179. package/dist/org/eu/fr/region/bfc/89/Vermenton/Vermenton.d.ts +1 -1
  180. package/dist/org/eu/fr/region/bfc/89/Vermenton/Vermenton.js +2 -2
  181. package/dist/org/eu/fr/region/bfc/89/Villy/Villy.d.ts +1 -1
  182. package/dist/org/eu/fr/region/bfc/89/Villy/Villy.js +2 -2
  183. package/dist/org/eu/fr/region/bre/35/pleinefougeres/PleineFougeres.d.ts +1 -1
  184. package/dist/org/eu/fr/region/bre/35/pleinefougeres/PleineFougeres.js +2 -2
  185. package/dist/org/eu/fr/region/cvl/18/ChateauneufSurCher/ChateauneufSurCher.d.ts +1 -1
  186. package/dist/org/eu/fr/region/cvl/18/ChateauneufSurCher/ChateauneufSurCher.js +2 -2
  187. package/dist/org/eu/fr/region/cvl/36/Issoudun/Issoudun.d.ts +1 -1
  188. package/dist/org/eu/fr/region/cvl/36/Issoudun/Issoudun.js +2 -2
  189. package/dist/org/eu/fr/region/cvl/37/Blere/Blere.d.ts +1 -1
  190. package/dist/org/eu/fr/region/cvl/37/Blere/Blere.js +2 -2
  191. package/dist/org/eu/fr/region/cvl/37/ChambourgSurIndre/ChambourgSurIndre.d.ts +1 -1
  192. package/dist/org/eu/fr/region/cvl/37/ChambourgSurIndre/ChambourgSurIndre.js +2 -2
  193. package/dist/org/eu/fr/region/cvl/37/Monts/Monts.d.ts +1 -1
  194. package/dist/org/eu/fr/region/cvl/37/Monts/Monts.js +2 -2
  195. package/dist/org/eu/fr/region/cvl/45/bou/Bou.d.ts +1 -1
  196. package/dist/org/eu/fr/region/cvl/45/bou/Bou.js +2 -2
  197. package/dist/org/eu/fr/region/cvl/45/chateaurenard/ChateauRenard.d.ts +1 -1
  198. package/dist/org/eu/fr/region/cvl/45/chateaurenard/ChateauRenard.js +2 -2
  199. package/dist/org/eu/fr/region/ges/08/Revin/Revin.d.ts +1 -1
  200. package/dist/org/eu/fr/region/ges/08/Revin/Revin.js +2 -2
  201. package/dist/org/eu/fr/region/ges/51/Reims/Reims.d.ts +1 -1
  202. package/dist/org/eu/fr/region/ges/51/Reims/Reims.js +2 -2
  203. package/dist/org/eu/fr/region/ges/54/CosnesEtRomain/CosnesEtRomain.d.ts +1 -1
  204. package/dist/org/eu/fr/region/ges/54/CosnesEtRomain/CosnesEtRomain.js +2 -2
  205. package/dist/org/eu/fr/region/ges/54/Nancy/Nancy.d.ts +1 -1
  206. package/dist/org/eu/fr/region/ges/54/Nancy/Nancy.js +2 -2
  207. package/dist/org/eu/fr/region/ges/54/NeuvesMaisons/NeuvesMaisons.d.ts +1 -1
  208. package/dist/org/eu/fr/region/ges/54/NeuvesMaisons/NeuvesMaisons.js +2 -2
  209. package/dist/org/eu/fr/region/ges/55/GondrecourtLeChateau/GondrecourtLeChateau.d.ts +1 -1
  210. package/dist/org/eu/fr/region/ges/55/GondrecourtLeChateau/GondrecourtLeChateau.js +2 -2
  211. package/dist/org/eu/fr/region/ges/55/Vaucouleurs/Vaucouleurs.d.ts +1 -1
  212. package/dist/org/eu/fr/region/ges/55/Vaucouleurs/Vaucouleurs.js +2 -2
  213. package/dist/org/eu/fr/region/ges/55/VoidVacon/VoidVacon.d.ts +1 -1
  214. package/dist/org/eu/fr/region/ges/55/VoidVacon/VoidVacon.js +2 -2
  215. package/dist/org/eu/fr/region/ges/57/ArsSurMoselle/ArsSurMoselle.d.ts +1 -1
  216. package/dist/org/eu/fr/region/ges/57/ArsSurMoselle/ArsSurMoselle.js +2 -2
  217. package/dist/org/eu/fr/region/ges/57/Bouzonville/Bouzonville.d.ts +1 -1
  218. package/dist/org/eu/fr/region/ges/57/Bouzonville/Bouzonville.js +2 -2
  219. package/dist/org/eu/fr/region/ges/57/Forbach/Forbach.d.ts +1 -1
  220. package/dist/org/eu/fr/region/ges/57/Forbach/Forbach.js +2 -2
  221. package/dist/org/eu/fr/region/ges/57/MontignyLesMetz/MontignyLesMetz.d.ts +1 -1
  222. package/dist/org/eu/fr/region/ges/57/MontignyLesMetz/MontignyLesMetz.js +2 -2
  223. package/dist/org/eu/fr/region/ges/67/Bischwiller/Bischwiller.d.ts +1 -1
  224. package/dist/org/eu/fr/region/ges/67/Bischwiller/Bischwiller.js +2 -2
  225. package/dist/org/eu/fr/region/ges/67/Urmatt/Urmatt.d.ts +1 -1
  226. package/dist/org/eu/fr/region/ges/67/Urmatt/Urmatt.js +2 -2
  227. package/dist/org/eu/fr/region/ges/68/Mulhouse/Mulhouse.d.ts +1 -1
  228. package/dist/org/eu/fr/region/ges/68/Mulhouse/Mulhouse.js +2 -2
  229. package/dist/org/eu/fr/region/ges/88/Anglemont/Anglemont.d.ts +1 -1
  230. package/dist/org/eu/fr/region/ges/88/Anglemont/Anglemont.js +2 -2
  231. package/dist/org/eu/fr/region/ges/88/Epinal/Epinal.d.ts +1 -1
  232. package/dist/org/eu/fr/region/ges/88/Epinal/Epinal.js +2 -2
  233. package/dist/org/eu/fr/region/hdf/02/SainsRichaumont/SainsRichaumont.d.ts +1 -1
  234. package/dist/org/eu/fr/region/hdf/02/SainsRichaumont/SainsRichaumont.js +2 -2
  235. package/dist/org/eu/fr/region/hdf/59/Aniche/Aniche.d.ts +1 -1
  236. package/dist/org/eu/fr/region/hdf/59/Aniche/Aniche.js +2 -2
  237. package/dist/org/eu/fr/region/hdf/59/AvesnesLesAubert/AvesnesLesAubert.d.ts +1 -1
  238. package/dist/org/eu/fr/region/hdf/59/AvesnesLesAubert/AvesnesLesAubert.js +2 -2
  239. package/dist/org/eu/fr/region/hdf/59/Jeumont/Jeumont.d.ts +1 -1
  240. package/dist/org/eu/fr/region/hdf/59/Jeumont/Jeumont.js +2 -2
  241. package/dist/org/eu/fr/region/hdf/59/Thiant/Thiant.d.ts +1 -1
  242. package/dist/org/eu/fr/region/hdf/59/Thiant/Thiant.js +2 -2
  243. package/dist/org/eu/fr/region/hdf/62/Calais/Calais.d.ts +1 -1
  244. package/dist/org/eu/fr/region/hdf/62/Calais/Calais.js +2 -2
  245. package/dist/org/eu/fr/region/hdf/62/NeuvilleSaintVaast/NeuvilleSaintVaast.d.ts +1 -1
  246. package/dist/org/eu/fr/region/hdf/62/NeuvilleSaintVaast/NeuvilleSaintVaast.js +2 -2
  247. package/dist/org/eu/fr/region/hdf/62/SaintPolSurTernoise/SaintPolSurTernoise.d.ts +1 -1
  248. package/dist/org/eu/fr/region/hdf/62/SaintPolSurTernoise/SaintPolSurTernoise.js +2 -2
  249. package/dist/org/eu/fr/region/hdf/80/bernaville/Bernaville.d.ts +1 -1
  250. package/dist/org/eu/fr/region/hdf/80/bernaville/Bernaville.js +2 -2
  251. package/dist/org/eu/fr/region/idf/60/NeuillyEnThelle/NeuillyEnThelle.d.ts +1 -1
  252. package/dist/org/eu/fr/region/idf/60/NeuillyEnThelle/NeuillyEnThelle.js +2 -2
  253. package/dist/org/eu/fr/region/idf/60/PontLEveque/PontLEveque.d.ts +1 -1
  254. package/dist/org/eu/fr/region/idf/60/PontLEveque/PontLEveque.js +2 -2
  255. package/dist/org/eu/fr/region/idf/60/PontSainteMaxence/PontSainteMaxence.d.ts +1 -1
  256. package/dist/org/eu/fr/region/idf/60/PontSainteMaxence/PontSainteMaxence.js +2 -2
  257. package/dist/org/eu/fr/region/idf/60/RibecourtDreslincourt/RibecourtDreslincourt.d.ts +1 -1
  258. package/dist/org/eu/fr/region/idf/60/RibecourtDreslincourt/RibecourtDreslincourt.js +2 -2
  259. package/dist/org/eu/fr/region/idf/60/compiegne/Compiegne.d.ts +1 -1
  260. package/dist/org/eu/fr/region/idf/60/compiegne/Compiegne.js +2 -2
  261. package/dist/org/eu/fr/region/idf/60/morlincourt/Morlincourt.d.ts +1 -1
  262. package/dist/org/eu/fr/region/idf/60/morlincourt/Morlincourt.js +2 -2
  263. package/dist/org/eu/fr/region/idf/77/SivryCourtry/SivryCourtry.d.ts +1 -1
  264. package/dist/org/eu/fr/region/idf/77/SivryCourtry/SivryCourtry.js +2 -2
  265. package/dist/org/eu/fr/region/idf/78/mesnilleroi/MesnilLeRoi.d.ts +1 -1
  266. package/dist/org/eu/fr/region/idf/78/mesnilleroi/MesnilLeRoi.js +2 -2
  267. package/dist/org/eu/fr/region/idf/78/neauphlelechateau/NeauphleLeChateau.d.ts +1 -1
  268. package/dist/org/eu/fr/region/idf/78/neauphlelechateau/NeauphleLeChateau.js +2 -2
  269. package/dist/org/eu/fr/region/idf/78/noisyleroi/NoisyLeRoi.d.ts +1 -1
  270. package/dist/org/eu/fr/region/idf/78/noisyleroi/NoisyLeRoi.js +2 -2
  271. package/dist/org/eu/fr/region/idf/91/wissous/Wissous.d.ts +1 -1
  272. package/dist/org/eu/fr/region/idf/91/wissous/Wissous.js +2 -2
  273. package/dist/org/eu/fr/region/idf/92/BoisColombes/BoisColombes.d.ts +1 -1
  274. package/dist/org/eu/fr/region/idf/92/BoisColombes/BoisColombes.js +2 -2
  275. package/dist/org/eu/fr/region/idf/92/Colombes/Colombes.d.ts +1 -1
  276. package/dist/org/eu/fr/region/idf/92/Colombes/Colombes.js +2 -2
  277. package/dist/org/eu/fr/region/idf/92/Nanterre/Nanterre.d.ts +1 -1
  278. package/dist/org/eu/fr/region/idf/92/Nanterre/Nanterre.js +2 -2
  279. package/dist/org/eu/fr/region/idf/95/taverny/Taverny.d.ts +1 -1
  280. package/dist/org/eu/fr/region/idf/95/taverny/Taverny.js +2 -2
  281. package/dist/org/eu/fr/region/naq/16/Angouleme/Angouleme.d.ts +1 -1
  282. package/dist/org/eu/fr/region/naq/16/Angouleme/Angouleme.js +2 -2
  283. package/dist/org/eu/fr/region/naq/16/Montigne/Montigne.d.ts +1 -1
  284. package/dist/org/eu/fr/region/naq/16/Montigne/Montigne.js +2 -2
  285. package/dist/org/eu/fr/region/naq/16/Rouillac/Rouillac.d.ts +1 -1
  286. package/dist/org/eu/fr/region/naq/16/Rouillac/Rouillac.js +2 -2
  287. package/dist/org/eu/fr/region/naq/16/Villeboislavalette/VilleboisLavalette.d.ts +1 -1
  288. package/dist/org/eu/fr/region/naq/16/Villeboislavalette/VilleboisLavalette.js +2 -2
  289. package/dist/org/eu/fr/region/naq/17/Matha/Matha.d.ts +1 -1
  290. package/dist/org/eu/fr/region/naq/17/Matha/Matha.js +2 -2
  291. package/dist/org/eu/fr/region/naq/17/SaintJeanAngely/SaintJeanAngely.d.ts +1 -1
  292. package/dist/org/eu/fr/region/naq/17/SaintJeanAngely/SaintJeanAngely.js +2 -2
  293. package/dist/org/eu/fr/region/naq/17/Saujon/Saujon.d.ts +1 -1
  294. package/dist/org/eu/fr/region/naq/17/Saujon/Saujon.js +2 -2
  295. package/dist/org/eu/fr/region/naq/17/StMartinDeRe/StMartinDeRe.d.ts +1 -1
  296. package/dist/org/eu/fr/region/naq/17/StMartinDeRe/StMartinDeRe.js +2 -2
  297. package/dist/org/eu/fr/region/naq/19/BriveLaGaillarde/BriveLaGaillarde.d.ts +1 -1
  298. package/dist/org/eu/fr/region/naq/19/BriveLaGaillarde/BriveLaGaillarde.js +2 -2
  299. package/dist/org/eu/fr/region/naq/19/LarochePresFeyt/LarochePresFeyt.d.ts +1 -1
  300. package/dist/org/eu/fr/region/naq/19/LarochePresFeyt/LarochePresFeyt.js +2 -2
  301. package/dist/org/eu/fr/region/naq/23/Chambon/Chambon.d.ts +1 -1
  302. package/dist/org/eu/fr/region/naq/23/Chambon/Chambon.js +2 -2
  303. package/dist/org/eu/fr/region/naq/24/Eymet/Eymet.d.ts +1 -1
  304. package/dist/org/eu/fr/region/naq/24/Eymet/Eymet.js +2 -2
  305. package/dist/org/eu/fr/region/naq/33/Cestas/Cestas.d.ts +1 -1
  306. package/dist/org/eu/fr/region/naq/33/Cestas/Cestas.js +2 -2
  307. package/dist/org/eu/fr/region/naq/33/Etauliers/Etauliers.d.ts +1 -1
  308. package/dist/org/eu/fr/region/naq/33/Etauliers/Etauliers.js +2 -2
  309. package/dist/org/eu/fr/region/naq/33/StAndreDeCubzac/StAndreDeCubzac.d.ts +1 -1
  310. package/dist/org/eu/fr/region/naq/33/StAndreDeCubzac/StAndreDeCubzac.js +2 -2
  311. package/dist/org/eu/fr/region/naq/40/MontDeMarsan/MontDeMarsan.d.ts +1 -1
  312. package/dist/org/eu/fr/region/naq/40/MontDeMarsan/MontDeMarsan.js +2 -2
  313. package/dist/org/eu/fr/region/naq/47/LaroqueTimbaut/LaroqueTimbaut.d.ts +1 -1
  314. package/dist/org/eu/fr/region/naq/47/LaroqueTimbaut/LaroqueTimbaut.js +2 -2
  315. package/dist/org/eu/fr/region/naq/47/PontDuCasse/PontDuCasse.d.ts +1 -1
  316. package/dist/org/eu/fr/region/naq/47/PontDuCasse/PontDuCasse.js +2 -2
  317. package/dist/org/eu/fr/region/naq/64/Nay/Nay.d.ts +1 -1
  318. package/dist/org/eu/fr/region/naq/64/Nay/Nay.js +2 -2
  319. package/dist/org/eu/fr/region/naq/79/Magne/Magne.d.ts +1 -1
  320. package/dist/org/eu/fr/region/naq/79/Magne/Magne.js +2 -2
  321. package/dist/org/eu/fr/region/naq/86/Lavoux/Lavoux.d.ts +1 -1
  322. package/dist/org/eu/fr/region/naq/86/Lavoux/Lavoux.js +2 -2
  323. package/dist/org/eu/fr/region/naq/NouvelleAquitaineMessages.js +1 -1
  324. package/dist/org/eu/fr/region/nor/14/PontLEveque/PontLEveque.d.ts +1 -1
  325. package/dist/org/eu/fr/region/nor/14/PontLEveque/PontLEveque.js +2 -2
  326. package/dist/org/eu/fr/region/nor/14/SaintAubinSurMer/SaintAubinSurMer.d.ts +1 -1
  327. package/dist/org/eu/fr/region/nor/14/SaintAubinSurMer/SaintAubinSurMer.js +2 -2
  328. package/dist/org/eu/fr/region/nor/76/CrielSurMer/CrielSurMer.d.ts +1 -1
  329. package/dist/org/eu/fr/region/nor/76/CrielSurMer/CrielSurMer.js +2 -2
  330. package/dist/org/eu/fr/region/nor/76/Dieppe/Dieppe.d.ts +1 -1
  331. package/dist/org/eu/fr/region/nor/76/Dieppe/Dieppe.js +2 -2
  332. package/dist/org/eu/fr/region/nor/76/Londe/Londe.d.ts +1 -1
  333. package/dist/org/eu/fr/region/nor/76/Londe/Londe.js +2 -2
  334. package/dist/org/eu/fr/region/nor/76/SaintAubinSurMer/SaintAubinSurMer.d.ts +1 -1
  335. package/dist/org/eu/fr/region/nor/76/SaintAubinSurMer/SaintAubinSurMer.js +2 -2
  336. package/dist/org/eu/fr/region/occ/09/cos/Cos.d.ts +1 -1
  337. package/dist/org/eu/fr/region/occ/09/cos/Cos.js +2 -2
  338. package/dist/org/eu/fr/region/occ/11/cucugnan/Cucugnan.d.ts +1 -1
  339. package/dist/org/eu/fr/region/occ/11/cucugnan/Cucugnan.js +2 -2
  340. package/dist/org/eu/fr/region/occ/12/Espalion/Espalion.d.ts +1 -1
  341. package/dist/org/eu/fr/region/occ/12/Espalion/Espalion.js +2 -2
  342. package/dist/org/eu/fr/region/occ/30/SaintGilles/StGilles.d.ts +1 -1
  343. package/dist/org/eu/fr/region/occ/30/SaintGilles/StGilles.js +2 -2
  344. package/dist/org/eu/fr/region/occ/30/ledignan/Ledignan.d.ts +1 -1
  345. package/dist/org/eu/fr/region/occ/30/ledignan/Ledignan.js +2 -2
  346. package/dist/org/eu/fr/region/occ/31/loudet/Loudet.d.ts +1 -1
  347. package/dist/org/eu/fr/region/occ/31/loudet/Loudet.js +2 -2
  348. package/dist/org/eu/fr/region/occ/31/stplancard/StPlancard.d.ts +1 -1
  349. package/dist/org/eu/fr/region/occ/31/stplancard/StPlancard.js +2 -2
  350. package/dist/org/eu/fr/region/occ/31/toulouse/Toulouse.d.ts +1 -1
  351. package/dist/org/eu/fr/region/occ/31/toulouse/Toulouse.js +2 -2
  352. package/dist/org/eu/fr/region/occ/32/Condom/Condom.d.ts +1 -1
  353. package/dist/org/eu/fr/region/occ/32/Condom/Condom.js +2 -2
  354. package/dist/org/eu/fr/region/occ/32/Estang/Estang.d.ts +1 -1
  355. package/dist/org/eu/fr/region/occ/32/Estang/Estang.js +2 -2
  356. package/dist/org/eu/fr/region/occ/32/MiramontDAstarac/MiramontDAstarac.d.ts +1 -1
  357. package/dist/org/eu/fr/region/occ/32/MiramontDAstarac/MiramontDAstarac.js +2 -2
  358. package/dist/org/eu/fr/region/occ/34/Montpellier/Montpellier.d.ts +1 -1
  359. package/dist/org/eu/fr/region/occ/34/Montpellier/Montpellier.js +2 -2
  360. package/dist/org/eu/fr/region/occ/34/SaintGeniesDesMourgues/SaintGeniesDesMourgues.d.ts +1 -1
  361. package/dist/org/eu/fr/region/occ/34/SaintGeniesDesMourgues/SaintGeniesDesMourgues.js +2 -2
  362. package/dist/org/eu/fr/region/occ/65/Tarbes/Tarbes.d.ts +1 -1
  363. package/dist/org/eu/fr/region/occ/65/Tarbes/Tarbes.js +2 -2
  364. package/dist/org/eu/fr/region/occ/66/Planes/Planes.d.ts +1 -1
  365. package/dist/org/eu/fr/region/occ/66/Planes/Planes.js +2 -2
  366. package/dist/org/eu/fr/region/occ/66/PortePuymorens/PortePuymorens.d.ts +1 -1
  367. package/dist/org/eu/fr/region/occ/66/PortePuymorens/PortePuymorens.js +2 -2
  368. package/dist/org/eu/fr/region/occ/66/Thuir/Thuir.d.ts +1 -1
  369. package/dist/org/eu/fr/region/occ/66/Thuir/Thuir.js +2 -2
  370. package/dist/org/eu/fr/region/occ/81/Albi/Albi.d.ts +1 -1
  371. package/dist/org/eu/fr/region/occ/81/Albi/Albi.js +2 -2
  372. package/dist/org/eu/fr/region/occ/81/CastelnauDeMontmiral/CastelnauDeMontmiral.d.ts +1 -1
  373. package/dist/org/eu/fr/region/occ/81/CastelnauDeMontmiral/CastelnauDeMontmiral.js +2 -2
  374. package/dist/org/eu/fr/region/occ/82/touffailles/Touffailles.d.ts +1 -1
  375. package/dist/org/eu/fr/region/occ/82/touffailles/Touffailles.js +2 -2
  376. package/dist/org/eu/fr/region/occ/87/jabreilles/Jabreilles.d.ts +1 -1
  377. package/dist/org/eu/fr/region/occ/87/jabreilles/Jabreilles.js +2 -2
  378. package/dist/org/eu/fr/region/pac/04/Barcelonnette/Barcelonnette.d.ts +1 -1
  379. package/dist/org/eu/fr/region/pac/04/Barcelonnette/Barcelonnette.js +2 -2
  380. package/dist/org/eu/fr/region/pac/04/Entrevaux/Entrevaux.d.ts +1 -1
  381. package/dist/org/eu/fr/region/pac/04/Entrevaux/Entrevaux.js +2 -2
  382. package/dist/org/eu/fr/region/pac/04/LauzetUbaye/LauzetUbaye.d.ts +1 -1
  383. package/dist/org/eu/fr/region/pac/04/LauzetUbaye/LauzetUbaye.js +2 -2
  384. package/dist/org/eu/fr/region/pac/05/briancon/Briancon.d.ts +1 -1
  385. package/dist/org/eu/fr/region/pac/05/briancon/Briancon.js +2 -2
  386. package/dist/org/eu/fr/region/pac/06/cagnessurmer/CagnesSurMer.d.ts +1 -1
  387. package/dist/org/eu/fr/region/pac/06/cagnessurmer/CagnesSurMer.js +2 -2
  388. package/dist/org/eu/fr/region/pac/06/cannes/Cannes.d.ts +1 -1
  389. package/dist/org/eu/fr/region/pac/06/cannes/Cannes.js +2 -2
  390. package/dist/org/eu/fr/region/pac/13/eyragues/Eyragues.d.ts +1 -1
  391. package/dist/org/eu/fr/region/pac/13/eyragues/Eyragues.js +2 -2
  392. package/dist/org/eu/fr/region/pac/83/Carces/Carces.d.ts +1 -1
  393. package/dist/org/eu/fr/region/pac/83/Carces/Carces.js +2 -2
  394. package/dist/org/eu/fr/region/pac/83/FoxAmphoux/FoxAmphoux.d.ts +1 -1
  395. package/dist/org/eu/fr/region/pac/83/FoxAmphoux/FoxAmphoux.js +2 -2
  396. package/dist/org/eu/fr/region/pac/83/Grimaud/Grimaud.d.ts +1 -1
  397. package/dist/org/eu/fr/region/pac/83/Grimaud/Grimaud.js +2 -2
  398. package/dist/org/eu/fr/region/pac/84/Bollene/Bollene.d.ts +1 -1
  399. package/dist/org/eu/fr/region/pac/84/Bollene/Bollene.js +2 -2
  400. package/dist/org/eu/fr/region/pac/85/Chantonnay/Chantonnay.d.ts +1 -1
  401. package/dist/org/eu/fr/region/pac/85/Chantonnay/Chantonnay.js +2 -2
  402. package/dist/org/eu/fr/region/pdl/44/LeCroisic/LeCroisic.d.ts +1 -1
  403. package/dist/org/eu/fr/region/pdl/44/LeCroisic/LeCroisic.js +2 -2
  404. package/dist/org/eu/fr/region/pdl/44/LorouxBottereau/LorouxBottereau.d.ts +1 -1
  405. package/dist/org/eu/fr/region/pdl/44/LorouxBottereau/LorouxBottereau.js +2 -2
  406. package/dist/org/eu/fr/region/pdl/44/Reze/Reze.d.ts +1 -1
  407. package/dist/org/eu/fr/region/pdl/44/Reze/Reze.js +2 -2
  408. package/dist/org/eu/fr/region/pdl/49/Angers/Angers.d.ts +1 -1
  409. package/dist/org/eu/fr/region/pdl/49/Angers/Angers.js +2 -2
  410. package/dist/org/eu/fr/region/pdl/49/Cholet/Cholet.d.ts +1 -1
  411. package/dist/org/eu/fr/region/pdl/49/Cholet/Cholet.js +2 -2
  412. package/dist/org/eu/fr/region/pdl/53/ChateauGontier/ChateauGontier.d.ts +1 -1
  413. package/dist/org/eu/fr/region/pdl/53/ChateauGontier/ChateauGontier.js +2 -2
  414. package/dist/org/eu/fr/region/pdl/72/LeMans/LeMans.d.ts +1 -1
  415. package/dist/org/eu/fr/region/pdl/72/LeMans/LeMans.js +2 -2
  416. package/dist/org/eu/fr/region/pdl/72/SougeLeGanelon/SougeLeGanelon.d.ts +1 -1
  417. package/dist/org/eu/fr/region/pdl/72/SougeLeGanelon/SougeLeGanelon.js +2 -2
  418. package/dist/org/eu/fr/region/pdl/72/SteCerotte/SteCerotte.d.ts +1 -1
  419. package/dist/org/eu/fr/region/pdl/72/SteCerotte/SteCerotte.js +2 -2
  420. package/dist/org/eu/fr/region/pdl/72/bazoge/Bazoge.d.ts +1 -1
  421. package/dist/org/eu/fr/region/pdl/72/bazoge/Bazoge.js +2 -2
  422. package/dist/org/eu/pl/Poland.d.ts +1 -1
  423. package/dist/org/eu/pl/Poland.js +1 -1
  424. package/dist/org/ge/Georgia.d.ts +1 -1
  425. package/dist/org/ge/Georgia.js +1 -1
  426. package/dist/org/il/Israel.d.ts +1 -1
  427. package/dist/org/il/Israel.js +1 -1
  428. package/dist/org/in/India.d.ts +1 -1
  429. package/dist/org/in/India.js +1 -1
  430. package/dist/org/jp/Japan.d.ts +1 -1
  431. package/dist/org/jp/Japan.js +1 -1
  432. package/dist/org/kr/SouthKorea.d.ts +2 -2
  433. package/dist/org/kr/SouthKorea.js +1 -1
  434. package/dist/org/mx/Mexico.d.ts +2 -2
  435. package/dist/org/mx/Mexico.js +1 -1
  436. package/dist/org/mz/Mozambique.d.ts +2 -2
  437. package/dist/org/mz/Mozambique.js +1 -1
  438. package/dist/org/nz/NewZealand.d.ts +2 -2
  439. package/dist/org/nz/NewZealand.js +1 -1
  440. package/dist/org/pa/Panama.d.ts +1 -1
  441. package/dist/org/pa/Panama.js +1 -1
  442. package/dist/org/pe/Peru.d.ts +1 -1
  443. package/dist/org/pe/Peru.js +1 -1
  444. package/dist/org/ph/Philippines.d.ts +1 -1
  445. package/dist/org/ph/Philippines.js +1 -1
  446. package/dist/org/ru/Russia.d.ts +2 -2
  447. package/dist/org/ru/Russia.js +1 -1
  448. package/dist/org/sc/Seychelles.d.ts +2 -2
  449. package/dist/org/sc/Seychelles.js +1 -1
  450. package/dist/org/tn/Tunisia.d.ts +2 -2
  451. package/dist/org/tn/Tunisia.js +1 -1
  452. package/dist/org/tw/Taiwan.d.ts +2 -2
  453. package/dist/org/tw/Taiwan.js +1 -1
  454. package/dist/org/uk/Uk.d.ts +2 -2
  455. package/dist/org/uk/Uk.js +1 -1
  456. package/dist/org/us/Usa.d.ts +1 -1
  457. package/dist/org/us/Usa.js +1 -1
  458. package/dist/people/PeopleDirectoryStep.d.ts +1 -1
  459. package/dist/people/PeopleDirectoryStep.js +2 -1
  460. package/dist/people/PeopleDirectoryStepFactory.d.ts +1 -1
  461. package/dist/people/PeopleReplacer.d.ts +1 -1
  462. package/dist/people/PeopleReplacer.test.js +3 -3
  463. package/dist/people/PeopleReplacerFactory.d.ts +1 -1
  464. package/dist/people/author/AuthorReplaceCommand.d.ts +1 -1
  465. package/dist/place/OrganizationPlace.d.ts +1 -1
  466. package/dist/place/OrganizationPlace.test.js +4 -4
  467. package/dist/place/PlaceRenderer.d.ts +1 -1
  468. package/dist/place/PlaceRenderer.js +1 -1
  469. package/dist/science/crypto/index.d.ts +1 -1
  470. package/dist/science/crypto/index.js +1 -1
  471. package/dist/science/crypto/ufo/enquete/dossier/CaseDirectoryStep.js +2 -1
  472. package/dist/science/crypto/ufo/enquete/dossier/CaseDirectoryStep.test.js +2 -2
  473. package/dist/science/crypto/ufo/enquete/dossier/RR0CaseJson.d.ts +3 -3
  474. package/dist/science/crypto/ufo/enquete/index.d.ts +1 -1
  475. package/dist/science/crypto/ufo/enquete/index.js +1 -1
  476. package/dist/science/crypto/ufo/index.d.ts +1 -1
  477. package/dist/science/crypto/ufo/index.js +1 -1
  478. package/dist/science/index.d.ts +1 -1
  479. package/dist/science/index.js +1 -1
  480. package/dist/search/SearchVisitor.js +1 -2
  481. package/dist/source/PersistentSourceRegistry.d.ts +4 -5
  482. package/dist/source/SourceFactory.d.ts +6 -7
  483. package/dist/source/SourceRegistry.d.ts +4 -5
  484. package/dist/source/SourceRenderer.d.ts +3 -3
  485. package/dist/source/SourceSiteCounter.d.ts +1 -1
  486. package/dist/tech/info/soft/APIFactory.d.ts +1 -1
  487. package/dist/tech/info/soft/APIJson.d.ts +1 -1
  488. package/dist/test/RR0TestUtil.d.ts +4 -5
  489. package/dist/test/RR0TestUtil.js +6 -7
  490. package/dist/time/EventRenderer.d.ts +4 -5
  491. package/dist/time/EventRenderer.js +1 -1
  492. package/dist/time/SsiTitleReplaceCommand.d.ts +4 -0
  493. package/dist/time/SsiTitleReplaceCommand.js +16 -11
  494. package/dist/time/TimeDirectoryStep.d.ts +46 -0
  495. package/dist/time/TimeDirectoryStep.js +89 -0
  496. package/dist/time/TimeDirectoryStep.test.js +36 -0
  497. package/dist/time/TimeEventRenderer.test.js +3 -3
  498. package/dist/time/TimeLinkDefaultHandler.d.ts +2 -2
  499. package/dist/time/TimeService.d.ts +3 -5
  500. package/dist/time/TimeService.js +6 -13
  501. package/dist/time/TimeTagReplaceCommand.test.js +2 -1
  502. package/dist/time/TimeTestUtil.d.ts +3 -3
  503. package/dist/time/TimeTestUtil.js +4 -1
  504. package/dist/time/TimeUrlBuilder.d.ts +1 -1
  505. package/dist/time/TitleReplaceCommand.test.js +1 -5
  506. package/dist/time/datasource/AbstractDatasource.d.ts +1 -1
  507. package/dist/time/datasource/ChronologyReplacer.test.js +1 -1
  508. package/dist/time/datasource/ChronologyReplacerFactory.d.ts +1 -1
  509. package/dist/time/datasource/CsvFileSource.d.ts +1 -1
  510. package/dist/time/datasource/CsvMapper.d.ts +5 -3
  511. package/dist/time/datasource/CsvMapper.js +17 -12
  512. package/dist/time/datasource/CsvMapper.test.js +29 -0
  513. package/dist/time/datasource/DatasourceTestCase.d.ts +3 -3
  514. package/dist/time/datasource/DatasourceTestCase.js +2 -2
  515. package/dist/time/datasource/FileSource.d.ts +1 -1
  516. package/dist/time/datasource/FileSource.js +1 -0
  517. package/dist/time/datasource/JsonMapper.test.js +1 -1
  518. package/dist/time/datasource/TimeContextFilter.test.js +2 -2
  519. package/dist/time/datasource/baseovnifrance/BaseOvniFranceCaseSummaryRR0Mapper.js +1 -1
  520. package/dist/time/datasource/baseovnifrance/BaseOvniFranceCaseSummaryRR0Mapper.test.js +1 -1
  521. package/dist/time/datasource/baseovnifrance/BaseOvniFranceRR0Mapping.d.ts +2 -2
  522. package/dist/time/datasource/fufora/FuforaCaseSummaryRR0Mapper.js +1 -1
  523. package/dist/time/datasource/fufora/FuforaDatasource.test.js +1 -1
  524. package/dist/time/datasource/fufora/FuforaRR0Mapping.d.ts +3 -3
  525. package/dist/time/datasource/index.d.ts +9 -9
  526. package/dist/time/datasource/index.js +9 -9
  527. package/dist/time/datasource/nuforc/NuforcDatasource.test.js +1 -1
  528. package/dist/time/datasource/nuforc/NuforcRR0Mapper.d.ts +1 -1
  529. package/dist/time/datasource/nuforc/NuforcRR0Mapper.js +1 -1
  530. package/dist/time/datasource/nuforc/NuforcRR0Mapper.test.js +2 -2
  531. package/dist/time/datasource/nuforc/NuforcRR0Mapping.d.ts +5 -5
  532. package/dist/time/datasource/rr0/RR0CaseMapping.d.ts +2 -2
  533. package/dist/time/datasource/rr0/RR0Datasource.d.ts +0 -3
  534. package/dist/time/datasource/rr0/RR0Datasource.js +3 -6
  535. package/dist/time/datasource/rr0/RR0Datasource.test.d.ts +4 -4
  536. package/dist/time/datasource/rr0/RR0Datasource.test.js +6 -4
  537. package/dist/time/datasource/rr0/RR0FileDatasource.d.ts +1 -1
  538. package/dist/time/datasource/rr0/RR0FileDatasource.test.d.ts +1 -0
  539. package/dist/time/datasource/rr0/RR0FileDatasource.test.js +14 -0
  540. package/dist/time/datasource/rr0/RR0HttpDatasource.d.ts +2 -2
  541. package/dist/time/datasource/rr0/RR0HttpDatasource.js +1 -1
  542. package/dist/time/datasource/rr0/RR0Mapping.d.ts +3 -3
  543. package/dist/time/datasource/rr0/RR0TestCases.js +2 -2
  544. package/dist/time/datasource/sceau/SceauCaseSummaryRR0Mapper.js +1 -1
  545. package/dist/time/datasource/sceau/SceauDatasource.test.d.ts +4 -4
  546. package/dist/time/datasource/sceau/SceauDatasource.test.js +1 -1
  547. package/dist/time/datasource/sceau/SceauRR0Mapping.d.ts +2 -2
  548. package/dist/time/datasource/ufo-search/UfoSearchCaseRR0Mapper.d.ts +1 -1
  549. package/dist/time/datasource/ufo-search/UfoSearchCaseRR0Mapper.js +1 -1
  550. package/dist/time/datasource/ufo-search/UfoSearchDatasource.test.js +1 -1
  551. package/dist/time/datasource/ufo-search/UfoSearchFileDatasource.d.ts +1 -1
  552. package/dist/time/datasource/ufo-search/UfoSearchMapping.d.ts +4 -4
  553. package/dist/time/datasource/urecat/UrecatDatasource.test.js +1 -1
  554. package/dist/time/datasource/urecat/UrecatRR0Mapper.d.ts +1 -1
  555. package/dist/time/datasource/urecat/UrecatRR0Mapper.js +1 -1
  556. package/dist/time/datasource/urecat/UrecatRR0Mapping.d.ts +4 -4
  557. package/dist/time/datasource/urecat/index.d.ts +1 -1
  558. package/dist/time/datasource/urecat/index.js +1 -1
  559. package/dist/time/html/TimeRenderer.d.ts +1 -1
  560. package/dist/time/html/TimeRenderer.js +3 -2
  561. package/dist/time/html/TimeReplacer.test.js +4 -4
  562. package/dist/time/html/TimeReplacerFactory.d.ts +1 -1
  563. package/dist/time/html/TimeReplacerFactory.js +3 -1
  564. package/dist/time/text/RelativeTimeTextBuilder.test.js +1 -1
  565. package/dist/time/text/TimeTextBuilder.test.js +1 -1
  566. package/package.json +14 -14
  567. package/dist/BuildContext.d.ts +0 -7
  568. /package/dist/{BuildContext.js → CMSContext.js} +0 -0
  569. /package/dist/{RR0Build.test.d.ts → time/TimeDirectoryStep.test.d.ts} +0 -0
@@ -4,6 +4,9 @@ import { SsiEchoVarReplaceCommand } from "ssg-api";
4
4
  * with a link if there's a <meta name="url"> content.
5
5
  */
6
6
  export class SsiTitleReplaceCommand extends SsiEchoVarReplaceCommand {
7
+ /**
8
+ * @param defaultHandlers Will generate a title for a given context/file, if no title is found.
9
+ */
7
10
  constructor(defaultHandlers = []) {
8
11
  super("title");
9
12
  this.defaultHandlers = defaultHandlers;
@@ -11,18 +14,20 @@ export class SsiTitleReplaceCommand extends SsiEchoVarReplaceCommand {
11
14
  async createReplacer(context) {
12
15
  return {
13
16
  replace: (_match, ..._args) => {
14
- const inputFile = context.file;
15
- let title = inputFile.title;
16
- if (!title) {
17
- this.defaultHandlers.some(handle => !title && (title = handle(context)));
18
- }
19
- if (!title) {
20
- title = inputFile.name;
21
- }
22
- inputFile.title = title;
23
- const titleUrl = inputFile.meta.url;
24
- return titleUrl ? `<a href="${titleUrl}" target="_blank">${title}</a>` : title;
17
+ context.file.title = this.getTitle(context);
18
+ const titleUrl = context.file.meta.url;
19
+ return titleUrl ? `<a href="${titleUrl}" target="_blank">${(this.getTitle(context))}</a>` : this.getTitle(context);
25
20
  }
26
21
  };
27
22
  }
23
+ getTitle(context) {
24
+ let title = context.file.title;
25
+ if (!title) {
26
+ this.defaultHandlers.some(handle => !title && (title = handle(context)));
27
+ }
28
+ if (!title) {
29
+ title = context.file.name;
30
+ }
31
+ return title;
32
+ }
28
33
  }
@@ -0,0 +1,46 @@
1
+ import { DirectoryStep, FileWriteConfig, OutputFunc } from "ssg-api";
2
+ import { TimeService } from "./TimeService.js";
3
+ import { HtmlRR0Context, RR0Context } from "../RR0Context.js";
4
+ import { RR0Event } from "@rr0/data";
5
+ import { TimeElementFactory } from "./html/index.js";
6
+ /**
7
+ * Builds a directory page for UFO times.
8
+ */
9
+ export declare class TimeDirectoryStep extends DirectoryStep {
10
+ protected service: TimeService;
11
+ protected elementFactory: TimeElementFactory;
12
+ protected outputFunc: OutputFunc;
13
+ /**
14
+ *
15
+ * @param service
16
+ * @param elementFactory
17
+ * @param rootDirs The directories where UFO times info can be found.
18
+ * @param excludedDirs The directories to exclude from the UFO time directory search.
19
+ * @param templateFileName The template of the directory page to build.
20
+ * @param outputFunc
21
+ * @param config
22
+ */
23
+ constructor(service: TimeService, elementFactory: TimeElementFactory, rootDirs: string[], excludedDirs: string[], templateFileName: string, outputFunc: OutputFunc, config: FileWriteConfig);
24
+ /**
25
+ * Convert an array of Time[] to an <ul> HTML unordered list.
26
+ *
27
+ * @param context
28
+ * @param events
29
+ */
30
+ protected toList(context: HtmlRR0Context, events: RR0Event[]): HTMLUListElement;
31
+ /**
32
+ * Convert a Time object to an HTML list item.
33
+ *
34
+ * @param context
35
+ * @param event
36
+ */
37
+ protected toListItem(context: HtmlRR0Context, event: RR0Event): HTMLLIElement;
38
+ protected processDirs(context: HtmlRR0Context, dirNames: string[]): Promise<void>;
39
+ /**
40
+ * Read time JSON files contents and instantiate them as Time objects.
41
+ *
42
+ * @param context
43
+ * @param dirNames The directories to look for time.json files.
44
+ */
45
+ protected scan(context: RR0Context, dirNames: string[]): Promise<RR0Event[]>;
46
+ }
@@ -0,0 +1,89 @@
1
+ import { DirectoryStep } from "ssg-api";
2
+ import { StringUtil } from "../util/index.js";
3
+ /**
4
+ * Builds a directory page for UFO times.
5
+ */
6
+ export class TimeDirectoryStep extends DirectoryStep {
7
+ /**
8
+ *
9
+ * @param service
10
+ * @param elementFactory
11
+ * @param rootDirs The directories where UFO times info can be found.
12
+ * @param excludedDirs The directories to exclude from the UFO time directory search.
13
+ * @param templateFileName The template of the directory page to build.
14
+ * @param outputFunc
15
+ * @param config
16
+ */
17
+ constructor(service, elementFactory, rootDirs, excludedDirs, templateFileName, outputFunc, config) {
18
+ super({ rootDirs, excludedDirs, templateFileName, getOutputPath: config.getOutputPath }, "time directory");
19
+ this.service = service;
20
+ this.elementFactory = elementFactory;
21
+ this.outputFunc = outputFunc;
22
+ }
23
+ /**
24
+ * Convert an array of Time[] to an <ul> HTML unordered list.
25
+ *
26
+ * @param context
27
+ * @param events
28
+ */
29
+ toList(context, events) {
30
+ const listItems = events.map(event => {
31
+ if (!event.title) {
32
+ const lastSlash = event.dirName.lastIndexOf("/");
33
+ const lastDir = event.dirName.substring(lastSlash + 1);
34
+ event.title = StringUtil.camelToText(lastDir);
35
+ }
36
+ return this.toListItem(context, event);
37
+ });
38
+ const ul = context.file.document.createElement("ul");
39
+ ul.append(...listItems);
40
+ ul.className = "links";
41
+ return ul;
42
+ }
43
+ /**
44
+ * Convert a Time object to an HTML list item.
45
+ *
46
+ * @param context
47
+ * @param event
48
+ */
49
+ toListItem(context, event) {
50
+ const item = context.file.document.createElement("li");
51
+ const eventContext = context.clone();
52
+ this.service.setContextFromFile(eventContext, event.dirName);
53
+ if (event.time) {
54
+ eventContext.time.date = event.time;
55
+ }
56
+ const ref = this.elementFactory.create(eventContext, context, { url: true, contentOnly: true });
57
+ item.appendChild(ref);
58
+ return item;
59
+ }
60
+ async processDirs(context, dirNames) {
61
+ const events = await this.scan(context, dirNames);
62
+ const ul = this.toList(context, events);
63
+ const config = this.config;
64
+ const outputPath = config.getOutputPath(context);
65
+ const output = context.newOutput(outputPath);
66
+ output.contents = context.file.contents.replace(`<!--#echo var="directories" -->`, ul.outerHTML);
67
+ await this.outputFunc(context, output);
68
+ }
69
+ /**
70
+ * Read time JSON files contents and instantiate them as Time objects.
71
+ *
72
+ * @param context
73
+ * @param dirNames The directories to look for time.json files.
74
+ */
75
+ async scan(context, dirNames) {
76
+ const events = [];
77
+ for (const dirName of dirNames) {
78
+ try {
79
+ const dirEvents = await this.service.get(dirName);
80
+ events.push(...dirEvents);
81
+ }
82
+ catch (e) {
83
+ context.warn(`${dirName} has no event.json description`);
84
+ // No json, just guess title.
85
+ }
86
+ }
87
+ return events;
88
+ }
89
+ }
@@ -0,0 +1,36 @@
1
+ import { describe, expect, test } from "@javarome/testscript";
2
+ import { TimeDirectoryStep } from "./TimeDirectoryStep.js";
3
+ import { rr0TestUtil } from "../test/index.js";
4
+ import { getTimeFiles } from "../CMSGenerator.test.js";
5
+ import path from "path";
6
+ import { TimeService } from "./TimeService.js";
7
+ import { AllDataService, RR0EventFactory } from "@rr0/data";
8
+ import { TimeElementFactory } from "./html/index.js";
9
+ describe("TimeDirectoryStep", () => {
10
+ async function outputFunc(context, info, outDir = rr0TestUtil.outDir + "/") {
11
+ info.name = `${outDir}${info.name}`;
12
+ }
13
+ test("directory", async () => {
14
+ const template = `
15
+ <!--#include virtual="/header-start.html" -->
16
+ <title>16ème siècle</title>
17
+ <!--#include virtual="/header-end.html" -->
18
+ <p>Before</p>
19
+ <!--#echo var="directories" -->
20
+ <p>Le XVIIIᵉ siècle est celui des "Lumières".</p>
21
+ <!--#include virtual="/footer.html" -->
22
+ `;
23
+ const timeRoot = rr0TestUtil.time.timeOptions.rootDir;
24
+ const timeOptions = { rootDir: timeRoot, files: await getTimeFiles() };
25
+ const dataService = new AllDataService([new RR0EventFactory()]);
26
+ const timeService = new TimeService(dataService, timeOptions);
27
+ const timesDirectoryPath = rr0TestUtil.filePath("time/0/0/6/5/index.html");
28
+ const context = rr0TestUtil.newContext(timesDirectoryPath, template);
29
+ const ufoTimesExclusions = [];
30
+ const timeDirs = timeService.files.map(timePath => path.dirname(timePath));
31
+ const timeElementFactory = new TimeElementFactory(rr0TestUtil.time.timeRenderer);
32
+ const step = new TimeDirectoryStep(timeService, timeElementFactory, timeDirs, ufoTimesExclusions, timesDirectoryPath, outputFunc, rr0TestUtil.config);
33
+ const stepResult = await step.execute(context);
34
+ expect(stepResult.directoryCount).toBe(22);
35
+ });
36
+ });
@@ -8,9 +8,9 @@ import { NoteFileCounter, NoteRenderer } from "../note/index.js";
8
8
  import { HautsDeSeineCityCode } from "../org/eu/fr/region/idf/92/HautsDeSeineCityCode.js";
9
9
  import { AllDataService } from "@rr0/data";
10
10
  import { Place } from "@rr0/place";
11
- import { OrganizationPlace } from "../place/OrganizationPlace";
12
- import { hautsDeSeine } from "../org/eu/fr/region/idf/92/HautsDeSeine";
13
- import { City } from "../org";
11
+ import { OrganizationPlace } from "../place/OrganizationPlace.js";
12
+ import { hautsDeSeine } from "../org/eu/fr/region/idf/92/HautsDeSeine.js";
13
+ import { City } from "../org/country/region/department/city/City.js";
14
14
  describe("TimeEventRenderer", () => {
15
15
  const dataService = new AllDataService([]);
16
16
  const baseUrl = "https://rr0.org";
@@ -2,8 +2,8 @@ import { LinkHandler } from "../MetaLinkReplaceCommand.js";
2
2
  import { HtmlRR0Context } from "../RR0Context.js";
3
3
  import { Link } from "ssg-api";
4
4
  import { TimeTextBuilder } from "./text/TimeTextBuilder.js";
5
- import { TimeService } from "./TimeService";
6
- import { TimeUrlBuilder } from "./TimeUrlBuilder";
5
+ import { TimeService } from "./TimeService.js";
6
+ import { TimeUrlBuilder } from "./TimeUrlBuilder.js";
7
7
  export declare class TimeLinkDefaultHandler implements LinkHandler<HtmlRR0Context> {
8
8
  protected service: TimeService;
9
9
  protected urlBuilder: TimeUrlBuilder;
@@ -1,8 +1,8 @@
1
1
  import { TimeTextBuilder } from "./text/TimeTextBuilder.js";
2
2
  import { AbstractDataService, AllDataService, RR0Event, RR0EventJson } from "@rr0/data";
3
- import { HtmlRR0Context } from "../RR0Context";
3
+ import { HtmlRR0Context } from "../RR0Context.js";
4
4
  import { TimeContext } from "@rr0/time";
5
- import { TimeOptions } from "./TimeOptions";
5
+ import { TimeOptions } from "./TimeOptions.js";
6
6
  export declare class TimeService extends AbstractDataService<RR0Event, RR0EventJson> {
7
7
  protected options: TimeOptions;
8
8
  readonly timePathRegex: RegExp;
@@ -11,7 +11,5 @@ export declare class TimeService extends AbstractDataService<RR0Event, RR0EventJ
11
11
  parseFileName(fileName: string): RegExpExecArray | null;
12
12
  titleFromFile(context: HtmlRR0Context, fileName: string, timeTextBuilder: TimeTextBuilder): string | undefined;
13
13
  contextFromFileName(context: HtmlRR0Context, fileName?: string): TimeContext | undefined;
14
- gSetTimeFromPath(context: HtmlRR0Context, filePath: string): TimeContext | undefined;
15
- setContextFromFile(context: HtmlRR0Context, filePath: string): void;
16
- protected setTimeFromPath(context: HtmlRR0Context, filePath: string): void;
14
+ setContextFromFile(context: HtmlRR0Context, filePath: string): TimeContext | undefined;
17
15
  }
@@ -1,9 +1,9 @@
1
- import { AbstractDataService } from "@rr0/data";
2
- import { RR0ContextImpl } from "../RR0Context";
3
- import { StringUtil } from "../util";
1
+ import { AbstractDataService, EventDataFactory, RR0EventFactory } from "@rr0/data";
2
+ import { RR0ContextImpl } from "../RR0Context.js";
3
+ import { StringUtil } from "../util/index.js";
4
4
  export class TimeService extends AbstractDataService {
5
5
  constructor(dataService, options, timePathRegex = TimeService.defaultRegex) {
6
- super(dataService, null, options.files);
6
+ super(dataService, new EventDataFactory(new RR0EventFactory(), ["birth", "death", "image", "book", "article", "sighting", "nationality", "move", "occupation"], options.files), options.files);
7
7
  this.options = options;
8
8
  this.timePathRegex = timePathRegex;
9
9
  }
@@ -14,7 +14,7 @@ export class TimeService extends AbstractDataService {
14
14
  let title;
15
15
  const timeContext = this.contextFromFileName(context, fileName);
16
16
  if (timeContext) {
17
- const pageContext = new RR0ContextImpl(context.locale, timeContext, context.config, context.people, context.file);
17
+ const pageContext = new RR0ContextImpl(context.locale, timeContext, context.config, context.people, context.file, context.messages, context.cms);
18
18
  title = timeTextBuilder.build(pageContext);
19
19
  title = StringUtil.capitalizeFirstLetter(title);
20
20
  }
@@ -47,7 +47,7 @@ export class TimeService extends AbstractDataService {
47
47
  }
48
48
  return timeContext;
49
49
  }
50
- gSetTimeFromPath(context, filePath) {
50
+ setContextFromFile(context, filePath) {
51
51
  const time = context.time;
52
52
  time.reset();
53
53
  const newTimeContext = this.contextFromFileName(context, filePath);
@@ -59,12 +59,5 @@ export class TimeService extends AbstractDataService {
59
59
  }
60
60
  return newTimeContext;
61
61
  }
62
- setContextFromFile(context, filePath) {
63
- this.setTimeFromPath(context, filePath);
64
- }
65
- setTimeFromPath(context, filePath) {
66
- context.time.reset(); // Don't use time context from previous page.
67
- this.gSetTimeFromPath(context, filePath);
68
- }
69
62
  }
70
63
  TimeService.defaultRegex = /time\/(-)?(\d)\/(\d)\/(\d)\/(\d)\/?(\d{2})?\/?(\d{2})?\/?(index(_[a-z]{2})?.html)?/;
@@ -6,7 +6,8 @@ import { TimeReplacer } from "./html/TimeReplacer.js";
6
6
  import path from "path";
7
7
  describe("HtmlTagReplaceCommand", async () => {
8
8
  const timeRoot = rr0TestUtil.time.timeOptions.rootDir;
9
- const timeService = await rr0TestUtil.time.getService({ rootDir: path.join(rr0TestUtil.rootDir, timeRoot), files: ["time/2/0/0/4/index.html"] });
9
+ const timeOptions = { rootDir: timeRoot, files: [rr0TestUtil.time.filePath("2/0/0/4/index.html")] };
10
+ const timeService = await rr0TestUtil.time.getService(timeOptions);
10
11
  test("replace time tag", async () => {
11
12
  const replacer = new TimeReplacer(rr0TestUtil.time.timeElementFactory);
12
13
  const command = new DomReplaceCommand("time", new TimeReplacerFactory(replacer, rr0TestUtil.time.urlBuilder));
@@ -1,7 +1,7 @@
1
1
  import { TimeElementFactory, TimeRenderer, TimeService, TimeTextBuilder, TimeUrlBuilder } from "../time/index.js";
2
- import { RR0TestUtil } from "../test";
3
- import { HtmlRR0Context } from "../RR0Context";
4
- import { TimeOptions } from "./TimeOptions";
2
+ import { RR0TestUtil } from "../test/index.js";
3
+ import { HtmlRR0Context } from "../RR0Context.js";
4
+ import { TimeOptions } from "./TimeOptions.js";
5
5
  export declare class TimeTestUtil {
6
6
  readonly timeTextBuilder: TimeTextBuilder;
7
7
  timeElementFactory: TimeElementFactory;
@@ -1,10 +1,12 @@
1
1
  import path from "path";
2
2
  import { TimeElementFactory, TimeRenderer, TimeService, TimeTextBuilder, TimeUrlBuilder } from "../time/index.js";
3
- import { rr0TestUtil } from "../test";
3
+ import { rr0TestUtil } from "../test/index.js";
4
4
  export class TimeTestUtil {
5
5
  constructor(rr0TestUtil) {
6
6
  this.timeOptions = { rootDir: "time", files: [] };
7
7
  this.urlBuilder = new TimeUrlBuilder(this.timeOptions);
8
+ Object.assign(this.urlBuilder, { ...this.urlBuilder.options, rootDir: rr0TestUtil.filePath(this.timeOptions.rootDir) });
9
+ console.log(this.urlBuilder.options);
8
10
  this.timeTextBuilder = new TimeTextBuilder(rr0TestUtil.intlOptions);
9
11
  this.fullRoot = path.join(rr0TestUtil.rootDir, this.timeOptions.rootDir);
10
12
  this.timeRenderer = new TimeRenderer(this.urlBuilder, this.timeTextBuilder);
@@ -23,6 +25,7 @@ export class TimeTestUtil {
23
25
  || this.timeOptions.rootDir !== options.rootDir
24
26
  || JSON.stringify(this.timeService.files) !== JSON.stringify(options.files)) {
25
27
  this.timeOptions = options;
28
+ Object.assign(this.urlBuilder.options, options);
26
29
  this.timeService = new TimeService(rr0TestUtil.dataService, options);
27
30
  this.timeElementFactory = new TimeElementFactory(this.timeRenderer);
28
31
  }
@@ -1,5 +1,5 @@
1
1
  import { Level2Date as EdtfDate, TimeContext } from "@rr0/time";
2
- import { TimeOptions } from "./TimeOptions";
2
+ import { TimeOptions } from "./TimeOptions.js";
3
3
  export type TimeUrlBuilderOptions = TimeOptions;
4
4
  export declare class TimeUrlBuilder {
5
5
  readonly options: TimeUrlBuilderOptions;
@@ -3,11 +3,7 @@ import { rr0TestUtil } from "../test/index.js";
3
3
  import { describe, expect, test } from "@javarome/testscript";
4
4
  describe("TitleReplaceCommand", () => {
5
5
  let timeTextBuilder = rr0TestUtil.time.timeTextBuilder;
6
- const timeDefaultHandler = (context) => {
7
- let title;
8
- title = rr0TestUtil.time.getService().titleFromFile(context, context.file.name, timeTextBuilder);
9
- return title;
10
- };
6
+ const timeDefaultHandler = (context) => rr0TestUtil.time.getService().titleFromFile(context, context.file.name, timeTextBuilder);
11
7
  describe("Time page", () => {
12
8
  const fileName = rr0TestUtil.time.filePath("1/9/5/4/index.html");
13
9
  test("default title with no handler", async () => {
@@ -1,4 +1,4 @@
1
- import { Datasource } from "./Datasource";
1
+ import { Datasource } from "./Datasource.js";
2
2
  import { HtmlRR0Context } from "../../RR0Context.js";
3
3
  import { ContextFilter } from "./ContextFilter.js";
4
4
  /**
@@ -7,7 +7,7 @@ import { NoteFileCounter, NoteRenderer } from "../../note/index.js";
7
7
  import { TimeTextBuilder } from "../text/TimeTextBuilder.js";
8
8
  import { HttpSource } from "./HttpSource.js";
9
9
  import { AllDataService } from "@rr0/data";
10
- import { UrecatRR0Mapping } from "./urecat";
10
+ import { UrecatRR0Mapping } from "./urecat/UrecatRR0Mapping.js";
11
11
  describe("ChronologyReplacer", () => {
12
12
  let context;
13
13
  let chronologyReplacer;
@@ -3,7 +3,7 @@ import { ChronologyReplacer } from "./ChronologyReplacer.js";
3
3
  import { HtmlRR0Context } from "../../RR0Context.js";
4
4
  import { CaseSummaryRenderer } from "../CaseSummaryRenderer.js";
5
5
  import { RR0CaseMapping } from "./rr0/RR0CaseMapping.js";
6
- import { TimeUrlBuilder } from "../TimeUrlBuilder";
6
+ import { TimeUrlBuilder } from "../TimeUrlBuilder.js";
7
7
  export declare class ChronologyReplacerFactory implements ReplacerFactory<DomReplacer> {
8
8
  protected timeUrlBuilder: TimeUrlBuilder;
9
9
  protected readonly replacer: ChronologyReplacer;
@@ -15,5 +15,5 @@ export declare class CsvFileSource<S> extends FileSource {
15
15
  * @protected
16
16
  */
17
17
  fileName(context: HtmlSsgContext, datasource: Datasource<S>): string;
18
- write(context: HtmlRR0Context, datasourceCases: S[], fetchTime: Date, datasource: Datasource<any>): void;
18
+ write(context: HtmlRR0Context, datasourceCases: S[], fetchTime: Date, datasource: Datasource<any>): string;
19
19
  }
@@ -4,17 +4,19 @@ export declare class CsvMapper<S> implements CaseMapper<RR0Context, S, string> {
4
4
  readonly sep: string;
5
5
  readonly escapeStr: string;
6
6
  readonly prefix: string;
7
+ protected maxLevel: number;
7
8
  readonly fields: Set<string>;
8
- constructor(sep?: string, escapeStr?: string, prefix?: string);
9
- readonly fieldMapper: (context: RR0Context, key: string, value: any, sourceTime: Date) => string;
9
+ constructor(sep?: string, escapeStr?: string, prefix?: string, maxLevel?: number);
10
+ readonly fieldMapper: (context: RR0Context, key: string, value: any, sourceTime: Date, level?: number) => string;
10
11
  /**
11
12
  * Map a case to a CSV row.
12
13
  *
13
14
  * @param context
14
15
  * @param sourceCase
15
16
  * @param sourceTime
17
+ * @param level
16
18
  */
17
- map(context: RR0Context, sourceCase: S, sourceTime: Date): string;
19
+ map(context: RR0Context, sourceCase: S, sourceTime: Date, level?: number): string;
18
20
  /**
19
21
  * Reduce a set of cases to a CSV string.
20
22
  *
@@ -1,11 +1,12 @@
1
1
  import { Level2Date as EdtfDate } from "@rr0/time";
2
2
  export class CsvMapper {
3
- constructor(sep = ",", escapeStr = "\"", prefix = "") {
3
+ constructor(sep = ",", escapeStr = "\"", prefix = "", maxLevel = 1) {
4
4
  this.sep = sep;
5
5
  this.escapeStr = escapeStr;
6
6
  this.prefix = prefix;
7
+ this.maxLevel = maxLevel;
7
8
  this.fields = new Set();
8
- this.fieldMapper = (context, key, value, sourceTime) => {
9
+ this.fieldMapper = (context, key, value, sourceTime, level = 0) => {
9
10
  let addField = true;
10
11
  let val;
11
12
  if (value instanceof Date) {
@@ -18,17 +19,19 @@ export class CsvMapper {
18
19
  val = value.toString();
19
20
  }
20
21
  else if (Array.isArray(value)) {
21
- val = this.escape(value.map((item, i) => this.fieldMapper(context, String(i), item, sourceTime)).join(this.sep), true);
22
+ val = this.escape(value.map((item, i) => this.fieldMapper(context, String(i), item, sourceTime, level + 1)).join(this.sep), true);
22
23
  }
23
24
  else if (typeof value === "object") {
24
- const subMapper = new CsvMapper(this.sep, this.escapeStr, this.prefix + key + ".");
25
- const subValues = subMapper.map(context, value, sourceTime);
26
- let addSubFields = !isFinite(key);
27
- if (addSubFields) {
28
- subMapper.fields.forEach(subField => this.fields.add(subField));
25
+ if (level <= this.maxLevel) {
26
+ const subMapper = new CsvMapper(this.sep, this.escapeStr, this.prefix + key + ".", level);
27
+ const subValues = subMapper.map(context, value, sourceTime, level + 1);
28
+ let addSubFields = !isFinite(key);
29
+ if (addSubFields) {
30
+ subMapper.fields.forEach(subField => this.fields.add(subField));
31
+ }
32
+ val = subValues;
29
33
  }
30
34
  addField = false;
31
- val = subValues;
32
35
  }
33
36
  else {
34
37
  val = value;
@@ -45,10 +48,12 @@ export class CsvMapper {
45
48
  * @param context
46
49
  * @param sourceCase
47
50
  * @param sourceTime
51
+ * @param level
48
52
  */
49
- map(context, sourceCase, sourceTime) {
50
- const entries = Array.from(Object.entries(sourceCase)).sort((entry1, entry2) => entry1[0].localeCompare(entry2[0]));
51
- return entries.map(entry => this.fieldMapper(context, entry[0], entry[1], sourceTime)).join(this.sep);
53
+ map(context, sourceCase, sourceTime, level = 0) {
54
+ const sourceCaseEntries = Object.entries(sourceCase);
55
+ const entries = Array.from(sourceCaseEntries).sort((entry1, entry2) => entry1[0].localeCompare(entry2[0]));
56
+ return entries.map(entry => this.fieldMapper(context, entry[0], entry[1], sourceTime, level)).join(this.sep);
52
57
  }
53
58
  /**
54
59
  * Reduce a set of cases to a CSV string.
@@ -32,6 +32,35 @@ describe("CsvMapper", () => {
32
32
  .join("\n");
33
33
  expect(csvContents).toBe(expectedCsv);
34
34
  });
35
+ describe("mapper", () => {
36
+ const date = new Date("2025-01-01");
37
+ const context = rr0TestUtil.newHtmlContext("time/1/9/7/0/03/index.html");
38
+ test("string", () => {
39
+ const mapper = new CsvMapper(";");
40
+ expect(mapper.fieldMapper(context, "key1", "val1", date)).toBe("val1");
41
+ expect(Array.from(mapper.fields)).toEqual(["key1"]);
42
+ });
43
+ describe("object", () => {
44
+ test("level 0", () => {
45
+ const mapper = new CsvMapper(";");
46
+ const csvLine = mapper.fieldMapper(context, "obj1", { prop1: "propVal1", prop2: 12 }, date);
47
+ expect(Array.from(mapper.fields)).toEqual(["obj1.prop1", "obj1.prop2"]);
48
+ expect(csvLine).toBe("propVal1;12");
49
+ });
50
+ test("level 1", () => {
51
+ const mapper = new CsvMapper(";");
52
+ const csvLine = mapper.fieldMapper(context, "obj1", { prop1: "propVal1", prop2: 12, prop3: { prop31: "prop31Val" } }, date);
53
+ expect(Array.from(mapper.fields)).toEqual(["obj1.prop1", "obj1.prop2", "obj1.prop3.prop31"]);
54
+ expect(csvLine).toBe("propVal1;12;prop31Val");
55
+ });
56
+ test("level 2", () => {
57
+ const mapper = new CsvMapper(";");
58
+ const csvLine = mapper.fieldMapper(context, "obj1", { prop1: "propVal1", prop2: 12, prop3: { prop31: "prop31Val", prop4: { key4: "value4" } } }, date);
59
+ expect(Array.from(mapper.fields)).toEqual(["obj1.prop1", "obj1.prop2", "obj1.prop3.prop31"]);
60
+ expect(csvLine).toBe("propVal1;12;prop31Val");
61
+ });
62
+ });
63
+ });
35
64
  test("read", () => {
36
65
  const fileMapper = new CsvMapper(";");
37
66
  const fileName = path.join(process.cwd(), geipanFileDatasource.defaultFileName);
@@ -2,8 +2,8 @@ import { HtmlRR0Context } from "../../RR0Context.js";
2
2
  import { Level2Date as EdtfDate } from "@rr0/time";
3
3
  import { TimeTextBuilder } from "../text/TimeTextBuilder.js";
4
4
  import { RR0CaseMapping } from "./rr0/index.js";
5
- import { Source } from "@rr0/data/dist/source";
6
- import { PlaceRenderer } from "../../place/PlaceRenderer";
5
+ import { RR0SourceType, Source } from "@rr0/data";
6
+ import { PlaceRenderer } from "../../place/PlaceRenderer.js";
7
7
  export declare abstract class DatasourceTestCase<S> {
8
8
  readonly mapping: RR0CaseMapping<S>;
9
9
  readonly sourceCases: S[];
@@ -16,5 +16,5 @@ export declare abstract class DatasourceTestCase<S> {
16
16
  testFetch(context: HtmlRR0Context): Promise<void>;
17
17
  protected abstract sortComparator(c1: S, c2: S): number;
18
18
  protected abstract getTime(c: S): EdtfDate;
19
- protected expectedSourceStr(context: HtmlRR0Context, expectedSources: Source[], nativeCase: S): string;
19
+ protected expectedSourceStr(context: HtmlRR0Context, expectedSources: Source<RR0SourceType>[], nativeCase: S): string;
20
20
  }
@@ -6,9 +6,9 @@ import { NoteFileCounter, NoteRenderer } from "../../note/index.js";
6
6
  import { HttpSource } from "./HttpSource.js";
7
7
  import { TimeElementFactory } from "../html/TimeElementFactory.js";
8
8
  import { TimeRenderer } from "../html/TimeRenderer.js";
9
- import { rr0TestUtil } from "../../test";
9
+ import { rr0TestUtil } from "../../test/index.js";
10
10
  import { AllDataService } from "@rr0/data";
11
- import { PlaceRenderer } from "../../place/PlaceRenderer";
11
+ import { PlaceRenderer } from "../../place/PlaceRenderer.js";
12
12
  export class DatasourceTestCase {
13
13
  constructor(mapping, sourceCases, intlOptions = {
14
14
  year: "numeric",
@@ -14,5 +14,5 @@ export declare class FileSource {
14
14
  */
15
15
  fileName(context: HtmlSsgContext, datasource: Datasource<any>): string;
16
16
  read(context: HtmlSsgContext, datasource: Datasource<any>): Promise<FileContents>;
17
- writeContents(context: HtmlSsgContext, contents: string | NodeJS.ArrayBufferView, datasource: Datasource<any>): void;
17
+ writeContents(context: HtmlSsgContext, contents: string | NodeJS.ArrayBufferView, datasource: Datasource<any>): string;
18
18
  }
@@ -23,6 +23,7 @@ export class FileSource {
23
23
  writeContents(context, contents, datasource) {
24
24
  const fileName = this.fileName(context, datasource);
25
25
  fs.writeFileSync(fileName, contents, { encoding: this.encoding });
26
+ return fileName;
26
27
  }
27
28
  }
28
29
  FileSource.specialChars = /[ \-?!&*#().:\/\\;=°',]/g;
@@ -3,7 +3,7 @@ import fs from "fs";
3
3
  import { rr0TestUtil } from "../../test/index.js";
4
4
  import { ufoSearchTestCases } from "./ufo-search/UfoSearchTestCases.js";
5
5
  import path from "path";
6
- import { UfoSearchRR0Mapping } from "./ufo-search";
6
+ import { UfoSearchRR0Mapping } from "./ufo-search/index.js";
7
7
  describe("JsonMapper", () => {
8
8
  let context;
9
9
  beforeEach(() => {
@@ -1,6 +1,6 @@
1
1
  import { beforeEach, describe, expect, test } from "@javarome/testscript";
2
- import { TimeContextFilter } from "./TimeContextFilter";
3
- import { rr0TestUtil } from "../../test";
2
+ import { TimeContextFilter } from "./TimeContextFilter.js";
3
+ import { rr0TestUtil } from "../../test/index.js";
4
4
  describe("TimeContextFilter", () => {
5
5
  let context;
6
6
  beforeEach(() => {
@@ -1,6 +1,6 @@
1
1
  import assert from "assert";
2
2
  import { Level2Date as EdtfDate } from "@rr0/time";
3
- import { OrganizationPlace } from "../../../place/OrganizationPlace";
3
+ import { OrganizationPlace } from "../../../place/OrganizationPlace.js";
4
4
  /**
5
5
  * Maps a Base OVNI France case to a RR0 case.
6
6
  */
@@ -7,7 +7,7 @@ import { leMans72 } from "../../../org/eu/fr/region/pdl/72/LeMans/LeMans.js";
7
7
  import { lyon69 } from "../../../org/eu/fr/region/ara/69/Lyon/Lyon.js";
8
8
  import { briancon05 } from "../../../org/eu/fr/region/pac/05/briancon/Briancon.js";
9
9
  import { chambonSurVoueize23 } from "../../../org/eu/fr/region/naq/23/Chambon/Chambon.js";
10
- import { BaseOvniFranceCaseSummaryRR0Mapper } from "./BaseOvniFranceCaseSummaryRR0Mapper";
10
+ import { BaseOvniFranceCaseSummaryRR0Mapper } from "./BaseOvniFranceCaseSummaryRR0Mapper.js";
11
11
  function expectedSource(datasource, dataDate, caseNumber) {
12
12
  const url = new URL(datasource.searchPath + "?typlist=20&page=0&numobs=" + caseNumber, datasource.baseUrl).href;
13
13
  return {
@@ -3,13 +3,13 @@ import { BaseOvniFranceCaseSummary } from "./BaseOvniFranceCaseSummary.js";
3
3
  import { BaseOvniFranceHttpDatasource } from "./BaseOvniFranceHttpDatasource.js";
4
4
  import { RR0CaseMapping } from "../rr0/index.js";
5
5
  import { ChronologyReplacerActions } from "../ChronologyReplacerActions.js";
6
- import { BuildContext } from "../../../BuildContext";
6
+ import { CMSContext } from "../../../CMSContext.js";
7
7
  export declare const baseOvniFranceDatasource: BaseOvniFranceHttpDatasource;
8
8
  export declare class BaseOvniFranceRR0Mapping implements RR0CaseMapping<BaseOvniFranceCaseSummary> {
9
9
  readonly actions: ChronologyReplacerActions;
10
10
  datasource: BaseOvniFranceHttpDatasource;
11
11
  mapper: BaseOvniFranceCaseSummaryRR0Mapper;
12
12
  constructor(actions: ChronologyReplacerActions);
13
- init(build: BuildContext): this;
13
+ init(build: CMSContext): this;
14
14
  }
15
15
  export declare const baseOvniFranceSortComparator: (c1: BaseOvniFranceCaseSummary, c2: BaseOvniFranceCaseSummary) => 0 | 1 | -1;