@intlayer/core 9.3.2 → 9.3.3

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 (205) hide show
  1. package/dist/cjs/dictionaryManipulator/index.cjs +5 -1
  2. package/dist/cjs/dictionaryManipulator/plainDynamicLoader.cjs +71 -0
  3. package/dist/cjs/dictionaryManipulator/plainDynamicLoader.cjs.map +1 -0
  4. package/dist/cjs/dictionaryManipulator/preloadedDynamicLoader.cjs +29 -0
  5. package/dist/cjs/dictionaryManipulator/preloadedDynamicLoader.cjs.map +1 -0
  6. package/dist/cjs/dictionaryManipulator/qualifiedDynamicLoader.cjs +4 -10
  7. package/dist/cjs/dictionaryManipulator/qualifiedDynamicLoader.cjs.map +1 -1
  8. package/dist/cjs/index.cjs +13 -2
  9. package/dist/cjs/localization/comparePaths.cjs +1 -1
  10. package/dist/cjs/localization/comparePaths.cjs.map +1 -1
  11. package/dist/cjs/localization/domainUtils.cjs.map +1 -1
  12. package/dist/cjs/localization/getHTMLTextDir.cjs +11 -10
  13. package/dist/cjs/localization/getHTMLTextDir.cjs.map +1 -1
  14. package/dist/cjs/localization/getLocale.cjs.map +1 -1
  15. package/dist/cjs/localization/getLocaleFromPath.cjs +3 -3
  16. package/dist/cjs/localization/getLocaleFromPath.cjs.map +1 -1
  17. package/dist/cjs/localization/getLocalizedPath.cjs +74 -0
  18. package/dist/cjs/localization/getLocalizedPath.cjs.map +1 -0
  19. package/dist/cjs/localization/getLocalizedPath.test-d.cjs +83 -0
  20. package/dist/cjs/localization/getLocalizedPath.test-d.cjs.map +1 -0
  21. package/dist/cjs/localization/getLocalizedUrl.cjs +9 -25
  22. package/dist/cjs/localization/getLocalizedUrl.cjs.map +1 -1
  23. package/dist/cjs/localization/getLocalizedUrl.test-d.cjs +42 -0
  24. package/dist/cjs/localization/getLocalizedUrl.test-d.cjs.map +1 -0
  25. package/dist/cjs/localization/getPathWithoutLocale.cjs +2 -2
  26. package/dist/cjs/localization/getPathWithoutLocale.cjs.map +1 -1
  27. package/dist/cjs/localization/getPrefix.cjs +15 -1
  28. package/dist/cjs/localization/getPrefix.cjs.map +1 -1
  29. package/dist/cjs/localization/index.cjs +7 -1
  30. package/dist/cjs/localization/localeDetector.cjs +5 -3
  31. package/dist/cjs/localization/localeDetector.cjs.map +1 -1
  32. package/dist/cjs/localization/localeMapper.cjs.map +1 -1
  33. package/dist/cjs/localization/localeResolver.cjs.map +1 -1
  34. package/dist/cjs/localization/resolveBrowserLocale.cjs +63 -0
  35. package/dist/cjs/localization/resolveBrowserLocale.cjs.map +1 -0
  36. package/dist/cjs/localization/rewriteUtils.cjs +26 -14
  37. package/dist/cjs/localization/rewriteUtils.cjs.map +1 -1
  38. package/dist/cjs/localization/rewriteUtils.test-d.cjs +48 -0
  39. package/dist/cjs/localization/rewriteUtils.test-d.cjs.map +1 -0
  40. package/dist/cjs/markdown/constants.cjs +3 -0
  41. package/dist/cjs/markdown/constants.cjs.map +1 -1
  42. package/dist/cjs/markdown/index.cjs +1 -0
  43. package/dist/cjs/markdown/utils.cjs +23 -1
  44. package/dist/cjs/markdown/utils.cjs.map +1 -1
  45. package/dist/esm/dictionaryManipulator/index.mjs +2 -1
  46. package/dist/esm/dictionaryManipulator/plainDynamicLoader.mjs +70 -0
  47. package/dist/esm/dictionaryManipulator/plainDynamicLoader.mjs.map +1 -0
  48. package/dist/esm/dictionaryManipulator/preloadedDynamicLoader.mjs +27 -0
  49. package/dist/esm/dictionaryManipulator/preloadedDynamicLoader.mjs.map +1 -0
  50. package/dist/esm/dictionaryManipulator/qualifiedDynamicLoader.mjs +2 -8
  51. package/dist/esm/dictionaryManipulator/qualifiedDynamicLoader.mjs.map +1 -1
  52. package/dist/esm/index.mjs +7 -4
  53. package/dist/esm/localization/comparePaths.mjs +1 -1
  54. package/dist/esm/localization/comparePaths.mjs.map +1 -1
  55. package/dist/esm/localization/domainUtils.mjs.map +1 -1
  56. package/dist/esm/localization/getHTMLTextDir.mjs +11 -10
  57. package/dist/esm/localization/getHTMLTextDir.mjs.map +1 -1
  58. package/dist/esm/localization/getLocale.mjs.map +1 -1
  59. package/dist/esm/localization/getLocaleFromPath.mjs +4 -4
  60. package/dist/esm/localization/getLocaleFromPath.mjs.map +1 -1
  61. package/dist/esm/localization/getLocalizedPath.mjs +73 -0
  62. package/dist/esm/localization/getLocalizedPath.mjs.map +1 -0
  63. package/dist/esm/localization/getLocalizedPath.test-d.mjs +83 -0
  64. package/dist/esm/localization/getLocalizedPath.test-d.mjs.map +1 -0
  65. package/dist/esm/localization/getLocalizedUrl.mjs +10 -26
  66. package/dist/esm/localization/getLocalizedUrl.mjs.map +1 -1
  67. package/dist/esm/localization/getLocalizedUrl.test-d.mjs +42 -0
  68. package/dist/esm/localization/getLocalizedUrl.test-d.mjs.map +1 -0
  69. package/dist/esm/localization/getPathWithoutLocale.mjs +2 -2
  70. package/dist/esm/localization/getPathWithoutLocale.mjs.map +1 -1
  71. package/dist/esm/localization/getPrefix.mjs +15 -2
  72. package/dist/esm/localization/getPrefix.mjs.map +1 -1
  73. package/dist/esm/localization/index.mjs +5 -3
  74. package/dist/esm/localization/localeDetector.mjs +5 -3
  75. package/dist/esm/localization/localeDetector.mjs.map +1 -1
  76. package/dist/esm/localization/localeMapper.mjs.map +1 -1
  77. package/dist/esm/localization/localeResolver.mjs.map +1 -1
  78. package/dist/esm/localization/resolveBrowserLocale.mjs +61 -0
  79. package/dist/esm/localization/resolveBrowserLocale.mjs.map +1 -0
  80. package/dist/esm/localization/rewriteUtils.mjs +26 -14
  81. package/dist/esm/localization/rewriteUtils.mjs.map +1 -1
  82. package/dist/esm/localization/rewriteUtils.test-d.mjs +48 -0
  83. package/dist/esm/localization/rewriteUtils.test-d.mjs.map +1 -0
  84. package/dist/esm/markdown/constants.mjs +3 -1
  85. package/dist/esm/markdown/constants.mjs.map +1 -1
  86. package/dist/esm/markdown/index.mjs +2 -2
  87. package/dist/esm/markdown/utils.mjs +24 -2
  88. package/dist/esm/markdown/utils.mjs.map +1 -1
  89. package/dist/types/@intlayer/core/dist/types/formatters/compact.d.ts +1 -0
  90. package/dist/types/@intlayer/core/dist/types/formatters/currency.d.ts +1 -0
  91. package/dist/types/@intlayer/core/dist/types/formatters/date.d.ts +1 -0
  92. package/dist/types/@intlayer/core/dist/types/formatters/index.d.ts +9 -0
  93. package/dist/types/@intlayer/core/dist/types/formatters/list.d.ts +1 -0
  94. package/dist/types/@intlayer/core/dist/types/formatters/number.d.ts +1 -0
  95. package/dist/types/@intlayer/core/dist/types/formatters/percentage.d.ts +1 -0
  96. package/dist/types/@intlayer/core/dist/types/formatters/relativeTime.d.ts +1 -0
  97. package/dist/types/@intlayer/core/dist/types/formatters/units.d.ts +1 -0
  98. package/dist/types/@intlayer/core/dist/types/interpreter/getCondition.d.ts +2 -0
  99. package/dist/types/@intlayer/core/dist/types/interpreter/getContent/deepTransform.d.ts +1 -0
  100. package/dist/types/@intlayer/core/dist/types/interpreter/getContent/getContent.d.ts +3 -0
  101. package/dist/types/@intlayer/core/dist/types/interpreter/getContent/index.d.ts +3 -0
  102. package/dist/types/@intlayer/core/dist/types/interpreter/getContent/plugins.d.ts +7 -0
  103. package/dist/types/@intlayer/core/dist/types/interpreter/getDictionary.d.ts +4 -0
  104. package/dist/types/@intlayer/core/dist/types/interpreter/getEnumeration.d.ts +2 -0
  105. package/dist/types/@intlayer/core/dist/types/interpreter/getGender.d.ts +2 -0
  106. package/dist/types/@intlayer/core/dist/types/interpreter/getInsertion.d.ts +2 -0
  107. package/dist/types/@intlayer/core/dist/types/interpreter/getIntlayer.d.ts +4 -0
  108. package/dist/types/@intlayer/core/dist/types/interpreter/getNesting.d.ts +6 -0
  109. package/dist/types/@intlayer/core/dist/types/interpreter/getPlural.d.ts +3 -0
  110. package/dist/types/@intlayer/core/dist/types/interpreter/getSelect.d.ts +2 -0
  111. package/dist/types/@intlayer/core/dist/types/interpreter/getTranslation.d.ts +1 -0
  112. package/dist/types/@intlayer/core/dist/types/interpreter/index.d.ts +15 -0
  113. package/dist/types/@intlayer/core/dist/types/interpreter/interpolableNode.d.ts +2 -0
  114. package/dist/types/@intlayer/core/dist/types/localization/comparePaths.d.ts +1 -0
  115. package/dist/types/@intlayer/core/dist/types/localization/domainUtils.d.ts +2 -0
  116. package/dist/types/@intlayer/core/dist/types/localization/generateSitemap.d.ts +2 -0
  117. package/dist/types/@intlayer/core/dist/types/localization/getBrowserLocale.d.ts +1 -0
  118. package/dist/types/@intlayer/core/dist/types/localization/getHTMLTextDir.d.ts +1 -0
  119. package/dist/types/@intlayer/core/dist/types/localization/getLocale.d.ts +1 -0
  120. package/dist/types/@intlayer/core/dist/types/localization/getLocaleFromPath.d.ts +2 -0
  121. package/dist/types/@intlayer/core/dist/types/localization/getLocaleLang.d.ts +1 -0
  122. package/dist/types/@intlayer/core/dist/types/localization/getLocaleName.d.ts +1 -0
  123. package/dist/types/@intlayer/core/dist/types/localization/getLocalizedPath.d.ts +2 -0
  124. package/dist/types/@intlayer/core/dist/types/localization/getLocalizedUrl.d.ts +2 -0
  125. package/dist/types/@intlayer/core/dist/types/localization/getMultilingualUrls.d.ts +2 -0
  126. package/dist/types/@intlayer/core/dist/types/localization/getPathWithoutLocale.d.ts +1 -0
  127. package/dist/types/@intlayer/core/dist/types/localization/getPrefix.d.ts +2 -0
  128. package/dist/types/@intlayer/core/dist/types/localization/index.d.ts +20 -0
  129. package/dist/types/@intlayer/core/dist/types/localization/localeDetector.d.ts +2 -0
  130. package/dist/types/@intlayer/core/dist/types/localization/localeMapper.d.ts +1 -0
  131. package/dist/types/@intlayer/core/dist/types/localization/localeResolver.d.ts +1 -0
  132. package/dist/types/@intlayer/core/dist/types/localization/resolveBrowserLocale.d.ts +2 -0
  133. package/dist/types/@intlayer/core/dist/types/localization/rewriteUtils.d.ts +2 -0
  134. package/dist/types/@intlayer/core/dist/types/localization/validatePrefix.d.ts +2 -0
  135. package/dist/types/@intlayer/core/dist/types/markdown/index.d.ts +2 -0
  136. package/dist/types/@intlayer/core/dist/types/transpiler/condition/condition.d.ts +1 -0
  137. package/dist/types/@intlayer/core/dist/types/transpiler/condition/index.d.ts +1 -0
  138. package/dist/types/@intlayer/core/dist/types/transpiler/enumeration/enumeration.d.ts +1 -0
  139. package/dist/types/@intlayer/core/dist/types/transpiler/enumeration/index.d.ts +1 -0
  140. package/dist/types/@intlayer/core/dist/types/transpiler/file/file.d.ts +1 -0
  141. package/dist/types/@intlayer/core/dist/types/transpiler/file/index.d.ts +1 -0
  142. package/dist/types/@intlayer/core/dist/types/transpiler/gender/gender.d.ts +1 -0
  143. package/dist/types/@intlayer/core/dist/types/transpiler/gender/index.d.ts +1 -0
  144. package/dist/types/@intlayer/core/dist/types/transpiler/html/html.d.ts +1 -0
  145. package/dist/types/@intlayer/core/dist/types/transpiler/html/index.d.ts +1 -0
  146. package/dist/types/@intlayer/core/dist/types/transpiler/index.d.ts +22 -0
  147. package/dist/types/@intlayer/core/dist/types/transpiler/insertion/index.d.ts +1 -0
  148. package/dist/types/@intlayer/core/dist/types/transpiler/insertion/insertion.d.ts +1 -0
  149. package/dist/types/@intlayer/core/dist/types/transpiler/markdown/index.d.ts +1 -0
  150. package/dist/types/@intlayer/core/dist/types/transpiler/markdown/markdown.d.ts +1 -0
  151. package/dist/types/@intlayer/core/dist/types/transpiler/nesting/index.d.ts +1 -0
  152. package/dist/types/@intlayer/core/dist/types/transpiler/nesting/nesting.d.ts +4 -0
  153. package/dist/types/@intlayer/core/dist/types/transpiler/plural/index.d.ts +1 -0
  154. package/dist/types/@intlayer/core/dist/types/transpiler/plural/plural.d.ts +1 -0
  155. package/dist/types/@intlayer/core/dist/types/transpiler/select/index.d.ts +1 -0
  156. package/dist/types/@intlayer/core/dist/types/transpiler/select/select.d.ts +1 -0
  157. package/dist/types/@intlayer/core/dist/types/transpiler/translation/index.d.ts +1 -0
  158. package/dist/types/@intlayer/core/dist/types/transpiler/translation/translation.d.ts +2 -0
  159. package/dist/types/@intlayer/core/dist/types/utils/index.d.ts +3 -0
  160. package/dist/types/@intlayer/core/dist/types/utils/intl.d.ts +1 -0
  161. package/dist/types/@intlayer/core/dist/types/utils/isSameKeyPath.d.ts +1 -0
  162. package/dist/types/@intlayer/core/dist/types/utils/localeStorage.d.ts +2 -0
  163. package/dist/types/dictionaryManipulator/index.d.ts +2 -1
  164. package/dist/types/dictionaryManipulator/plainDynamicLoader.d.ts +50 -0
  165. package/dist/types/dictionaryManipulator/plainDynamicLoader.d.ts.map +1 -0
  166. package/dist/types/dictionaryManipulator/preloadedDynamicLoader.d.ts +38 -0
  167. package/dist/types/dictionaryManipulator/preloadedDynamicLoader.d.ts.map +1 -0
  168. package/dist/types/dictionaryManipulator/qualifiedDynamicLoader.d.ts +1 -7
  169. package/dist/types/dictionaryManipulator/qualifiedDynamicLoader.d.ts.map +1 -1
  170. package/dist/types/index.d.ts +7 -4
  171. package/dist/types/interpreter/getPlural.d.ts +1 -1
  172. package/dist/types/intlayer/dist/types/index.d.ts +14 -0
  173. package/dist/types/localization/domainUtils.d.ts +2 -3
  174. package/dist/types/localization/domainUtils.d.ts.map +1 -1
  175. package/dist/types/localization/getHTMLTextDir.d.ts.map +1 -1
  176. package/dist/types/localization/getLocale.d.ts +2 -2
  177. package/dist/types/localization/getLocale.d.ts.map +1 -1
  178. package/dist/types/localization/getLocaleFromPath.d.ts +2 -2
  179. package/dist/types/localization/getLocaleFromPath.d.ts.map +1 -1
  180. package/dist/types/localization/getLocalizedPath.d.ts +47 -0
  181. package/dist/types/localization/getLocalizedPath.d.ts.map +1 -0
  182. package/dist/types/localization/getLocalizedPath.test-d.d.ts +1 -0
  183. package/dist/types/localization/getLocalizedUrl.d.ts +5 -1
  184. package/dist/types/localization/getLocalizedUrl.d.ts.map +1 -1
  185. package/dist/types/localization/getLocalizedUrl.test-d.d.ts +1 -0
  186. package/dist/types/localization/getPrefix.d.ts +20 -8
  187. package/dist/types/localization/getPrefix.d.ts.map +1 -1
  188. package/dist/types/localization/index.d.ts +5 -3
  189. package/dist/types/localization/localeDetector.d.ts +2 -1
  190. package/dist/types/localization/localeDetector.d.ts.map +1 -1
  191. package/dist/types/localization/localeMapper.d.ts +4 -5
  192. package/dist/types/localization/localeMapper.d.ts.map +1 -1
  193. package/dist/types/localization/localeResolver.d.ts +2 -3
  194. package/dist/types/localization/localeResolver.d.ts.map +1 -1
  195. package/dist/types/localization/resolveBrowserLocale.d.ts +35 -0
  196. package/dist/types/localization/resolveBrowserLocale.d.ts.map +1 -0
  197. package/dist/types/localization/rewriteUtils.d.ts +51 -11
  198. package/dist/types/localization/rewriteUtils.d.ts.map +1 -1
  199. package/dist/types/localization/rewriteUtils.test-d.d.ts +1 -0
  200. package/dist/types/markdown/constants.d.ts +3 -1
  201. package/dist/types/markdown/constants.d.ts.map +1 -1
  202. package/dist/types/markdown/index.d.ts +2 -2
  203. package/dist/types/markdown/utils.d.ts +6 -0
  204. package/dist/types/markdown/utils.d.ts.map +1 -1
  205. package/package.json +6 -6
@@ -0,0 +1,47 @@
1
+ import { RoutingOptions } from "./getPrefix.js";
2
+ import { LocalesValues, LocalizedPathname, ResolvedDefaultLocale } from "@intlayer/types/module_augmentation";
3
+ //#region src/localization/getLocalizedPath.d.ts
4
+ /**
5
+ * Localizes an application path for a locale: resolves the `routing.rewrite`
6
+ * rules, then applies the locale representation of the routing mode — a path
7
+ * prefix, a `locale` search parameter, or nothing at all.
8
+ *
9
+ * Any query string and hash of the input are preserved.
10
+ *
11
+ * This is the relative half of {@link getLocalizedUrl}, which builds on it to
12
+ * add an origin and cross-domain routing. For a relative input both return the
13
+ * same value; this one never returns an absolute URL — the origin of an
14
+ * absolute input is dropped and only its path is localized.
15
+ *
16
+ * Use `resolveLocalizedPath` instead to apply the rewrite rules alone, without
17
+ * any locale representation.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * // routing: { mode: 'prefix-no-default', rewrite: { '/about': { fr: '/a-propos' } } }
22
+ * getLocalizedPath('/about', 'fr'); // '/fr/a-propos'
23
+ * getLocalizedPath('/about', 'en'); // '/about' (default locale, no prefix)
24
+ * getLocalizedPath('/', 'fr'); // '/fr'
25
+ * getLocalizedPath('/contact', 'fr'); // '/fr/contact' (no rewrite rule matches)
26
+ * getLocalizedPath('https://intlayer.org/about', 'fr'); // '/fr/a-propos' (origin dropped)
27
+ *
28
+ * // Manual rules, bypassing the configuration
29
+ * getLocalizedPath('/contact', 'fr', {
30
+ * rewrite: { '/contact': { fr: '/contactez-nous' } },
31
+ * });
32
+ * // '/fr/contactez-nous'
33
+ * ```
34
+ *
35
+ * @param canonicalPath - The internal application path (e.g. `/about`, `/product/123`).
36
+ * An absolute URL is accepted; only its path, query and hash are kept.
37
+ * @param locale - The target locale. Defaults to the configured default locale.
38
+ * @param options - Routing overrides (`locales`, `defaultLocale`, `mode`, `rewrite`,
39
+ * `domains`). Each one defaults to the project configuration. `domains` only
40
+ * suppresses the prefix of a locale served from its own domain — the origin
41
+ * itself is never emitted.
42
+ * @returns The localized path for the target locale.
43
+ */
44
+ declare const getLocalizedPath: <const CanonicalPath extends string, const CurrentLocale extends LocalesValues = ResolvedDefaultLocale>(canonicalPath: CanonicalPath, locale?: CurrentLocale, options?: RoutingOptions) => LocalizedPathname<CanonicalPath, CurrentLocale>;
45
+ //#endregion
46
+ export { getLocalizedPath };
47
+ //# sourceMappingURL=getLocalizedPath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLocalizedPath.d.ts","names":[],"sources":["../../../src/localization/getLocalizedPath.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2Da,yBACL,oCACA,sBAAsB,gBAAgB,uBAAqB,eAElD,eAAa,SACpB,eAAa,UACZ,mBACR,kBAAkB,eAAe"}
@@ -7,6 +7,10 @@ import { LocalesValues, LocalizedUrl, ResolvedDefaultLocale } from "@intlayer/ty
7
7
  *
8
8
  * This function gets the locales, default locale, and routing mode from the configuration if not provided.
9
9
  *
10
+ * The path itself is localized by {@link getLocalizedPath}; this function only
11
+ * resolves the origin to put in front of it — the one of an absolute input, or
12
+ * the domain mapped to the target locale.
13
+ *
10
14
  * Example:
11
15
  *
12
16
  * ```ts
@@ -47,5 +51,5 @@ import { LocalesValues, LocalizedUrl, ResolvedDefaultLocale } from "@intlayer/ty
47
51
  */
48
52
  declare const getLocalizedUrl: <const T extends string, const L extends LocalesValues = ResolvedDefaultLocale>(url: T, currentLocale?: L, options?: RoutingOptions) => LocalizedUrl<T, L>;
49
53
  //#endregion
50
- export { type RoutingOptions, getLocalizedUrl };
54
+ export { getLocalizedUrl };
51
55
  //# sourceMappingURL=getLocalizedUrl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getLocalizedUrl.d.ts","names":[],"sources":["../../../src/localization/getLocalizedUrl.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwEa,wBACL,wBACA,UAAU,gBAAgB,uBAAqB,KAEhD,GAAC,gBACS,GAAC,UACP,mBACR,aAAa,GAAG"}
1
+ {"version":3,"file":"getLocalizedUrl.d.ts","names":[],"sources":["../../../src/localization/getLocalizedUrl.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2Da,wBACL,wBACA,UAAU,gBAAgB,uBAAqB,KAEhD,GAAC,gBACS,GAAC,UACP,mBACR,aAAa,GAAG"}
@@ -1,6 +1,5 @@
1
1
  import { DeclaredLocales, LocalesValues, ResolvedDefaultLocale, ResolvedRoutingMode } from "@intlayer/types/module_augmentation";
2
- import { Locale } from "@intlayer/types/allLocales";
3
- import { RoutingConfig } from "@intlayer/types/config";
2
+ import { RewriteRules, RoutingConfig } from "@intlayer/types/config";
4
3
  //#region src/localization/getPrefix.d.ts
5
4
  /**
6
5
  * Shared routing options used across all URL localization functions.
@@ -9,7 +8,7 @@ type RoutingOptions = {
9
8
  locales?: LocalesValues[];
10
9
  defaultLocale?: LocalesValues;
11
10
  mode?: RoutingConfig['mode'];
12
- rewrite?: RoutingConfig['rewrite'];
11
+ rewrite?: RoutingConfig['rewrite'] | RewriteRules;
13
12
  domains?: RoutingConfig['domains'];
14
13
  /**
15
14
  * The hostname of the page currently being rendered (e.g. `'intlayer.org'`).
@@ -29,12 +28,25 @@ type RoutingOptions = {
29
28
  * Single source of truth for default routing config resolution across all localization functions.
30
29
  */
31
30
  declare const resolveRoutingConfig: (options?: RoutingOptions) => Omit<RoutingOptions, 'defaultLocale' | 'mode' | 'locales'> & {
32
- defaultLocale: LocalesValues;
31
+ defaultLocale: DeclaredLocales;
33
32
  mode: RoutingConfig['mode'];
34
- locales: LocalesValues[];
33
+ locales: DeclaredLocales[];
35
34
  };
35
+ /**
36
+ * Narrows an arbitrary string to a declared locale by membership test.
37
+ *
38
+ * `locales` is typed as `DeclaredLocales[]`, so a plain `includes` rejects the
39
+ * `string` values that actually need testing (a URL segment, a query param, a
40
+ * stored value). This keeps the check honest and hands back a narrowed type
41
+ * instead of forcing a cast at every call site.
42
+ *
43
+ * @param value - The candidate locale, from a URL segment / storage / header.
44
+ * @param locales - The locales declared by the configuration.
45
+ * @returns Whether `value` is one of the declared locales.
46
+ */
47
+ declare const isDeclaredLocale: (value: LocalesValues | undefined | null, locales?: readonly LocalesValues[]) => value is DeclaredLocales;
36
48
  type GetPrefixOptions = {
37
- defaultLocale?: LocalesValues;
49
+ defaultLocale?: ResolvedDefaultLocale;
38
50
  mode?: RoutingConfig['mode'];
39
51
  };
40
52
  type GetPrefixResult = {
@@ -46,7 +58,7 @@ type GetPrefixResult = {
46
58
  /**
47
59
  * The bare locale identifier (e.g. `'fr'`), or `undefined` when no prefix is applied.
48
60
  */
49
- localePrefix: Locale | undefined;
61
+ localePrefix: DeclaredLocales | undefined;
50
62
  };
51
63
  /**
52
64
  * Narrowed return type for {@link getPrefix} that carries the locale literal through.
@@ -108,5 +120,5 @@ type GetPrefixResultNarrowed<L extends LocalesValues | undefined, Mode extends s
108
120
  */
109
121
  declare const getPrefix: <const L extends LocalesValues | undefined>(locale: L, options?: RoutingOptions) => GetPrefixResultNarrowed<L>;
110
122
  //#endregion
111
- export { GetPrefixOptions, GetPrefixResult, GetPrefixResultNarrowed, RoutingOptions, getPrefix, resolveRoutingConfig };
123
+ export { GetPrefixOptions, GetPrefixResult, GetPrefixResultNarrowed, RoutingOptions, getPrefix, isDeclaredLocale, resolveRoutingConfig };
112
124
  //# sourceMappingURL=getPrefix.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPrefix.d.ts","names":[],"sources":["../../../src/localization/getPrefix.ts"],"mappings":";;;;;;;KAwBY;EACV,UAAU;EACV,gBAAgB;EAChB,OAAO;EACP,UAAU;EACV,UAAU;;;;;;;;;;;;EAYV;;;;;;cAOW,uBAAoB,UACtB,mBACR,KAAK;EACN,eAAe;EACf,MAAM;EACN,SAAS;;KAUC;EACV,gBAAgB;EAChB,OAAO;;KAGG;;;;;EAKV;;;;EAIA,cAAc;;;;;;;;;;;KAYJ,wBACV,UAAU,2BACV,sBAAsB,qBACtB,gBAAgB,gBAAgB,yBAC9B,qCACkB,KAChB,wBAAwB,iBAAiB,MAAM,6BAC7B,QAChB,kBACA;EACI,WAAW;EAAM,cAAc;IACjC,mCACE,UAAU;EACN;EAAY;;EACZ,WAAW;EAAM,cAAc;;EACjC;EAAY;;EACpB;EAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmCL,kBAAmB,UAAU,2BAAyB,QACzD,GAAC,UACA,mBACR,wBAAwB"}
1
+ {"version":3,"file":"getPrefix.d.ts","names":[],"sources":["../../../src/localization/getPrefix.ts"],"mappings":";;;;;;KAkBY;EACV,UAAU;EACV,gBAAgB;EAChB,OAAO;EACP,UAAU,2BAA2B;EACrC,UAAU;;;;;;;;;;;;EAYV;;;;;;cAOW,uBAAoB,UACtB,mBACR,KAAK;EACN,eAAe;EACf,MAAM;EACN,SAAS;;;;;;;;;;;;;;cAsBE,mBAAgB,OACpB,kCAAgC,mBACpB,oBAClB,SAAS;KAGA;EACV,gBAAgB;EAChB,OAAO;;KAGG;;;;;EAKV;;;;EAIA,cAAc;;;;;;;;;;;KAYJ,wBACV,UAAU,2BACV,sBAAsB,qBACtB,gBAAgB,gBAAgB,yBAC9B,qCACkB,KAChB,wBAAwB,iBAAiB,MAAM,6BAC7B,QAChB,kBACA;EACI,WAAW;EAAM,cAAc;IACjC,mCACE,UAAU;EACN;EAAY;;EACZ,WAAW;EAAM,cAAc;;EACjC;EAAY;;EACpB;EAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmCL,kBAAmB,UAAU,2BAAyB,QACzD,GAAC,UACA,mBACR,wBAAwB"}
@@ -4,10 +4,11 @@ import { GenerateSitemapOptions, SitemapUrlEntry, generateSitemap, generateSitem
4
4
  import { getBrowserLocale } from "./getBrowserLocale.js";
5
5
  import { getHTMLTextDir } from "./getHTMLTextDir.js";
6
6
  import { getLocale } from "./getLocale.js";
7
- import { GetPrefixOptions, GetPrefixResult, getPrefix } from "./getPrefix.js";
7
+ import { GetPrefixOptions, GetPrefixResult, getPrefix, isDeclaredLocale } from "./getPrefix.js";
8
8
  import { getLocaleFromPath } from "./getLocaleFromPath.js";
9
9
  import { getLocaleLang } from "./getLocaleLang.js";
10
10
  import { getLocaleName } from "./getLocaleName.js";
11
+ import { getLocalizedPath } from "./getLocalizedPath.js";
11
12
  import { getLocalizedUrl } from "./getLocalizedUrl.js";
12
13
  import { getMultilingualUrls } from "./getMultilingualUrls.js";
13
14
  import { getPathWithoutLocale } from "./getPathWithoutLocale.js";
@@ -15,6 +16,7 @@ import { localeDetector } from "./localeDetector.js";
15
16
  import { localeFlatMap, localeMap, localeRecord } from "./localeMapper.js";
16
17
  import { localeResolver } from "./localeResolver.js";
17
18
  import { ProxyMode, formatProxyEnabledMessage, isProxyStorageLocaleEnabled, resolveProxyMode } from "./proxyMode.js";
18
- import { LocalizedPathResult, getCanonicalPath, getInternalPath, getLocalizedPath, getRewritePath, getRewriteRules } from "./rewriteUtils.js";
19
+ import { getPreloadLocale, resolveBrowserLocale } from "./resolveBrowserLocale.js";
20
+ import { LocalizedPathResult, getCanonicalPath, getInternalPath, getRewritePath, getRewriteRules, resolveLocalizedPath } from "./rewriteUtils.js";
19
21
  import { validatePrefix } from "./validatePrefix.js";
20
- export { type GenerateSitemapOptions, type GetPrefixOptions, type GetPrefixResult, type LocaleDomainMap, type LocalizedPathResult, type ProxyMode, type SitemapUrlEntry, comparePaths, formatProxyEnabledMessage, generateSitemap, generateSitemapUrl, getBrowserLocale, getCanonicalPath, getDomainHostname, getDomainOrigin, getHTMLTextDir, getInternalPath, getLocale, getLocaleFromDomain, getLocaleFromPath, getLocaleLang, getLocaleName, getLocalizedPath, getLocalizedUrl, getMultilingualUrls, getPathWithoutLocale, getPrefix, getRewritePath, getRewriteRules, isLocaleExclusiveOnDomain, isProxyStorageLocaleEnabled, localeDetector, localeFlatMap, localeMap, localeRecord, localeResolver, normalizePath, resolveProxyMode, validatePrefix };
22
+ export { type GenerateSitemapOptions, type GetPrefixOptions, type GetPrefixResult, type LocaleDomainMap, type LocalizedPathResult, type ProxyMode, type SitemapUrlEntry, comparePaths, formatProxyEnabledMessage, generateSitemap, generateSitemapUrl, getBrowserLocale, getCanonicalPath, getDomainHostname, getDomainOrigin, getHTMLTextDir, getInternalPath, getLocale, getLocaleFromDomain, getLocaleFromPath, getLocaleLang, getLocaleName, getLocalizedPath, getLocalizedUrl, getMultilingualUrls, getPathWithoutLocale, getPrefix, getPreloadLocale, getRewritePath, getRewriteRules, isDeclaredLocale, isLocaleExclusiveOnDomain, isProxyStorageLocaleEnabled, localeDetector, localeFlatMap, localeMap, localeRecord, localeResolver, normalizePath, resolveBrowserLocale, resolveLocalizedPath, resolveProxyMode, validatePrefix };
@@ -1,3 +1,4 @@
1
+ import { DeclaredLocales } from "@intlayer/types/module_augmentation";
1
2
  import { Locale } from "@intlayer/types/allLocales";
2
3
  //#region src/localization/localeDetector.d.ts
3
4
  /**
@@ -11,7 +12,7 @@ declare const getPreferredLanguages: (acceptHeader: string | undefined, availabl
11
12
  * Headers are provided by the browser/client and can be used to determine the user's preferred language.
12
13
  * This function intersects the user's `Accept-Language` header with the application's available locales.
13
14
  */
14
- declare const localeDetector: (headers: Record<string, string | undefined>, availableLocales?: Locale[], defaultLocale?: Locale) => Locale;
15
+ declare const localeDetector: (headers: Record<string, string | undefined>, availableLocales?: Locale[], defaultLocale?: Locale) => DeclaredLocales;
15
16
  //#endregion
16
17
  export { getPreferredLanguages, localeDetector };
17
18
  //# sourceMappingURL=localeDetector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"localeDetector.d.ts","names":[],"sources":["../../../src/localization/localeDetector.ts"],"mappings":";;;;;;cA+Ma,wBAAqB,kCACA;;;;;;;cAgCrB,iBAAc,SAChB,oCAAkC,mBACxB,UAAQ,gBACX,WACf"}
1
+ {"version":3,"file":"localeDetector.d.ts","names":[],"sources":["../../../src/localization/localeDetector.ts"],"mappings":";;;;;;;cAqNa,wBAAqB,kCACA;;;;;;;cAgCrB,iBAAc,SAChB,oCAAkC,mBACxB,UAAQ,gBACX,WACf"}
@@ -1,11 +1,10 @@
1
- import { LocalesValues } from "@intlayer/types/module_augmentation";
2
- import { Locale } from "@intlayer/types/allLocales";
1
+ import { DeclaredLocales, LocalesValues } from "@intlayer/types/module_augmentation";
3
2
  //#region src/localization/localeMapper.d.ts
4
3
  type LocaleData = {
5
- locale: Locale;
6
- defaultLocale: Locale;
4
+ locale: DeclaredLocales;
5
+ defaultLocale: DeclaredLocales;
7
6
  isDefault: boolean;
8
- locales: Locale[];
7
+ locales: DeclaredLocales[];
9
8
  urlPrefix: string;
10
9
  };
11
10
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"localeMapper.d.ts","names":[],"sources":["../../../src/localization/localeMapper.ts"],"mappings":";;;KAMY;EACV,QAAQ;EACR,eAAe;EACf;EACA,SAAS;EACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6BW,YAAa,GAAC,SAChB,QAAQ,eAAe,GAAC,UACxB,iBAAe,gBACT,eAAa,8EAO3B;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwCU,gBAAiB,GAAC,SACpB,QAAQ,eAAe,KAAG,UAC1B,iBAAe,gBACT,eAAa,8EAO3B;;;;;;;;;;;;;;;;;;;;;;;;cAqCU,eAAgB,GAAC,SACnB,QAAQ,eAAe,GAAC,UACxB,iBAAe,gBACT,eAAa,8EAO3B,OAAO,eAAe"}
1
+ {"version":3,"file":"localeMapper.d.ts","names":[],"sources":["../../../src/localization/localeMapper.ts"],"mappings":";;KAQY;EACV,QAAQ;EACR,eAAe;EACf;EACA,SAAS;EACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6BW,YAAa,GAAC,SAChB,QAAQ,eAAe,GAAC,UACxB,iBAAe,gBACT,eAAa,8EAO3B;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwCU,gBAAiB,GAAC,SACpB,QAAQ,eAAe,KAAG,UAC1B,iBAAe,gBACT,eAAa,8EAO3B;;;;;;;;;;;;;;;;;;;;;;;;cAqCU,eAAgB,GAAC,SACnB,QAAQ,eAAe,GAAC,UACxB,iBAAe,gBACT,eAAa,8EAO3B,OAAO,eAAe"}
@@ -1,11 +1,10 @@
1
- import { LocalesValues } from "@intlayer/types/module_augmentation";
2
- import { Locale } from "@intlayer/types/allLocales";
1
+ import { DeclaredLocales, LocalesValues } from "@intlayer/types/module_augmentation";
3
2
  //#region src/localization/localeResolver.d.ts
4
3
  /**
5
4
  * Resolves the most specific locale from a user-provided list,
6
5
  * or falls back to the default locale if no match is found.
7
6
  */
8
- declare const localeResolver: (selectedLocale: LocalesValues | LocalesValues[], locales?: LocalesValues[], defaultLocale?: LocalesValues) => Locale;
7
+ declare const localeResolver: (selectedLocale: LocalesValues | LocalesValues[], locales?: LocalesValues[], defaultLocale?: LocalesValues) => DeclaredLocales;
9
8
  //#endregion
10
9
  export { localeResolver };
11
10
  //# sourceMappingURL=localeResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"localeResolver.d.ts","names":[],"sources":["../../../src/localization/localeResolver.ts"],"mappings":";;;;;;;cAQa,iBAAc,gBACT,gBAAgB,iBAAe,UACtC,iBAAe,gBACT,kBACd"}
1
+ {"version":3,"file":"localeResolver.d.ts","names":[],"sources":["../../../src/localization/localeResolver.ts"],"mappings":";;;;;;cAUa,iBAAc,gBACT,gBAAgB,iBAAe,UACtC,iBAAe,gBACT,kBACd"}
@@ -0,0 +1,35 @@
1
+ import { RoutingOptions } from "./getPrefix.js";
2
+ import { LocalesValues } from "@intlayer/types/module_augmentation";
3
+ //#region src/localization/resolveBrowserLocale.d.ts
4
+ /**
5
+ * Resolves the locale of the current document outside of React.
6
+ *
7
+ * Generated dynamic entry points need the locale while they are still
8
+ * evaluating, long before a provider exists, so this reproduces the precedence
9
+ * a provider applies — URL first (which is what a router hands the provider as
10
+ * `locale`), then browser storage, then the configured default. Agreeing with
11
+ * the provider is what makes the preloaded read hit; disagreeing is safe but
12
+ * costs a load, since the consumer compares locales before using a preloaded
13
+ * dictionary.
14
+ *
15
+ * @param options - Routing overrides, defaulting to the built configuration.
16
+ * @returns The resolved locale, falling back to the default locale off-browser.
17
+ */
18
+ declare const resolveBrowserLocale: (options?: RoutingOptions) => LocalesValues;
19
+ /**
20
+ * {@link resolveBrowserLocale}, memoized for the current URL.
21
+ *
22
+ * Every generated dynamic entry point calls this as it evaluates, and an
23
+ * application has hundreds of them — repeating the cookie and storage reads
24
+ * that many times on startup is pure cost, since they cannot change while a
25
+ * page is being assembled.
26
+ *
27
+ * Keying the cache on the URL rather than caching forever keeps a client-side
28
+ * locale change honest: navigating to another locale's URL loads further
29
+ * chunks with that locale, instead of preloading the old one and silently
30
+ * falling back to an asynchronous read.
31
+ */
32
+ declare const getPreloadLocale: () => LocalesValues;
33
+ //#endregion
34
+ export { getPreloadLocale, resolveBrowserLocale };
35
+ //# sourceMappingURL=resolveBrowserLocale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveBrowserLocale.d.ts","names":[],"sources":["../../../src/localization/resolveBrowserLocale.ts"],"mappings":";;;;;;;;;;;;;;;;;cAoBa,uBAAoB,UACrB,mBACT;;;;;;;;;;;;;;cAqDU,wBAAuB"}
@@ -1,33 +1,73 @@
1
- import { LocalesValues } from "@intlayer/types/module_augmentation";
2
- import { Locale } from "@intlayer/types/allLocales";
1
+ import { LocalesValues, ResolvedDefaultLocale } from "@intlayer/types/module_augmentation";
3
2
  import { RewriteObject, RewriteRules, RoutingConfig } from "@intlayer/types/config";
4
3
  //#region src/localization/rewriteUtils.d.ts
5
- type LocalizedPathResult = {
4
+ /**
5
+ * Outcome of resolving a canonical path against the rewrite rules.
6
+ *
7
+ * Discriminated on `isRewritten`: when no rule matched, `path` is the very
8
+ * input that was passed in, so a literal input keeps its literal type. Only a
9
+ * rewritten path is computed at runtime and therefore widens to `string`.
10
+ */
11
+ type LocalizedPathResult<CanonicalPath extends string = string> = {
12
+ path: CanonicalPath;
13
+ isRewritten: false;
14
+ } | {
6
15
  path: string;
7
- isRewritten: boolean;
16
+ isRewritten: true;
8
17
  };
18
+ /** Adds the leading slash a path may be missing. */
19
+ type WithLeadingSlash<Path extends string> = Path extends `/${string}` ? Path : `/${Path}`;
20
+ /**
21
+ * Computes the locale-prefixed internal path for a path and a locale, mirroring
22
+ * `getInternalPath`'s runtime behaviour: an already-prefixed path is returned
23
+ * untouched, the root collapses to `/${Locale}` (never a trailing slash), and
24
+ * anything else gets the prefix prepended.
25
+ *
26
+ * Falls back to `string` for a non-literal path, where the prefixed and
27
+ * already-prefixed cases cannot be told apart.
28
+ *
29
+ * @example
30
+ * type A = InternalPath<'/about', 'fr'>; // '/fr/about'
31
+ * type B = InternalPath<'/', 'fr'>; // '/fr'
32
+ * type C = InternalPath<'/fr/about', 'fr'>; // '/fr/about' (already prefixed)
33
+ */
34
+ type InternalPath<Path extends string, Locale extends string> = string extends Path ? string : WithLeadingSlash<Path> extends (infer Prefixed extends string) ? Prefixed extends `/${Locale}` | `/${Locale}/${string}` ? Prefixed : Prefixed extends '/' ? `/${Locale}` : `/${Locale}${Prefixed}` : never;
9
35
  /**
10
36
  * Normalizes legacy Record format or extracts specialized rules from RewriteObject.
37
+ *
38
+ * Idempotent: already-normalized rules are handed back untouched, so a caller
39
+ * holding resolved rules can pass them on without re-normalizing.
11
40
  */
12
- declare const getRewriteRules: (rewrite: RoutingConfig['rewrite'], context?: keyof RewriteObject) => RewriteRules | undefined;
41
+ declare const getRewriteRules: <const Context extends keyof RewriteObject = 'url'>(rewrite: RoutingConfig['rewrite'] | RewriteRules, context?: Context) => RewriteRules | undefined;
13
42
  /**
14
43
  * Given a localized URL (e.g., "/produits/123"), finds the canonical internal path (e.g., "/products/123").
15
44
  * If locale is provided, only check for that locale. Otherwise, check for all locales.
16
45
  */
17
- declare const getCanonicalPath: (localizedPath: string, locale?: Locale, rewriteRules?: RewriteRules) => string;
46
+ declare const getCanonicalPath: <const Path extends string, const Locale extends LocalesValues = LocalesValues>(localizedPath: Path, locale?: Locale, rewriteRules?: RewriteRules) => string;
18
47
  /**
19
- * Given a canonical path (e.g., "/products/123"), finds the localized URL pattern (e.g., "/produits/123").
48
+ * Given a canonical path (e.g., "/products/123"), finds the localized URL pattern
49
+ * (e.g., "/produits/123") and reports whether a rule actually matched.
50
+ *
51
+ * Takes already-normalized rules, so callers that resolve the rules once (proxies,
52
+ * static emitters) can reuse them. {@link getLocalizedPath} is the user-facing
53
+ * counterpart: it accepts the raw `routing.rewrite` configuration, defaults to the
54
+ * project configuration, and returns the path alone.
55
+ *
56
+ * @param canonicalPath - The internal application path (e.g. `/product/:id`, `/about`).
57
+ * @param locale - The target locale. Defaults to the configured default locale.
58
+ * @param rewriteRules - Normalized rules, as returned by {@link getRewriteRules}.
59
+ * @returns The localized path, discriminated on whether a rewrite rule matched.
20
60
  */
21
- declare const getLocalizedPath: (canonicalPath: string, locale: LocalesValues, rewriteRules?: RewriteRules) => LocalizedPathResult;
61
+ declare const resolveLocalizedPath: <const CanonicalPath extends string, const Locale extends LocalesValues = ResolvedDefaultLocale>(canonicalPath: CanonicalPath, locale?: Locale, rewriteRules?: RewriteRules) => LocalizedPathResult<CanonicalPath>;
22
62
  /**
23
63
  * Returns the internal path for a given canonical path and locale.
24
64
  * Ensures the locale prefix is present exactly once.
25
65
  */
26
- declare const getInternalPath: (canonicalPath: string, locale: Locale) => string;
66
+ declare const getInternalPath: <const Path extends string, const Locale extends LocalesValues>(canonicalPath: Path, locale: Locale) => InternalPath<Path, Locale>;
27
67
  /**
28
68
  * Given a current pathname and locale, returns the pretty localized path if a rewrite rule exists and the path is not already localized.
29
69
  */
30
- declare const getRewritePath: (pathname: string, locale: Locale, rewrite?: RoutingConfig['rewrite']) => string | undefined;
70
+ declare const getRewritePath: <const Path extends string, const Locale extends LocalesValues = ResolvedDefaultLocale>(pathname: Path, locale: Locale, rewrite?: RoutingConfig['rewrite']) => string | undefined;
31
71
  //#endregion
32
- export { LocalizedPathResult, getCanonicalPath, getInternalPath, getLocalizedPath, getRewritePath, getRewriteRules };
72
+ export { InternalPath, LocalizedPathResult, getCanonicalPath, getInternalPath, getRewritePath, getRewriteRules, resolveLocalizedPath };
33
73
  //# sourceMappingURL=rewriteUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rewriteUtils.d.ts","names":[],"sources":["../../../src/localization/rewriteUtils.ts"],"mappings":";;;;KAmBY;EACV;EACA;;;;;cAMW,kBAAe,SACjB,0BAAwB,gBAClB,kBACd;;;;;cA2EU,mBAAgB,uBACN,SACZ,QAAM,eACA;;;;cA2BJ,mBAAgB,uBACN,QACb,eAAa,eACN,iBACd;;;;;cA6BU,kBAAe,uBACL,QACb;;;;cAmBG,iBAAc,kBACT,QACR,QAAM,UACJ"}
1
+ {"version":3,"file":"rewriteUtils.d.ts","names":[],"sources":["../../../src/localization/rewriteUtils.ts"],"mappings":";;;;;;;;;;KAkBY,oBAAoB;EAC1B,MAAM;EAAe;;EACrB;EAAc;;;KAGf,iBAAiB,uBAAuB,4BACzC,WACI;;;;;;;;;;;;;;;KAgBI,aACV,qBACA,wCACiB,gBAEf,iBAAiB,qBAAoB,2BACnC,qBAAqB,eAAe,qBAClC,WACA,2BACM,eACA,SAAS;;;;;;;cASV,wBACL,sBAAsB,uBAAqB,SAExC,2BAA2B,cAAY,UACvC,YACR;;;;;cAsFU,yBACL,2BACA,eAAe,gBAAgB,eAAa,eAEnC,MAAI,SACV,QAAM,eACA;;;;;;;;;;;;;;;cA2CJ,6BACL,oCACA,eAAe,gBAAgB,uBAAqB,eAE3C,eAAa,SACnB,QAAM,eACA,iBACd,oBAAoB;;;;;cAkCV,wBACL,2BACA,eAAe,eAAa,eAEnB,MAAI,QACX,WACP,aAAa,MAAM;;;;cAoBT,uBACL,2BACA,eAAe,gBAAgB,uBAAqB,UAEhD,MAAI,QACN,QAAM,UACJ"}
@@ -0,0 +1 @@
1
+ export {}
@@ -90,6 +90,8 @@ declare const BREAK_THEMATIC_R: RegExp;
90
90
  /** Code block patterns */
91
91
  declare const CODE_BLOCK_FENCED_R: RegExp;
92
92
  declare const CODE_BLOCK_R: RegExp;
93
+ /** A single line opening or closing a fenced code block, with its indentation. */
94
+ declare const FENCE_DELIMITER_R: RegExp;
93
95
  declare const CODE_INLINE_R: RegExp;
94
96
  /** Newline patterns */
95
97
  declare const CONSECUTIVE_NEWLINE_R: RegExp;
@@ -183,5 +185,5 @@ declare const generateListRegex: (type: ListType) => RegExp;
183
185
  declare const ORDERED_LIST_R: RegExp;
184
186
  declare const UNORDERED_LIST_R: RegExp;
185
187
  //#endregion
186
- export { ATTRIBUTES_TO_SANITIZE, 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, CUSTOM_COMPONENT_R, DO_NOT_PROCESS_HTML_ELEMENTS, DURATION_DELAY_TRIGGER, FOOTNOTE_R, FOOTNOTE_REFERENCE_R, FORMFEED_R, FRONT_MATTER_R, GFM_TASK_R, HEADING_ATX_COMPLIANT_R, HEADING_R, HEADING_SETEXT_R, HTML_BLOCK_ELEMENT_R, HTML_CHAR_CODE_R, HTML_COMMENT_R, HTML_CUSTOM_ATTR_R, HTML_LEFT_TRIM_AMOUNT_R, HTML_SELF_CLOSING_ELEMENT_R, INLINE_SKIP_R, INTERPOLATION_R, LINK_AUTOLINK_BARE_URL_R, LINK_AUTOLINK_R, LIST_LOOKBEHIND_R, LOOKAHEAD, ListType, 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, PriorityValue, REFERENCE_IMAGE_OR_LINK, REFERENCE_IMAGE_R, REFERENCE_LINK_R, RuleType, RuleTypeValue, 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_PLAIN_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 };
188
+ export { ATTRIBUTES_TO_SANITIZE, 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, CUSTOM_COMPONENT_R, DO_NOT_PROCESS_HTML_ELEMENTS, DURATION_DELAY_TRIGGER, 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_BLOCK_ELEMENT_R, HTML_CHAR_CODE_R, HTML_COMMENT_R, HTML_CUSTOM_ATTR_R, HTML_LEFT_TRIM_AMOUNT_R, HTML_SELF_CLOSING_ELEMENT_R, INLINE_SKIP_R, INTERPOLATION_R, LINK_AUTOLINK_BARE_URL_R, LINK_AUTOLINK_R, LIST_LOOKBEHIND_R, LOOKAHEAD, ListType, 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, PriorityValue, REFERENCE_IMAGE_OR_LINK, REFERENCE_IMAGE_R, REFERENCE_LINK_R, RuleType, RuleTypeValue, 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_PLAIN_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 };
187
189
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","names":[],"sources":["../../../src/markdown/constants.ts"],"mappings":";;;;;cAQa;WACX;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;;WAEA;;WAEA;WACA;WACA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;KAUU,wBAAwB,uBAAuB;;;;cAS9C;;WAEX;;WAEA;;WAEA;;WAEA;;WAEA;;KAGU,wBAAwB,uBAAuB;;cAO9C;;;;;cAUA,4BAA4B;;;;cAuD5B,wBAAwB;;cAcxB;;cAGA;;cAcA,kBAAgB;;cAIhB,aAAW;;cAGX,cAAY;cACZ,kCAAgC;cAChC,oBAAkB;;cAGlB,cAAY;cACZ,kBAAgB;;cAGhB,qBAAmB;cAEnB,cAAY;cACZ,eAAa;;cAGb,uBAAqB;cACrB,cAAY;;cAGZ,YAAU;cACV,sBAAoB;;cAGpB,YAAU;;cAGV,gBAAc;;cAGd,YAAU;;cAGV,WAAS;cACT,yBAAuB;cAEvB,kBAAgB;;cAGhB,sBAAoB;cAEpB,kBAAgB;cAEhB,gBAAc;cACd,oBAAkB;cAClB,6BAA2B;;cAI3B,oBAAkB;;cAIlB,iBAAe;;cAGf,0BAAwB;cACxB,iBAAe;cACf,6BAA2B;;cAG3B,YAAU;cAEV,kBAAgB;cAChB,oBAAkB;cAClB,kBAAgB;cAChB,mBAAiB;;cAGjB,aAAW;;cAGX,yBAAuB;cAEvB,mBAAiB;cACjB,kBAAgB;;cAGhB,0BAAwB;;cAGxB,OAAK;cACL,wBAAsB;cACtB,yBAAuB;;cAGvB,mBAAiB;cACjB;cACA;;cAGA,gBAAc;cACd,YAAU;cACV,cAAY;;cAIZ,aAAW;KAMZ;cACC,SAAS;cACT,WAAW;;;;;cAUX,YAAS;;;;;cAOT;;cAIA,aAAW;;cAKX,mBAAiB;;cAKjB,eAAa;;cAKb,wBAAsB;cAQtB,yBAAsB,MAAU;cAQhC;cACA;cAEA,8BAA2B,MAAU,aAAW;cAOhD,4BAA0B;cAC1B,8BAA4B;cAG5B,wBAAqB,MAAU,aAAW;cAc1C,qBAAmB;cACnB,uBAAqB;cAErB,oBAAiB,MAAU,aAAW;cAiBtC,gBAAc;cACd,kBAAgB"}
1
+ {"version":3,"file":"constants.d.ts","names":[],"sources":["../../../src/markdown/constants.ts"],"mappings":";;;;;cAQa;WACX;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;;WAEA;;WAEA;WACA;WACA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;KAUU,wBAAwB,uBAAuB;;;;cAS9C;;WAEX;;WAEA;;WAEA;;WAEA;;WAEA;;KAGU,wBAAwB,uBAAuB;;cAO9C;;;;;cAUA,4BAA4B;;;;cAuD5B,wBAAwB;;cAcxB;;cAGA;;cAcA,kBAAgB;;cAIhB,aAAW;;cAGX,cAAY;cACZ,kCAAgC;cAChC,oBAAkB;;cAGlB,cAAY;cACZ,kBAAgB;;cAGhB,qBAAmB;cAEnB,cAAY;;cAEZ,mBAAiB;cACjB,eAAa;;cAGb,uBAAqB;cACrB,cAAY;;cAGZ,YAAU;cACV,sBAAoB;;cAGpB,YAAU;;cAGV,gBAAc;;cAGd,YAAU;;cAGV,WAAS;cACT,yBAAuB;cAEvB,kBAAgB;;cAGhB,sBAAoB;cAEpB,kBAAgB;cAEhB,gBAAc;cACd,oBAAkB;cAClB,6BAA2B;;cAI3B,oBAAkB;;cAIlB,iBAAe;;cAGf,0BAAwB;cACxB,iBAAe;cACf,6BAA2B;;cAG3B,YAAU;cAEV,kBAAgB;cAChB,oBAAkB;cAClB,kBAAgB;cAChB,mBAAiB;;cAGjB,aAAW;;cAGX,yBAAuB;cAEvB,mBAAiB;cACjB,kBAAgB;;cAGhB,0BAAwB;;cAGxB,OAAK;cACL,wBAAsB;cACtB,yBAAuB;;cAGvB,mBAAiB;cACjB;cACA;;cAGA,gBAAc;cACd,YAAU;cACV,cAAY;;cAIZ,aAAW;KAMZ;cACC,SAAS;cACT,WAAW;;;;;cAUX,YAAS;;;;;cAOT;;cAIA,aAAW;;cAKX,mBAAiB;;cAKjB,eAAa;;cAKb,wBAAsB;cAQtB,yBAAsB,MAAU;cAQhC;cACA;cAEA,8BAA2B,MAAU,aAAW;cAOhD,4BAA0B;cAC1B,8BAA4B;cAG5B,wBAAqB,MAAU,aAAW;cAc1C,qBAAmB;cACnB,uBAAqB;cAErB,oBAAiB,MAAU,aAAW;cAiBtC,gBAAc;cACd,kBAAgB"}
@@ -5,8 +5,8 @@ import { MarkdownValidationResult, validateMarkdown } from "../transpiler/markdo
5
5
  import "../transpiler/markdown/index.js";
6
6
  import { BlockQuoteNode, BoldTextNode, BreakLineNode, BreakThematicNode, CodeBlockNode, CodeFencedNode, CodeInlineNode, CompileOptions, ComponentOverrides, CustomComponentNode, ElementType, EscapedTextNode, FootnoteNode, FootnoteReferenceNode, GFMTaskNode, HTMLCommentNode, HTMLNode, HTMLSelfClosingNode, HTMLTag, HeadingNode, HeadingSetextNode, ImageNode, ItalicTextNode, LinkAngleBraceNode, LinkBareURLNode, LinkNode, MarkdownContext, MarkdownOptions, MarkdownRuntime, MarkedTextNode, NestedParser, NewlineNode, OrderedListNode, ParagraphNode, ParseState, Parser, ParserResult, ReferenceImageNode, ReferenceLinkNode, ReferenceNode, RenderRuleHook, Rule, RuleOutput, Rules, StrikethroughTextNode, TableNode, TableSeparatorNode, TextNode, UnorderedListNode } from "./types.js";
7
7
  import { MarkdownReferences, ParsedMarkdown, compile, compileWithOptions, createCompiler, parseMarkdown, renderMarkdownAst } from "./compiler.js";
8
- import { ATTRIBUTES_TO_SANITIZE, 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, CUSTOM_COMPONENT_R, DO_NOT_PROCESS_HTML_ELEMENTS, DURATION_DELAY_TRIGGER, FOOTNOTE_R, FOOTNOTE_REFERENCE_R, FORMFEED_R, FRONT_MATTER_R, GFM_TASK_R, HEADING_ATX_COMPLIANT_R, HEADING_R, HEADING_SETEXT_R, HTML_BLOCK_ELEMENT_R, HTML_CHAR_CODE_R, HTML_COMMENT_R, HTML_CUSTOM_ATTR_R, HTML_LEFT_TRIM_AMOUNT_R, HTML_SELF_CLOSING_ELEMENT_R, INLINE_SKIP_R, INTERPOLATION_R, LINK_AUTOLINK_BARE_URL_R, LINK_AUTOLINK_R, LIST_LOOKBEHIND_R, LOOKAHEAD, ListType, 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, PriorityValue, REFERENCE_IMAGE_OR_LINK, REFERENCE_IMAGE_R, REFERENCE_LINK_R, RuleType, RuleTypeValue, 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_PLAIN_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.js";
8
+ import { ATTRIBUTES_TO_SANITIZE, 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, CUSTOM_COMPONENT_R, DO_NOT_PROCESS_HTML_ELEMENTS, DURATION_DELAY_TRIGGER, 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_BLOCK_ELEMENT_R, HTML_CHAR_CODE_R, HTML_COMMENT_R, HTML_CUSTOM_ATTR_R, HTML_LEFT_TRIM_AMOUNT_R, HTML_SELF_CLOSING_ELEMENT_R, INLINE_SKIP_R, INTERPOLATION_R, LINK_AUTOLINK_BARE_URL_R, LINK_AUTOLINK_R, LIST_LOOKBEHIND_R, LOOKAHEAD, ListType, 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, PriorityValue, REFERENCE_IMAGE_OR_LINK, REFERENCE_IMAGE_R, REFERENCE_LINK_R, RuleType, RuleTypeValue, 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_PLAIN_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.js";
9
9
  import { parserFor } from "./parser.js";
10
10
  import { createRenderer, renderFor } from "./renderer.js";
11
11
  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.js";
12
- export { ATTRIBUTES_TO_SANITIZE, 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, type BlockQuoteNode, type BoldTextNode, type BreakLineNode, type BreakThematicNode, CAPTURE_LETTER_AFTER_HYPHEN, CODE_BLOCK_FENCED_R, CODE_BLOCK_R, CODE_INLINE_R, CONSECUTIVE_NEWLINE_R, CR_NEWLINE_R, CUSTOM_COMPONENT_R, type CodeBlockNode, type CodeFencedNode, type CodeInlineNode, type CompileOptions, type ComponentOverrides, type CustomComponentNode, DO_NOT_PROCESS_HTML_ELEMENTS, DURATION_DELAY_TRIGGER, type ElementType, type EscapedTextNode, FOOTNOTE_R, FOOTNOTE_REFERENCE_R, FORMFEED_R, FRONT_MATTER_R, type FootnoteNode, type FootnoteReferenceNode, type GFMTaskNode, GFM_TASK_R, HEADING_ATX_COMPLIANT_R, HEADING_R, HEADING_SETEXT_R, type HTMLCommentNode, type HTMLNode, type HTMLSelfClosingNode, type HTMLTag, HTML_BLOCK_ELEMENT_R, HTML_CHAR_CODE_R, HTML_COMMENT_R, HTML_CUSTOM_ATTR_R, HTML_LEFT_TRIM_AMOUNT_R, HTML_SELF_CLOSING_ELEMENT_R, type HeadingNode, type HeadingSetextNode, INLINE_SKIP_R, INTERPOLATION_R, type ImageNode, type ItalicTextNode, LINK_AUTOLINK_BARE_URL_R, LINK_AUTOLINK_R, LIST_LOOKBEHIND_R, LOOKAHEAD, type LinkAngleBraceNode, type LinkBareURLNode, type LinkNode, ListType, MarkdownContent, MarkdownContentConstructor, type MarkdownContext, type MarkdownOptions, MarkdownReferences, type MarkdownRuntime, type HTMLValidationIssue as MarkdownValidationIssue, MarkdownValidationResult, type MarkedTextNode, NAMED_CODES_TO_UNICODE, NP_TABLE_R, type NestedParser, type NewlineNode, ORDERED, ORDERED_LIST_BULLET, ORDERED_LIST_ITEM_PREFIX, ORDERED_LIST_ITEM_PREFIX_R, ORDERED_LIST_ITEM_R, ORDERED_LIST_R, type OrderedListNode, PARAGRAPH_R, type ParagraphNode, type ParseState, ParsedMarkdown, type Parser, type ParserResult, Priority, PriorityValue, REFERENCE_IMAGE_OR_LINK, REFERENCE_IMAGE_R, REFERENCE_LINK_R, type ReferenceImageNode, type ReferenceLinkNode, type ReferenceNode, type RenderRuleHook, type Rule, type RuleOutput, RuleType, RuleTypeValue, type Rules, SHORTCODE_R, SHOULD_RENDER_AS_BLOCK_R, type StrikethroughTextNode, 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_PLAIN_R, TEXT_STRIKETHROUGHED_R, TRIM_STARTING_NEWLINES, type TableNode, type TableSeparatorNode, type TextNode, UNESCAPE_R, UNORDERED, UNORDERED_LIST_BULLET, UNORDERED_LIST_ITEM_PREFIX, UNORDERED_LIST_ITEM_PREFIX_R, UNORDERED_LIST_ITEM_R, UNORDERED_LIST_R, type UnorderedListNode, allowInline, anyScopeRegex, attributeValueToNodePropValue, blockRegex, captureNothing, compile, compileWithOptions, createCompiler, createRenderer, cx, generateListItemPrefix, generateListItemPrefixRegex, generateListItemRegex, generateListRegex, get, getMarkdownMetadata, 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 };
12
+ export { ATTRIBUTES_TO_SANITIZE, 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, type BlockQuoteNode, type BoldTextNode, type BreakLineNode, type BreakThematicNode, CAPTURE_LETTER_AFTER_HYPHEN, CODE_BLOCK_FENCED_R, CODE_BLOCK_R, CODE_INLINE_R, CONSECUTIVE_NEWLINE_R, CR_NEWLINE_R, CUSTOM_COMPONENT_R, type CodeBlockNode, type CodeFencedNode, type CodeInlineNode, type CompileOptions, type ComponentOverrides, type CustomComponentNode, DO_NOT_PROCESS_HTML_ELEMENTS, DURATION_DELAY_TRIGGER, type ElementType, type EscapedTextNode, FENCE_DELIMITER_R, FOOTNOTE_R, FOOTNOTE_REFERENCE_R, FORMFEED_R, FRONT_MATTER_R, type FootnoteNode, type FootnoteReferenceNode, type GFMTaskNode, GFM_TASK_R, HEADING_ATX_COMPLIANT_R, HEADING_R, HEADING_SETEXT_R, type HTMLCommentNode, type HTMLNode, type HTMLSelfClosingNode, type HTMLTag, HTML_BLOCK_ELEMENT_R, HTML_CHAR_CODE_R, HTML_COMMENT_R, HTML_CUSTOM_ATTR_R, HTML_LEFT_TRIM_AMOUNT_R, HTML_SELF_CLOSING_ELEMENT_R, type HeadingNode, type HeadingSetextNode, INLINE_SKIP_R, INTERPOLATION_R, type ImageNode, type ItalicTextNode, LINK_AUTOLINK_BARE_URL_R, LINK_AUTOLINK_R, LIST_LOOKBEHIND_R, LOOKAHEAD, type LinkAngleBraceNode, type LinkBareURLNode, type LinkNode, ListType, MarkdownContent, MarkdownContentConstructor, type MarkdownContext, type MarkdownOptions, MarkdownReferences, type MarkdownRuntime, type HTMLValidationIssue as MarkdownValidationIssue, MarkdownValidationResult, type MarkedTextNode, NAMED_CODES_TO_UNICODE, NP_TABLE_R, type NestedParser, type NewlineNode, ORDERED, ORDERED_LIST_BULLET, ORDERED_LIST_ITEM_PREFIX, ORDERED_LIST_ITEM_PREFIX_R, ORDERED_LIST_ITEM_R, ORDERED_LIST_R, type OrderedListNode, PARAGRAPH_R, type ParagraphNode, type ParseState, ParsedMarkdown, type Parser, type ParserResult, Priority, PriorityValue, REFERENCE_IMAGE_OR_LINK, REFERENCE_IMAGE_R, REFERENCE_LINK_R, type ReferenceImageNode, type ReferenceLinkNode, type ReferenceNode, type RenderRuleHook, type Rule, type RuleOutput, RuleType, RuleTypeValue, type Rules, SHORTCODE_R, SHOULD_RENDER_AS_BLOCK_R, type StrikethroughTextNode, 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_PLAIN_R, TEXT_STRIKETHROUGHED_R, TRIM_STARTING_NEWLINES, type TableNode, type TableSeparatorNode, type TextNode, UNESCAPE_R, UNORDERED, UNORDERED_LIST_BULLET, UNORDERED_LIST_ITEM_PREFIX, UNORDERED_LIST_ITEM_PREFIX_R, UNORDERED_LIST_ITEM_R, UNORDERED_LIST_R, type UnorderedListNode, allowInline, anyScopeRegex, attributeValueToNodePropValue, blockRegex, captureNothing, compile, compileWithOptions, createCompiler, createRenderer, cx, generateListItemPrefix, generateListItemPrefixRegex, generateListItemRegex, generateListRegex, get, getMarkdownMetadata, 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 };
@@ -41,6 +41,12 @@ declare const normalizeWhitespace: (source: string) => string;
41
41
  /**
42
42
  * Safely remove a uniform leading indentation from lines, but do NOT touch
43
43
  * the content inside fenced code blocks (``` or ~~~).
44
+ *
45
+ * Inside a fenced block the structural indentation is irrelevant: what matters
46
+ * is the indentation of the opening fence itself, which is the only amount
47
+ * CommonMark strips from the code lines. A block nested in an indented HTML
48
+ * element but written with its fence at column 0 therefore keeps its code
49
+ * verbatim, instead of losing the first level of indentation.
44
50
  */
45
51
  declare const trimLeadingWhitespaceOutsideFences: (text: string, whitespace: string) => string;
46
52
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","names":[],"sources":["../../../src/markdown/utils.ts"],"mappings":";;;;;cAwBa,UAAO;;;;cAWP,aAAU,aAAe;;;;cAOzB,UAAO;;;;cAiBP,iBAAc;;;;cAMd,QAAE;;;;cAKF,MAAG,UAAY,cAAc;;;;;cAsB7B,UAAO;;;;;cAyBP,YAAS;;;;cAgCT,sBAAmB;;;;;cAsBnB,qCAAkC,cACjC;;;;cA8BD,wBAAqB;KAY7B,cAAc,aAAa;;;;cAKnB,sBAAmB,wBAA0B;;;;cAwE7C,gCAA6B,aAC7B,aACA,eACE,gBAEX,eACA,aACA;;;;cA0CS,yBAAsB;;;;cAiBtB,kBAAe;;;;cAUf,gBAAa,gBACV,OACP,cAAY,OACZ,YAAU,yBAEhB;;;;cAsDU,kBAAe,gBACZ,OACP,cAAY,OACZ,eACN;;;;cAyBU,YAAS,gBACN,OACP,YAAU,SACR,YAAY;;;;cAmBV,cAAe,cAAc,qBAAmB,IACvD,MACH;EAAM;;;;;cAQI,cAAW,OAAW,aAAM,gBACZ,OAAS,eAAa;EATlC;;;;;cAoBJ,oBAAiB,OAAW,aAAM,gBAClB,OAAS,eAAa;EArBlC;;;;;cAgCJ,aAAU,OACb,YAAM,gBACC,OAAS,eAAa;;;;cAW1B,gBAAa,IACpB,WAAW,gBAAgB,OAAO,eAAe,+BAAwB,gBAElD,OAAS,eAAa;EAhDlC;;;;;cA0DJ,cAAW,OACf,cAAY,kBACH,OACT,eACN;;;;cAuBU,oBAAiB,OACrB,cAAY,kBACH,OACT,eACN;;;;cAwBU,aAAU,OACd,cAAY,kBACH,QACT,eACN;;;;cA4BU,qBAAkB,SACpB,kBAAgB,OAClB,cAAY,OACZ;EACJ,UAAU;;;;;cASF,sBAAqB;;;;cAKrB;;;;cAKA,OAAI,SAAa,UAAQ"}
1
+ {"version":3,"file":"utils.d.ts","names":[],"sources":["../../../src/markdown/utils.ts"],"mappings":";;;;;cAyBa,UAAO;;;;cAWP,aAAU,aAAe;;;;cAOzB,UAAO;;;;cAiBP,iBAAc;;;;cAMd,QAAE;;;;cAKF,MAAG,UAAY,cAAc;;;;;cAsB7B,UAAO;;;;;cAyBP,YAAS;;;;cAgCT,sBAAmB;;;;;;;;;;;cA4BnB,qCAAkC,cACjC;;;;cAgDD,wBAAqB;KAY7B,cAAc,aAAa;;;;cAKnB,sBAAmB,wBAA0B;;;;cAwE7C,gCAA6B,aAC7B,aACA,eACE,gBAEX,eACA,aACA;;;;cA0CS,yBAAsB;;;;cAiBtB,kBAAe;;;;cAUf,gBAAa,gBACV,OACP,cAAY,OACZ,YAAU,yBAEhB;;;;cAsDU,kBAAe,gBACZ,OACP,cAAY,OACZ,eACN;;;;cAyBU,YAAS,gBACN,OACP,YAAU,SACR,YAAY;;;;cAmBV,cAAe,cAAc,qBAAmB,IACvD,MACH;EAAM;;;;;cAQI,cAAW,OAAW,aAAM,gBACZ,OAAS,eAAa;EATlC;;;;;cAoBJ,oBAAiB,OAAW,aAAM,gBAClB,OAAS,eAAa;EArBlC;;;;;cAgCJ,aAAU,OACb,YAAM,gBACC,OAAS,eAAa;;;;cAW1B,gBAAa,IACpB,WAAW,gBAAgB,OAAO,eAAe,+BAAwB,gBAElD,OAAS,eAAa;EAhDlC;;;;;cA0DJ,cAAW,OACf,cAAY,kBACH,OACT,eACN;;;;cAuBU,oBAAiB,OACrB,cAAY,kBACH,OACT,eACN;;;;cAwBU,aAAU,OACd,cAAY,kBACH,QACT,eACN;;;;cA4BU,qBAAkB,SACpB,kBAAgB,OAClB,cAAY,OACZ;EACJ,UAAU;;;;;cASF,sBAAqB;;;;cAKrB;;;;cAKA,OAAI,SAAa,UAAQ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intlayer/core",
3
- "version": "9.3.2",
3
+ "version": "9.3.3",
4
4
  "private": false,
5
5
  "description": "Includes core Intlayer functions like translation, dictionary, and utility functions shared across multiple packages.",
6
6
  "keywords": [
@@ -173,10 +173,10 @@
173
173
  },
174
174
  "dependencies": {
175
175
  "@intlayer/api": "9.3.2",
176
- "@intlayer/config": "9.3.2",
177
- "@intlayer/dictionaries-entry": "9.3.2",
178
- "@intlayer/types": "9.3.2",
179
- "@intlayer/unmerged-dictionaries-entry": "9.3.2",
176
+ "@intlayer/config": "9.3.3",
177
+ "@intlayer/dictionaries-entry": "9.3.3",
178
+ "@intlayer/types": "9.3.3",
179
+ "@intlayer/unmerged-dictionaries-entry": "9.3.3",
180
180
  "defu": "6.1.7"
181
181
  },
182
182
  "devDependencies": {
@@ -187,7 +187,7 @@
187
187
  "rimraf": "6.1.3",
188
188
  "tsdown": "0.22.14",
189
189
  "typescript": "7.0.2",
190
- "vitest": "4.1.10"
190
+ "vitest": "4.1.11"
191
191
  },
192
192
  "engines": {
193
193
  "node": ">=14.18"