@intlayer/core 9.6.0 → 9.7.1

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/cjs/_virtual/_rolldown/runtime.cjs +1 -2
  2. package/dist/cjs/deepTransformPlugins/getEditedContent.cjs +2 -3
  3. package/dist/cjs/deepTransformPlugins/getFilterMissingTranslationsContent.cjs +5 -6
  4. package/dist/cjs/deepTransformPlugins/getFilterTranslationsOnlyContent.cjs +4 -5
  5. package/dist/cjs/deepTransformPlugins/getFilteredLocalesContent.cjs +3 -4
  6. package/dist/cjs/deepTransformPlugins/getLocalizedContent.cjs +3 -4
  7. package/dist/cjs/deepTransformPlugins/getMaskContent.cjs +2 -3
  8. package/dist/cjs/deepTransformPlugins/getMissingLocalesContent.cjs +3 -4
  9. package/dist/cjs/deepTransformPlugins/getMultilingualDictionary.cjs +3 -4
  10. package/dist/cjs/deepTransformPlugins/getReplacedValuesContent.cjs +2 -3
  11. package/dist/cjs/deepTransformPlugins/getSplittedContent.cjs +2 -3
  12. package/dist/cjs/deepTransformPlugins/index.cjs +11 -11
  13. package/dist/cjs/deepTransformPlugins/insertContentInDictionary.cjs +2 -3
  14. package/dist/cjs/dictionaryManipulator/editDictionaryByKeyPath.cjs +2 -3
  15. package/dist/cjs/dictionaryManipulator/getContentNodeByKeyPath.cjs +7 -4
  16. package/dist/cjs/dictionaryManipulator/getContentNodeByKeyPath.cjs.map +1 -1
  17. package/dist/cjs/dictionaryManipulator/getDefaultNode.cjs +2 -3
  18. package/dist/cjs/dictionaryManipulator/getEmptyNode.cjs +2 -3
  19. package/dist/cjs/dictionaryManipulator/getNestedDictionaryReferences.cjs +1 -2
  20. package/dist/cjs/dictionaryManipulator/getNodeChildren.cjs +2 -3
  21. package/dist/cjs/dictionaryManipulator/getNodeType.cjs +3 -4
  22. package/dist/cjs/dictionaryManipulator/index.cjs +31 -21
  23. package/dist/cjs/dictionaryManipulator/mergeDictionaries.cjs +3 -4
  24. package/dist/cjs/dictionaryManipulator/mergeQualifiedDictionaries.cjs +4 -5
  25. package/dist/cjs/dictionaryManipulator/normalizeDictionary.cjs +4 -5
  26. package/dist/cjs/dictionaryManipulator/orderDictionaries.cjs +1 -2
  27. package/dist/cjs/dictionaryManipulator/plainDynamicLoader.cjs +1 -2
  28. package/dist/cjs/dictionaryManipulator/preloadedDynamicLoader.cjs +7 -3
  29. package/dist/cjs/dictionaryManipulator/qualifiedDictionary.cjs +1 -2
  30. package/dist/cjs/dictionaryManipulator/qualifiedDictionaryDeclaration.cjs +2 -3
  31. package/dist/cjs/dictionaryManipulator/qualifiedDynamicLoader.cjs +8 -4
  32. package/dist/cjs/dictionaryManipulator/removeContentNodeByKeyPath.cjs +2 -3
  33. package/dist/cjs/dictionaryManipulator/renameContentNodeByKeyPath.cjs +2 -3
  34. package/dist/cjs/dictionaryManipulator/updateNodeChildren.cjs +2 -3
  35. package/dist/cjs/formatters/compact.cjs +3 -5
  36. package/dist/cjs/formatters/compact.cjs.map +1 -1
  37. package/dist/cjs/formatters/currency.cjs +3 -5
  38. package/dist/cjs/formatters/currency.cjs.map +1 -1
  39. package/dist/cjs/formatters/date.cjs +3 -5
  40. package/dist/cjs/formatters/date.cjs.map +1 -1
  41. package/dist/cjs/formatters/index.cjs +9 -9
  42. package/dist/cjs/formatters/list.cjs +3 -5
  43. package/dist/cjs/formatters/list.cjs.map +1 -1
  44. package/dist/cjs/formatters/number.cjs +3 -5
  45. package/dist/cjs/formatters/number.cjs.map +1 -1
  46. package/dist/cjs/formatters/percentage.cjs +3 -5
  47. package/dist/cjs/formatters/percentage.cjs.map +1 -1
  48. package/dist/cjs/formatters/relativeTime.cjs +3 -5
  49. package/dist/cjs/formatters/relativeTime.cjs.map +1 -1
  50. package/dist/cjs/formatters/units.cjs +3 -5
  51. package/dist/cjs/formatters/units.cjs.map +1 -1
  52. package/dist/cjs/index.cjs +130 -119
  53. package/dist/cjs/interpreter/dictionaryTransformCache.cjs +1 -2
  54. package/dist/cjs/interpreter/getCondition.cjs +1 -2
  55. package/dist/cjs/interpreter/getContent/deepTransform.cjs +2 -3
  56. package/dist/cjs/interpreter/getContent/getContent.cjs +3 -4
  57. package/dist/cjs/interpreter/getContent/index.cjs +3 -3
  58. package/dist/cjs/interpreter/getContent/plugins.cjs +17 -16
  59. package/dist/cjs/interpreter/getContent/plugins.cjs.map +1 -1
  60. package/dist/cjs/interpreter/getDictionary.cjs +5 -6
  61. package/dist/cjs/interpreter/getDictionaryAsync.cjs +7 -8
  62. package/dist/cjs/interpreter/getEnumeration.cjs +1 -2
  63. package/dist/cjs/interpreter/getGender.cjs +1 -2
  64. package/dist/cjs/interpreter/getHTML.cjs +1 -2
  65. package/dist/cjs/interpreter/getInsertion.cjs +1 -2
  66. package/dist/cjs/interpreter/getIntlayer.cjs +2 -3
  67. package/dist/cjs/interpreter/getIntlayerAsync.cjs +3 -4
  68. package/dist/cjs/interpreter/getNesting.cjs +2 -3
  69. package/dist/cjs/interpreter/getNesting.optimized.cjs +2 -3
  70. package/dist/cjs/interpreter/getPlural.cjs +2 -3
  71. package/dist/cjs/interpreter/getSelect.cjs +1 -2
  72. package/dist/cjs/interpreter/getTranslation.cjs +1 -2
  73. package/dist/cjs/interpreter/index.cjs +20 -20
  74. package/dist/cjs/interpreter/interpolableNode.cjs +3 -4
  75. package/dist/cjs/interpreter/resolveInterpreterLocale.cjs +2 -3
  76. package/dist/cjs/interpreter/splitAndJoinInsertion.cjs +1 -2
  77. package/dist/cjs/localization/comparePaths.cjs +3 -4
  78. package/dist/cjs/localization/domainUtils.cjs +1 -2
  79. package/dist/cjs/localization/generateSitemap.cjs +4 -5
  80. package/dist/cjs/localization/getBrowserLocale.cjs +3 -4
  81. package/dist/cjs/localization/getCanonicalPath.cjs +2 -3
  82. package/dist/cjs/localization/getHTMLTextDir.cjs +1 -2
  83. package/dist/cjs/localization/getLocale.cjs +4 -5
  84. package/dist/cjs/localization/getLocaleFromPath.cjs +3 -4
  85. package/dist/cjs/localization/getLocaleFromRequest.cjs +5 -6
  86. package/dist/cjs/localization/getLocaleLang.cjs +1 -2
  87. package/dist/cjs/localization/getLocaleName.cjs +2 -3
  88. package/dist/cjs/localization/getLocalizedPath.cjs +6 -7
  89. package/dist/cjs/localization/getLocalizedUrl.cjs +5 -6
  90. package/dist/cjs/localization/getMultilingualUrls.cjs +3 -4
  91. package/dist/cjs/localization/getPathWithoutLocale.cjs +2 -3
  92. package/dist/cjs/localization/getPrefix.cjs +2 -3
  93. package/dist/cjs/localization/index.cjs +24 -24
  94. package/dist/cjs/localization/localeDetector.cjs +2 -3
  95. package/dist/cjs/localization/localeMapper.cjs +2 -3
  96. package/dist/cjs/localization/localeResolver.cjs +1 -2
  97. package/dist/cjs/localization/proxyMode.cjs +2 -3
  98. package/dist/cjs/localization/resolveBrowserLocale.cjs +5 -6
  99. package/dist/cjs/localization/rewriteMatch.cjs +1 -2
  100. package/dist/cjs/localization/rewriteUtils.cjs +3 -4
  101. package/dist/cjs/localization/validatePrefix.cjs +2 -3
  102. package/dist/cjs/markdown/compiler.cjs +6 -7
  103. package/dist/cjs/markdown/constants.cjs +6 -4
  104. package/dist/cjs/markdown/constants.cjs.map +1 -1
  105. package/dist/cjs/markdown/elementScanner.cjs +1 -2
  106. package/dist/cjs/markdown/index.cjs +8 -8
  107. package/dist/cjs/markdown/parser.cjs +3 -4
  108. package/dist/cjs/markdown/renderer.cjs +1 -2
  109. package/dist/cjs/markdown/utils.cjs +2 -3
  110. package/dist/cjs/messageFormat/ICU.cjs +9 -10
  111. package/dist/cjs/messageFormat/i18next.cjs +9 -10
  112. package/dist/cjs/messageFormat/index.cjs +6 -6
  113. package/dist/cjs/messageFormat/navigatePath.cjs +1 -2
  114. package/dist/cjs/messageFormat/po.cjs +8 -9
  115. package/dist/cjs/messageFormat/resolveMessage.cjs +9 -10
  116. package/dist/cjs/messageFormat/verify-icu-format.cjs +5 -6
  117. package/dist/cjs/messageFormat/vue-i18n.cjs +5 -6
  118. package/dist/cjs/transpiler/condition/condition.cjs +1 -2
  119. package/dist/cjs/transpiler/condition/index.cjs +1 -1
  120. package/dist/cjs/transpiler/enumeration/enumeration.cjs +1 -2
  121. package/dist/cjs/transpiler/enumeration/index.cjs +1 -1
  122. package/dist/cjs/transpiler/file/file.cjs +1 -2
  123. package/dist/cjs/transpiler/file/fileBrowser.cjs +1 -2
  124. package/dist/cjs/transpiler/file/index.cjs +1 -1
  125. package/dist/cjs/transpiler/gender/gender.cjs +1 -2
  126. package/dist/cjs/transpiler/gender/index.cjs +1 -1
  127. package/dist/cjs/transpiler/html/getHTMLCustomComponents.cjs +1 -2
  128. package/dist/cjs/transpiler/html/html.cjs +3 -4
  129. package/dist/cjs/transpiler/html/htmlTags.cjs +1 -2
  130. package/dist/cjs/transpiler/html/index.cjs +3 -3
  131. package/dist/cjs/transpiler/html/validateHTML.cjs +1 -2
  132. package/dist/cjs/transpiler/index.cjs +16 -15
  133. package/dist/cjs/transpiler/insertion/getInsertionValues.cjs +1 -2
  134. package/dist/cjs/transpiler/insertion/index.cjs +2 -2
  135. package/dist/cjs/transpiler/insertion/insertion.cjs +2 -3
  136. package/dist/cjs/transpiler/markdown/getMarkdownMetadata.cjs +2 -3
  137. package/dist/cjs/transpiler/markdown/index.cjs +3 -3
  138. package/dist/cjs/transpiler/markdown/markdown.cjs +5 -6
  139. package/dist/cjs/transpiler/markdown/validateMarkdown.cjs +2 -3
  140. package/dist/cjs/transpiler/nesting/index.cjs +1 -1
  141. package/dist/cjs/transpiler/nesting/nesting.cjs +1 -2
  142. package/dist/cjs/transpiler/plural/index.cjs +2 -1
  143. package/dist/cjs/transpiler/plural/plural.cjs +21 -3
  144. package/dist/cjs/transpiler/plural/plural.cjs.map +1 -1
  145. package/dist/cjs/transpiler/select/index.cjs +1 -1
  146. package/dist/cjs/transpiler/select/select.cjs +1 -2
  147. package/dist/cjs/transpiler/translation/index.cjs +1 -1
  148. package/dist/cjs/transpiler/translation/translation.cjs +1 -2
  149. package/dist/cjs/utils/checkIsURLAbsolute.cjs +1 -2
  150. package/dist/cjs/utils/cookieExpiry.cjs +1 -2
  151. package/dist/cjs/utils/getCookie.cjs +1 -2
  152. package/dist/cjs/utils/index.cjs +9 -9
  153. package/dist/cjs/utils/intl.cjs +3 -29
  154. package/dist/cjs/utils/intl.cjs.map +1 -1
  155. package/dist/cjs/utils/intlayerNodePrototype.cjs +1 -2
  156. package/dist/cjs/utils/isSameKeyPath.cjs +1 -2
  157. package/dist/cjs/utils/isValidReactElement.cjs +1 -2
  158. package/dist/cjs/utils/localeStorage.cjs +3 -4
  159. package/dist/cjs/utils/parseYaml.cjs +1 -2
  160. package/dist/cjs/utils/stringifyYaml.cjs +1 -2
  161. package/dist/esm/deepTransformPlugins/getEditedContent.mjs +1 -2
  162. package/dist/esm/deepTransformPlugins/getFilterMissingTranslationsContent.mjs +2 -3
  163. package/dist/esm/deepTransformPlugins/getFilterTranslationsOnlyContent.mjs +2 -3
  164. package/dist/esm/deepTransformPlugins/getFilteredLocalesContent.mjs +1 -2
  165. package/dist/esm/deepTransformPlugins/getLocalizedContent.mjs +2 -3
  166. package/dist/esm/deepTransformPlugins/getMaskContent.mjs +1 -2
  167. package/dist/esm/deepTransformPlugins/getMissingLocalesContent.mjs +1 -2
  168. package/dist/esm/deepTransformPlugins/getMultilingualDictionary.mjs +1 -2
  169. package/dist/esm/deepTransformPlugins/getReplacedValuesContent.mjs +1 -2
  170. package/dist/esm/deepTransformPlugins/getSplittedContent.mjs +1 -2
  171. package/dist/esm/deepTransformPlugins/insertContentInDictionary.mjs +1 -2
  172. package/dist/esm/dictionaryManipulator/editDictionaryByKeyPath.mjs +1 -2
  173. package/dist/esm/dictionaryManipulator/getContentNodeByKeyPath.mjs +6 -3
  174. package/dist/esm/dictionaryManipulator/getContentNodeByKeyPath.mjs.map +1 -1
  175. package/dist/esm/dictionaryManipulator/getDefaultNode.mjs +1 -2
  176. package/dist/esm/dictionaryManipulator/getEmptyNode.mjs +1 -2
  177. package/dist/esm/dictionaryManipulator/getNestedDictionaryReferences.mjs +1 -2
  178. package/dist/esm/dictionaryManipulator/getNodeChildren.mjs +1 -2
  179. package/dist/esm/dictionaryManipulator/getNodeType.mjs +1 -2
  180. package/dist/esm/dictionaryManipulator/index.mjs +6 -6
  181. package/dist/esm/dictionaryManipulator/mergeDictionaries.mjs +1 -2
  182. package/dist/esm/dictionaryManipulator/mergeQualifiedDictionaries.mjs +2 -3
  183. package/dist/esm/dictionaryManipulator/normalizeDictionary.mjs +2 -3
  184. package/dist/esm/dictionaryManipulator/orderDictionaries.mjs +1 -2
  185. package/dist/esm/dictionaryManipulator/plainDynamicLoader.mjs +1 -2
  186. package/dist/esm/dictionaryManipulator/preloadedDynamicLoader.mjs +1 -2
  187. package/dist/esm/dictionaryManipulator/qualifiedDictionary.mjs +1 -2
  188. package/dist/esm/dictionaryManipulator/qualifiedDictionaryDeclaration.mjs +1 -2
  189. package/dist/esm/dictionaryManipulator/qualifiedDynamicLoader.mjs +1 -2
  190. package/dist/esm/dictionaryManipulator/removeContentNodeByKeyPath.mjs +1 -2
  191. package/dist/esm/dictionaryManipulator/renameContentNodeByKeyPath.mjs +1 -2
  192. package/dist/esm/dictionaryManipulator/updateNodeChildren.mjs +1 -2
  193. package/dist/esm/formatters/compact.mjs +2 -4
  194. package/dist/esm/formatters/compact.mjs.map +1 -1
  195. package/dist/esm/formatters/currency.mjs +2 -4
  196. package/dist/esm/formatters/currency.mjs.map +1 -1
  197. package/dist/esm/formatters/date.mjs +2 -4
  198. package/dist/esm/formatters/date.mjs.map +1 -1
  199. package/dist/esm/formatters/list.mjs +2 -4
  200. package/dist/esm/formatters/list.mjs.map +1 -1
  201. package/dist/esm/formatters/number.mjs +2 -4
  202. package/dist/esm/formatters/number.mjs.map +1 -1
  203. package/dist/esm/formatters/percentage.mjs +2 -4
  204. package/dist/esm/formatters/percentage.mjs.map +1 -1
  205. package/dist/esm/formatters/relativeTime.mjs +2 -4
  206. package/dist/esm/formatters/relativeTime.mjs.map +1 -1
  207. package/dist/esm/formatters/units.mjs +2 -4
  208. package/dist/esm/formatters/units.mjs.map +1 -1
  209. package/dist/esm/index.mjs +2 -2
  210. package/dist/esm/interpreter/dictionaryTransformCache.mjs +1 -2
  211. package/dist/esm/interpreter/getCondition.mjs +1 -2
  212. package/dist/esm/interpreter/getContent/deepTransform.mjs +1 -2
  213. package/dist/esm/interpreter/getContent/getContent.mjs +1 -2
  214. package/dist/esm/interpreter/getContent/index.mjs +1 -1
  215. package/dist/esm/interpreter/getContent/plugins.mjs +6 -5
  216. package/dist/esm/interpreter/getContent/plugins.mjs.map +1 -1
  217. package/dist/esm/interpreter/getDictionary.mjs +3 -4
  218. package/dist/esm/interpreter/getDictionaryAsync.mjs +5 -6
  219. package/dist/esm/interpreter/getEnumeration.mjs +1 -2
  220. package/dist/esm/interpreter/getGender.mjs +1 -2
  221. package/dist/esm/interpreter/getHTML.mjs +1 -2
  222. package/dist/esm/interpreter/getInsertion.mjs +1 -2
  223. package/dist/esm/interpreter/getIntlayer.mjs +1 -2
  224. package/dist/esm/interpreter/getIntlayerAsync.mjs +2 -3
  225. package/dist/esm/interpreter/getNesting.mjs +1 -2
  226. package/dist/esm/interpreter/getNesting.optimized.mjs +1 -2
  227. package/dist/esm/interpreter/getPlural.mjs +1 -2
  228. package/dist/esm/interpreter/getSelect.mjs +1 -2
  229. package/dist/esm/interpreter/getTranslation.mjs +1 -2
  230. package/dist/esm/interpreter/index.mjs +7 -7
  231. package/dist/esm/interpreter/interpolableNode.mjs +1 -2
  232. package/dist/esm/interpreter/resolveInterpreterLocale.mjs +1 -2
  233. package/dist/esm/interpreter/splitAndJoinInsertion.mjs +1 -2
  234. package/dist/esm/localization/comparePaths.mjs +1 -2
  235. package/dist/esm/localization/domainUtils.mjs +1 -2
  236. package/dist/esm/localization/generateSitemap.mjs +2 -3
  237. package/dist/esm/localization/getBrowserLocale.mjs +1 -2
  238. package/dist/esm/localization/getCanonicalPath.mjs +1 -2
  239. package/dist/esm/localization/getHTMLTextDir.mjs +1 -2
  240. package/dist/esm/localization/getLocale.mjs +2 -3
  241. package/dist/esm/localization/getLocaleFromPath.mjs +1 -2
  242. package/dist/esm/localization/getLocaleFromRequest.mjs +2 -3
  243. package/dist/esm/localization/getLocaleLang.mjs +1 -2
  244. package/dist/esm/localization/getLocaleName.mjs +1 -2
  245. package/dist/esm/localization/getLocalizedPath.mjs +3 -4
  246. package/dist/esm/localization/getLocalizedUrl.mjs +2 -3
  247. package/dist/esm/localization/getMultilingualUrls.mjs +2 -3
  248. package/dist/esm/localization/getPathWithoutLocale.mjs +1 -2
  249. package/dist/esm/localization/getPrefix.mjs +1 -2
  250. package/dist/esm/localization/index.mjs +10 -10
  251. package/dist/esm/localization/localeDetector.mjs +1 -2
  252. package/dist/esm/localization/localeMapper.mjs +1 -2
  253. package/dist/esm/localization/localeResolver.mjs +1 -2
  254. package/dist/esm/localization/proxyMode.mjs +1 -2
  255. package/dist/esm/localization/resolveBrowserLocale.mjs +2 -3
  256. package/dist/esm/localization/rewriteMatch.mjs +1 -2
  257. package/dist/esm/localization/rewriteUtils.mjs +2 -3
  258. package/dist/esm/localization/validatePrefix.mjs +1 -2
  259. package/dist/esm/markdown/compiler.mjs +2 -3
  260. package/dist/esm/markdown/constants.mjs +6 -4
  261. package/dist/esm/markdown/constants.mjs.map +1 -1
  262. package/dist/esm/markdown/elementScanner.mjs +1 -2
  263. package/dist/esm/markdown/index.mjs +2 -2
  264. package/dist/esm/markdown/parser.mjs +1 -2
  265. package/dist/esm/markdown/renderer.mjs +1 -2
  266. package/dist/esm/markdown/utils.mjs +1 -2
  267. package/dist/esm/messageFormat/ICU.mjs +1 -2
  268. package/dist/esm/messageFormat/i18next.mjs +1 -2
  269. package/dist/esm/messageFormat/index.mjs +1 -1
  270. package/dist/esm/messageFormat/navigatePath.mjs +1 -2
  271. package/dist/esm/messageFormat/po.mjs +1 -2
  272. package/dist/esm/messageFormat/resolveMessage.mjs +2 -3
  273. package/dist/esm/messageFormat/verify-icu-format.mjs +1 -2
  274. package/dist/esm/messageFormat/vue-i18n.mjs +1 -2
  275. package/dist/esm/transpiler/condition/condition.mjs +1 -2
  276. package/dist/esm/transpiler/enumeration/enumeration.mjs +1 -2
  277. package/dist/esm/transpiler/file/file.mjs +1 -2
  278. package/dist/esm/transpiler/file/fileBrowser.mjs +1 -2
  279. package/dist/esm/transpiler/gender/gender.mjs +1 -2
  280. package/dist/esm/transpiler/html/getHTMLCustomComponents.mjs +1 -2
  281. package/dist/esm/transpiler/html/html.mjs +1 -2
  282. package/dist/esm/transpiler/html/htmlTags.mjs +1 -2
  283. package/dist/esm/transpiler/html/index.mjs +1 -1
  284. package/dist/esm/transpiler/html/validateHTML.mjs +1 -2
  285. package/dist/esm/transpiler/index.mjs +2 -2
  286. package/dist/esm/transpiler/insertion/getInsertionValues.mjs +1 -2
  287. package/dist/esm/transpiler/insertion/insertion.mjs +1 -2
  288. package/dist/esm/transpiler/markdown/getMarkdownMetadata.mjs +1 -2
  289. package/dist/esm/transpiler/markdown/index.mjs +1 -1
  290. package/dist/esm/transpiler/markdown/markdown.mjs +1 -2
  291. package/dist/esm/transpiler/markdown/validateMarkdown.mjs +1 -2
  292. package/dist/esm/transpiler/nesting/nesting.mjs +1 -2
  293. package/dist/esm/transpiler/plural/index.mjs +2 -2
  294. package/dist/esm/transpiler/plural/plural.mjs +21 -4
  295. package/dist/esm/transpiler/plural/plural.mjs.map +1 -1
  296. package/dist/esm/transpiler/select/select.mjs +1 -2
  297. package/dist/esm/transpiler/translation/translation.mjs +1 -2
  298. package/dist/esm/utils/checkIsURLAbsolute.mjs +1 -2
  299. package/dist/esm/utils/cookieExpiry.mjs +1 -2
  300. package/dist/esm/utils/getCookie.mjs +1 -2
  301. package/dist/esm/utils/index.mjs +4 -4
  302. package/dist/esm/utils/intl.mjs +3 -29
  303. package/dist/esm/utils/intl.mjs.map +1 -1
  304. package/dist/esm/utils/intlayerNodePrototype.mjs +1 -2
  305. package/dist/esm/utils/isSameKeyPath.mjs +1 -2
  306. package/dist/esm/utils/isValidReactElement.mjs +1 -2
  307. package/dist/esm/utils/localeStorage.mjs +1 -2
  308. package/dist/esm/utils/parseYaml.mjs +1 -2
  309. package/dist/esm/utils/stringifyYaml.mjs +1 -2
  310. package/dist/types/deepTransformPlugins/getEditedContent.d.ts +0 -2
  311. package/dist/types/deepTransformPlugins/getEditedContent.d.ts.map +1 -1
  312. package/dist/types/deepTransformPlugins/getFilterMissingTranslationsContent.d.ts +0 -2
  313. package/dist/types/deepTransformPlugins/getFilterMissingTranslationsContent.d.ts.map +1 -1
  314. package/dist/types/deepTransformPlugins/getFilterTranslationsOnlyContent.d.ts +0 -2
  315. package/dist/types/deepTransformPlugins/getFilterTranslationsOnlyContent.d.ts.map +1 -1
  316. package/dist/types/deepTransformPlugins/getFilteredLocalesContent.d.ts +0 -2
  317. package/dist/types/deepTransformPlugins/getFilteredLocalesContent.d.ts.map +1 -1
  318. package/dist/types/deepTransformPlugins/getLocalizedContent.d.ts +0 -2
  319. package/dist/types/deepTransformPlugins/getLocalizedContent.d.ts.map +1 -1
  320. package/dist/types/deepTransformPlugins/getMaskContent.d.ts +0 -2
  321. package/dist/types/deepTransformPlugins/getMaskContent.d.ts.map +1 -1
  322. package/dist/types/deepTransformPlugins/getMissingLocalesContent.d.ts +0 -2
  323. package/dist/types/deepTransformPlugins/getMissingLocalesContent.d.ts.map +1 -1
  324. package/dist/types/deepTransformPlugins/getMultilingualDictionary.d.ts +0 -2
  325. package/dist/types/deepTransformPlugins/getMultilingualDictionary.d.ts.map +1 -1
  326. package/dist/types/deepTransformPlugins/getReplacedValuesContent.d.ts +0 -2
  327. package/dist/types/deepTransformPlugins/getReplacedValuesContent.d.ts.map +1 -1
  328. package/dist/types/deepTransformPlugins/getSplittedContent.d.ts +1 -2
  329. package/dist/types/deepTransformPlugins/getSplittedContent.d.ts.map +1 -1
  330. package/dist/types/deepTransformPlugins/index.d.ts +1 -1
  331. package/dist/types/deepTransformPlugins/insertContentInDictionary.d.ts +0 -2
  332. package/dist/types/deepTransformPlugins/insertContentInDictionary.d.ts.map +1 -1
  333. package/dist/types/dictionaryManipulator/editDictionaryByKeyPath.d.ts +0 -2
  334. package/dist/types/dictionaryManipulator/editDictionaryByKeyPath.d.ts.map +1 -1
  335. package/dist/types/dictionaryManipulator/getContentNodeByKeyPath.d.ts +0 -2
  336. package/dist/types/dictionaryManipulator/getContentNodeByKeyPath.d.ts.map +1 -1
  337. package/dist/types/dictionaryManipulator/getDefaultNode.d.ts +0 -2
  338. package/dist/types/dictionaryManipulator/getDefaultNode.d.ts.map +1 -1
  339. package/dist/types/dictionaryManipulator/getEmptyNode.d.ts +0 -2
  340. package/dist/types/dictionaryManipulator/getEmptyNode.d.ts.map +1 -1
  341. package/dist/types/dictionaryManipulator/getNestedDictionaryReferences.d.ts +0 -2
  342. package/dist/types/dictionaryManipulator/getNestedDictionaryReferences.d.ts.map +1 -1
  343. package/dist/types/dictionaryManipulator/getNodeChildren.d.ts +0 -2
  344. package/dist/types/dictionaryManipulator/getNodeChildren.d.ts.map +1 -1
  345. package/dist/types/dictionaryManipulator/getNodeType.d.ts +0 -2
  346. package/dist/types/dictionaryManipulator/getNodeType.d.ts.map +1 -1
  347. package/dist/types/dictionaryManipulator/index.d.ts +2 -2
  348. package/dist/types/dictionaryManipulator/mergeDictionaries.d.ts +0 -2
  349. package/dist/types/dictionaryManipulator/mergeDictionaries.d.ts.map +1 -1
  350. package/dist/types/dictionaryManipulator/mergeQualifiedDictionaries.d.ts +0 -2
  351. package/dist/types/dictionaryManipulator/mergeQualifiedDictionaries.d.ts.map +1 -1
  352. package/dist/types/dictionaryManipulator/normalizeDictionary.d.ts +0 -2
  353. package/dist/types/dictionaryManipulator/normalizeDictionary.d.ts.map +1 -1
  354. package/dist/types/dictionaryManipulator/orderDictionaries.d.ts +0 -2
  355. package/dist/types/dictionaryManipulator/orderDictionaries.d.ts.map +1 -1
  356. package/dist/types/dictionaryManipulator/plainDynamicLoader.d.ts +0 -2
  357. package/dist/types/dictionaryManipulator/plainDynamicLoader.d.ts.map +1 -1
  358. package/dist/types/dictionaryManipulator/preloadedDynamicLoader.d.ts +0 -2
  359. package/dist/types/dictionaryManipulator/preloadedDynamicLoader.d.ts.map +1 -1
  360. package/dist/types/dictionaryManipulator/qualifiedDictionary.d.ts +0 -2
  361. package/dist/types/dictionaryManipulator/qualifiedDictionary.d.ts.map +1 -1
  362. package/dist/types/dictionaryManipulator/qualifiedDictionaryDeclaration.d.ts +0 -2
  363. package/dist/types/dictionaryManipulator/qualifiedDictionaryDeclaration.d.ts.map +1 -1
  364. package/dist/types/dictionaryManipulator/qualifiedDynamicLoader.d.ts +0 -2
  365. package/dist/types/dictionaryManipulator/qualifiedDynamicLoader.d.ts.map +1 -1
  366. package/dist/types/dictionaryManipulator/removeContentNodeByKeyPath.d.ts +0 -2
  367. package/dist/types/dictionaryManipulator/removeContentNodeByKeyPath.d.ts.map +1 -1
  368. package/dist/types/dictionaryManipulator/renameContentNodeByKeyPath.d.ts +0 -2
  369. package/dist/types/dictionaryManipulator/renameContentNodeByKeyPath.d.ts.map +1 -1
  370. package/dist/types/dictionaryManipulator/updateNodeChildren.d.ts +0 -2
  371. package/dist/types/dictionaryManipulator/updateNodeChildren.d.ts.map +1 -1
  372. package/dist/types/formatters/compact.d.ts +0 -2
  373. package/dist/types/formatters/compact.d.ts.map +1 -1
  374. package/dist/types/formatters/currency.d.ts +0 -2
  375. package/dist/types/formatters/currency.d.ts.map +1 -1
  376. package/dist/types/formatters/date.d.ts +0 -2
  377. package/dist/types/formatters/date.d.ts.map +1 -1
  378. package/dist/types/formatters/index.d.ts +1 -1
  379. package/dist/types/formatters/list.d.ts +0 -2
  380. package/dist/types/formatters/list.d.ts.map +1 -1
  381. package/dist/types/formatters/number.d.ts +0 -2
  382. package/dist/types/formatters/number.d.ts.map +1 -1
  383. package/dist/types/formatters/percentage.d.ts +0 -2
  384. package/dist/types/formatters/percentage.d.ts.map +1 -1
  385. package/dist/types/formatters/relativeTime.d.ts +1 -2
  386. package/dist/types/formatters/relativeTime.d.ts.map +1 -1
  387. package/dist/types/formatters/units.d.ts +0 -2
  388. package/dist/types/formatters/units.d.ts.map +1 -1
  389. package/dist/types/index.d.ts +10 -10
  390. package/dist/types/interpreter/dictionaryTransformCache.d.ts +0 -2
  391. package/dist/types/interpreter/dictionaryTransformCache.d.ts.map +1 -1
  392. package/dist/types/interpreter/getCondition.d.ts +0 -2
  393. package/dist/types/interpreter/getCondition.d.ts.map +1 -1
  394. package/dist/types/interpreter/getContent/deepTransform.d.ts +0 -2
  395. package/dist/types/interpreter/getContent/deepTransform.d.ts.map +1 -1
  396. package/dist/types/interpreter/getContent/getContent.d.ts +0 -2
  397. package/dist/types/interpreter/getContent/getContent.d.ts.map +1 -1
  398. package/dist/types/interpreter/getContent/index.d.ts +1 -1
  399. package/dist/types/interpreter/getContent/plugins.d.ts +8 -5
  400. package/dist/types/interpreter/getContent/plugins.d.ts.map +1 -1
  401. package/dist/types/interpreter/getDictionary.d.ts +0 -2
  402. package/dist/types/interpreter/getDictionary.d.ts.map +1 -1
  403. package/dist/types/interpreter/getDictionaryAsync.d.ts +1 -3
  404. package/dist/types/interpreter/getDictionaryAsync.d.ts.map +1 -1
  405. package/dist/types/interpreter/getEnumeration.d.ts +0 -2
  406. package/dist/types/interpreter/getEnumeration.d.ts.map +1 -1
  407. package/dist/types/interpreter/getGender.d.ts +1 -2
  408. package/dist/types/interpreter/getGender.d.ts.map +1 -1
  409. package/dist/types/interpreter/getHTML.d.ts +1 -2
  410. package/dist/types/interpreter/getHTML.d.ts.map +1 -1
  411. package/dist/types/interpreter/getInsertion.d.ts +0 -2
  412. package/dist/types/interpreter/getInsertion.d.ts.map +1 -1
  413. package/dist/types/interpreter/getIntlayer.d.ts +0 -2
  414. package/dist/types/interpreter/getIntlayer.d.ts.map +1 -1
  415. package/dist/types/interpreter/getIntlayerAsync.d.ts +0 -2
  416. package/dist/types/interpreter/getIntlayerAsync.d.ts.map +1 -1
  417. package/dist/types/interpreter/getNesting.d.ts +0 -2
  418. package/dist/types/interpreter/getNesting.d.ts.map +1 -1
  419. package/dist/types/interpreter/getNesting.optimized.d.ts +2 -4
  420. package/dist/types/interpreter/getNesting.optimized.d.ts.map +1 -1
  421. package/dist/types/interpreter/getPlural.d.ts +0 -2
  422. package/dist/types/interpreter/getPlural.d.ts.map +1 -1
  423. package/dist/types/interpreter/getSelect.d.ts +0 -2
  424. package/dist/types/interpreter/getSelect.d.ts.map +1 -1
  425. package/dist/types/interpreter/getTranslation.d.ts +0 -2
  426. package/dist/types/interpreter/getTranslation.d.ts.map +1 -1
  427. package/dist/types/interpreter/index.d.ts +3 -3
  428. package/dist/types/interpreter/interpolableNode.d.ts +0 -2
  429. package/dist/types/interpreter/interpolableNode.d.ts.map +1 -1
  430. package/dist/types/interpreter/resolveInterpreterLocale.d.ts +0 -2
  431. package/dist/types/interpreter/resolveInterpreterLocale.d.ts.map +1 -1
  432. package/dist/types/interpreter/splitAndJoinInsertion.d.ts +0 -2
  433. package/dist/types/interpreter/splitAndJoinInsertion.d.ts.map +1 -1
  434. package/dist/types/localization/comparePaths.d.ts +0 -2
  435. package/dist/types/localization/comparePaths.d.ts.map +1 -1
  436. package/dist/types/localization/domainUtils.d.ts +0 -2
  437. package/dist/types/localization/domainUtils.d.ts.map +1 -1
  438. package/dist/types/localization/generateSitemap.d.ts +0 -2
  439. package/dist/types/localization/generateSitemap.d.ts.map +1 -1
  440. package/dist/types/localization/getBrowserLocale.d.ts +1 -2
  441. package/dist/types/localization/getBrowserLocale.d.ts.map +1 -1
  442. package/dist/types/localization/getCanonicalPath.d.ts +0 -2
  443. package/dist/types/localization/getCanonicalPath.d.ts.map +1 -1
  444. package/dist/types/localization/getHTMLTextDir.d.ts +1 -2
  445. package/dist/types/localization/getHTMLTextDir.d.ts.map +1 -1
  446. package/dist/types/localization/getLocale.d.ts +0 -2
  447. package/dist/types/localization/getLocale.d.ts.map +1 -1
  448. package/dist/types/localization/getLocaleFromPath.d.ts +0 -2
  449. package/dist/types/localization/getLocaleFromPath.d.ts.map +1 -1
  450. package/dist/types/localization/getLocaleFromRequest.d.ts +0 -2
  451. package/dist/types/localization/getLocaleFromRequest.d.ts.map +1 -1
  452. package/dist/types/localization/getLocaleLang.d.ts +0 -2
  453. package/dist/types/localization/getLocaleLang.d.ts.map +1 -1
  454. package/dist/types/localization/getLocaleName.d.ts +0 -2
  455. package/dist/types/localization/getLocaleName.d.ts.map +1 -1
  456. package/dist/types/localization/getLocalizedPath.d.ts +0 -2
  457. package/dist/types/localization/getLocalizedPath.d.ts.map +1 -1
  458. package/dist/types/localization/getLocalizedUrl.d.ts +0 -2
  459. package/dist/types/localization/getLocalizedUrl.d.ts.map +1 -1
  460. package/dist/types/localization/getMultilingualUrls.d.ts +0 -2
  461. package/dist/types/localization/getMultilingualUrls.d.ts.map +1 -1
  462. package/dist/types/localization/getPathWithoutLocale.d.ts +0 -2
  463. package/dist/types/localization/getPathWithoutLocale.d.ts.map +1 -1
  464. package/dist/types/localization/getPrefix.d.ts +0 -2
  465. package/dist/types/localization/getPrefix.d.ts.map +1 -1
  466. package/dist/types/localization/index.d.ts +1 -1
  467. package/dist/types/localization/localeDetector.d.ts +0 -2
  468. package/dist/types/localization/localeDetector.d.ts.map +1 -1
  469. package/dist/types/localization/localeMapper.d.ts +0 -2
  470. package/dist/types/localization/localeMapper.d.ts.map +1 -1
  471. package/dist/types/localization/localeResolver.d.ts +0 -2
  472. package/dist/types/localization/localeResolver.d.ts.map +1 -1
  473. package/dist/types/localization/proxyMode.d.ts +0 -2
  474. package/dist/types/localization/proxyMode.d.ts.map +1 -1
  475. package/dist/types/localization/resolveBrowserLocale.d.ts +0 -2
  476. package/dist/types/localization/resolveBrowserLocale.d.ts.map +1 -1
  477. package/dist/types/localization/rewriteMatch.d.ts +0 -2
  478. package/dist/types/localization/rewriteMatch.d.ts.map +1 -1
  479. package/dist/types/localization/rewriteUtils.d.ts +1 -2
  480. package/dist/types/localization/rewriteUtils.d.ts.map +1 -1
  481. package/dist/types/localization/validatePrefix.d.ts +0 -2
  482. package/dist/types/localization/validatePrefix.d.ts.map +1 -1
  483. package/dist/types/markdown/compiler.d.ts +2 -3
  484. package/dist/types/markdown/compiler.d.ts.map +1 -1
  485. package/dist/types/markdown/constants.d.ts +4 -3
  486. package/dist/types/markdown/constants.d.ts.map +1 -1
  487. package/dist/types/markdown/elementScanner.d.ts +0 -2
  488. package/dist/types/markdown/elementScanner.d.ts.map +1 -1
  489. package/dist/types/markdown/index.d.ts +2 -2
  490. package/dist/types/markdown/parser.d.ts +0 -2
  491. package/dist/types/markdown/parser.d.ts.map +1 -1
  492. package/dist/types/markdown/renderer.d.ts +0 -2
  493. package/dist/types/markdown/renderer.d.ts.map +1 -1
  494. package/dist/types/markdown/types.d.ts +0 -2
  495. package/dist/types/markdown/types.d.ts.map +1 -1
  496. package/dist/types/markdown/utils.d.ts +1 -2
  497. package/dist/types/markdown/utils.d.ts.map +1 -1
  498. package/dist/types/messageFormat/ICU.d.ts +0 -2
  499. package/dist/types/messageFormat/ICU.d.ts.map +1 -1
  500. package/dist/types/messageFormat/i18next.d.ts +0 -2
  501. package/dist/types/messageFormat/i18next.d.ts.map +1 -1
  502. package/dist/types/messageFormat/navigatePath.d.ts +0 -2
  503. package/dist/types/messageFormat/navigatePath.d.ts.map +1 -1
  504. package/dist/types/messageFormat/po.d.ts +0 -2
  505. package/dist/types/messageFormat/po.d.ts.map +1 -1
  506. package/dist/types/messageFormat/resolveMessage.d.ts +0 -2
  507. package/dist/types/messageFormat/resolveMessage.d.ts.map +1 -1
  508. package/dist/types/messageFormat/vue-i18n.d.ts +0 -2
  509. package/dist/types/messageFormat/vue-i18n.d.ts.map +1 -1
  510. package/dist/types/transpiler/condition/condition.d.ts +0 -2
  511. package/dist/types/transpiler/condition/condition.d.ts.map +1 -1
  512. package/dist/types/transpiler/enumeration/enumeration.d.ts +0 -2
  513. package/dist/types/transpiler/enumeration/enumeration.d.ts.map +1 -1
  514. package/dist/types/transpiler/file/file.d.ts +0 -2
  515. package/dist/types/transpiler/file/file.d.ts.map +1 -1
  516. package/dist/types/transpiler/file/fileBrowser.d.ts +0 -2
  517. package/dist/types/transpiler/file/fileBrowser.d.ts.map +1 -1
  518. package/dist/types/transpiler/gender/gender.d.ts +0 -2
  519. package/dist/types/transpiler/gender/gender.d.ts.map +1 -1
  520. package/dist/types/transpiler/html/getHTMLCustomComponents.d.ts +0 -2
  521. package/dist/types/transpiler/html/getHTMLCustomComponents.d.ts.map +1 -1
  522. package/dist/types/transpiler/html/html.d.ts +1 -2
  523. package/dist/types/transpiler/html/html.d.ts.map +1 -1
  524. package/dist/types/transpiler/html/htmlTags.d.ts +0 -2
  525. package/dist/types/transpiler/html/htmlTags.d.ts.map +1 -1
  526. package/dist/types/transpiler/html/validateHTML.d.ts +0 -2
  527. package/dist/types/transpiler/html/validateHTML.d.ts.map +1 -1
  528. package/dist/types/transpiler/index.d.ts +2 -2
  529. package/dist/types/transpiler/insertion/getInsertionValues.d.ts +0 -2
  530. package/dist/types/transpiler/insertion/getInsertionValues.d.ts.map +1 -1
  531. package/dist/types/transpiler/insertion/insertion.d.ts +0 -2
  532. package/dist/types/transpiler/insertion/insertion.d.ts.map +1 -1
  533. package/dist/types/transpiler/markdown/getMarkdownMetadata.d.ts +0 -2
  534. package/dist/types/transpiler/markdown/getMarkdownMetadata.d.ts.map +1 -1
  535. package/dist/types/transpiler/markdown/markdown.d.ts +0 -2
  536. package/dist/types/transpiler/markdown/markdown.d.ts.map +1 -1
  537. package/dist/types/transpiler/markdown/validateMarkdown.d.ts +0 -2
  538. package/dist/types/transpiler/markdown/validateMarkdown.d.ts.map +1 -1
  539. package/dist/types/transpiler/nesting/nesting.d.ts +0 -2
  540. package/dist/types/transpiler/nesting/nesting.d.ts.map +1 -1
  541. package/dist/types/transpiler/plural/index.d.ts +2 -2
  542. package/dist/types/transpiler/plural/plural.d.ts +31 -4
  543. package/dist/types/transpiler/plural/plural.d.ts.map +1 -1
  544. package/dist/types/transpiler/select/select.d.ts +0 -2
  545. package/dist/types/transpiler/select/select.d.ts.map +1 -1
  546. package/dist/types/transpiler/translation/translation.d.ts +0 -2
  547. package/dist/types/transpiler/translation/translation.d.ts.map +1 -1
  548. package/dist/types/utils/checkIsURLAbsolute.d.ts +0 -2
  549. package/dist/types/utils/checkIsURLAbsolute.d.ts.map +1 -1
  550. package/dist/types/utils/cookieExpiry.d.ts +0 -2
  551. package/dist/types/utils/cookieExpiry.d.ts.map +1 -1
  552. package/dist/types/utils/getCookie.d.ts +0 -2
  553. package/dist/types/utils/getCookie.d.ts.map +1 -1
  554. package/dist/types/utils/index.d.ts +1 -1
  555. package/dist/types/utils/intl.d.ts +1 -3
  556. package/dist/types/utils/intl.d.ts.map +1 -1
  557. package/dist/types/utils/intlayerNodePrototype.d.ts +0 -2
  558. package/dist/types/utils/intlayerNodePrototype.d.ts.map +1 -1
  559. package/dist/types/utils/isSameKeyPath.d.ts +0 -2
  560. package/dist/types/utils/isSameKeyPath.d.ts.map +1 -1
  561. package/dist/types/utils/isValidReactElement.d.ts +0 -2
  562. package/dist/types/utils/isValidReactElement.d.ts.map +1 -1
  563. package/dist/types/utils/localeStorage.d.ts +0 -2
  564. package/dist/types/utils/localeStorage.d.ts.map +1 -1
  565. package/dist/types/utils/parseYaml.d.ts +0 -2
  566. package/dist/types/utils/parseYaml.d.ts.map +1 -1
  567. package/dist/types/utils/stringifyYaml.d.ts +0 -2
  568. package/dist/types/utils/stringifyYaml.d.ts.map +1 -1
  569. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"constants.mjs","names":[],"sources":["../../../src/markdown/constants.ts"],"sourcesContent":["// ============================================================================\n// RULE TYPES\n// ============================================================================\n\n/**\n * Analogous to `node.type`. Please note that the values here may change at any time,\n * so do not hard code against the value directly.\n */\nexport const RuleType = {\n blockQuote: '0',\n breakLine: '1',\n breakThematic: '2',\n codeBlock: '3',\n codeFenced: '4',\n codeInline: '5',\n footnote: '6',\n footnoteReference: '7',\n gfmTask: '8',\n heading: '9',\n headingSetext: '10',\n /** only available if not `disableHTMLParsing` */\n htmlBlock: '11',\n htmlComment: '12',\n /** only available if not `disableHTMLParsing` */\n htmlSelfClosing: '13',\n /** Custom components like <Tabs>, <TabItem> */\n customComponent: '34',\n image: '14',\n link: '15',\n /** emits a `link` 'node', does not render directly */\n linkAngleBraceStyleDetector: '16',\n /** emits a `link` 'node', does not render directly */\n linkBareUrlDetector: '17',\n newlineCoalescer: '19',\n orderedList: '20',\n paragraph: '21',\n ref: '22',\n refImage: '23',\n refLink: '24',\n table: '25',\n tableSeparator: '26',\n text: '27',\n textBolded: '28',\n textEmphasized: '29',\n textEscaped: '30',\n textMarked: '31',\n textStrikethroughed: '32',\n unorderedList: '33',\n} as const;\n\n// In test environment, use human-readable keys for easier debugging\nif (process.env.NODE_ENV === 'test') {\n Object.keys(RuleType).forEach((key) => {\n (RuleType as any)[key] = key;\n });\n}\n\nexport type RuleTypeValue = (typeof RuleType)[keyof typeof RuleType];\n\n// ============================================================================\n// PRIORITY LEVELS\n// ============================================================================\n\n/**\n * Priority levels for rule ordering.\n */\nexport const Priority = {\n /** anything that must scan the tree before everything else */\n MAX: 0,\n /** scans for block-level constructs */\n HIGH: 1,\n /** inline w/ more priority than other inline */\n MED: 2,\n /** inline elements */\n LOW: 3,\n /** bare text and stuff that is considered leftovers */\n MIN: 4,\n} as const;\n\nexport type PriorityValue = (typeof Priority)[keyof typeof Priority];\n\n// ============================================================================\n// RULE SCOPE CONSTANTS\n// ============================================================================\n\n/**\n * Parsing scope for markdown rules.\n * Bitmask representation for fast bitwise checking and bundle minification.\n * - BLOCK (1): evaluated only when !state.inline && !state.simple\n * - INLINE (2): evaluated only when state.inline || state.simple\n * - BOTH (3): evaluated in both scopes (default)\n */\nexport const RuleScope = {\n BLOCK: 1,\n INLINE: 2,\n BOTH: 3,\n} as const;\n\nexport const SCOPE_BLOCK = RuleScope.BLOCK;\nexport const SCOPE_INLINE = RuleScope.INLINE;\nexport const SCOPE_BOTH = RuleScope.BOTH;\n\nexport type RuleScopeValue =\n | (typeof RuleScope)[keyof typeof RuleScope]\n | 'block'\n | 'inline'\n | 'both';\n\n// ============================================================================\n// ATTRIBUTE MAPPING\n// ============================================================================\n\n/**\n * Map of HTML attributes to their JSX prop equivalents.\n * Some renderers use camelCase for certain attributes.\n */\nexport const ATTRIBUTE_TO_NODE_PROP_MAP: Record<string, string> = [\n 'allowFullScreen',\n 'autoComplete',\n 'autoFocus',\n 'autoPlay',\n 'cellPadding',\n 'cellSpacing',\n 'charSet',\n 'classId',\n 'colSpan',\n 'contentEditable',\n 'contextMenu',\n 'crossOrigin',\n 'encType',\n 'formAction',\n 'formEncType',\n 'formMethod',\n 'formNoValidate',\n 'formTarget',\n 'frameBorder',\n 'hrefLang',\n 'inputMode',\n 'keyParams',\n 'keyType',\n 'marginHeight',\n 'marginWidth',\n 'maxLength',\n 'mediaGroup',\n 'minLength',\n 'noValidate',\n 'radioGroup',\n 'readOnly',\n 'rowSpan',\n 'spellCheck',\n 'srcDoc',\n 'srcLang',\n 'srcSet',\n 'tabIndex',\n 'useMap',\n].reduce(\n (obj: Record<string, string>, x) => {\n obj[x.toLowerCase()] = x;\n return obj;\n },\n { class: 'className', for: 'htmlFor' }\n);\n\n// ============================================================================\n// NAMED CODES TO UNICODE\n// ============================================================================\n\n/**\n * Default HTML entity to unicode mappings.\n */\nexport const NAMED_CODES_TO_UNICODE: Record<string, string> = {\n amp: '\\u0026',\n apos: '\\u0027',\n gt: '\\u003e',\n lt: '\\u003c',\n nbsp: '\\u00a0',\n quot: '\\u201c',\n};\n\n// ============================================================================\n// SPECIAL ELEMENTS\n// ============================================================================\n\n/** HTML elements that should not have their content processed */\nexport const DO_NOT_PROCESS_HTML_ELEMENTS = ['style', 'script', 'pre'];\n\n/** Attributes that require URL sanitization */\nexport const ATTRIBUTES_TO_SANITIZE = [\n 'src',\n 'href',\n 'data',\n 'formAction',\n 'srcDoc',\n 'action',\n];\n\n// ============================================================================\n// REGEX PATTERNS\n// ============================================================================\n\n/** Attribute extractor regex */\nexport const ATTR_EXTRACTOR_R =\n /([-A-Z0-9_:]+)(?:\\s*=\\s*(?:(?:\"((?:\\\\.|[^\"])*)\")|(?:'((?:\\\\.|[^'])*)')|(?:\\{((?:\\\\.|{[^}]*?}|[^}])*)\\})))?/gi;\n\n/** First character of a valid attribute name (a letter, `_` or `:`). */\nexport const ATTRIBUTE_NAME_START_R = /^[A-Z_:]/i;\n\n/** Block end detection */\nexport const BLOCK_END_R = /\\n{2,}$/;\n\n/** Blockquote patterns */\nexport const BLOCKQUOTE_R = /^(\\s*>[\\s\\S]*?)(?=\\n\\n|$)/;\nexport const BLOCKQUOTE_TRIM_LEFT_MULTILINE_R = /^ *> ?/gm;\nexport const BLOCKQUOTE_ALERT_R = /^(?:\\[!([^\\]]*)\\]\\n)?([\\s\\S]*)/;\n\n/** Line break patterns */\nexport const BREAK_LINE_R = /^(?=( {2,}))\\1\\n/;\nexport const BREAK_THEMATIC_R = /^(?:([-*_])( *\\1){2,}) *(?:\\n *)+\\n/;\n\n/** Code block patterns */\n// The body is consumed a whole line at a time rather than character by\n// character: a closing fence only ever starts a line, so the backreference is\n// tested once per line instead of once per character. The trailing `$` branch\n// inside the loop keeps an unterminated fence that ends without a newline.\nexport const CODE_BLOCK_FENCED_R =\n /^(?: {1,3})?(`{3,}|~{3,}) *(\\S+)? *([^\\n]*?)?\\n((?:[^\\n]*(?:\\n|$))*?)(?:\\1\\n?|$)/;\nexport const CODE_BLOCK_R = /^(?: {4}[^\\n]+\\n*)+(?:\\n *)+\\n?/;\n/** A single line opening or closing a fenced code block, with its indentation. */\nexport const FENCE_DELIMITER_R = /^([ \\t]*)(`{3,}|~{3,})/;\nexport const CODE_INLINE_R = /^(`+)((?:\\\\`|(?!\\1)`|[^`])+)\\1/;\n\n/** Newline patterns */\nexport const CONSECUTIVE_NEWLINE_R = /^(?:\\n *)*\\n/;\nexport const CR_NEWLINE_R = /\\r\\n?/g;\n\n/** Footnote patterns */\nexport const FOOTNOTE_R = /^\\[\\^([^\\]]+)](:(.*)((\\n+ {4,}.*)|(\\n(?!\\[\\^).+))*)/;\nexport const FOOTNOTE_REFERENCE_R = /^\\[\\^([^\\]]+)]/;\n\n/** Form feed */\nexport const FORMFEED_R = /\\f/g;\n\n/** Front matter */\nexport const FRONT_MATTER_R = /^---[ \\t]*\\n(.|\\n)*?\\n---[ \\t]*\\n/;\n\n/** GFM task */\nexport const GFM_TASK_R = /^\\s*?\\[(x|\\s)\\]/;\n\n/** Heading patterns */\nexport const HEADING_R = /^ *(#{1,6}) *([^\\n]+?)(?: +#*)?(?:\\n *)*(?:\\n|$)/;\nexport const HEADING_ATX_COMPLIANT_R =\n /^ *(#{1,6}) +([^\\n]+?)(?: +#*)?(?:\\n *)*(?:\\n|$)/;\nexport const HEADING_SETEXT_R = /^([^\\n]+)\\n *(=|-)\\2{2,} *\\n/;\n\n/** HTML patterns */\n\nexport const HTML_CHAR_CODE_R =\n /&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-fA-F]{1,6});/gi;\nexport const HTML_COMMENT_R = /^<!--[\\s\\S]*?(?:-->)/;\nexport const HTML_CUSTOM_ATTR_R = /^(data|aria|x)-[a-z_][a-z\\d_.-]*$/;\n\n/** Interpolation */\nexport const INTERPOLATION_R = /^\\{.*\\}$/;\n\n/** Link patterns */\nexport const LINK_AUTOLINK_BARE_URL_R = /^(https?:\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])/;\nexport const LINK_AUTOLINK_R = /^<([^ >]+[:@/][^ >]+)>/;\nexport const CAPTURE_LETTER_AFTER_HYPHEN = /-([a-z])?/gi;\n\n/**\n * Table patterns.\n *\n * The row scans spell \"any character but a newline\" as `[^\\n]` rather than `.`:\n * `.` is a four-range exclusion, and matching it over rows this wide costs a\n * third more than the single-range class. It is also the more faithful reading\n * — only `\\n` ends a line here, and `\\r` is normalized away before parsing.\n */\nexport const NP_TABLE_R =\n /^(\\|[^\\n]*)\\n(?: *(\\|? *[-:]+ *\\|[-| :]*)\\n((?:[^\\n]*\\|[^\\n]*\\n)*))?\\n?/;\nexport const TABLE_TRIM_PIPES = /(^ *\\||\\| *$)/g;\nexport const TABLE_CENTER_ALIGN = /^ *:-+: *$/;\nexport const TABLE_LEFT_ALIGN = /^ *:-+ *$/;\nexport const TABLE_RIGHT_ALIGN = /^ *-+: *$/;\n\n/** Paragraph */\nexport const PARAGRAPH_R = /^[^\\n]+(?: {2}\\n|\\n{2,})/;\n\n/** Reference patterns */\nexport const REFERENCE_IMAGE_OR_LINK =\n /^\\[([^\\]]*)\\]:\\s+<?([^\\s>]+)>?\\s*(\"([^\"]*)\")?/;\nexport const REFERENCE_IMAGE_R = /^!\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/;\nexport const REFERENCE_LINK_R = /^\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/;\n\n/** Block detection */\nexport const SHOULD_RENDER_AS_BLOCK_R = /(\\n|^[-*]\\s|^#|^ {2,}|^-{2,}|^>\\s)/;\n\n/** Tabs, which `normalizeWhitespace` widens to four spaces. */\nexport const TAB_R = /\\t/g;\nexport const TRIM_STARTING_NEWLINES = /^\\n+/;\nexport const HTML_LEFT_TRIM_AMOUNT_R = /^\\n*([ \\t]*)/;\n\n/** List patterns */\nexport const ORDERED_LIST_BULLET = '(?:\\\\d+\\\\.)';\nexport const UNORDERED_LIST_BULLET = '(?:[*+-])';\n\n/** Text formatting patterns */\nexport const TEXT_ESCAPED_R = /^\\\\([^0-9A-Za-z\\s])/;\nexport const UNESCAPE_R = /\\\\([^0-9A-Za-z\\s])/g;\n\n/** Shortcode pattern */\nexport const SHORTCODE_R = /^(:[a-zA-Z0-9-_]+:)/;\n\n// ============================================================================\n// LIST TYPE CONSTANTS\n// ============================================================================\n\nexport type ListType = 1 | 2;\nexport const ORDERED: ListType = 1;\nexport const UNORDERED: ListType = 2;\n\n// ============================================================================\n// INLINE PATTERN HELPERS\n// ============================================================================\n\n/**\n * Ensure there's at least one more instance of the delimiter later\n * in the current sequence.\n */\nexport const LOOKAHEAD = (double: number): string =>\n `(?=[\\\\s\\\\S]+?\\\\1${double ? '\\\\1' : ''})`;\n\n/**\n * For inline formatting, this partial attempts to ignore characters that\n * may appear in nested formatting.\n */\nexport const INLINE_SKIP_R =\n '((?:\\\\[.*?\\\\][([].*?[)\\\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|\\\\\\\\[^\\\\s]|[\\\\s\\\\S])+?)';\n\n/** Bold text pattern */\nexport const TEXT_BOLD_R = new RegExp(\n `^([*_])\\\\1${LOOKAHEAD(1)}${INLINE_SKIP_R}\\\\1\\\\1(?!\\\\1)`\n);\n\n/** Emphasized text pattern */\nexport const TEXT_EMPHASIZED_R = new RegExp(\n `^([*_])${LOOKAHEAD(0)}${INLINE_SKIP_R}\\\\1(?!\\\\1)`\n);\n\n/** Marked text pattern */\nexport const TEXT_MARKED_R = new RegExp(\n `^(==)${LOOKAHEAD(0)}${INLINE_SKIP_R}\\\\1`\n);\n\n/** Strikethrough text pattern */\nexport const TEXT_STRIKETHROUGHED_R = new RegExp(\n `^(~~)${LOOKAHEAD(0)}${INLINE_SKIP_R}\\\\1`\n);\n\n// ============================================================================\n// LIST REGEX GENERATORS\n// ============================================================================\n\nexport const generateListItemPrefix = (type: ListType): string => {\n return (\n '( *)(' +\n (type === ORDERED ? ORDERED_LIST_BULLET : UNORDERED_LIST_BULLET) +\n ') +'\n );\n};\n\nexport const ORDERED_LIST_ITEM_PREFIX = generateListItemPrefix(ORDERED);\nexport const UNORDERED_LIST_ITEM_PREFIX = generateListItemPrefix(UNORDERED);\n\nexport const generateListItemPrefixRegex = (type: ListType): RegExp => {\n return new RegExp(\n '^' +\n (type === ORDERED ? ORDERED_LIST_ITEM_PREFIX : UNORDERED_LIST_ITEM_PREFIX)\n );\n};\n\nexport const ORDERED_LIST_ITEM_PREFIX_R = generateListItemPrefixRegex(ORDERED);\nexport const UNORDERED_LIST_ITEM_PREFIX_R =\n generateListItemPrefixRegex(UNORDERED);\n\nexport const generateListItemRegex = (type: ListType): RegExp => {\n return new RegExp(\n '^' +\n (type === ORDERED\n ? ORDERED_LIST_ITEM_PREFIX\n : UNORDERED_LIST_ITEM_PREFIX) +\n '[^\\\\n]*(?:\\\\n' +\n '(?!\\\\1' +\n (type === ORDERED ? ORDERED_LIST_BULLET : UNORDERED_LIST_BULLET) +\n ' )[^\\\\n]*)*(\\\\n|$)',\n 'gm'\n );\n};\n\nexport const ORDERED_LIST_ITEM_R = generateListItemRegex(ORDERED);\nexport const UNORDERED_LIST_ITEM_R = generateListItemRegex(UNORDERED);\n\nexport const generateListRegex = (type: ListType): RegExp => {\n const bullet = type === ORDERED ? ORDERED_LIST_BULLET : UNORDERED_LIST_BULLET;\n\n return new RegExp(\n '^( *)(' +\n bullet +\n ') ' +\n // The body advances a line at a time rather than a character at a time: a\n // list can only end at a line boundary, so the terminator — the expensive\n // half, with its two nested lookaheads — is tried once per line instead of\n // once per character. The step swallows the newline that used to open the\n // terminator, which is why it now reads `\\n+` and not `\\n{2,}`, and the\n // leading lookahead keeps a source with nothing left after the bullet from\n // matching through a zero-width step.\n '(?=[\\\\s\\\\S])(?:[^\\\\n]*(?:\\\\n|$))+?' +\n '(?:\\\\n+(?! )' +\n '(?!\\\\1' +\n bullet +\n ' (?!' +\n bullet +\n ' ))\\\\n*' +\n // `\\s` already covers `\\n`, so the trailing `\\n*` the pattern used to\n // carry could only ever match empty — and paying for it at every step of\n // the lazy scan cost a third of the whole match.\n '|\\\\s*$)'\n );\n};\n\nexport const ORDERED_LIST_R = generateListRegex(ORDERED);\nexport const UNORDERED_LIST_R = generateListRegex(UNORDERED);\n"],"mappings":"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"}
1
+ {"version":3,"file":"constants.mjs","names":[],"sources":["../../../src/markdown/constants.ts"],"sourcesContent":["// ============================================================================\n// RULE TYPES\n// ============================================================================\n\n/**\n * Analogous to `node.type`. Please note that the values here may change at any time,\n * so do not hard code against the value directly.\n */\nexport const RuleType = {\n blockQuote: '0',\n breakLine: '1',\n breakThematic: '2',\n codeBlock: '3',\n codeFenced: '4',\n codeInline: '5',\n footnote: '6',\n footnoteReference: '7',\n gfmTask: '8',\n heading: '9',\n headingSetext: '10',\n /** only available if not `disableHTMLParsing` */\n htmlBlock: '11',\n htmlComment: '12',\n /** only available if not `disableHTMLParsing` */\n htmlSelfClosing: '13',\n /** Custom components like <Tabs>, <TabItem> */\n customComponent: '34',\n image: '14',\n link: '15',\n /** emits a `link` 'node', does not render directly */\n linkAngleBraceStyleDetector: '16',\n /** emits a `link` 'node', does not render directly */\n linkBareUrlDetector: '17',\n newlineCoalescer: '19',\n orderedList: '20',\n paragraph: '21',\n ref: '22',\n refImage: '23',\n refLink: '24',\n table: '25',\n tableSeparator: '26',\n text: '27',\n textBolded: '28',\n textEmphasized: '29',\n textEscaped: '30',\n textMarked: '31',\n textStrikethroughed: '32',\n unorderedList: '33',\n} as const;\n\n// In test environment, use human-readable keys for easier debugging\nif (process.env.NODE_ENV === 'test') {\n Object.keys(RuleType).forEach((key) => {\n (RuleType as any)[key] = key;\n });\n}\n\nexport type RuleTypeValue = (typeof RuleType)[keyof typeof RuleType];\n\n// ============================================================================\n// PRIORITY LEVELS\n// ============================================================================\n\n/**\n * Priority levels for rule ordering.\n */\nexport const Priority = {\n /** anything that must scan the tree before everything else */\n MAX: 0,\n /** scans for block-level constructs */\n HIGH: 1,\n /** inline w/ more priority than other inline */\n MED: 2,\n /** inline elements */\n LOW: 3,\n /** bare text and stuff that is considered leftovers */\n MIN: 4,\n} as const;\n\nexport type PriorityValue = (typeof Priority)[keyof typeof Priority];\n\n// ============================================================================\n// RULE SCOPE CONSTANTS\n// ============================================================================\n\n/**\n * Parsing scope for markdown rules.\n * Bitmask representation for fast bitwise checking and bundle minification.\n * - BLOCK (1): evaluated only when !state.inline && !state.simple\n * - INLINE (2): evaluated only when state.inline || state.simple\n * - BOTH (3): evaluated in both scopes (default)\n */\nexport const RuleScope = {\n BLOCK: 1,\n INLINE: 2,\n BOTH: 3,\n} as const;\n\nexport const SCOPE_BLOCK = RuleScope.BLOCK;\nexport const SCOPE_INLINE = RuleScope.INLINE;\nexport const SCOPE_BOTH = RuleScope.BOTH;\n\nexport type RuleScopeValue =\n | (typeof RuleScope)[keyof typeof RuleScope]\n | 'block'\n | 'inline'\n | 'both';\n\n// ============================================================================\n// ATTRIBUTE MAPPING\n// ============================================================================\n\n/**\n * Map of HTML attributes to their JSX prop equivalents.\n * Some renderers use camelCase for certain attributes.\n */\nexport const ATTRIBUTE_TO_NODE_PROP_MAP: Record<string, string> = [\n 'allowFullScreen',\n 'autoComplete',\n 'autoFocus',\n 'autoPlay',\n 'cellPadding',\n 'cellSpacing',\n 'charSet',\n 'classId',\n 'colSpan',\n 'contentEditable',\n 'contextMenu',\n 'crossOrigin',\n 'encType',\n 'formAction',\n 'formEncType',\n 'formMethod',\n 'formNoValidate',\n 'formTarget',\n 'frameBorder',\n 'hrefLang',\n 'inputMode',\n 'keyParams',\n 'keyType',\n 'marginHeight',\n 'marginWidth',\n 'maxLength',\n 'mediaGroup',\n 'minLength',\n 'noValidate',\n 'radioGroup',\n 'readOnly',\n 'rowSpan',\n 'spellCheck',\n 'srcDoc',\n 'srcLang',\n 'srcSet',\n 'tabIndex',\n 'useMap',\n].reduce(\n (obj: Record<string, string>, x) => {\n obj[x.toLowerCase()] = x;\n return obj;\n },\n { class: 'className', for: 'htmlFor' }\n);\n\n// ============================================================================\n// NAMED CODES TO UNICODE\n// ============================================================================\n\n/**\n * Default HTML entity to unicode mappings.\n */\nexport const NAMED_CODES_TO_UNICODE: Record<string, string> = {\n amp: '\\u0026',\n apos: '\\u0027',\n gt: '\\u003e',\n lt: '\\u003c',\n nbsp: '\\u00a0',\n quot: '\\u201c',\n};\n\n// ============================================================================\n// SPECIAL ELEMENTS\n// ============================================================================\n\n/** HTML elements that should not have their content processed */\nexport const DO_NOT_PROCESS_HTML_ELEMENTS = ['style', 'script', 'pre'];\n\n/** Attributes that require URL sanitization */\nexport const ATTRIBUTES_TO_SANITIZE = [\n 'src',\n 'href',\n 'data',\n 'formAction',\n 'srcDoc',\n 'action',\n];\n\n// ============================================================================\n// REGEX PATTERNS\n// ============================================================================\n\n/**\n * Attribute extractor regex. Values may be double/single quoted, `{…}`\n * expressions, or unquoted `[…]` arrays (`codeFormat=[\"typescript\", \"esm\"]`).\n */\nexport const ATTR_EXTRACTOR_R =\n /([-A-Z0-9_:]+)(?:\\s*=\\s*(?:(?:\"((?:\\\\.|[^\"])*)\")|(?:'((?:\\\\.|[^'])*)')|(?:\\{((?:\\\\.|{[^}]*?}|[^}])*)\\})|(?:\\[[^\\]]*\\])))?/gi;\n\n/** First character of a valid attribute name (a letter, `_` or `:`). */\nexport const ATTRIBUTE_NAME_START_R = /^[A-Z_:]/i;\n\n/** Block end detection */\nexport const BLOCK_END_R = /\\n{2,}$/;\n\n/** Blockquote patterns */\nexport const BLOCKQUOTE_R = /^(\\s*>[\\s\\S]*?)(?=\\n\\n|$)/;\nexport const BLOCKQUOTE_TRIM_LEFT_MULTILINE_R = /^ *> ?/gm;\nexport const BLOCKQUOTE_ALERT_R = /^(?:\\[!([^\\]]*)\\]\\n)?([\\s\\S]*)/;\n\n/** Line break patterns */\nexport const BREAK_LINE_R = /^(?=( {2,}))\\1\\n/;\nexport const BREAK_THEMATIC_R = /^(?:([-*_])( *\\1){2,}) *(?:\\n *)+\\n/;\n\n/** Code block patterns */\n// The body is consumed a whole line at a time rather than character by\n// character: a closing fence only ever starts a line, so the backreference is\n// tested once per line instead of once per character. The trailing `$` branch\n// inside the loop keeps an unterminated fence that ends without a newline.\nexport const CODE_BLOCK_FENCED_R =\n /^(?: {1,3})?(`{3,}|~{3,}) *(\\S+)? *([^\\n]*?)?\\n((?:[^\\n]*(?:\\n|$))*?)(?:\\1\\n?|$)/;\nexport const CODE_BLOCK_R = /^(?: {4}[^\\n]+\\n*)+(?:\\n *)+\\n?/;\n/** A single line opening or closing a fenced code block, with its indentation. */\nexport const FENCE_DELIMITER_R = /^([ \\t]*)(`{3,}|~{3,})/;\nexport const CODE_INLINE_R = /^(`+)((?:\\\\`|(?!\\1)`|[^`])+)\\1/;\n\n/** Newline patterns */\nexport const CONSECUTIVE_NEWLINE_R = /^(?:\\n *)*\\n/;\nexport const CR_NEWLINE_R = /\\r\\n?/g;\n\n/** Footnote patterns */\nexport const FOOTNOTE_R = /^\\[\\^([^\\]]+)](:(.*)((\\n+ {4,}.*)|(\\n(?!\\[\\^).+))*)/;\nexport const FOOTNOTE_REFERENCE_R = /^\\[\\^([^\\]]+)]/;\n\n/** Form feed */\nexport const FORMFEED_R = /\\f/g;\n\n/** Front matter */\nexport const FRONT_MATTER_R = /^---[ \\t]*\\n(.|\\n)*?\\n---[ \\t]*\\n/;\n\n/** GFM task */\nexport const GFM_TASK_R = /^\\s*?\\[(x|\\s)\\]/;\n\n/** Heading patterns */\nexport const HEADING_R = /^ *(#{1,6}) *([^\\n]+?)(?: +#*)?(?:\\n *)*(?:\\n|$)/;\nexport const HEADING_ATX_COMPLIANT_R =\n /^ *(#{1,6}) +([^\\n]+?)(?: +#*)?(?:\\n *)*(?:\\n|$)/;\nexport const HEADING_SETEXT_R = /^([^\\n]+)\\n *(=|-)\\2{2,} *\\n/;\n\n/** HTML patterns */\n\nexport const HTML_CHAR_CODE_R =\n /&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-fA-F]{1,6});/gi;\nexport const HTML_COMMENT_R = /^<!--[\\s\\S]*?(?:-->)/;\nexport const HTML_CUSTOM_ATTR_R = /^(data|aria|x)-[a-z_][a-z\\d_.-]*$/;\n\n/** Interpolation */\nexport const INTERPOLATION_R = /^\\{.*\\}$/;\n\n/** Link patterns */\nexport const LINK_AUTOLINK_BARE_URL_R = /^(https?:\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])/;\nexport const LINK_AUTOLINK_R = /^<([^ >]+[:@/][^ >]+)>/;\nexport const CAPTURE_LETTER_AFTER_HYPHEN = /-([a-z])?/gi;\n\n/**\n * Table patterns.\n *\n * The row scans spell \"any character but a newline\" as `[^\\n]` rather than `.`:\n * `.` is a four-range exclusion, and matching it over rows this wide costs a\n * third more than the single-range class. It is also the more faithful reading\n * — only `\\n` ends a line here, and `\\r` is normalized away before parsing.\n */\nexport const NP_TABLE_R =\n /^(\\|[^\\n]*)\\n(?: *(\\|? *[-:]+ *\\|[-| :]*)\\n((?:[^\\n]*\\|[^\\n]*\\n)*))?\\n?/;\nexport const TABLE_TRIM_PIPES = /(^ *\\||\\| *$)/g;\nexport const TABLE_CENTER_ALIGN = /^ *:-+: *$/;\nexport const TABLE_LEFT_ALIGN = /^ *:-+ *$/;\nexport const TABLE_RIGHT_ALIGN = /^ *-+: *$/;\n\n/** Paragraph */\nexport const PARAGRAPH_R = /^[^\\n]+(?: {2}\\n|\\n{2,})/;\n\n/** Reference patterns */\nexport const REFERENCE_IMAGE_OR_LINK =\n /^\\[([^\\]]*)\\]:\\s+<?([^\\s>]+)>?\\s*(\"([^\"]*)\")?/;\nexport const REFERENCE_IMAGE_R = /^!\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/;\nexport const REFERENCE_LINK_R = /^\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/;\n\n/** Block detection */\nexport const SHOULD_RENDER_AS_BLOCK_R = /(\\n|^[-*]\\s|^#|^ {2,}|^-{2,}|^>\\s)/;\n\n/** Tabs, which `normalizeWhitespace` widens to four spaces. */\nexport const TAB_R = /\\t/g;\nexport const TRIM_STARTING_NEWLINES = /^\\n+/;\nexport const HTML_LEFT_TRIM_AMOUNT_R = /^\\n*([ \\t]*)/;\n\n/** List patterns */\nexport const ORDERED_LIST_BULLET = '(?:\\\\d+\\\\.)';\nexport const UNORDERED_LIST_BULLET = '(?:[*+-])';\n\n/** Text formatting patterns */\nexport const TEXT_ESCAPED_R = /^\\\\([^0-9A-Za-z\\s])/;\nexport const UNESCAPE_R = /\\\\([^0-9A-Za-z\\s])/g;\n\n/** Shortcode pattern */\nexport const SHORTCODE_R = /^(:[a-zA-Z0-9-_]+:)/;\n\n// ============================================================================\n// LIST TYPE CONSTANTS\n// ============================================================================\n\nexport type ListType = 1 | 2;\nexport const ORDERED: ListType = 1;\nexport const UNORDERED: ListType = 2;\n\n// ============================================================================\n// INLINE PATTERN HELPERS\n// ============================================================================\n\n/**\n * Ensure there's at least one more instance of the delimiter later\n * in the current sequence.\n */\nexport const LOOKAHEAD = (double: number): string =>\n `(?=[\\\\s\\\\S]+?\\\\1${double ? '\\\\1' : ''})`;\n\n/**\n * For inline formatting, this partial attempts to ignore characters that\n * may appear in nested formatting.\n */\nexport const INLINE_SKIP_R =\n '((?:\\\\[.*?\\\\][([].*?[)\\\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|\\\\\\\\[^\\\\s]|[\\\\s\\\\S])+?)';\n\n/** Bold text pattern */\nexport const TEXT_BOLD_R = new RegExp(\n `^([*_])\\\\1${LOOKAHEAD(1)}${INLINE_SKIP_R}\\\\1\\\\1(?!\\\\1)`\n);\n\n/** Emphasized text pattern */\nexport const TEXT_EMPHASIZED_R = new RegExp(\n `^([*_])${LOOKAHEAD(0)}${INLINE_SKIP_R}\\\\1(?!\\\\1)`\n);\n\n/** Marked text pattern */\nexport const TEXT_MARKED_R = new RegExp(\n `^(==)${LOOKAHEAD(0)}${INLINE_SKIP_R}\\\\1`\n);\n\n/** Strikethrough text pattern */\nexport const TEXT_STRIKETHROUGHED_R = new RegExp(\n `^(~~)${LOOKAHEAD(0)}${INLINE_SKIP_R}\\\\1`\n);\n\n// ============================================================================\n// LIST REGEX GENERATORS\n// ============================================================================\n\nexport const generateListItemPrefix = (type: ListType): string => {\n return (\n '( *)(' +\n (type === ORDERED ? ORDERED_LIST_BULLET : UNORDERED_LIST_BULLET) +\n ') +'\n );\n};\n\nexport const ORDERED_LIST_ITEM_PREFIX = generateListItemPrefix(ORDERED);\nexport const UNORDERED_LIST_ITEM_PREFIX = generateListItemPrefix(UNORDERED);\n\nexport const generateListItemPrefixRegex = (type: ListType): RegExp => {\n return new RegExp(\n '^' +\n (type === ORDERED ? ORDERED_LIST_ITEM_PREFIX : UNORDERED_LIST_ITEM_PREFIX)\n );\n};\n\nexport const ORDERED_LIST_ITEM_PREFIX_R = generateListItemPrefixRegex(ORDERED);\nexport const UNORDERED_LIST_ITEM_PREFIX_R =\n generateListItemPrefixRegex(UNORDERED);\n\nexport const generateListItemRegex = (type: ListType): RegExp => {\n return new RegExp(\n '^' +\n (type === ORDERED\n ? ORDERED_LIST_ITEM_PREFIX\n : UNORDERED_LIST_ITEM_PREFIX) +\n '[^\\\\n]*(?:\\\\n' +\n '(?!\\\\1' +\n (type === ORDERED ? ORDERED_LIST_BULLET : UNORDERED_LIST_BULLET) +\n ' )[^\\\\n]*)*(\\\\n|$)',\n 'gm'\n );\n};\n\nexport const ORDERED_LIST_ITEM_R = generateListItemRegex(ORDERED);\nexport const UNORDERED_LIST_ITEM_R = generateListItemRegex(UNORDERED);\n\nexport const generateListRegex = (type: ListType): RegExp => {\n const bullet = type === ORDERED ? ORDERED_LIST_BULLET : UNORDERED_LIST_BULLET;\n\n return new RegExp(\n '^( *)(' +\n bullet +\n ') ' +\n // The body advances a line at a time rather than a character at a time: a\n // list can only end at a line boundary, so the terminator — the expensive\n // half, with its two nested lookaheads — is tried once per line instead of\n // once per character. The step swallows the newline that used to open the\n // terminator, which is why it now reads `\\n+` and not `\\n{2,}`, and the\n // leading lookahead keeps a source with nothing left after the bullet from\n // matching through a zero-width step.\n '(?=[\\\\s\\\\S])(?:[^\\\\n]*(?:\\\\n|$))+?' +\n '(?:\\\\n+(?! )' +\n '(?!\\\\1' +\n bullet +\n ' (?!' +\n bullet +\n ' ))\\\\n*' +\n // `\\s` already covers `\\n`, so the trailing `\\n*` the pattern used to\n // carry could only ever match empty — and paying for it at every step of\n // the lazy scan cost a third of the whole match.\n '|\\\\s*$)'\n );\n};\n\nexport const ORDERED_LIST_R = generateListRegex(ORDERED);\nexport const UNORDERED_LIST_R = generateListRegex(UNORDERED);\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- //#region src/markdown/elementScanner.ts
1
+ // src/markdown/elementScanner.ts
2
2
  /**
3
3
  * Lean, non-backtracking element scanner for HTML blocks, custom components, and self-closing tags.
4
4
  */
@@ -178,6 +178,5 @@ const startsWithSelfClosingElement = (source) => matchSelfClosingElement(source)
178
178
  const startsWithCustomComponent = (source) => matchCustomComponent(source) !== null;
179
179
  const startsWithElement = (source) => startsWithHtmlBlockElement(source) || startsWithSelfClosingElement(source);
180
180
 
181
- //#endregion
182
181
  export { matchCustomComponent, matchElement, matchHtmlBlockElement, matchSelfClosingElement, startsWithCustomComponent, startsWithElement, startsWithHtmlBlockElement, startsWithSelfClosingElement };
183
182
  //# sourceMappingURL=elementScanner.mjs.map
@@ -1,10 +1,10 @@
1
1
  import { getMarkdownMetadata } from "../transpiler/markdown/getMarkdownMetadata.mjs";
2
2
  import { validateMarkdown } from "../transpiler/markdown/validateMarkdown.mjs";
3
3
  import { md as markdown } from "../transpiler/markdown/markdown.mjs";
4
+ import { compile, compileWithOptions, createCompiler, getRuleSet, parseMarkdown, renderMarkdownAst } from "./compiler.mjs";
4
5
  import { ATTRIBUTES_TO_SANITIZE, ATTRIBUTE_NAME_START_R, ATTRIBUTE_TO_NODE_PROP_MAP, ATTR_EXTRACTOR_R, BLOCKQUOTE_ALERT_R, BLOCKQUOTE_R, BLOCKQUOTE_TRIM_LEFT_MULTILINE_R, BLOCK_END_R, BREAK_LINE_R, BREAK_THEMATIC_R, CAPTURE_LETTER_AFTER_HYPHEN, CODE_BLOCK_FENCED_R, CODE_BLOCK_R, CODE_INLINE_R, CONSECUTIVE_NEWLINE_R, CR_NEWLINE_R, DO_NOT_PROCESS_HTML_ELEMENTS, FENCE_DELIMITER_R, FOOTNOTE_R, FOOTNOTE_REFERENCE_R, FORMFEED_R, FRONT_MATTER_R, GFM_TASK_R, HEADING_ATX_COMPLIANT_R, HEADING_R, HEADING_SETEXT_R, HTML_CHAR_CODE_R, HTML_COMMENT_R, HTML_CUSTOM_ATTR_R, HTML_LEFT_TRIM_AMOUNT_R, INLINE_SKIP_R, INTERPOLATION_R, LINK_AUTOLINK_BARE_URL_R, LINK_AUTOLINK_R, LOOKAHEAD, NAMED_CODES_TO_UNICODE, NP_TABLE_R, ORDERED, ORDERED_LIST_BULLET, ORDERED_LIST_ITEM_PREFIX, ORDERED_LIST_ITEM_PREFIX_R, ORDERED_LIST_ITEM_R, ORDERED_LIST_R, PARAGRAPH_R, Priority, REFERENCE_IMAGE_OR_LINK, REFERENCE_IMAGE_R, REFERENCE_LINK_R, RuleScope, RuleType, SCOPE_BLOCK, SCOPE_BOTH, SCOPE_INLINE, SHORTCODE_R, SHOULD_RENDER_AS_BLOCK_R, TABLE_CENTER_ALIGN, TABLE_LEFT_ALIGN, TABLE_RIGHT_ALIGN, TABLE_TRIM_PIPES, TAB_R, TEXT_BOLD_R, TEXT_EMPHASIZED_R, TEXT_ESCAPED_R, TEXT_MARKED_R, TEXT_STRIKETHROUGHED_R, TRIM_STARTING_NEWLINES, UNESCAPE_R, UNORDERED, UNORDERED_LIST_BULLET, UNORDERED_LIST_ITEM_PREFIX, UNORDERED_LIST_ITEM_PREFIX_R, UNORDERED_LIST_ITEM_R, UNORDERED_LIST_R, generateListItemPrefix, generateListItemPrefixRegex, generateListItemRegex, generateListRegex } from "./constants.mjs";
5
- import { allowInline, anyScopeRegex, attributeValueToNodePropValue, blockRegex, captureNothing, cx, get, inlineRegex, normalizeAttributeKey, normalizeWhitespace, parseBlock, parseCaptureInline, parseInline, parseSimpleInline, parseStyleAttribute, parseTableAlign, parseTableAlignCapture, parseTableCells, parseTableRow, qualifies, renderNothing, sanitizer, simpleInlineRegex, slugify, some, startsWith, trimEnd, trimLeadingWhitespaceOutsideFences, unescapeString, unquote } from "./utils.mjs";
6
6
  import { parserFor } from "./parser.mjs";
7
7
  import { createRenderer, renderFor } from "./renderer.mjs";
8
- import { compile, compileWithOptions, createCompiler, getRuleSet, parseMarkdown, renderMarkdownAst } from "./compiler.mjs";
8
+ import { allowInline, anyScopeRegex, attributeValueToNodePropValue, blockRegex, captureNothing, cx, get, inlineRegex, normalizeAttributeKey, normalizeWhitespace, parseBlock, parseCaptureInline, parseInline, parseSimpleInline, parseStyleAttribute, parseTableAlign, parseTableAlignCapture, parseTableCells, parseTableRow, qualifies, renderNothing, sanitizer, simpleInlineRegex, slugify, some, startsWith, trimEnd, trimLeadingWhitespaceOutsideFences, unescapeString, unquote } from "./utils.mjs";
9
9
 
10
10
  export { ATTRIBUTES_TO_SANITIZE, ATTRIBUTE_NAME_START_R, ATTRIBUTE_TO_NODE_PROP_MAP, ATTR_EXTRACTOR_R, BLOCKQUOTE_ALERT_R, BLOCKQUOTE_R, BLOCKQUOTE_TRIM_LEFT_MULTILINE_R, BLOCK_END_R, BREAK_LINE_R, BREAK_THEMATIC_R, CAPTURE_LETTER_AFTER_HYPHEN, CODE_BLOCK_FENCED_R, CODE_BLOCK_R, CODE_INLINE_R, CONSECUTIVE_NEWLINE_R, CR_NEWLINE_R, DO_NOT_PROCESS_HTML_ELEMENTS, FENCE_DELIMITER_R, FOOTNOTE_R, FOOTNOTE_REFERENCE_R, FORMFEED_R, FRONT_MATTER_R, GFM_TASK_R, HEADING_ATX_COMPLIANT_R, HEADING_R, HEADING_SETEXT_R, HTML_CHAR_CODE_R, HTML_COMMENT_R, HTML_CUSTOM_ATTR_R, HTML_LEFT_TRIM_AMOUNT_R, INLINE_SKIP_R, INTERPOLATION_R, LINK_AUTOLINK_BARE_URL_R, LINK_AUTOLINK_R, LOOKAHEAD, NAMED_CODES_TO_UNICODE, NP_TABLE_R, ORDERED, ORDERED_LIST_BULLET, ORDERED_LIST_ITEM_PREFIX, ORDERED_LIST_ITEM_PREFIX_R, ORDERED_LIST_ITEM_R, ORDERED_LIST_R, PARAGRAPH_R, Priority, REFERENCE_IMAGE_OR_LINK, REFERENCE_IMAGE_R, REFERENCE_LINK_R, RuleScope, RuleType, SCOPE_BLOCK, SCOPE_BOTH, SCOPE_INLINE, SHORTCODE_R, SHOULD_RENDER_AS_BLOCK_R, TABLE_CENTER_ALIGN, TABLE_LEFT_ALIGN, TABLE_RIGHT_ALIGN, TABLE_TRIM_PIPES, TAB_R, TEXT_BOLD_R, TEXT_EMPHASIZED_R, TEXT_ESCAPED_R, TEXT_MARKED_R, TEXT_STRIKETHROUGHED_R, TRIM_STARTING_NEWLINES, UNESCAPE_R, UNORDERED, UNORDERED_LIST_BULLET, UNORDERED_LIST_ITEM_PREFIX, UNORDERED_LIST_ITEM_PREFIX_R, UNORDERED_LIST_ITEM_R, UNORDERED_LIST_R, allowInline, anyScopeRegex, attributeValueToNodePropValue, blockRegex, captureNothing, compile, compileWithOptions, createCompiler, createRenderer, cx, generateListItemPrefix, generateListItemPrefixRegex, generateListItemRegex, generateListRegex, get, getMarkdownMetadata, getRuleSet, inlineRegex, markdown as md, normalizeAttributeKey, normalizeWhitespace, parseBlock, parseCaptureInline, parseInline, parseMarkdown, parseSimpleInline, parseStyleAttribute, parseTableAlign, parseTableAlignCapture, parseTableCells, parseTableRow, parserFor, qualifies, renderFor, renderMarkdownAst, renderNothing, sanitizer, simpleInlineRegex, slugify, some, startsWith, trimEnd, trimLeadingWhitespaceOutsideFences, unescapeString, unquote, validateMarkdown };
@@ -1,7 +1,7 @@
1
1
  import { RuleType, SCOPE_BLOCK, SCOPE_INLINE } from "./constants.mjs";
2
2
  import { normalizeWhitespace, qualifies } from "./utils.mjs";
3
3
 
4
- //#region src/markdown/parser.ts
4
+ // src/markdown/parser.ts
5
5
  /**
6
6
  * Advance the incremental lookbehind carried on the parse state.
7
7
  *
@@ -137,6 +137,5 @@ const parserFor = (rules) => {
137
137
  return (source, state) => nestedParse(normalizeWhitespace(source), state);
138
138
  };
139
139
 
140
- //#endregion
141
140
  export { parserFor };
142
141
  //# sourceMappingURL=parser.mjs.map
@@ -1,4 +1,4 @@
1
- //#region src/markdown/renderer.ts
1
+ // src/markdown/renderer.ts
2
2
  /**
3
3
  * Creates a renderer for AST nodes.
4
4
  * Renamed from `reactFor` to be framework-agnostic.
@@ -46,6 +46,5 @@ const createRenderer = (rules, userRender) => {
46
46
  };
47
47
  };
48
48
 
49
- //#endregion
50
49
  export { createRenderer, renderFor };
51
50
  //# sourceMappingURL=renderer.mjs.map
@@ -1,6 +1,6 @@
1
1
  import { ATTRIBUTES_TO_SANITIZE, CAPTURE_LETTER_AFTER_HYPHEN, CR_NEWLINE_R, FENCE_DELIMITER_R, FORMFEED_R, HTML_CUSTOM_ATTR_R, INTERPOLATION_R, TABLE_CENTER_ALIGN, TABLE_LEFT_ALIGN, TABLE_RIGHT_ALIGN, TABLE_TRIM_PIPES, TAB_R, UNESCAPE_R } from "./constants.mjs";
2
2
 
3
- //#region src/markdown/utils.ts
3
+ // src/markdown/utils.ts
4
4
  /**
5
5
  * Trim trailing whitespace from a string.
6
6
  */
@@ -441,6 +441,5 @@ const some = (probes, input) => {
441
441
  return false;
442
442
  };
443
443
 
444
- //#endregion
445
444
  export { allowInline, anyScopeRegex, attributeValueToNodePropValue, blockRegex, captureNothing, cx, get, inlineRegex, normalizeAttributeKey, normalizeWhitespace, parseBlock, parseCaptureInline, parseInline, parseSimpleInline, parseStyleAttribute, parseTableAlign, parseTableAlignCapture, parseTableCells, parseTableRow, qualifies, renderNothing, sanitizer, simpleInlineRegex, slugify, some, startsWith, trimEnd, trimLeadingWhitespaceOutsideFences, unescapeString, unquote };
446
445
  //# sourceMappingURL=utils.mjs.map
@@ -7,7 +7,7 @@ import { plural } from "../transpiler/plural/plural.mjs";
7
7
  import { select } from "../transpiler/select/select.mjs";
8
8
  import * as NodeTypes from "@intlayer/types/nodeType";
9
9
 
10
- //#region src/messageFormat/ICU.ts
10
+ // src/messageFormat/ICU.ts
11
11
  const parseICU = (text) => {
12
12
  let index = 0;
13
13
  const parseNodes = () => {
@@ -417,6 +417,5 @@ const icuToIntlayerFormatter = (message) => {
417
417
  });
418
418
  };
419
419
 
420
- //#endregion
421
420
  export { icuToIntlayerFormatter, intlayerToICUFormatter };
422
421
  //# sourceMappingURL=ICU.mjs.map
@@ -7,7 +7,7 @@ import { plural } from "../transpiler/plural/plural.mjs";
7
7
  import { select } from "../transpiler/select/select.mjs";
8
8
  import * as NodeTypes from "@intlayer/types/nodeType";
9
9
 
10
- //#region src/messageFormat/i18next.ts
10
+ // src/messageFormat/i18next.ts
11
11
  const parseI18Next = (text) => {
12
12
  let index = 0;
13
13
  const parseNodes = () => {
@@ -399,6 +399,5 @@ const i18nextToIntlayerFormatter = (message) => {
399
399
  });
400
400
  };
401
401
 
402
- //#endregion
403
402
  export { i18nextToIntlayerFormatter, intlayerToI18nextFormatter };
404
403
  //# sourceMappingURL=i18next.mjs.map
@@ -2,7 +2,7 @@ import { icuToIntlayerFormatter, intlayerToICUFormatter } from "./ICU.mjs";
2
2
  import { i18nextToIntlayerFormatter, intlayerToI18nextFormatter } from "./i18next.mjs";
3
3
  import { navigatePath } from "./navigatePath.mjs";
4
4
  import { intlayerToPortableObjectFormatter, portableObjectToIntlayerFormatter } from "./po.mjs";
5
- import { intlayerToVueI18nFormatter, vueI18nToIntlayerFormatter } from "./vue-i18n.mjs";
6
5
  import { createMessageResolver, interpolateMessage, parseTaggedMessage, resolveMessage, resolveMessageNode, resolveMessageNodeToString } from "./resolveMessage.mjs";
6
+ import { intlayerToVueI18nFormatter, vueI18nToIntlayerFormatter } from "./vue-i18n.mjs";
7
7
 
8
8
  export { createMessageResolver, i18nextToIntlayerFormatter, icuToIntlayerFormatter, interpolateMessage, intlayerToI18nextFormatter, intlayerToICUFormatter, intlayerToPortableObjectFormatter, intlayerToVueI18nFormatter, navigatePath, parseTaggedMessage, portableObjectToIntlayerFormatter, resolveMessage, resolveMessageNode, resolveMessageNodeToString, vueI18nToIntlayerFormatter };
@@ -1,4 +1,4 @@
1
- //#region src/messageFormat/navigatePath.ts
1
+ // src/messageFormat/navigatePath.ts
2
2
  /**
3
3
  * Reads a dotted `path` (e.g. `counter.label`) out of a nested content value.
4
4
  *
@@ -31,6 +31,5 @@ const navigatePath = (contentValue, path, keySeparator = ".") => {
31
31
  return current;
32
32
  };
33
33
 
34
- //#endregion
35
34
  export { navigatePath };
36
35
  //# sourceMappingURL=navigatePath.mjs.map
@@ -6,7 +6,7 @@ import { insert as insertion } from "../transpiler/insertion/insertion.mjs";
6
6
  import { plural } from "../transpiler/plural/plural.mjs";
7
7
  import * as NodeTypes from "@intlayer/types/nodeType";
8
8
 
9
- //#region src/messageFormat/po.ts
9
+ // src/messageFormat/po.ts
10
10
  /**
11
11
  * Extracts the string value from a transformed AST node or generic object.
12
12
  */
@@ -162,6 +162,5 @@ const portableObjectToIntlayerFormatter = (message) => {
162
162
  });
163
163
  };
164
164
 
165
- //#endregion
166
165
  export { intlayerToPortableObjectFormatter, portableObjectToIntlayerFormatter };
167
166
  //# sourceMappingURL=po.mjs.map
@@ -1,5 +1,5 @@
1
- import { getEnumeration } from "../interpreter/getEnumeration.mjs";
2
1
  import { getCachedIntl } from "../utils/intl.mjs";
2
+ import { getEnumeration } from "../interpreter/getEnumeration.mjs";
3
3
  import { getPlural } from "../interpreter/getPlural.mjs";
4
4
  import { getSelect } from "../interpreter/getSelect.mjs";
5
5
  import { icuToIntlayerFormatter } from "./ICU.mjs";
@@ -7,7 +7,7 @@ import { i18nextToIntlayerFormatter } from "./i18next.mjs";
7
7
  import { vueI18nToIntlayerFormatter } from "./vue-i18n.mjs";
8
8
  import * as NodeTypes from "@intlayer/types/nodeType";
9
9
 
10
- //#region src/messageFormat/resolveMessage.ts
10
+ // src/messageFormat/resolveMessage.ts
11
11
  /** Internal enumeration metadata keys injected by the converters. */
12
12
  const ENUMERATION_METADATA_KEYS = [
13
13
  "__intlayer_icu_var",
@@ -212,6 +212,5 @@ const parseTaggedMessage = (message) => {
212
212
  return tokens;
213
213
  };
214
214
 
215
- //#endregion
216
215
  export { createMessageResolver, interpolateMessage, parseTaggedMessage, resolveMessage, resolveMessageNode, resolveMessageNodeToString };
217
216
  //# sourceMappingURL=resolveMessage.mjs.map
@@ -3,7 +3,7 @@ import { gender } from "../transpiler/gender/gender.mjs";
3
3
  import { insert as insertion } from "../transpiler/insertion/insertion.mjs";
4
4
  import { icuToIntlayerFormatter, intlayerToICUFormatter } from "./ICU.mjs";
5
5
 
6
- //#region src/messageFormat/verify-icu-format.ts
6
+ // src/messageFormat/verify-icu-format.ts
7
7
  /**
8
8
  * Verification script to demonstrate ICU format conversion
9
9
  * This script shows that Intlayer correctly converts {{var}} (internal format)
@@ -62,5 +62,4 @@ console.log("ICU MessageFormat uses single braces: {var}");
62
62
  console.log("Intlayer internal format uses double braces: {{var}}");
63
63
  console.log("The conversion between these formats is handled automatically.");
64
64
 
65
- //#endregion
66
65
  //# sourceMappingURL=verify-icu-format.mjs.map
@@ -3,7 +3,7 @@ import { enu as enumeration } from "../transpiler/enumeration/enumeration.mjs";
3
3
  import { insert as insertion } from "../transpiler/insertion/insertion.mjs";
4
4
  import * as NodeTypes from "@intlayer/types/nodeType";
5
5
 
6
- //#region src/messageFormat/vue-i18n.ts
6
+ // src/messageFormat/vue-i18n.ts
7
7
  const parseVueI18nPart = (text) => {
8
8
  let index = 0;
9
9
  const nodes = [];
@@ -197,6 +197,5 @@ const vueI18nToIntlayerFormatter = (message) => {
197
197
  });
198
198
  };
199
199
 
200
- //#endregion
201
200
  export { intlayerToVueI18nFormatter, vueI18nToIntlayerFormatter };
202
201
  //# sourceMappingURL=vue-i18n.mjs.map
@@ -1,6 +1,6 @@
1
1
  import { CONDITION, formatNodeType } from "@intlayer/types/nodeType";
2
2
 
3
- //#region src/transpiler/condition/condition.ts
3
+ // src/transpiler/condition/condition.ts
4
4
  /**
5
5
  * Function intended to be used to build intlayer dictionaries.
6
6
  *
@@ -20,6 +20,5 @@ import { CONDITION, formatNodeType } from "@intlayer/types/nodeType";
20
20
  */
21
21
  const condition = (content) => formatNodeType(CONDITION, content);
22
22
 
23
- //#endregion
24
23
  export { condition as cond };
25
24
  //# sourceMappingURL=condition.mjs.map
@@ -1,6 +1,6 @@
1
1
  import { ENUMERATION, formatNodeType } from "@intlayer/types/nodeType";
2
2
 
3
- //#region src/transpiler/enumeration/enumeration.ts
3
+ // src/transpiler/enumeration/enumeration.ts
4
4
  /**
5
5
  * Function intended to be used to build intlayer dictionaries.
6
6
  *
@@ -22,6 +22,5 @@ import { ENUMERATION, formatNodeType } from "@intlayer/types/nodeType";
22
22
  */
23
23
  const enumeration = (content) => formatNodeType(ENUMERATION, content);
24
24
 
25
- //#endregion
26
25
  export { enumeration as enu };
27
26
  //# sourceMappingURL=enumeration.mjs.map
@@ -3,7 +3,7 @@ import { colorizePath, getAppLogger } from "@intlayer/config/logger";
3
3
  import { existsSync, readFileSync, statSync } from "node:fs";
4
4
  import { dirname, isAbsolute, relative, resolve } from "node:path";
5
5
 
6
- //#region src/transpiler/file/file.ts
6
+ // src/transpiler/file/file.ts
7
7
  const fileContent = (path, callerDir, baseDir) => {
8
8
  const isRelativePath = path.startsWith("./") || path.startsWith("../");
9
9
  const appLogger = getAppLogger();
@@ -45,6 +45,5 @@ const file = (path) => {
45
45
  return fileContent(path, callerDir, INTLAYER_BASE_DIR);
46
46
  };
47
47
 
48
- //#endregion
49
48
  export { file, fileContent };
50
49
  //# sourceMappingURL=file.mjs.map
@@ -1,4 +1,4 @@
1
- //#region src/transpiler/file/fileBrowser.ts
1
+ // src/transpiler/file/fileBrowser.ts
2
2
  /**
3
3
  * Function intended to be used to build intlayer dictionaries.
4
4
  *
@@ -18,6 +18,5 @@ const file = (_path) => {
18
18
  throw new Error("file is not available in browser");
19
19
  };
20
20
 
21
- //#endregion
22
21
  export { file };
23
22
  //# sourceMappingURL=fileBrowser.mjs.map
@@ -1,6 +1,6 @@
1
1
  import { GENDER, formatNodeType } from "@intlayer/types/nodeType";
2
2
 
3
- //#region src/transpiler/gender/gender.ts
3
+ // src/transpiler/gender/gender.ts
4
4
  /**
5
5
  * Function intended to be used to build intlayer dictionaries.
6
6
  *
@@ -20,6 +20,5 @@ import { GENDER, formatNodeType } from "@intlayer/types/nodeType";
20
20
  */
21
21
  const gender = (content) => formatNodeType(GENDER, content);
22
22
 
23
- //#endregion
24
23
  export { gender };
25
24
  //# sourceMappingURL=gender.mjs.map
@@ -1,4 +1,4 @@
1
- //#region src/transpiler/html/getHTMLCustomComponents.ts
1
+ // src/transpiler/html/getHTMLCustomComponents.ts
2
2
  const parseAttributes = (attributesString) => {
3
3
  const attributes = {};
4
4
  if (!attributesString?.trim()) return attributes;
@@ -37,6 +37,5 @@ const getHTMLCustomComponents = (content) => {
37
37
  return components;
38
38
  };
39
39
 
40
- //#endregion
41
40
  export { getHTMLCustomComponents };
42
41
  //# sourceMappingURL=getHTMLCustomComponents.mjs.map
@@ -2,7 +2,7 @@ import { getHTMLCustomComponents } from "./getHTMLCustomComponents.mjs";
2
2
  import { validateHTML } from "./validateHTML.mjs";
3
3
  import { HTML, formatNodeType } from "@intlayer/types/nodeType";
4
4
 
5
- //#region src/transpiler/html/html.ts
5
+ // src/transpiler/html/html.ts
6
6
  /**
7
7
  * Function intended to be used to build intlayer dictionaries.
8
8
  *
@@ -37,6 +37,5 @@ const html = (content, components) => {
37
37
  return formatNodeType(HTML, content, { tags: getComponents() });
38
38
  };
39
39
 
40
- //#endregion
41
40
  export { html };
42
41
  //# sourceMappingURL=html.mjs.map
@@ -1,4 +1,4 @@
1
- //#region src/transpiler/html/htmlTags.ts
1
+ // src/transpiler/html/htmlTags.ts
2
2
  /**
3
3
  * List of standard HTML tags to provide as default components.
4
4
  * These allow users to use standard HTML tags in their html() content
@@ -110,6 +110,5 @@ const HTML_TAGS = [
110
110
  "slot"
111
111
  ];
112
112
 
113
- //#endregion
114
113
  export { HTML_TAGS };
115
114
  //# sourceMappingURL=htmlTags.mjs.map
@@ -1,5 +1,5 @@
1
- import { VOID_HTML_ELEMENTS, validateHTML } from "./validateHTML.mjs";
2
1
  import { html } from "./html.mjs";
3
2
  import { HTML_TAGS } from "./htmlTags.mjs";
3
+ import { VOID_HTML_ELEMENTS, validateHTML } from "./validateHTML.mjs";
4
4
 
5
5
  export { HTML_TAGS, VOID_HTML_ELEMENTS, html, validateHTML };
@@ -1,4 +1,4 @@
1
- //#region src/transpiler/html/validateHTML.ts
1
+ // src/transpiler/html/validateHTML.ts
2
2
  const VOID_HTML_ELEMENTS = /* @__PURE__ */ new Set([
3
3
  "area",
4
4
  "base",
@@ -59,6 +59,5 @@ const validateHTML = (content) => {
59
59
  };
60
60
  };
61
61
 
62
- //#endregion
63
62
  export { VOID_HTML_ELEMENTS, validateHTML };
64
63
  //# sourceMappingURL=validateHTML.mjs.map
@@ -1,3 +1,4 @@
1
+ import { DEFAULT_PLURAL_VARIABLE, plural } from "./plural/plural.mjs";
1
2
  import { cond as condition } from "./condition/condition.mjs";
2
3
  import { enu as enumeration } from "./enumeration/enumeration.mjs";
3
4
  import { gender } from "./gender/gender.mjs";
@@ -10,8 +11,7 @@ import { getMarkdownMetadata } from "./markdown/getMarkdownMetadata.mjs";
10
11
  import { validateMarkdown } from "./markdown/validateMarkdown.mjs";
11
12
  import { md as markdown } from "./markdown/markdown.mjs";
12
13
  import { nest as nesting } from "./nesting/nesting.mjs";
13
- import { plural } from "./plural/plural.mjs";
14
14
  import { select } from "./select/select.mjs";
15
15
  import { t as translation } from "./translation/translation.mjs";
16
16
 
17
- export { HTML_TAGS, VOID_HTML_ELEMENTS, condition as cond, enumeration as enu, gender, getInsertionValues, getMarkdownMetadata, html, insertion as insert, markdown as md, nesting as nest, plural, select, translation as t, validateHTML, validateMarkdown };
17
+ export { DEFAULT_PLURAL_VARIABLE, HTML_TAGS, VOID_HTML_ELEMENTS, condition as cond, enumeration as enu, gender, getInsertionValues, getMarkdownMetadata, html, insertion as insert, markdown as md, nesting as nest, plural, select, translation as t, validateHTML, validateMarkdown };
@@ -1,10 +1,9 @@
1
- //#region src/transpiler/insertion/getInsertionValues.ts
1
+ // src/transpiler/insertion/getInsertionValues.ts
2
2
  const getInsertionValues = (content) => {
3
3
  const matches = [...content.matchAll(/{{\s*(.*?)\s*}}/g)];
4
4
  if (matches.length === 0) return [];
5
5
  return [...new Set(matches.map((match) => match[1].trim()))].filter(Boolean);
6
6
  };
7
7
 
8
- //#endregion
9
8
  export { getInsertionValues };
10
9
  //# sourceMappingURL=getInsertionValues.mjs.map
@@ -1,7 +1,7 @@
1
1
  import { getInsertionValues } from "./getInsertionValues.mjs";
2
2
  import { INSERTION, formatNodeType } from "@intlayer/types/nodeType";
3
3
 
4
- //#region src/transpiler/insertion/insertion.ts
4
+ // src/transpiler/insertion/insertion.ts
5
5
  /**
6
6
  * Function intended to be used to build intlayer dictionaries.
7
7
  *
@@ -30,6 +30,5 @@ const insertion = (content) => {
30
30
  return formatNodeType(INSERTION, content, { fields: getInsertions() });
31
31
  };
32
32
 
33
- //#endregion
34
33
  export { insertion as insert };
35
34
  //# sourceMappingURL=insertion.mjs.map
@@ -1,6 +1,6 @@
1
1
  import { parseYaml } from "../../utils/parseYaml.mjs";
2
2
 
3
- //#region src/transpiler/markdown/getMarkdownMetadata.ts
3
+ // src/transpiler/markdown/getMarkdownMetadata.ts
4
4
  /**
5
5
  * Extracts the raw content between the leading `---` delimiters.
6
6
  *
@@ -38,6 +38,5 @@ const getMarkdownMetadata = (markdown) => {
38
38
  }
39
39
  };
40
40
 
41
- //#endregion
42
41
  export { getMarkdownMetadata };
43
42
  //# sourceMappingURL=getMarkdownMetadata.mjs.map
@@ -1,5 +1,5 @@
1
1
  import { getMarkdownMetadata } from "./getMarkdownMetadata.mjs";
2
- import { validateMarkdown } from "./validateMarkdown.mjs";
3
2
  import { md as markdown } from "./markdown.mjs";
3
+ import { validateMarkdown } from "./validateMarkdown.mjs";
4
4
 
5
5
  export { getMarkdownMetadata, markdown as md, validateMarkdown };
@@ -4,7 +4,7 @@ import { getMarkdownMetadata } from "./getMarkdownMetadata.mjs";
4
4
  import { validateMarkdown } from "./validateMarkdown.mjs";
5
5
  import { MARKDOWN, formatNodeType } from "@intlayer/types/nodeType";
6
6
 
7
- //#region src/transpiler/markdown/markdown.ts
7
+ // src/transpiler/markdown/markdown.ts
8
8
  const awaitContent = async (content) => {
9
9
  if (typeof content === "string" || typeof content === "object") return content;
10
10
  if (typeof content === "function") return content();
@@ -57,6 +57,5 @@ const markdown = (content, components) => {
57
57
  });
58
58
  };
59
59
 
60
- //#endregion
61
60
  export { markdown as md };
62
61
  //# sourceMappingURL=markdown.mjs.map
@@ -1,6 +1,6 @@
1
1
  import { validateHTML } from "../html/validateHTML.mjs";
2
2
 
3
- //#region src/transpiler/markdown/validateMarkdown.ts
3
+ // src/transpiler/markdown/validateMarkdown.ts
4
4
  /**
5
5
  * Strips fenced code blocks and inline code from markdown content so that
6
6
  * HTML-like syntax inside code is not mistakenly validated.
@@ -70,6 +70,5 @@ const validateMarkdown = (content) => {
70
70
  };
71
71
  };
72
72
 
73
- //#endregion
74
73
  export { validateMarkdown };
75
74
  //# sourceMappingURL=validateMarkdown.mjs.map
@@ -1,6 +1,6 @@
1
1
  import { NESTED, formatNodeType } from "@intlayer/types/nodeType";
2
2
 
3
- //#region src/transpiler/nesting/nesting.ts
3
+ // src/transpiler/nesting/nesting.ts
4
4
  /**
5
5
  * Function intended to be used to build intlayer dictionaries.
6
6
  *
@@ -21,6 +21,5 @@ const nesting = (dictionaryKey, path) => formatNodeType(NESTED, {
21
21
  path
22
22
  });
23
23
 
24
- //#endregion
25
24
  export { nesting as nest };
26
25
  //# sourceMappingURL=nesting.mjs.map
@@ -1,3 +1,3 @@
1
- import { plural } from "./plural.mjs";
1
+ import { DEFAULT_PLURAL_VARIABLE, plural } from "./plural.mjs";
2
2
 
3
- export { plural };
3
+ export { DEFAULT_PLURAL_VARIABLE, plural };
@@ -1,6 +1,8 @@
1
1
  import { PLURAL, formatNodeType } from "@intlayer/types/nodeType";
2
2
 
3
- //#region src/transpiler/plural/plural.ts
3
+ // src/transpiler/plural/plural.ts
4
+ /** Name of the value a plural selects on when no `variable` is declared. */
5
+ const DEFAULT_PLURAL_VARIABLE = "count";
4
6
  /**
5
7
  * Function intended to be used to build intlayer dictionaries.
6
8
  *
@@ -23,9 +25,24 @@ import { PLURAL, formatNodeType } from "@intlayer/types/nodeType";
23
25
  * other: '{{count}} вакансий',
24
26
  * });
25
27
  * ```
28
+ *
29
+ * Nest plurals declaring a `variable` to select on several quantities:
30
+ *
31
+ * ```ts
32
+ * plural(
33
+ * {
34
+ * one: plural(
35
+ * { one: '{{files}} file in {{folders}} folder', other: '…' },
36
+ * { variable: 'folders' }
37
+ * ),
38
+ * other: plural({ … }, { variable: 'folders' }),
39
+ * },
40
+ * { variable: 'files' }
41
+ * );
42
+ * // content.filesInFolders({ files: 1, folders: 2 })
43
+ * ```
26
44
  */
27
- const plural = (content) => formatNodeType(PLURAL, content);
45
+ const plural = (content, options) => formatNodeType(PLURAL, content, options?.variable ? { variable: options.variable } : void 0);
28
46
 
29
- //#endregion
30
- export { plural };
47
+ export { DEFAULT_PLURAL_VARIABLE, plural };
31
48
  //# sourceMappingURL=plural.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"plural.mjs","names":[],"sources":["../../../../src/transpiler/plural/plural.ts"],"sourcesContent":["import type { TypedNodeModel } from '@intlayer/types/nodeType';\nimport { formatNodeType, PLURAL } from '@intlayer/types/nodeType';\n\nexport type PluralCategory = 'zero' | 'one' | 'two' | 'few' | 'many' | 'other';\n\nexport type PluralContentState<Content> = Partial<\n Record<PluralCategory, Content>\n> & {\n other: Content;\n};\n\nexport type PluralContent<Content = unknown> = TypedNodeModel<\n typeof PLURAL,\n PluralContentState<Content>\n>;\n\n/**\n * Function intended to be used to build intlayer dictionaries.\n *\n * Allow to pick a content based on a quantity using CLDR pluralization rules\n * (`Intl.PluralRules`). The selected category depends on the active locale.\n *\n * Supported categories: `zero`, `one`, `two`, `few`, `many`, `other`.\n * `other` is required as the fallback.\n *\n * The string content can include a `{{count}}` placeholder, which is\n * automatically replaced with the provided count.\n *\n * Usage:\n *\n * ```ts\n * plural({\n * one: '{{count}} вакансия',\n * few: '{{count}} вакансии',\n * many: '{{count}} вакансий',\n * other: '{{count}} вакансий',\n * });\n * ```\n */\nconst plural = <Content = unknown>(\n content: PluralContentState<Content>\n): PluralContent<Content> => formatNodeType(PLURAL, content);\n\nexport { plural };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,MAAM,UACJ,YAC2B,eAAe,QAAQ,OAAO"}
1
+ {"version":3,"file":"plural.mjs","names":[],"sources":["../../../../src/transpiler/plural/plural.ts"],"sourcesContent":["import type { TypedNodeModel } from '@intlayer/types/nodeType';\nimport { formatNodeType, PLURAL } from '@intlayer/types/nodeType';\n\nexport type PluralCategory = 'zero' | 'one' | 'two' | 'few' | 'many' | 'other';\n\nexport type PluralContentState<Content> = Partial<\n Record<PluralCategory, Content>\n> & {\n other: Content;\n};\n\n/** Name of the value a plural selects on when no `variable` is declared. */\nexport const DEFAULT_PLURAL_VARIABLE = 'count';\n\nexport type PluralOptions<Variable extends string = string> = {\n /**\n * Name of the value the plural category is selected on.\n *\n * Defaults to `count`. Set it to nest plurals over independent quantities:\n * the resolved function then takes `{ [variable]: number, … }`.\n */\n variable?: Variable;\n};\n\nexport type PluralContent<\n Content = unknown,\n Variable extends string = typeof DEFAULT_PLURAL_VARIABLE,\n> = TypedNodeModel<\n typeof PLURAL,\n PluralContentState<Content>,\n { variable?: Variable }\n>;\n\n/**\n * Function intended to be used to build intlayer dictionaries.\n *\n * Allow to pick a content based on a quantity using CLDR pluralization rules\n * (`Intl.PluralRules`). The selected category depends on the active locale.\n *\n * Supported categories: `zero`, `one`, `two`, `few`, `many`, `other`.\n * `other` is required as the fallback.\n *\n * The string content can include a `{{count}}` placeholder, which is\n * automatically replaced with the provided count.\n *\n * Usage:\n *\n * ```ts\n * plural({\n * one: '{{count}} вакансия',\n * few: '{{count}} вакансии',\n * many: '{{count}} вакансий',\n * other: '{{count}} вакансий',\n * });\n * ```\n *\n * Nest plurals declaring a `variable` to select on several quantities:\n *\n * ```ts\n * plural(\n * {\n * one: plural(\n * { one: '{{files}} file in {{folders}} folder', other: '…' },\n * { variable: 'folders' }\n * ),\n * other: plural({ … }, { variable: 'folders' }),\n * },\n * { variable: 'files' }\n * );\n * // content.filesInFolders({ files: 1, folders: 2 })\n * ```\n */\nconst plural = <\n Content = unknown,\n const Variable extends string = typeof DEFAULT_PLURAL_VARIABLE,\n>(\n content: PluralContentState<Content>,\n options?: PluralOptions<Variable>\n): PluralContent<Content, Variable> =>\n formatNodeType(\n PLURAL,\n content,\n options?.variable ? { variable: options.variable } : undefined\n );\n\nexport { plural };\n"],"mappings":";;;;AAYA,MAAa,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DvC,MAAM,UAIJ,SACA,YAEA,eACE,QACA,SACA,SAAS,WAAW,EAAE,UAAU,QAAQ,SAAS,IAAI,MACvD"}