@intlayer/core 8.4.0-canary.0 → 8.4.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.
- package/dist/cjs/{_virtual/_rolldown/runtime.cjs → chunk-Bmb41Sf3.cjs} +1 -1
- package/dist/cjs/deepTransformPlugins/getFilterMissingTranslationsContent.cjs +1 -1
- package/dist/cjs/deepTransformPlugins/getFilterMissingTranslationsContent.cjs.map +1 -1
- package/dist/cjs/deepTransformPlugins/getFilterTranslationsOnlyContent.cjs +1 -1
- package/dist/cjs/deepTransformPlugins/getFilterTranslationsOnlyContent.cjs.map +1 -1
- package/dist/cjs/deepTransformPlugins/getFilteredLocalesContent.cjs +1 -1
- package/dist/cjs/deepTransformPlugins/getFilteredLocalesContent.cjs.map +1 -1
- package/dist/cjs/deepTransformPlugins/getLocalizedContent.cjs +1 -1
- package/dist/cjs/deepTransformPlugins/getLocalizedContent.cjs.map +1 -1
- package/dist/cjs/deepTransformPlugins/getMissingLocalesContent.cjs +1 -1
- package/dist/cjs/deepTransformPlugins/getMissingLocalesContent.cjs.map +1 -1
- package/dist/cjs/deepTransformPlugins/getSplittedContent.cjs +1 -1
- package/dist/cjs/deepTransformPlugins/getSplittedContent.cjs.map +1 -1
- package/dist/cjs/deepTransformPlugins/insertContentInDictionary.cjs +1 -1
- package/dist/cjs/deepTransformPlugins/insertContentInDictionary.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/editDictionaryByKeyPath.cjs +1 -1
- package/dist/cjs/dictionaryManipulator/editDictionaryByKeyPath.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/getContentNodeByKeyPath.cjs +1 -1
- package/dist/cjs/dictionaryManipulator/getContentNodeByKeyPath.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/getDefaultNode.cjs +1 -1
- package/dist/cjs/dictionaryManipulator/getDefaultNode.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/getEmptyNode.cjs +1 -1
- package/dist/cjs/dictionaryManipulator/getEmptyNode.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/getNodeChildren.cjs +1 -1
- package/dist/cjs/dictionaryManipulator/getNodeChildren.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/getNodeType.cjs +1 -1
- package/dist/cjs/dictionaryManipulator/getNodeType.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/mergeDictionaries.cjs +1 -1
- package/dist/cjs/dictionaryManipulator/mergeDictionaries.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/orderDictionaries.cjs +1 -1
- package/dist/cjs/dictionaryManipulator/orderDictionaries.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/removeContentNodeByKeyPath.cjs +1 -1
- package/dist/cjs/dictionaryManipulator/removeContentNodeByKeyPath.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/renameContentNodeByKeyPath.cjs +1 -1
- package/dist/cjs/dictionaryManipulator/renameContentNodeByKeyPath.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/updateNodeChildren.cjs +1 -1
- package/dist/cjs/dictionaryManipulator/updateNodeChildren.cjs.map +1 -1
- package/dist/cjs/formatters/compact.cjs +1 -1
- package/dist/cjs/formatters/compact.cjs.map +1 -1
- package/dist/cjs/formatters/currency.cjs +1 -1
- package/dist/cjs/formatters/currency.cjs.map +1 -1
- package/dist/cjs/formatters/date.cjs +1 -1
- package/dist/cjs/formatters/date.cjs.map +1 -1
- package/dist/cjs/formatters/list.cjs +1 -1
- package/dist/cjs/formatters/list.cjs.map +1 -1
- package/dist/cjs/formatters/number.cjs +1 -1
- package/dist/cjs/formatters/number.cjs.map +1 -1
- package/dist/cjs/formatters/percentage.cjs +1 -1
- package/dist/cjs/formatters/percentage.cjs.map +1 -1
- package/dist/cjs/formatters/relativeTime.cjs +1 -1
- package/dist/cjs/formatters/relativeTime.cjs.map +1 -1
- package/dist/cjs/formatters/units.cjs +1 -1
- package/dist/cjs/formatters/units.cjs.map +1 -1
- package/dist/cjs/getContent-DrqM8pqO.cjs +2 -0
- package/dist/cjs/getContent-DrqM8pqO.cjs.map +1 -0
- package/dist/cjs/getStorageAttributes.cjs +1 -1
- package/dist/cjs/getStorageAttributes.cjs.map +1 -1
- package/dist/cjs/html-CZ1N-VL0.cjs +2 -0
- package/dist/cjs/html-CZ1N-VL0.cjs.map +1 -0
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/interpreter/getContent/deepTransform.cjs +1 -1
- package/dist/cjs/interpreter/getContent/deepTransform.cjs.map +1 -1
- package/dist/cjs/interpreter/getContent/getContent.cjs +1 -2
- package/dist/cjs/interpreter/getContent/index.cjs +1 -1
- package/dist/cjs/interpreter/getContent/plugins.cjs +1 -2
- package/dist/cjs/interpreter/getDictionary.cjs +1 -2
- package/dist/cjs/interpreter/getIntlayer.cjs +1 -2
- package/dist/cjs/interpreter/getNesting.cjs +1 -2
- package/dist/cjs/interpreter/index.cjs +1 -1
- package/dist/cjs/localization/getBrowserLocale.cjs +1 -1
- package/dist/cjs/localization/getBrowserLocale.cjs.map +1 -1
- package/dist/cjs/localization/getHTMLTextDir.cjs +1 -1
- package/dist/cjs/localization/getHTMLTextDir.cjs.map +1 -1
- package/dist/cjs/localization/getLocale.cjs +1 -1
- package/dist/cjs/localization/getLocale.cjs.map +1 -1
- package/dist/cjs/localization/getLocaleFromPath.cjs +1 -1
- package/dist/cjs/localization/getLocaleFromPath.cjs.map +1 -1
- package/dist/cjs/localization/getLocalizedUrl.cjs +1 -1
- package/dist/cjs/localization/getLocalizedUrl.cjs.map +1 -1
- package/dist/cjs/localization/getMultilingualUrls.cjs +1 -1
- package/dist/cjs/localization/getMultilingualUrls.cjs.map +1 -1
- package/dist/cjs/localization/getPathWithoutLocale.cjs +1 -1
- package/dist/cjs/localization/getPathWithoutLocale.cjs.map +1 -1
- package/dist/cjs/localization/getPrefix.cjs +1 -1
- package/dist/cjs/localization/getPrefix.cjs.map +1 -1
- package/dist/cjs/localization/localeMapper.cjs +1 -1
- package/dist/cjs/localization/localeMapper.cjs.map +1 -1
- package/dist/cjs/localization/localeResolver.cjs +1 -1
- package/dist/cjs/localization/localeResolver.cjs.map +1 -1
- package/dist/cjs/localization/validatePrefix.cjs +1 -1
- package/dist/cjs/localization/validatePrefix.cjs.map +1 -1
- package/dist/cjs/messageFormat/ICU.cjs +1 -1
- package/dist/cjs/messageFormat/ICU.cjs.map +1 -1
- package/dist/cjs/messageFormat/i18next.cjs +1 -1
- package/dist/cjs/messageFormat/i18next.cjs.map +1 -1
- package/dist/cjs/messageFormat/vue-i18n.cjs +1 -1
- package/dist/cjs/messageFormat/vue-i18n.cjs.map +1 -1
- package/dist/cjs/transpiler/condition/condition.cjs +1 -1
- package/dist/cjs/transpiler/condition/condition.cjs.map +1 -1
- package/dist/cjs/transpiler/enumeration/enumeration.cjs +1 -1
- package/dist/cjs/transpiler/enumeration/enumeration.cjs.map +1 -1
- package/dist/cjs/transpiler/file/file.cjs +1 -1
- package/dist/cjs/transpiler/file/file.cjs.map +1 -1
- package/dist/cjs/transpiler/gender/gender.cjs +1 -1
- package/dist/cjs/transpiler/gender/gender.cjs.map +1 -1
- package/dist/cjs/transpiler/html/getHTMLCustomComponents.cjs +1 -2
- package/dist/cjs/transpiler/html/html.cjs +1 -2
- package/dist/cjs/transpiler/html/index.cjs +1 -1
- package/dist/cjs/transpiler/index.cjs +1 -1
- package/dist/cjs/transpiler/insertion/insertion.cjs +1 -1
- package/dist/cjs/transpiler/insertion/insertion.cjs.map +1 -1
- package/dist/cjs/transpiler/markdown/markdown.cjs +1 -1
- package/dist/cjs/transpiler/markdown/markdown.cjs.map +1 -1
- package/dist/cjs/transpiler/nesting/nesting.cjs +1 -1
- package/dist/cjs/transpiler/nesting/nesting.cjs.map +1 -1
- package/dist/cjs/transpiler/translation/translation.cjs +1 -1
- package/dist/cjs/transpiler/translation/translation.cjs.map +1 -1
- package/dist/cjs/utils/intl.cjs +1 -1
- package/dist/cjs/utils/intl.cjs.map +1 -1
- package/dist/cjs/utils/localeStorage.cjs +1 -1
- package/dist/cjs/utils/localeStorage.cjs.map +1 -1
- package/dist/esm/deepTransformPlugins/getLocalizedContent.mjs +1 -1
- package/dist/esm/deepTransformPlugins/getLocalizedContent.mjs.map +1 -1
- package/dist/esm/formatters/list.mjs.map +1 -1
- package/dist/esm/getContent-DKqtIZGL.mjs +2 -0
- package/dist/esm/getContent-DKqtIZGL.mjs.map +1 -0
- package/dist/esm/html-3bo80xzx.mjs +2 -0
- package/dist/esm/html-3bo80xzx.mjs.map +1 -0
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/interpreter/getContent/getContent.mjs +1 -2
- package/dist/esm/interpreter/getContent/index.mjs +1 -1
- package/dist/esm/interpreter/getContent/plugins.mjs +1 -2
- package/dist/esm/interpreter/getDictionary.mjs +1 -2
- package/dist/esm/interpreter/getIntlayer.mjs +1 -2
- package/dist/esm/interpreter/getNesting.mjs +1 -2
- package/dist/esm/interpreter/index.mjs +1 -1
- package/dist/esm/localization/getBrowserLocale.mjs +1 -1
- package/dist/esm/localization/getBrowserLocale.mjs.map +1 -1
- package/dist/esm/localization/getHTMLTextDir.mjs +1 -1
- package/dist/esm/localization/getHTMLTextDir.mjs.map +1 -1
- package/dist/esm/localization/localeMapper.mjs.map +1 -1
- package/dist/esm/messageFormat/ICU.mjs +1 -1
- package/dist/esm/messageFormat/ICU.mjs.map +1 -1
- package/dist/esm/messageFormat/i18next.mjs +1 -1
- package/dist/esm/messageFormat/i18next.mjs.map +1 -1
- package/dist/esm/transpiler/html/getHTMLCustomComponents.mjs +1 -2
- package/dist/esm/transpiler/html/html.mjs +1 -2
- package/dist/esm/transpiler/html/index.mjs +1 -1
- package/dist/esm/transpiler/index.mjs +1 -1
- package/dist/esm/transpiler/markdown/markdown.mjs +1 -1
- package/dist/esm/transpiler/markdown/markdown.mjs.map +1 -1
- package/dist/esm/utils/intl.mjs +1 -1
- package/dist/esm/utils/intl.mjs.map +1 -1
- package/dist/types/ICU-tA3ZHN5U.d.ts +11 -0
- package/dist/types/ICU-tA3ZHN5U.d.ts.map +1 -0
- package/dist/types/checkIsURLAbsolute-CTf3JFU6.d.ts +5 -0
- package/dist/types/checkIsURLAbsolute-CTf3JFU6.d.ts.map +1 -0
- package/dist/types/compact-IHXcM4pT.d.ts +20 -0
- package/dist/types/compact-IHXcM4pT.d.ts.map +1 -0
- package/dist/types/compiler-DFiAsUdH.d.ts +9 -0
- package/dist/types/compiler-DFiAsUdH.d.ts.map +1 -0
- package/dist/types/condition-BDUtoh_1.d.ts +28 -0
- package/dist/types/condition-BDUtoh_1.d.ts.map +1 -0
- package/dist/types/constants-CI_D82B1.d.ts +177 -0
- package/dist/types/constants-CI_D82B1.d.ts.map +1 -0
- package/dist/types/currency-PbMCnHep.d.ts +20 -0
- package/dist/types/currency-PbMCnHep.d.ts.map +1 -0
- package/dist/types/date-C-PI8KqU.d.ts +20 -0
- package/dist/types/date-C-PI8KqU.d.ts.map +1 -0
- package/dist/types/deepTransformPlugins/getFilterMissingTranslationsContent.d.ts +2 -50
- package/dist/types/deepTransformPlugins/getFilterTranslationsOnlyContent.d.ts +2 -42
- package/dist/types/deepTransformPlugins/getFilteredLocalesContent.d.ts +2 -34
- package/dist/types/deepTransformPlugins/getLocalizedContent.d.ts +2 -18
- package/dist/types/deepTransformPlugins/getMaskContent.d.ts +2 -10
- package/dist/types/deepTransformPlugins/getMissingLocalesContent.d.ts +2 -19
- package/dist/types/deepTransformPlugins/getMultilingualDictionary.d.ts +2 -32
- package/dist/types/deepTransformPlugins/getReplacedValuesContent.d.ts +2 -8
- package/dist/types/deepTransformPlugins/getSplittedContent.d.ts +2 -43
- package/dist/types/deepTransformPlugins/index.d.ts +10 -10
- package/dist/types/deepTransformPlugins/insertContentInDictionary.d.ts +2 -25
- package/dist/types/dictionaryManipulator/editDictionaryByKeyPath.d.ts +2 -8
- package/dist/types/dictionaryManipulator/getContentNodeByKeyPath.d.ts +2 -9
- package/dist/types/dictionaryManipulator/getDefaultNode.d.ts +2 -9
- package/dist/types/dictionaryManipulator/getEmptyNode.d.ts +2 -7
- package/dist/types/dictionaryManipulator/getNodeChildren.d.ts +2 -7
- package/dist/types/dictionaryManipulator/getNodeType.d.ts +2 -8
- package/dist/types/dictionaryManipulator/index.d.ts +12 -12
- package/dist/types/dictionaryManipulator/mergeDictionaries.d.ts +2 -7
- package/dist/types/dictionaryManipulator/normalizeDictionary.d.ts +2 -9
- package/dist/types/dictionaryManipulator/orderDictionaries.d.ts +2 -15
- package/dist/types/dictionaryManipulator/removeContentNodeByKeyPath.d.ts +2 -8
- package/dist/types/dictionaryManipulator/renameContentNodeByKeyPath.d.ts +2 -8
- package/dist/types/dictionaryManipulator/updateNodeChildren.d.ts +2 -7
- package/dist/types/editDictionaryByKeyPath-BYIHcsyf.d.ts +8 -0
- package/dist/types/editDictionaryByKeyPath-BYIHcsyf.d.ts.map +1 -0
- package/dist/types/enumeration-CtuvB5Zz.d.ts +40 -0
- package/dist/types/enumeration-CtuvB5Zz.d.ts.map +1 -0
- package/dist/types/file-C3q8xvQb.d.ts +28 -0
- package/dist/types/file-C3q8xvQb.d.ts.map +1 -0
- package/dist/types/formatters/compact.d.ts +2 -20
- package/dist/types/formatters/currency.d.ts +2 -20
- package/dist/types/formatters/date.d.ts +2 -20
- package/dist/types/formatters/index.d.ts +10 -10
- package/dist/types/formatters/list.d.ts +2 -24
- package/dist/types/formatters/number.d.ts +2 -16
- package/dist/types/formatters/percentage.d.ts +2 -16
- package/dist/types/formatters/relativeTime.d.ts +2 -11
- package/dist/types/formatters/units.d.ts +2 -16
- package/dist/types/gender-Dd39Ijmf.d.ts +29 -0
- package/dist/types/gender-Dd39Ijmf.d.ts.map +1 -0
- package/dist/types/getBrowserLocale-RD_Mwv1t.d.ts +35 -0
- package/dist/types/getBrowserLocale-RD_Mwv1t.d.ts.map +1 -0
- package/dist/types/getContentNodeByKeyPath-B0Tdi5mj.d.ts +9 -0
- package/dist/types/getContentNodeByKeyPath-B0Tdi5mj.d.ts.map +1 -0
- package/dist/types/getCookie-DPOvVv_h.d.ts +11 -0
- package/dist/types/getCookie-DPOvVv_h.d.ts.map +1 -0
- package/dist/types/getDefaultNode-DQNsje2D.d.ts +9 -0
- package/dist/types/getDefaultNode-DQNsje2D.d.ts.map +1 -0
- package/dist/types/getEmptyNode-DW27TTBj.d.ts +7 -0
- package/dist/types/getEmptyNode-DW27TTBj.d.ts.map +1 -0
- package/dist/types/getFilterMissingTranslationsContent-CDNQqoy1.d.ts +50 -0
- package/dist/types/getFilterMissingTranslationsContent-CDNQqoy1.d.ts.map +1 -0
- package/dist/types/getFilterTranslationsOnlyContent-D2YgBkHn.d.ts +42 -0
- package/dist/types/getFilterTranslationsOnlyContent-D2YgBkHn.d.ts.map +1 -0
- package/dist/types/getFilteredLocalesContent-D0GP-uEg.d.ts +34 -0
- package/dist/types/getFilteredLocalesContent-D0GP-uEg.d.ts.map +1 -0
- package/dist/types/getHTML-CP6OXtdo.d.ts +32 -0
- package/dist/types/getHTML-CP6OXtdo.d.ts.map +1 -0
- package/dist/types/getHTMLTextDir-4Zh8J3x7.d.ts +21 -0
- package/dist/types/getHTMLTextDir-4Zh8J3x7.d.ts.map +1 -0
- package/dist/types/getInsertionValues-Cu9IdbuE.d.ts +5 -0
- package/dist/types/getInsertionValues-Cu9IdbuE.d.ts.map +1 -0
- package/dist/types/getLocale-B9dECUM_.d.ts +11 -0
- package/dist/types/getLocale-B9dECUM_.d.ts.map +1 -0
- package/dist/types/getLocaleFromPath-621W32QA.d.ts +26 -0
- package/dist/types/getLocaleFromPath-621W32QA.d.ts.map +1 -0
- package/dist/types/getLocaleLang-Bcan1gS4.d.ts +20 -0
- package/dist/types/getLocaleLang-Bcan1gS4.d.ts.map +1 -0
- package/dist/types/getLocaleName-CfRAD9Hc.d.ts +7 -0
- package/dist/types/getLocaleName-CfRAD9Hc.d.ts.map +1 -0
- package/dist/types/getLocalizedContent-DOncZd-0.d.ts +18 -0
- package/dist/types/getLocalizedContent-DOncZd-0.d.ts.map +1 -0
- package/dist/types/getLocalizedUrl-BbqeA3-W.d.ts +49 -0
- package/dist/types/getLocalizedUrl-BbqeA3-W.d.ts.map +1 -0
- package/dist/types/getMarkdownMetadata-Bf1S1NQ0.d.ts +5 -0
- package/dist/types/getMarkdownMetadata-Bf1S1NQ0.d.ts.map +1 -0
- package/dist/types/getMaskContent-BwLFqp7v.d.ts +10 -0
- package/dist/types/getMaskContent-BwLFqp7v.d.ts.map +1 -0
- package/dist/types/getMissingLocalesContent-BYffYcdx.d.ts +19 -0
- package/dist/types/getMissingLocalesContent-BYffYcdx.d.ts.map +1 -0
- package/dist/types/getMultilingualDictionary-DO3i1MFs.d.ts +32 -0
- package/dist/types/getMultilingualDictionary-DO3i1MFs.d.ts.map +1 -0
- package/dist/types/getMultilingualUrls-CUxYYfA4.d.ts +47 -0
- package/dist/types/getMultilingualUrls-CUxYYfA4.d.ts.map +1 -0
- package/dist/types/getNodeChildren-OT7Liqke.d.ts +7 -0
- package/dist/types/getNodeChildren-OT7Liqke.d.ts.map +1 -0
- package/dist/types/getNodeType-Cp765I26.d.ts +8 -0
- package/dist/types/getNodeType-Cp765I26.d.ts.map +1 -0
- package/dist/types/getPathWithoutLocale-B_aIR7O0.d.ts +31 -0
- package/dist/types/getPathWithoutLocale-B_aIR7O0.d.ts.map +1 -0
- package/dist/types/getPrefix-X9XKkrZD.d.ts +68 -0
- package/dist/types/getPrefix-X9XKkrZD.d.ts.map +1 -0
- package/dist/types/getReplacedValuesContent-BvL25pdt.d.ts +8 -0
- package/dist/types/getReplacedValuesContent-BvL25pdt.d.ts.map +1 -0
- package/dist/types/getSplittedContent-YD4JDMfB.d.ts +43 -0
- package/dist/types/getSplittedContent-YD4JDMfB.d.ts.map +1 -0
- package/dist/types/getStorageAttributes-CIO2xWqQ.d.ts +29 -0
- package/dist/types/getStorageAttributes-CIO2xWqQ.d.ts.map +1 -0
- package/dist/types/getStorageAttributes.d.ts +2 -29
- package/dist/types/getTranslation-BG2Wg-af.d.ts +30 -0
- package/dist/types/getTranslation-BG2Wg-af.d.ts.map +1 -0
- package/dist/types/html-Dn6KrpJ3.d.ts +25 -0
- package/dist/types/html-Dn6KrpJ3.d.ts.map +1 -0
- package/dist/types/htmlTags-YxTtVUx6.d.ts +115 -0
- package/dist/types/htmlTags-YxTtVUx6.d.ts.map +1 -0
- package/dist/types/i18next-qY0AixrB.d.ts +9 -0
- package/dist/types/i18next-qY0AixrB.d.ts.map +1 -0
- package/dist/types/index-1CTsSKEn.d.ts +1 -0
- package/dist/types/index-B8xF2zGo.d.ts +1 -0
- package/dist/types/index-BcsOTSQF.d.ts +1 -0
- package/dist/types/index-BnEeKNKW.d.ts +322 -0
- package/dist/types/index-BnEeKNKW.d.ts.map +1 -0
- package/dist/types/index-Cf8zm5QQ.d.ts +1 -0
- package/dist/types/index-CfvILin8.d.ts +1 -0
- package/dist/types/index-DK_kKFOF.d.ts +1 -0
- package/dist/types/index-DeJa0xZp.d.ts +1 -0
- package/dist/types/index-Vlqtiwjx.d.ts +1 -0
- package/dist/types/index.d.ts +80 -88
- package/dist/types/insertContentInDictionary-DZ3UzG4K.d.ts +25 -0
- package/dist/types/insertContentInDictionary-DZ3UzG4K.d.ts.map +1 -0
- package/dist/types/insertion-M5fwK-29.d.ts +23 -0
- package/dist/types/insertion-M5fwK-29.d.ts.map +1 -0
- package/dist/types/interpreter/getCondition.d.ts +2 -22
- package/dist/types/interpreter/getContent/deepTransform.d.ts +2 -12
- package/dist/types/interpreter/getContent/getContent.d.ts +2 -16
- package/dist/types/interpreter/getContent/index.d.ts +1 -3
- package/dist/types/interpreter/getContent/plugins.d.ts +2 -151
- package/dist/types/interpreter/getDictionary.d.ts +2 -17
- package/dist/types/interpreter/getEnumeration.d.ts +2 -58
- package/dist/types/interpreter/getGender.d.ts +1 -1
- package/dist/types/interpreter/getGender.d.ts.map +1 -1
- package/dist/types/interpreter/getHTML.d.ts +2 -32
- package/dist/types/interpreter/getInsertion.d.ts +1 -1
- package/dist/types/interpreter/getInsertion.d.ts.map +1 -1
- package/dist/types/interpreter/getIntlayer.d.ts +2 -8
- package/dist/types/interpreter/getNesting.d.ts +2 -27
- package/dist/types/interpreter/getTranslation.d.ts +2 -30
- package/dist/types/interpreter/index.d.ts +4 -11
- package/dist/types/interpreter/splitAndJoinInsertion.d.ts +2 -25
- package/dist/types/intl-B2Ap8I5x.d.ts +33 -0
- package/dist/types/intl-B2Ap8I5x.d.ts.map +1 -0
- package/dist/types/isSameKeyPath-CkH8NdJh.d.ts +7 -0
- package/dist/types/isSameKeyPath-CkH8NdJh.d.ts.map +1 -0
- package/dist/types/isValidReactElement-BsoJ01oP.d.ts +12 -0
- package/dist/types/isValidReactElement-BsoJ01oP.d.ts.map +1 -0
- package/dist/types/list-BdjJM2Gx.d.ts +30 -0
- package/dist/types/list-BdjJM2Gx.d.ts.map +1 -0
- package/dist/types/localeDetector-BWNCQRiZ.d.ts +18 -0
- package/dist/types/localeDetector-BWNCQRiZ.d.ts.map +1 -0
- package/dist/types/localeMapper-DoAnasqf.d.ts +92 -0
- package/dist/types/localeMapper-DoAnasqf.d.ts.map +1 -0
- package/dist/types/localeResolver-bb7AWQNX.d.ts +12 -0
- package/dist/types/localeResolver-bb7AWQNX.d.ts.map +1 -0
- package/dist/types/localeStorage-CZHwY0u3.d.ts +108 -0
- package/dist/types/localeStorage-CZHwY0u3.d.ts.map +1 -0
- package/dist/types/localization/getBrowserLocale.d.ts +2 -35
- package/dist/types/localization/getHTMLTextDir.d.ts +2 -21
- package/dist/types/localization/getLocale.d.ts +2 -11
- package/dist/types/localization/getLocaleFromPath.d.ts +2 -26
- package/dist/types/localization/getLocaleLang.d.ts +2 -20
- package/dist/types/localization/getLocaleName.d.ts +2 -7
- package/dist/types/localization/getLocalizedUrl.d.ts +2 -49
- package/dist/types/localization/getMultilingualUrls.d.ts +2 -47
- package/dist/types/localization/getPathWithoutLocale.d.ts +2 -31
- package/dist/types/localization/getPrefix.d.ts +2 -68
- package/dist/types/localization/index.d.ts +16 -16
- package/dist/types/localization/localeDetector.d.ts +2 -18
- package/dist/types/localization/localeMapper.d.ts +2 -92
- package/dist/types/localization/localeResolver.d.ts +2 -12
- package/dist/types/localization/rewriteUtils.d.ts +2 -34
- package/dist/types/localization/validatePrefix.d.ts +2 -38
- package/dist/types/markdown/compiler.d.ts +2 -9
- package/dist/types/markdown/constants.d.ts +2 -177
- package/dist/types/markdown/index.d.ts +10 -10
- package/dist/types/markdown/parser.d.ts +2 -16
- package/dist/types/markdown/renderer.d.ts +2 -22
- package/dist/types/markdown/types.d.ts +2 -333
- package/dist/types/markdown/utils.d.ts +2 -140
- package/dist/types/markdown-MzfikrI1.d.ts +26 -0
- package/dist/types/markdown-MzfikrI1.d.ts.map +1 -0
- package/dist/types/mergeDictionaries-D6WUMQN5.d.ts +7 -0
- package/dist/types/mergeDictionaries-D6WUMQN5.d.ts.map +1 -0
- package/dist/types/messageFormat/ICU.d.ts +2 -11
- package/dist/types/messageFormat/i18next.d.ts +2 -9
- package/dist/types/messageFormat/index.d.ts +3 -3
- package/dist/types/messageFormat/vue-i18n.d.ts +2 -9
- package/dist/types/normalizeDictionary-coviIGTW.d.ts +9 -0
- package/dist/types/normalizeDictionary-coviIGTW.d.ts.map +1 -0
- package/dist/types/number-C8izkCmU.d.ts +16 -0
- package/dist/types/number-C8izkCmU.d.ts.map +1 -0
- package/dist/types/orderDictionaries-SSCMY6qG.d.ts +15 -0
- package/dist/types/orderDictionaries-SSCMY6qG.d.ts.map +1 -0
- package/dist/types/parseYaml-D5gxutvA.d.ts +5 -0
- package/dist/types/parseYaml-D5gxutvA.d.ts.map +1 -0
- package/dist/types/parser-BVwR6Tjw.d.ts +16 -0
- package/dist/types/parser-BVwR6Tjw.d.ts.map +1 -0
- package/dist/types/percentage-BqsvW0Zw.d.ts +16 -0
- package/dist/types/percentage-BqsvW0Zw.d.ts.map +1 -0
- package/dist/types/relativeTime-mJaYEq7H.d.ts +11 -0
- package/dist/types/relativeTime-mJaYEq7H.d.ts.map +1 -0
- package/dist/types/removeContentNodeByKeyPath-CotCOOsD.d.ts +8 -0
- package/dist/types/removeContentNodeByKeyPath-CotCOOsD.d.ts.map +1 -0
- package/dist/types/renameContentNodeByKeyPath-BuyH5gOr.d.ts +8 -0
- package/dist/types/renameContentNodeByKeyPath-BuyH5gOr.d.ts.map +1 -0
- package/dist/types/renderer-C06x2Orf.d.ts +22 -0
- package/dist/types/renderer-C06x2Orf.d.ts.map +1 -0
- package/dist/types/rewriteUtils-Bd82NiGR.d.ts +34 -0
- package/dist/types/rewriteUtils-Bd82NiGR.d.ts.map +1 -0
- package/dist/types/splitAndJoinInsertion-bkuLa7o2.d.ts +25 -0
- package/dist/types/splitAndJoinInsertion-bkuLa7o2.d.ts.map +1 -0
- package/dist/types/translation-CiC-Avxc.d.ts +33 -0
- package/dist/types/translation-CiC-Avxc.d.ts.map +1 -0
- package/dist/types/transpiler/condition/condition.d.ts +2 -28
- package/dist/types/transpiler/condition/index.d.ts +1 -1
- package/dist/types/transpiler/enumeration/enumeration.d.ts +2 -40
- package/dist/types/transpiler/enumeration/index.d.ts +1 -1
- package/dist/types/transpiler/file/file.d.ts +2 -28
- package/dist/types/transpiler/file/fileBrowser.d.ts +1 -1
- package/dist/types/transpiler/file/index.d.ts +1 -1
- package/dist/types/transpiler/gender/gender.d.ts +2 -29
- package/dist/types/transpiler/gender/index.d.ts +1 -1
- package/dist/types/transpiler/html/html.d.ts +2 -25
- package/dist/types/transpiler/html/htmlTags.d.ts +2 -115
- package/dist/types/transpiler/html/index.d.ts +3 -3
- package/dist/types/transpiler/html/validateHTML.d.ts +2 -21
- package/dist/types/transpiler/index.d.ts +15 -15
- package/dist/types/transpiler/insertion/getInsertionValues.d.ts +2 -5
- package/dist/types/transpiler/insertion/index.d.ts +2 -2
- package/dist/types/transpiler/insertion/insertion.d.ts +2 -23
- package/dist/types/transpiler/markdown/getMarkdownMetadata.d.ts +2 -5
- package/dist/types/transpiler/markdown/index.d.ts +4 -4
- package/dist/types/transpiler/markdown/markdown.d.ts +2 -26
- package/dist/types/transpiler/markdown/validateMarkdown.d.ts +3 -18
- package/dist/types/transpiler/nesting/index.d.ts +1 -1
- package/dist/types/transpiler/nesting/nesting.d.ts +2 -49
- package/dist/types/transpiler/translation/index.d.ts +1 -1
- package/dist/types/transpiler/translation/translation.d.ts +2 -33
- package/dist/types/types-C2Om0aEM.d.ts +333 -0
- package/dist/types/types-C2Om0aEM.d.ts.map +1 -0
- package/dist/types/units-CouGqa8j.d.ts +16 -0
- package/dist/types/units-CouGqa8j.d.ts.map +1 -0
- package/dist/types/updateNodeChildren-B5Tu1UBZ.d.ts +7 -0
- package/dist/types/updateNodeChildren-B5Tu1UBZ.d.ts.map +1 -0
- package/dist/types/utils/checkIsURLAbsolute.d.ts +2 -5
- package/dist/types/utils/getCookie.d.ts +2 -11
- package/dist/types/utils/index.d.ts +8 -8
- package/dist/types/utils/intl.d.ts +2 -33
- package/dist/types/utils/isSameKeyPath.d.ts +2 -7
- package/dist/types/utils/isValidReactElement.d.ts +2 -12
- package/dist/types/utils/localeStorage.d.ts +2 -108
- package/dist/types/utils/parseYaml.d.ts +2 -5
- package/dist/types/utils-Dcmgh_80.d.ts +140 -0
- package/dist/types/utils-Dcmgh_80.d.ts.map +1 -0
- package/dist/types/validateHTML-U7UKTtFd.d.ts +21 -0
- package/dist/types/validateHTML-U7UKTtFd.d.ts.map +1 -0
- package/dist/types/validateMarkdown-BUaTDDIu.d.ts +18 -0
- package/dist/types/validateMarkdown-BUaTDDIu.d.ts.map +1 -0
- package/dist/types/validatePrefix-Dtmg7QLq.d.ts +38 -0
- package/dist/types/validatePrefix-Dtmg7QLq.d.ts.map +1 -0
- package/dist/types/vue-i18n-JtUB7N_m.d.ts +9 -0
- package/dist/types/vue-i18n-JtUB7N_m.d.ts.map +1 -0
- package/package.json +6 -6
- package/dist/cjs/interpreter/getContent/getContent.cjs.map +0 -1
- package/dist/cjs/interpreter/getContent/plugins.cjs.map +0 -1
- package/dist/cjs/interpreter/getDictionary.cjs.map +0 -1
- package/dist/cjs/interpreter/getIntlayer.cjs.map +0 -1
- package/dist/cjs/interpreter/getNesting.cjs.map +0 -1
- package/dist/cjs/transpiler/html/getHTMLCustomComponents.cjs.map +0 -1
- package/dist/cjs/transpiler/html/html.cjs.map +0 -1
- package/dist/esm/interpreter/getContent/getContent.mjs.map +0 -1
- package/dist/esm/interpreter/getContent/plugins.mjs.map +0 -1
- package/dist/esm/interpreter/getDictionary.mjs.map +0 -1
- package/dist/esm/interpreter/getIntlayer.mjs.map +0 -1
- package/dist/esm/interpreter/getNesting.mjs.map +0 -1
- package/dist/esm/transpiler/html/getHTMLCustomComponents.mjs.map +0 -1
- package/dist/esm/transpiler/html/html.mjs.map +0 -1
- package/dist/types/deepTransformPlugins/getFilterMissingTranslationsContent.d.ts.map +0 -1
- package/dist/types/deepTransformPlugins/getFilterTranslationsOnlyContent.d.ts.map +0 -1
- package/dist/types/deepTransformPlugins/getFilteredLocalesContent.d.ts.map +0 -1
- package/dist/types/deepTransformPlugins/getLocalizedContent.d.ts.map +0 -1
- package/dist/types/deepTransformPlugins/getMaskContent.d.ts.map +0 -1
- package/dist/types/deepTransformPlugins/getMissingLocalesContent.d.ts.map +0 -1
- package/dist/types/deepTransformPlugins/getMultilingualDictionary.d.ts.map +0 -1
- package/dist/types/deepTransformPlugins/getReplacedValuesContent.d.ts.map +0 -1
- package/dist/types/deepTransformPlugins/getSplittedContent.d.ts.map +0 -1
- package/dist/types/deepTransformPlugins/insertContentInDictionary.d.ts.map +0 -1
- package/dist/types/dictionaryManipulator/editDictionaryByKeyPath.d.ts.map +0 -1
- package/dist/types/dictionaryManipulator/getContentNodeByKeyPath.d.ts.map +0 -1
- package/dist/types/dictionaryManipulator/getDefaultNode.d.ts.map +0 -1
- package/dist/types/dictionaryManipulator/getEmptyNode.d.ts.map +0 -1
- package/dist/types/dictionaryManipulator/getNodeChildren.d.ts.map +0 -1
- package/dist/types/dictionaryManipulator/getNodeType.d.ts.map +0 -1
- package/dist/types/dictionaryManipulator/mergeDictionaries.d.ts.map +0 -1
- package/dist/types/dictionaryManipulator/normalizeDictionary.d.ts.map +0 -1
- package/dist/types/dictionaryManipulator/orderDictionaries.d.ts.map +0 -1
- package/dist/types/dictionaryManipulator/removeContentNodeByKeyPath.d.ts.map +0 -1
- package/dist/types/dictionaryManipulator/renameContentNodeByKeyPath.d.ts.map +0 -1
- package/dist/types/dictionaryManipulator/updateNodeChildren.d.ts.map +0 -1
- package/dist/types/formatters/compact.d.ts.map +0 -1
- package/dist/types/formatters/currency.d.ts.map +0 -1
- package/dist/types/formatters/date.d.ts.map +0 -1
- package/dist/types/formatters/list.d.ts.map +0 -1
- package/dist/types/formatters/number.d.ts.map +0 -1
- package/dist/types/formatters/percentage.d.ts.map +0 -1
- package/dist/types/formatters/relativeTime.d.ts.map +0 -1
- package/dist/types/formatters/units.d.ts.map +0 -1
- package/dist/types/getStorageAttributes.d.ts.map +0 -1
- package/dist/types/interpreter/getCondition.d.ts.map +0 -1
- package/dist/types/interpreter/getContent/deepTransform.d.ts.map +0 -1
- package/dist/types/interpreter/getContent/getContent.d.ts.map +0 -1
- package/dist/types/interpreter/getContent/plugins.d.ts.map +0 -1
- package/dist/types/interpreter/getDictionary.d.ts.map +0 -1
- package/dist/types/interpreter/getEnumeration.d.ts.map +0 -1
- package/dist/types/interpreter/getHTML.d.ts.map +0 -1
- package/dist/types/interpreter/getIntlayer.d.ts.map +0 -1
- package/dist/types/interpreter/getNesting.d.ts.map +0 -1
- package/dist/types/interpreter/getTranslation.d.ts.map +0 -1
- package/dist/types/interpreter/splitAndJoinInsertion.d.ts.map +0 -1
- package/dist/types/localization/getBrowserLocale.d.ts.map +0 -1
- package/dist/types/localization/getHTMLTextDir.d.ts.map +0 -1
- package/dist/types/localization/getLocale.d.ts.map +0 -1
- package/dist/types/localization/getLocaleFromPath.d.ts.map +0 -1
- package/dist/types/localization/getLocaleLang.d.ts.map +0 -1
- package/dist/types/localization/getLocaleName.d.ts.map +0 -1
- package/dist/types/localization/getLocalizedUrl.d.ts.map +0 -1
- package/dist/types/localization/getMultilingualUrls.d.ts.map +0 -1
- package/dist/types/localization/getPathWithoutLocale.d.ts.map +0 -1
- package/dist/types/localization/getPrefix.d.ts.map +0 -1
- package/dist/types/localization/localeDetector.d.ts.map +0 -1
- package/dist/types/localization/localeMapper.d.ts.map +0 -1
- package/dist/types/localization/localeResolver.d.ts.map +0 -1
- package/dist/types/localization/rewriteUtils.d.ts.map +0 -1
- package/dist/types/localization/validatePrefix.d.ts.map +0 -1
- package/dist/types/markdown/compiler.d.ts.map +0 -1
- package/dist/types/markdown/constants.d.ts.map +0 -1
- package/dist/types/markdown/parser.d.ts.map +0 -1
- package/dist/types/markdown/renderer.d.ts.map +0 -1
- package/dist/types/markdown/types.d.ts.map +0 -1
- package/dist/types/markdown/utils.d.ts.map +0 -1
- package/dist/types/messageFormat/ICU.d.ts.map +0 -1
- package/dist/types/messageFormat/i18next.d.ts.map +0 -1
- package/dist/types/messageFormat/vue-i18n.d.ts.map +0 -1
- package/dist/types/transpiler/condition/condition.d.ts.map +0 -1
- package/dist/types/transpiler/enumeration/enumeration.d.ts.map +0 -1
- package/dist/types/transpiler/file/file.d.ts.map +0 -1
- package/dist/types/transpiler/gender/gender.d.ts.map +0 -1
- package/dist/types/transpiler/html/html.d.ts.map +0 -1
- package/dist/types/transpiler/html/htmlTags.d.ts.map +0 -1
- package/dist/types/transpiler/html/validateHTML.d.ts.map +0 -1
- package/dist/types/transpiler/insertion/getInsertionValues.d.ts.map +0 -1
- package/dist/types/transpiler/insertion/insertion.d.ts.map +0 -1
- package/dist/types/transpiler/markdown/getMarkdownMetadata.d.ts.map +0 -1
- package/dist/types/transpiler/markdown/markdown.d.ts.map +0 -1
- package/dist/types/transpiler/markdown/validateMarkdown.d.ts.map +0 -1
- package/dist/types/transpiler/nesting/nesting.d.ts.map +0 -1
- package/dist/types/transpiler/translation/translation.d.ts.map +0 -1
- package/dist/types/utils/checkIsURLAbsolute.d.ts.map +0 -1
- package/dist/types/utils/getCookie.d.ts.map +0 -1
- package/dist/types/utils/intl.d.ts.map +0 -1
- package/dist/types/utils/isSameKeyPath.d.ts.map +0 -1
- package/dist/types/utils/isValidReactElement.d.ts.map +0 -1
- package/dist/types/utils/localeStorage.d.ts.map +0 -1
- package/dist/types/utils/parseYaml.d.ts.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../../
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../../chunk-Bmb41Sf3.cjs`);let e=require(`@intlayer/types/nodeType`);const t=(n,r)=>{for(let e of r.plugins??[])if(e.canHandle(n))return e.transform(n,r,(e,n)=>t(e,n));if(typeof n!=`object`||!n||n.$$typeof!==void 0||n.__v_isVNode!==void 0||n._isVNode!==void 0||n.isJSX!==void 0||typeof n==`function`)return n;if(Array.isArray(n))return n.map((n,i)=>t(n,{...r,children:n,keyPath:[...r.keyPath,{type:e.NodeType.Array,key:i}]}));let i={};for(let a in n){let o={...r,children:n[a],keyPath:[...r.keyPath,{type:e.NodeType.Object,key:a}]};i[a]=t(n[a],o)}return i};exports.deepTransformNode=t;
|
|
2
2
|
//# sourceMappingURL=deepTransform.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepTransform.cjs","names":["NodeType"],"sources":["../../../../src/interpreter/getContent/deepTransform.ts"],"sourcesContent":["import type { KeyPath } from '@intlayer/types/keyPath';\nimport { NodeType } from '@intlayer/types/nodeType';\nimport type { NodeProps } from './plugins';\n\n/**\n * Recursively traverses a node (object/array/primitive).\n * Applies the *first* plugin that can transform a node, then stops descending further.\n * If no plugin transforms it, it recurses into its children.\n */\nexport const deepTransformNode = (node: any, props: NodeProps): any => {\n // Otherwise, if it's an object, check if any plugin can handle it:\n for (const plugin of props.plugins ?? []) {\n if (plugin.canHandle(node)) {\n // Return the transformed node => do NOT recurse further\n return plugin.transform(node, props, (node: any, props: any) =>\n deepTransformNode(node, props)\n );\n }\n }\n\n // If it's null/undefined or not an object, just return it directly:\n if (node === null || typeof node !== 'object') {\n return node;\n }\n\n // If it's a framework-specific virtual node or already a transformed Proxy,\n // return it directly to avoid re-transforming its internal properties.\n if (\n (node as any).$$typeof !== undefined ||\n (node as any).__v_isVNode !== undefined ||\n (node as any)._isVNode !== undefined ||\n (node as any).isJSX !== undefined ||\n typeof node === 'function' // Proxies for html/markdown are functions\n ) {\n return node;\n }\n\n // If it's an array, transform each element:\n if (Array.isArray(node)) {\n return node.map((child, index) => {\n const childProps = {\n ...props,\n children: child,\n keyPath: [\n ...props.keyPath,\n { type: NodeType.Array, key: index } as KeyPath,\n ],\n };\n return deepTransformNode(child, childProps);\n });\n }\n\n // If no plugin transforms it, we keep traversing its properties.\n const result: Record<string, any> = {};\n for (const key in node) {\n const childProps = {\n ...props,\n children: node[key],\n keyPath: [...props.keyPath, { type: NodeType.Object, key } as KeyPath],\n };\n result[key] = deepTransformNode(node[key], childProps);\n }\n\n return result;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"deepTransform.cjs","names":["NodeType"],"sources":["../../../../src/interpreter/getContent/deepTransform.ts"],"sourcesContent":["import type { KeyPath } from '@intlayer/types/keyPath';\nimport { NodeType } from '@intlayer/types/nodeType';\nimport type { NodeProps } from './plugins';\n\n/**\n * Recursively traverses a node (object/array/primitive).\n * Applies the *first* plugin that can transform a node, then stops descending further.\n * If no plugin transforms it, it recurses into its children.\n */\nexport const deepTransformNode = (node: any, props: NodeProps): any => {\n // Otherwise, if it's an object, check if any plugin can handle it:\n for (const plugin of props.plugins ?? []) {\n if (plugin.canHandle(node)) {\n // Return the transformed node => do NOT recurse further\n return plugin.transform(node, props, (node: any, props: any) =>\n deepTransformNode(node, props)\n );\n }\n }\n\n // If it's null/undefined or not an object, just return it directly:\n if (node === null || typeof node !== 'object') {\n return node;\n }\n\n // If it's a framework-specific virtual node or already a transformed Proxy,\n // return it directly to avoid re-transforming its internal properties.\n if (\n (node as any).$$typeof !== undefined ||\n (node as any).__v_isVNode !== undefined ||\n (node as any)._isVNode !== undefined ||\n (node as any).isJSX !== undefined ||\n typeof node === 'function' // Proxies for html/markdown are functions\n ) {\n return node;\n }\n\n // If it's an array, transform each element:\n if (Array.isArray(node)) {\n return node.map((child, index) => {\n const childProps = {\n ...props,\n children: child,\n keyPath: [\n ...props.keyPath,\n { type: NodeType.Array, key: index } as KeyPath,\n ],\n };\n return deepTransformNode(child, childProps);\n });\n }\n\n // If no plugin transforms it, we keep traversing its properties.\n const result: Record<string, any> = {};\n for (const key in node) {\n const childProps = {\n ...props,\n children: node[key],\n keyPath: [...props.keyPath, { type: NodeType.Object, key } as KeyPath],\n };\n result[key] = deepTransformNode(node[key], childProps);\n }\n\n return result;\n};\n"],"mappings":"iJASA,MAAa,GAAqB,EAAW,IAA0B,CAErE,IAAK,IAAM,KAAU,EAAM,SAAW,EAAE,CACtC,GAAI,EAAO,UAAU,EAAK,CAExB,OAAO,EAAO,UAAU,EAAM,GAAQ,EAAW,IAC/C,EAAkB,EAAM,EAAM,CAC/B,CAWL,GANqB,OAAO,GAAS,WAAjC,GAOD,EAAa,WAAa,IAAA,IAC1B,EAAa,cAAgB,IAAA,IAC7B,EAAa,WAAa,IAAA,IAC1B,EAAa,QAAU,IAAA,IACxB,OAAO,GAAS,WAEhB,OAAO,EAIT,GAAI,MAAM,QAAQ,EAAK,CACrB,OAAO,EAAK,KAAK,EAAO,IASf,EAAkB,EARN,CACjB,GAAG,EACH,SAAU,EACV,QAAS,CACP,GAAG,EAAM,QACT,CAAE,KAAMA,EAAAA,SAAS,MAAO,IAAK,EAAO,CACrC,CACF,CAC0C,CAC3C,CAIJ,IAAM,EAA8B,EAAE,CACtC,IAAK,IAAM,KAAO,EAAM,CACtB,IAAM,EAAa,CACjB,GAAG,EACH,SAAU,EAAK,GACf,QAAS,CAAC,GAAG,EAAM,QAAS,CAAE,KAAMA,EAAAA,SAAS,OAAQ,MAAK,CAAY,CACvE,CACD,EAAO,GAAO,EAAkB,EAAK,GAAM,EAAW,CAGxD,OAAO"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../
|
|
2
|
-
//# sourceMappingURL=getContent.cjs.map
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../getContent-DrqM8pqO.cjs`);exports.getBasePlugins=e.t,exports.getContent=e.n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./deepTransform.cjs`),t=require(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./deepTransform.cjs`),t=require(`../../getContent-DrqM8pqO.cjs`);exports.conditionPlugin=t.r,exports.deepTransformNode=e.deepTransformNode,exports.enumerationPlugin=t.i,exports.filePlugin=t.a,exports.genderPlugin=t.o,exports.getBasePlugins=t.t,exports.getContent=t.n,exports.insertionPlugin=t.s,exports.nestedPlugin=t.c,exports.translationPlugin=t.l;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`})
|
|
2
|
-
//# sourceMappingURL=plugins.cjs.map
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../getContent-DrqM8pqO.cjs`);exports.conditionPlugin=e.r,exports.enumerationPlugin=e.i,exports.filePlugin=e.a,exports.genderPlugin=e.o,exports.insertionPlugin=e.s,exports.nestedPlugin=e.c,exports.translationPlugin=e.l;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(
|
|
2
|
-
//# sourceMappingURL=getDictionary.cjs.map
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../getContent-DrqM8pqO.cjs`);exports.getDictionary=e.f;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../
|
|
2
|
-
//# sourceMappingURL=getIntlayer.cjs.map
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../getContent-DrqM8pqO.cjs`);exports.getIntlayer=e.d;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(
|
|
2
|
-
//# sourceMappingURL=getNesting.cjs.map
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../getContent-DrqM8pqO.cjs`);exports.getNesting=e.u;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./getCondition.cjs`),t=require(`./getContent/deepTransform.cjs`),n=require(`./getEnumeration.cjs`),r=require(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./getCondition.cjs`),t=require(`./getContent/deepTransform.cjs`),n=require(`./getEnumeration.cjs`),r=require(`../getContent-DrqM8pqO.cjs`),i=require(`./getTranslation.cjs`),a=require(`./getHTML.cjs`),o=require(`./splitAndJoinInsertion.cjs`);exports.conditionPlugin=r.r,exports.deepTransformNode=t.deepTransformNode,exports.enumerationPlugin=r.i,exports.filePlugin=r.a,exports.findMatchingCondition=n.findMatchingCondition,exports.genderPlugin=r.o,exports.getBasePlugins=r.t,exports.getCondition=e.getCondition,exports.getContent=r.n,exports.getDictionary=r.f,exports.getEnumeration=n.getEnumeration,exports.getHTML=a.getHTML,exports.getIntlayer=r.d,exports.getNesting=r.u,exports.getTranslation=i.getTranslation,exports.insertionPlugin=r.s,exports.nestedPlugin=r.c,exports.splitInsertionTemplate=o.splitInsertionTemplate,exports.translationPlugin=r.l;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../chunk-Bmb41Sf3.cjs`),t=require(`../utils/localeStorage.cjs`),n=require(`./localeDetector.cjs`);let r=require(`@intlayer/config/built`);r=e.t(r);let i=require(`@intlayer/types/locales`),a=function(e){return e.Querystring=`querystring`,e.Storage=`storage`,e.Navigator=`navigator`,e.HtmlTag=`htmlTag`,e}({});const o={getCookie:e=>document.cookie.split(`;`).find(t=>t.trim().startsWith(`${e}=`))?.split(`=`)[1],getLocaleStorage:e=>localStorage.getItem(e),getSessionStorage:e=>sessionStorage.getItem(e),isCookieEnabled:!0,setCookieStore:(e,t,n)=>cookieStore.set({name:e,value:t,path:n.path,domain:n.domain,expires:n.expires,sameSite:n.sameSite}),setCookieString:(e,t)=>{document.cookie=t},setSessionStorage:(e,t)=>sessionStorage.setItem(e,t),setLocaleStorage:(e,t)=>localStorage.setItem(e,t)},s=()=>({order:[a.Querystring,a.Storage,a.Navigator,a.HtmlTag],lookupQuerystring:`locale`,htmlTag:typeof document<`u`?document.documentElement:null}),c=(e,i)=>{let o={},s=()=>{if(typeof window>`u`)return;let e=window.location.search||``,t=new URLSearchParams(e).get(i.lookupQuerystring??``);t&&(o[a.Querystring]=t)},c=()=>{if(typeof window>`u`)return;let e=t.getLocaleFromStorage({getCookie:e=>{try{let t=document.cookie.split(`;`),n=`${e}=`,r=t.find(e=>e.trim().startsWith(n));if(r)return r.split(`=`)[1].trim()}catch{}},getSessionStorage:e=>{try{return window.sessionStorage.getItem(e)??void 0}catch{}},getLocaleStorage:e=>{try{return window.localStorage.getItem(e)??void 0}catch{}}});e&&(o[a.Storage]=e)},l=()=>{if(typeof navigator>`u`)return;let{internationalization:e}=r.default,t=navigator.languages??[navigator.language],i=n.localeDetector({"accept-language":t.join(`,`)},e.locales,e.defaultLocale);i&&(o[a.Navigator]=i)},u=()=>{let e=i.htmlTag;if(e&&typeof e.getAttribute==`function`){let t=e.getAttribute(`lang`);if(t){let{internationalization:e}=r.default,i=n.localeDetector({"accept-language":t},e.locales,e.defaultLocale);o[a.HtmlTag]=i}}},d={[a.Querystring]:s,[a.Storage]:c,[a.Navigator]:l,[a.HtmlTag]:u};return e.forEach(e=>{d[e]?.()}),o},l=(e,t)=>{let{internationalization:n}=r.default;for(let r of t){let t=e[r];if(t&&n.locales.includes(t))return t}return n?.defaultLocale??i.ENGLISH},u=(e={})=>{let t={...s(),...e};return l(c(t.order??[],t),t.order??[])};exports.LanguageDetector=a,exports.getBrowserLocale=u,exports.localeStorageOptions=o;
|
|
2
2
|
//# sourceMappingURL=getBrowserLocale.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBrowserLocale.cjs","names":["getLocaleFromStorage","configuration","localeDetector","
|
|
1
|
+
{"version":3,"file":"getBrowserLocale.cjs","names":["getLocaleFromStorage","configuration","localeDetector","ENGLISH"],"sources":["../../../src/localization/getBrowserLocale.tsx"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport type { Locale } from '@intlayer/types/allLocales';\nimport { ENGLISH } from '@intlayer/types/locales';\nimport {\n getLocaleFromStorage,\n type LocaleStorageOptions,\n} from '../utils/localeStorage';\nimport { localeDetector } from './localeDetector';\n\nexport enum LanguageDetector {\n Querystring = 'querystring',\n Storage = 'storage',\n Navigator = 'navigator',\n HtmlTag = 'htmlTag',\n}\n\nexport const localeStorageOptions: LocaleStorageOptions = {\n getCookie: (name: string) =>\n document.cookie\n .split(';')\n .find((c) => c.trim().startsWith(`${name}=`))\n ?.split('=')[1],\n getLocaleStorage: (name: string) => localStorage.getItem(name),\n getSessionStorage: (name: string) => sessionStorage.getItem(name),\n isCookieEnabled: true,\n setCookieStore: (name, value, attributes) =>\n cookieStore.set({\n name,\n value,\n path: attributes.path,\n domain: attributes.domain,\n expires: attributes.expires,\n sameSite: attributes.sameSite,\n }),\n setCookieString: (_name, cookie) => {\n // biome-ignore lint/suspicious/noDocumentCookie: set cookie fallback\n document.cookie = cookie;\n },\n setSessionStorage: (name, value) => sessionStorage.setItem(name, value),\n setLocaleStorage: (name, value) => localStorage.setItem(name, value),\n};\n\n// Default settings for the language detector\ntype LanguageDetectorOptions = {\n order?: LanguageDetector[];\n lookupQuerystring?: string;\n htmlTag?: HTMLElement | null;\n};\n\nconst getDefaultsOptions = (): LanguageDetectorOptions => {\n return {\n order: [\n LanguageDetector.Querystring,\n LanguageDetector.Storage,\n LanguageDetector.Navigator,\n LanguageDetector.HtmlTag,\n ],\n lookupQuerystring: 'locale',\n htmlTag: typeof document !== 'undefined' ? document.documentElement : null,\n };\n};\n\nconst detectLanguage = (\n order: string[],\n options: LanguageDetectorOptions\n): Record<LanguageDetector, Locale | undefined> => {\n const detected: Record<LanguageDetector, Locale | undefined> = {} as Record<\n LanguageDetector,\n Locale | undefined\n >;\n\n const queryStringDetector = () => {\n if (typeof window === 'undefined') return;\n const search = window.location.search || '';\n const params = new URLSearchParams(search);\n const value = params.get(options.lookupQuerystring ?? '');\n if (value) {\n detected[LanguageDetector.Querystring] = value as Locale;\n }\n };\n\n const storageDetector = () => {\n if (typeof window === 'undefined') return;\n\n const locale = getLocaleFromStorage({\n getCookie: (name: string) => {\n try {\n const cookies = document.cookie.split(';');\n const cookieName = `${name}=`;\n\n const cookie = cookies.find((cookie) =>\n cookie.trim().startsWith(cookieName)\n );\n\n if (cookie) {\n return cookie.split('=')[1].trim();\n }\n } catch {}\n return undefined;\n },\n getSessionStorage: (name: string) => {\n try {\n return window.sessionStorage.getItem(name) ?? undefined;\n } catch {}\n return undefined;\n },\n getLocaleStorage: (name: string) => {\n try {\n return window.localStorage.getItem(name) ?? undefined;\n } catch {}\n return undefined;\n },\n });\n\n if (locale) {\n detected[LanguageDetector.Storage] = locale;\n }\n };\n\n const navigatorDetector = () => {\n if (typeof navigator === 'undefined') return;\n\n const { internationalization } = configuration;\n const languages = navigator.languages ?? [navigator.language];\n\n // Use localeDetector to find the best matching locale\n const locale = localeDetector(\n { 'accept-language': languages.join(',') },\n internationalization.locales,\n internationalization.defaultLocale\n );\n\n if (locale) {\n detected[LanguageDetector.Navigator] = locale;\n }\n };\n\n const htmlTagDetector = () => {\n const htmlTag = options.htmlTag;\n if (htmlTag && typeof htmlTag.getAttribute === 'function') {\n const lang = htmlTag.getAttribute('lang');\n if (lang) {\n const { internationalization } = configuration;\n\n // Validate and resolve the locale\n const locale = localeDetector(\n { 'accept-language': lang },\n internationalization.locales,\n internationalization.defaultLocale\n );\n\n detected[LanguageDetector.HtmlTag] = locale;\n }\n }\n };\n\n // Map detector names to their corresponding functions\n const detectors: Record<string, () => void> = {\n [LanguageDetector.Querystring]: queryStringDetector,\n [LanguageDetector.Storage]: storageDetector,\n [LanguageDetector.Navigator]: navigatorDetector,\n [LanguageDetector.HtmlTag]: htmlTagDetector,\n };\n\n // Use the provided order to run each detector\n order.forEach((detectorName) => {\n detectors[detectorName]?.();\n });\n\n return detected;\n};\n\nconst getFirstAvailableLocale = (\n locales: Record<LanguageDetector, Locale | undefined>,\n order: LanguageDetector[]\n): Locale => {\n const { internationalization } = configuration;\n\n for (const detector of order) {\n const locale = locales[detector];\n\n if (locale && internationalization.locales.includes(locale)) {\n return locale;\n }\n }\n\n return internationalization?.defaultLocale ?? ENGLISH;\n};\n\n/**\n * Core language detector function for browser environments.\n *\n * Detects the user's preferred locale by checking multiple sources in order:\n * 1. Query string parameter\n * 2. Storage (cookies, localStorage, sessionStorage) - uses getLocaleFromStorage\n * 3. Navigator languages - uses localeDetector\n * 4. HTML lang attribute - uses localeDetector\n *\n * @param userOptions - Optional configuration for detection order and lookup keys\n * @returns The detected locale or the default locale\n *\n * @example\n * const locale = getBrowserLocale({ order: [LanguageDetector.Storage, LanguageDetector.Navigator] });\n */\nexport const getBrowserLocale = (\n userOptions: LanguageDetectorOptions | undefined = {}\n): Locale => {\n const options = { ...getDefaultsOptions(), ...userOptions };\n\n const locales = detectLanguage(options.order ?? [], options);\n\n return getFirstAvailableLocale(locales, options.order ?? []);\n};\n"],"mappings":"gRASY,EAAL,SAAA,EAAA,OACL,GAAA,YAAA,cACA,EAAA,QAAA,UACA,EAAA,UAAA,YACA,EAAA,QAAA,gBACD,CAED,MAAa,EAA6C,CACxD,UAAY,GACV,SAAS,OACN,MAAM,IAAI,CACV,KAAM,GAAM,EAAE,MAAM,CAAC,WAAW,GAAG,EAAK,GAAG,CAAC,EAC3C,MAAM,IAAI,CAAC,GACjB,iBAAmB,GAAiB,aAAa,QAAQ,EAAK,CAC9D,kBAAoB,GAAiB,eAAe,QAAQ,EAAK,CACjE,gBAAiB,GACjB,gBAAiB,EAAM,EAAO,IAC5B,YAAY,IAAI,CACd,OACA,QACA,KAAM,EAAW,KACjB,OAAQ,EAAW,OACnB,QAAS,EAAW,QACpB,SAAU,EAAW,SACtB,CAAC,CACJ,iBAAkB,EAAO,IAAW,CAElC,SAAS,OAAS,GAEpB,mBAAoB,EAAM,IAAU,eAAe,QAAQ,EAAM,EAAM,CACvE,kBAAmB,EAAM,IAAU,aAAa,QAAQ,EAAM,EAAM,CACrE,CASK,OACG,CACL,MAAO,CACL,EAAiB,YACjB,EAAiB,QACjB,EAAiB,UACjB,EAAiB,QAClB,CACD,kBAAmB,SACnB,QAAS,OAAO,SAAa,IAAc,SAAS,gBAAkB,KACvE,EAGG,GACJ,EACA,IACiD,CACjD,IAAM,EAAyD,EAAE,CAK3D,MAA4B,CAChC,GAAI,OAAO,OAAW,IAAa,OACnC,IAAM,EAAS,OAAO,SAAS,QAAU,GAEnC,EADS,IAAI,gBAAgB,EAAO,CACrB,IAAI,EAAQ,mBAAqB,GAAG,CACrD,IACF,EAAS,EAAiB,aAAe,IAIvC,MAAwB,CAC5B,GAAI,OAAO,OAAW,IAAa,OAEnC,IAAM,EAASA,EAAAA,qBAAqB,CAClC,UAAY,GAAiB,CAC3B,GAAI,CACF,IAAM,EAAU,SAAS,OAAO,MAAM,IAAI,CACpC,EAAa,GAAG,EAAK,GAErB,EAAS,EAAQ,KAAM,GAC3B,EAAO,MAAM,CAAC,WAAW,EAAW,CACrC,CAED,GAAI,EACF,OAAO,EAAO,MAAM,IAAI,CAAC,GAAG,MAAM,MAE9B,IAGV,kBAAoB,GAAiB,CACnC,GAAI,CACF,OAAO,OAAO,eAAe,QAAQ,EAAK,EAAI,IAAA,QACxC,IAGV,iBAAmB,GAAiB,CAClC,GAAI,CACF,OAAO,OAAO,aAAa,QAAQ,EAAK,EAAI,IAAA,QACtC,IAGX,CAAC,CAEE,IACF,EAAS,EAAiB,SAAW,IAInC,MAA0B,CAC9B,GAAI,OAAO,UAAc,IAAa,OAEtC,GAAM,CAAE,wBAAyBC,EAAAA,QAC3B,EAAY,UAAU,WAAa,CAAC,UAAU,SAAS,CAGvD,EAASC,EAAAA,eACb,CAAE,kBAAmB,EAAU,KAAK,IAAI,CAAE,CAC1C,EAAqB,QACrB,EAAqB,cACtB,CAEG,IACF,EAAS,EAAiB,WAAa,IAIrC,MAAwB,CAC5B,IAAM,EAAU,EAAQ,QACxB,GAAI,GAAW,OAAO,EAAQ,cAAiB,WAAY,CACzD,IAAM,EAAO,EAAQ,aAAa,OAAO,CACzC,GAAI,EAAM,CACR,GAAM,CAAE,wBAAyBD,EAAAA,QAG3B,EAASC,EAAAA,eACb,CAAE,kBAAmB,EAAM,CAC3B,EAAqB,QACrB,EAAqB,cACtB,CAED,EAAS,EAAiB,SAAW,KAMrC,EAAwC,EAC3C,EAAiB,aAAc,GAC/B,EAAiB,SAAU,GAC3B,EAAiB,WAAY,GAC7B,EAAiB,SAAU,EAC7B,CAOD,OAJA,EAAM,QAAS,GAAiB,CAC9B,EAAU,MAAiB,EAC3B,CAEK,GAGH,GACJ,EACA,IACW,CACX,GAAM,CAAE,wBAAyBD,EAAAA,QAEjC,IAAK,IAAM,KAAY,EAAO,CAC5B,IAAM,EAAS,EAAQ,GAEvB,GAAI,GAAU,EAAqB,QAAQ,SAAS,EAAO,CACzD,OAAO,EAIX,OAAO,GAAsB,eAAiBE,EAAAA,SAkBnC,GACX,EAAmD,EAAE,GAC1C,CACX,IAAM,EAAU,CAAE,GAAG,GAAoB,CAAE,GAAG,EAAa,CAI3D,OAAO,EAFS,EAAe,EAAQ,OAAS,EAAE,CAAE,EAAQ,CAEpB,EAAQ,OAAS,EAAE,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`})
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../chunk-Bmb41Sf3.cjs`);let e=require(`@intlayer/types/locales`);const t=t=>{switch(t){case e.ARABIC:case e.ARABIC_UNITED_ARAB_EMIRATES:case e.ARABIC_BAHRAIN:case e.ARABIC_ALGERIA:case e.ARABIC_EGYPT:case e.ARABIC_IRAQ:case e.ARABIC_JORDAN:case e.ARABIC_KUWAIT:case e.ARABIC_LEBANON:case e.ARABIC_LIBYA:case e.ARABIC_MOROCCO:case e.ARABIC_OMAN:case e.ARABIC_QATAR:case e.ARABIC_SAUDI_ARABIA:case e.ARABIC_SYRIA:case e.ARABIC_TUNISIA:case e.ARABIC_YEMEN:case e.ARABIC_MAURITANIA:case e.ARABIC_PALESTINE:case e.ARABIC_SUDAN:case e.ARABIC_DJIBOUTI:case e.ARABIC_SOMALIA:case e.ARABIC_CHAD:case e.ARABIC_COMOROS:case e.HEBREW:case e.HEBREW_ISRAEL:case e.FARSI:case e.FARSI_IRAN:case e.URDU:case e.URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN:case e.PASHTO:case e.PASHTO_AFGHANISTAN:case e.SYRIAC:case e.SYRIAC_SYRIA:case e.DIVEHI:case e.DIVEHI_MALDIVES:case e.YIDDISH:case e.YIDDISH_WORLD:return`rtl`;default:return`ltr`}};exports.getHTMLTextDir=t;
|
|
2
2
|
//# sourceMappingURL=getHTMLTextDir.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getHTMLTextDir.cjs","names":["
|
|
1
|
+
{"version":3,"file":"getHTMLTextDir.cjs","names":["ARABIC","ARABIC_UNITED_ARAB_EMIRATES","ARABIC_BAHRAIN","ARABIC_ALGERIA","ARABIC_EGYPT","ARABIC_IRAQ","ARABIC_JORDAN","ARABIC_KUWAIT","ARABIC_LEBANON","ARABIC_LIBYA","ARABIC_MOROCCO","ARABIC_OMAN","ARABIC_QATAR","ARABIC_SAUDI_ARABIA","ARABIC_SYRIA","ARABIC_TUNISIA","ARABIC_YEMEN","ARABIC_MAURITANIA","ARABIC_PALESTINE","ARABIC_SUDAN","ARABIC_DJIBOUTI","ARABIC_SOMALIA","ARABIC_CHAD","ARABIC_COMOROS","HEBREW","HEBREW_ISRAEL","FARSI","FARSI_IRAN","URDU","URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN","PASHTO","PASHTO_AFGHANISTAN","SYRIAC","SYRIAC_SYRIA","DIVEHI","DIVEHI_MALDIVES","YIDDISH","YIDDISH_WORLD"],"sources":["../../../src/localization/getHTMLTextDir.ts"],"sourcesContent":["import {\n ARABIC,\n ARABIC_ALGERIA,\n ARABIC_BAHRAIN,\n ARABIC_CHAD,\n ARABIC_COMOROS,\n ARABIC_DJIBOUTI,\n ARABIC_EGYPT,\n ARABIC_IRAQ,\n ARABIC_JORDAN,\n ARABIC_KUWAIT,\n ARABIC_LEBANON,\n ARABIC_LIBYA,\n ARABIC_MAURITANIA,\n ARABIC_MOROCCO,\n ARABIC_OMAN,\n ARABIC_PALESTINE,\n ARABIC_QATAR,\n ARABIC_SAUDI_ARABIA,\n ARABIC_SOMALIA,\n ARABIC_SUDAN,\n ARABIC_SYRIA,\n ARABIC_TUNISIA,\n ARABIC_UNITED_ARAB_EMIRATES,\n ARABIC_YEMEN,\n DIVEHI,\n DIVEHI_MALDIVES,\n FARSI,\n FARSI_IRAN,\n HEBREW,\n HEBREW_ISRAEL,\n PASHTO,\n PASHTO_AFGHANISTAN,\n SYRIAC,\n SYRIAC_SYRIA,\n URDU,\n URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN,\n YIDDISH,\n YIDDISH_WORLD,\n} from '@intlayer/types/locales';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\n\ntype Dir = 'ltr' | 'rtl' | 'auto';\n\n/**\n * Returns the text direction of the given locale.\n *\n * Example:\n *\n * getHTMLTextDir('en-US') // 'ltr'\n * getHTMLTextDir('en') // 'ltr'\n * getHTMLTextDir('fr-CA') // 'ltr'\n * getHTMLTextDir('fr') // 'ltr'\n *\n * @param locale The locale to get the text direction for.\n * @returns The text direction of the given locale.\n */\nexport const getHTMLTextDir = (locale?: LocalesValues): Dir => {\n switch (locale) {\n // Arabic (uses Arabic script)\n case ARABIC:\n case ARABIC_UNITED_ARAB_EMIRATES:\n case ARABIC_BAHRAIN:\n case ARABIC_ALGERIA:\n case ARABIC_EGYPT:\n case ARABIC_IRAQ:\n case ARABIC_JORDAN:\n case ARABIC_KUWAIT:\n case ARABIC_LEBANON:\n case ARABIC_LIBYA:\n case ARABIC_MOROCCO:\n case ARABIC_OMAN:\n case ARABIC_QATAR:\n case ARABIC_SAUDI_ARABIA:\n case ARABIC_SYRIA:\n case ARABIC_TUNISIA:\n case ARABIC_YEMEN:\n case ARABIC_MAURITANIA:\n case ARABIC_PALESTINE:\n case ARABIC_SUDAN:\n case ARABIC_DJIBOUTI:\n case ARABIC_SOMALIA:\n case ARABIC_CHAD:\n case ARABIC_COMOROS:\n // Hebrew (uses Hebrew script)\n case HEBREW:\n case HEBREW_ISRAEL:\n // Farsi/Persian (uses Arabic script)\n case FARSI:\n case FARSI_IRAN:\n // Urdu (uses Arabic script)\n case URDU:\n case URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN:\n // Pashto (uses Arabic script)\n case PASHTO:\n case PASHTO_AFGHANISTAN:\n // Syriac (uses Syriac script)\n case SYRIAC:\n case SYRIAC_SYRIA:\n // Divehi (uses Thaana script)\n case DIVEHI:\n case DIVEHI_MALDIVES:\n // Yiddish (uses Hebrew script)\n case YIDDISH:\n case YIDDISH_WORLD:\n return 'rtl';\n\n default:\n return 'ltr';\n }\n};\n"],"mappings":"6IAyDA,MAAa,EAAkB,GAAgC,CAC7D,OAAQ,EAAR,CAEE,KAAKA,EAAAA,OACL,KAAKC,EAAAA,4BACL,KAAKC,EAAAA,eACL,KAAKC,EAAAA,eACL,KAAKC,EAAAA,aACL,KAAKC,EAAAA,YACL,KAAKC,EAAAA,cACL,KAAKC,EAAAA,cACL,KAAKC,EAAAA,eACL,KAAKC,EAAAA,aACL,KAAKC,EAAAA,eACL,KAAKC,EAAAA,YACL,KAAKC,EAAAA,aACL,KAAKC,EAAAA,oBACL,KAAKC,EAAAA,aACL,KAAKC,EAAAA,eACL,KAAKC,EAAAA,aACL,KAAKC,EAAAA,kBACL,KAAKC,EAAAA,iBACL,KAAKC,EAAAA,aACL,KAAKC,EAAAA,gBACL,KAAKC,EAAAA,eACL,KAAKC,EAAAA,YACL,KAAKC,EAAAA,eAEL,KAAKC,EAAAA,OACL,KAAKC,EAAAA,cAEL,KAAKC,EAAAA,MACL,KAAKC,EAAAA,WAEL,KAAKC,EAAAA,KACL,KAAKC,EAAAA,kCAEL,KAAKC,EAAAA,OACL,KAAKC,EAAAA,mBAEL,KAAKC,EAAAA,OACL,KAAKC,EAAAA,aAEL,KAAKC,EAAAA,OACL,KAAKC,EAAAA,gBAEL,KAAKC,EAAAA,QACL,KAAKC,EAAAA,cACH,MAAO,MAET,QACE,MAAO"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../chunk-Bmb41Sf3.cjs`),t=require(`../utils/localeStorage.cjs`),n=require(`./localeResolver.cjs`),r=require(`./localeDetector.cjs`);let i=require(`@intlayer/config/client`),a=require(`@intlayer/config/built`);a=e.t(a);const o=async(e={})=>{let o=a.default?.internationalization?.defaultLocale??i.DefaultValues.Internationalization.DEFAULT_LOCALE,s=a.default?.internationalization?.locales??i.DefaultValues.Internationalization.LOCALES,c=t.getLocaleFromStorage({getCookie:e.getCookie,getHeader:e.getHeader});if(c)return c;let l=e.getHeader?.(`accept-language`);return l&&n.localeResolver(r.getPreferredLanguages(l,s),s,o)||o};exports.getLocale=o;
|
|
2
2
|
//# sourceMappingURL=getLocale.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLocale.cjs","names":["configuration","DefaultValues","getLocaleFromStorage","localeResolver","getPreferredLanguages"],"sources":["../../../src/localization/getLocale.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport { DefaultValues } from '@intlayer/config/client';\nimport type { Locale } from '@intlayer/types/allLocales';\nimport { getLocaleFromStorage } from '../utils/localeStorage';\nimport { getPreferredLanguages } from './localeDetector';\nimport { localeResolver } from './localeResolver';\n\nexport type RequestContext = {\n getHeader?: (name: string) => string | null | undefined;\n getCookie?: (name: string) => string | null | undefined;\n};\n\nexport const getLocale = async (ctx: RequestContext = {}): Promise<Locale> => {\n const defaultLocale =\n configuration?.internationalization?.defaultLocale ??\n DefaultValues.Internationalization.DEFAULT_LOCALE;\n const availableLocales =\n configuration?.internationalization?.locales ??\n DefaultValues.Internationalization.LOCALES;\n\n // Try locale from storage (cookie or header)\n const storedLocale = getLocaleFromStorage({\n getCookie: ctx.getCookie,\n getHeader: ctx.getHeader,\n });\n\n if (storedLocale) {\n return storedLocale;\n }\n\n // Fallback to Accept-Language negotiation\n const acceptLanguageHeader = ctx.getHeader?.('accept-language');\n\n if (!acceptLanguageHeader) {\n return defaultLocale;\n }\n\n const preferredLocaleStrings = getPreferredLanguages(\n acceptLanguageHeader,\n availableLocales\n );\n\n const userFallbackLocale = localeResolver(\n preferredLocaleStrings,\n availableLocales,\n defaultLocale\n );\n\n if (userFallbackLocale) {\n return userFallbackLocale;\n }\n\n // Default locale\n return defaultLocale;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getLocale.cjs","names":["configuration","DefaultValues","getLocaleFromStorage","localeResolver","getPreferredLanguages"],"sources":["../../../src/localization/getLocale.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport { DefaultValues } from '@intlayer/config/client';\nimport type { Locale } from '@intlayer/types/allLocales';\nimport { getLocaleFromStorage } from '../utils/localeStorage';\nimport { getPreferredLanguages } from './localeDetector';\nimport { localeResolver } from './localeResolver';\n\nexport type RequestContext = {\n getHeader?: (name: string) => string | null | undefined;\n getCookie?: (name: string) => string | null | undefined;\n};\n\nexport const getLocale = async (ctx: RequestContext = {}): Promise<Locale> => {\n const defaultLocale =\n configuration?.internationalization?.defaultLocale ??\n DefaultValues.Internationalization.DEFAULT_LOCALE;\n const availableLocales =\n configuration?.internationalization?.locales ??\n DefaultValues.Internationalization.LOCALES;\n\n // Try locale from storage (cookie or header)\n const storedLocale = getLocaleFromStorage({\n getCookie: ctx.getCookie,\n getHeader: ctx.getHeader,\n });\n\n if (storedLocale) {\n return storedLocale;\n }\n\n // Fallback to Accept-Language negotiation\n const acceptLanguageHeader = ctx.getHeader?.('accept-language');\n\n if (!acceptLanguageHeader) {\n return defaultLocale;\n }\n\n const preferredLocaleStrings = getPreferredLanguages(\n acceptLanguageHeader,\n availableLocales\n );\n\n const userFallbackLocale = localeResolver(\n preferredLocaleStrings,\n availableLocales,\n defaultLocale\n );\n\n if (userFallbackLocale) {\n return userFallbackLocale;\n }\n\n // Default locale\n return defaultLocale;\n};\n"],"mappings":"8SAYA,MAAa,EAAY,MAAO,EAAsB,EAAE,GAAsB,CAC5E,IAAM,EACJA,EAAAA,SAAe,sBAAsB,eACrCC,EAAAA,cAAc,qBAAqB,eAC/B,EACJD,EAAAA,SAAe,sBAAsB,SACrCC,EAAAA,cAAc,qBAAqB,QAG/B,EAAeC,EAAAA,qBAAqB,CACxC,UAAW,EAAI,UACf,UAAW,EAAI,UAChB,CAAC,CAEF,GAAI,EACF,OAAO,EAIT,IAAM,EAAuB,EAAI,YAAY,kBAAkB,CAsB/D,OApBK,GASsBC,EAAAA,eALIC,EAAAA,sBAC7B,EACA,EACD,CAIC,EACA,EACD,EAZQ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../chunk-Bmb41Sf3.cjs`),t=require(`../utils/checkIsURLAbsolute.cjs`);let n=require(`@intlayer/config/client`),r=require(`@intlayer/config/built`);r=e.t(r);const i=(e=`/`,i)=>{let{defaultLocale:a,locales:o,mode:s}={defaultLocale:r.default?.internationalization?.defaultLocale??n.DefaultValues.Internationalization.DEFAULT_LOCALE,mode:r.default?.routing?.mode??n.DefaultValues.Routing.ROUTING_MODE,locales:r.default?.internationalization?.locales??n.DefaultValues.Internationalization.LOCALES,...i};if(!a||!o)return n.DefaultValues.Internationalization.DEFAULT_LOCALE;let c=t.checkIsURLAbsolute(e),l=e;e?.endsWith(`/`)&&e.length>1&&(l=e.slice(0,-1));let u=c?new URL(l):new URL(l,`http://example.com`);if(s===`search-params`){let e=u.searchParams.get(`locale`);return e&&o.includes(e)?e:a}if(s===`no-prefix`)return a;let d=u.pathname.split(`/`)[1];if(d&&o.includes(d))return d;if(s===`prefix-no-default`)return a};exports.getLocaleFromPath=i;
|
|
2
2
|
//# sourceMappingURL=getLocaleFromPath.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLocaleFromPath.cjs","names":["configuration","DefaultValues","checkIsURLAbsolute"],"sources":["../../../src/localization/getLocaleFromPath.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport { DefaultValues } from '@intlayer/config/client';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\nimport type { RoutingConfig } from '@intlayer/types/config';\nimport type { Locale } from '@intlayer/types/allLocales';\nimport { checkIsURLAbsolute } from '../utils/checkIsURLAbsolute';\n\ntype GetLocaleFromPathOptions = {\n defaultLocale?: LocalesValues;\n locales?: LocalesValues[];\n mode?: RoutingConfig['mode'];\n};\n\n/**\n * Extracts the locale segment from the given URL or pathname based on the routing mode.\n *\n * Mode Behaviors:\n * - 'prefix-no-default': Checks path prefiIf no prefix found, assumes default locale.\n * - 'prefix-all': Checks path prefix.\n * - 'search-params': Checks for 'locale' query parameter.\n * - 'no-prefix': Returns undefined (or default if fallback is true).\n *\n * @param inputUrl - The complete URL string or pathname to process.\n * @returns The detected locale, default locale (if fallback/implicit), or undefined.\n */\nexport const getLocaleFromPath = (\n inputUrl: string = '/',\n options?: GetLocaleFromPathOptions\n): Locale | undefined => {\n const { defaultLocale, locales, mode } = {\n defaultLocale:\n configuration?.internationalization?.defaultLocale ??\n DefaultValues.Internationalization.DEFAULT_LOCALE,\n mode: configuration?.routing?.mode ?? DefaultValues.Routing.ROUTING_MODE,\n locales:\n configuration?.internationalization?.locales ??\n DefaultValues.Internationalization.LOCALES,\n ...options,\n };\n\n if (!defaultLocale || !locales) {\n return DefaultValues.Internationalization.DEFAULT_LOCALE;\n }\n\n // Prepare the URL object\n const isAbsoluteUrl = checkIsURLAbsolute(inputUrl);\n let fixedInputUrl = inputUrl;\n\n if (inputUrl?.endsWith('/') && inputUrl.length > 1) {\n fixedInputUrl = inputUrl.slice(0, -1);\n }\n\n // For relative URLs, use a dummy base to leverage the URL API\n const url = isAbsoluteUrl\n ? new URL(fixedInputUrl)\n : new URL(fixedInputUrl, 'http://example.com');\n\n // Handle 'search-params' mode\n // Example: /dashboard?locale=fr\n if (mode === 'search-params') {\n const localeParam = url.searchParams.get('locale');\n\n if (localeParam && locales.includes(localeParam)) {\n return localeParam as Locale;\n }\n\n return defaultLocale as Locale;\n }\n\n // Handle 'no-prefix' mode\n // The locale is not stored in the URL path.\n if (mode === 'no-prefix') {\n return defaultLocale as Locale;\n }\n\n // Handle Prefix Modes ('prefix-all' | 'prefix-no-default')\n const pathname = url.pathname;\n\n // Split the pathname to extract the first segment\n // pathSegments[0] is empty string because path starts with /\n const pathSegments = pathname.split('/');\n const firstSegment = pathSegments[1];\n\n // Check if the first segment is a valid supported locale\n const isSegmentLocale = firstSegment && locales.includes(firstSegment);\n\n if (isSegmentLocale) {\n return firstSegment as Locale;\n }\n\n // If the first segment is NOT a locale (e./dashboard), handle based on mode\n if (mode === 'prefix-no-default') {\n // In this mode, absence of a prefix implies the default locale\n return defaultLocale as Locale;\n }\n\n return undefined;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getLocaleFromPath.cjs","names":["configuration","DefaultValues","checkIsURLAbsolute"],"sources":["../../../src/localization/getLocaleFromPath.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport { DefaultValues } from '@intlayer/config/client';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\nimport type { RoutingConfig } from '@intlayer/types/config';\nimport type { Locale } from '@intlayer/types/allLocales';\nimport { checkIsURLAbsolute } from '../utils/checkIsURLAbsolute';\n\ntype GetLocaleFromPathOptions = {\n defaultLocale?: LocalesValues;\n locales?: LocalesValues[];\n mode?: RoutingConfig['mode'];\n};\n\n/**\n * Extracts the locale segment from the given URL or pathname based on the routing mode.\n *\n * Mode Behaviors:\n * - 'prefix-no-default': Checks path prefiIf no prefix found, assumes default locale.\n * - 'prefix-all': Checks path prefix.\n * - 'search-params': Checks for 'locale' query parameter.\n * - 'no-prefix': Returns undefined (or default if fallback is true).\n *\n * @param inputUrl - The complete URL string or pathname to process.\n * @returns The detected locale, default locale (if fallback/implicit), or undefined.\n */\nexport const getLocaleFromPath = (\n inputUrl: string = '/',\n options?: GetLocaleFromPathOptions\n): Locale | undefined => {\n const { defaultLocale, locales, mode } = {\n defaultLocale:\n configuration?.internationalization?.defaultLocale ??\n DefaultValues.Internationalization.DEFAULT_LOCALE,\n mode: configuration?.routing?.mode ?? DefaultValues.Routing.ROUTING_MODE,\n locales:\n configuration?.internationalization?.locales ??\n DefaultValues.Internationalization.LOCALES,\n ...options,\n };\n\n if (!defaultLocale || !locales) {\n return DefaultValues.Internationalization.DEFAULT_LOCALE;\n }\n\n // Prepare the URL object\n const isAbsoluteUrl = checkIsURLAbsolute(inputUrl);\n let fixedInputUrl = inputUrl;\n\n if (inputUrl?.endsWith('/') && inputUrl.length > 1) {\n fixedInputUrl = inputUrl.slice(0, -1);\n }\n\n // For relative URLs, use a dummy base to leverage the URL API\n const url = isAbsoluteUrl\n ? new URL(fixedInputUrl)\n : new URL(fixedInputUrl, 'http://example.com');\n\n // Handle 'search-params' mode\n // Example: /dashboard?locale=fr\n if (mode === 'search-params') {\n const localeParam = url.searchParams.get('locale');\n\n if (localeParam && locales.includes(localeParam)) {\n return localeParam as Locale;\n }\n\n return defaultLocale as Locale;\n }\n\n // Handle 'no-prefix' mode\n // The locale is not stored in the URL path.\n if (mode === 'no-prefix') {\n return defaultLocale as Locale;\n }\n\n // Handle Prefix Modes ('prefix-all' | 'prefix-no-default')\n const pathname = url.pathname;\n\n // Split the pathname to extract the first segment\n // pathSegments[0] is empty string because path starts with /\n const pathSegments = pathname.split('/');\n const firstSegment = pathSegments[1];\n\n // Check if the first segment is a valid supported locale\n const isSegmentLocale = firstSegment && locales.includes(firstSegment);\n\n if (isSegmentLocale) {\n return firstSegment as Locale;\n }\n\n // If the first segment is NOT a locale (e./dashboard), handle based on mode\n if (mode === 'prefix-no-default') {\n // In this mode, absence of a prefix implies the default locale\n return defaultLocale as Locale;\n }\n\n return undefined;\n};\n"],"mappings":"+OAyBA,MAAa,GACX,EAAmB,IACnB,IACuB,CACvB,GAAM,CAAE,gBAAe,UAAS,QAAS,CACvC,cACEA,EAAAA,SAAe,sBAAsB,eACrCC,EAAAA,cAAc,qBAAqB,eACrC,KAAMD,EAAAA,SAAe,SAAS,MAAQC,EAAAA,cAAc,QAAQ,aAC5D,QACED,EAAAA,SAAe,sBAAsB,SACrCC,EAAAA,cAAc,qBAAqB,QACrC,GAAG,EACJ,CAED,GAAI,CAAC,GAAiB,CAAC,EACrB,OAAOA,EAAAA,cAAc,qBAAqB,eAI5C,IAAM,EAAgBC,EAAAA,mBAAmB,EAAS,CAC9C,EAAgB,EAEhB,GAAU,SAAS,IAAI,EAAI,EAAS,OAAS,IAC/C,EAAgB,EAAS,MAAM,EAAG,GAAG,EAIvC,IAAM,EAAM,EACR,IAAI,IAAI,EAAc,CACtB,IAAI,IAAI,EAAe,qBAAqB,CAIhD,GAAI,IAAS,gBAAiB,CAC5B,IAAM,EAAc,EAAI,aAAa,IAAI,SAAS,CAMlD,OAJI,GAAe,EAAQ,SAAS,EAAY,CACvC,EAGF,EAKT,GAAI,IAAS,YACX,OAAO,EAST,IAAM,EALW,EAAI,SAIS,MAAM,IAAI,CACN,GAKlC,GAFwB,GAAgB,EAAQ,SAAS,EAAa,CAGpE,OAAO,EAIT,GAAI,IAAS,oBAEX,OAAO"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../chunk-Bmb41Sf3.cjs`),t=require(`../utils/checkIsURLAbsolute.cjs`),n=require(`./getPathWithoutLocale.cjs`),r=require(`./getPrefix.cjs`),i=require(`./rewriteUtils.cjs`);let a=require(`@intlayer/config/client`),o=require(`@intlayer/config/built`);o=e.t(o);const s=(e,s=o.default?.internationalization?.defaultLocale,c={})=>{let{defaultLocale:l,mode:u,locales:d,rewrite:f}={defaultLocale:o.default?.internationalization?.defaultLocale??a.DefaultValues.Internationalization.DEFAULT_LOCALE,mode:o.default?.routing?.mode??a.DefaultValues.Routing.ROUTING_MODE,locales:o.default?.internationalization?.locales??a.DefaultValues.Internationalization.LOCALES,rewrite:o.default?.routing?.rewrite,...c},p=n.getPathWithoutLocale(e,d),m=i.getRewriteRules(f,`url`);if(u===`no-prefix`)return i.getLocalizedPath(i.getCanonicalPath(p,void 0,m),s,m).path;let h=t.checkIsURLAbsolute(p),g=h?new URL(p):new URL(p,`http://example.com`),_=h?`${g.protocol}//${g.host}`:``,v=i.getLocalizedPath(i.getCanonicalPath(g.pathname,void 0,m),s,m).path;if(u===`search-params`){let e=new URLSearchParams(g.search);e.set(`locale`,s.toString());let t=e.toString(),n=t?`${v}?${t}`:v;return h?`${_}${n}${g.hash}`:`${n}${g.hash}`}let{prefix:y}=r.getPrefix(s,{defaultLocale:l,mode:u,locales:d}),b=`/${y}${v}`;return b=b.replaceAll(/\/+/g,`/`),b.length>1&&b.endsWith(`/`)&&(b=b.slice(0,-1)),h?`${_}${b}${g.search}${g.hash}`:`${b}${g.search}${g.hash}`};exports.getLocalizedUrl=s;
|
|
2
2
|
//# sourceMappingURL=getLocalizedUrl.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLocalizedUrl.cjs","names":["configuration","DefaultValues","getPathWithoutLocale","getRewriteRules","getLocalizedPath","getCanonicalPath","checkIsURLAbsolute","getPrefix"],"sources":["../../../src/localization/getLocalizedUrl.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport { DefaultValues } from '@intlayer/config/client';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\nimport type { RoutingConfig } from '@intlayer/types/config';\nimport type { Locale } from '@intlayer/types/allLocales';\nimport { checkIsURLAbsolute } from '../utils/checkIsURLAbsolute';\nimport { getPathWithoutLocale } from './getPathWithoutLocale';\nimport { getPrefix } from './getPrefix';\nimport {\n getCanonicalPath,\n getLocalizedPath,\n getRewriteRules,\n} from './rewriteUtils';\n\n/**\n * Generate URL by prefixing the given URL with the referenced locale or adding search parameters\n * based on the routing mode. Handles both absolute and relative URLs appropriately.\n *\n * This function gets the locales, default locale, and routing mode from the configuration if not provided.\n *\n * Example:\n *\n * ```ts\n * // prefix-no-default mode\n * getLocalizedUrl('/about', 'fr', { locales: ['en', 'fr'], defaultLocale: 'en', mode: 'prefix-no-default' });\n * // Returns '/fr/about' for the French locale\n * // Returns '/about' for the English locale (default)\n *\n * // prefix-all mode\n * getLocalizedUrl('/about', 'en', { locales: ['en', 'fr'], defaultLocale: 'en', mode: 'prefix-all' });\n * // Returns '/en/about' for the English locale\n * // Returns '/fr/about' for the French locale\n *\n * // search-params mode\n * getLocalizedUrl('/about', 'fr', { locales: ['en', 'fr'], defaultLocale: 'en', mode: 'search-params' });\n * // Returns '/about?locale=fr' for the French locale\n *\n * // no-prefix mode\n * getLocalizedUrl('/about', 'fr', { locales: ['en', 'fr'], defaultLocale: 'en', mode: 'no-prefix' });\n * // Returns '/about' for any locale\n * ```\n *\n * @param url - The original URL string to be processed.\n * @param currentLocale - The current locale.\n * @param options - Configuration options\n * @param options.locales - Optional array of supported locales. Defaults to configured locales.\n * @param options.defaultLocale - The default locale. Defaults to configured default locale.\n * @param options.mode - URL routing mode for locale handling. Defaults to configured mode.\n * @returns The localized URL for the current locale.\n */\nexport const getLocalizedUrl = (\n url: string,\n currentLocale: LocalesValues = configuration?.internationalization\n ?.defaultLocale,\n options: {\n locales?: LocalesValues[];\n defaultLocale?: LocalesValues;\n mode?: RoutingConfig['mode'];\n rewrite?: RoutingConfig['rewrite'];\n } = {}\n): string => {\n const { defaultLocale, mode, locales, rewrite } = {\n defaultLocale:\n configuration?.internationalization?.defaultLocale ??\n DefaultValues.Internationalization.DEFAULT_LOCALE,\n mode: configuration?.routing?.mode ?? DefaultValues.Routing.ROUTING_MODE,\n locales:\n configuration?.internationalization?.locales ??\n DefaultValues.Internationalization.LOCALES,\n rewrite: configuration?.routing?.rewrite,\n ...options,\n };\n\n const urlWithoutLocale = getPathWithoutLocale(url, locales);\n\n const urlRewriteRules = getRewriteRules(rewrite, 'url');\n\n if (mode === 'no-prefix') {\n // Resolve to canonical path first from the potentially localized input URL\n const canonicalPathname = getCanonicalPath(\n urlWithoutLocale,\n undefined,\n urlRewriteRules\n );\n\n // Localize the canonical path for the target locale\n return getLocalizedPath(\n canonicalPathname,\n currentLocale as Locale,\n urlRewriteRules\n ).path;\n }\n\n const isAbsoluteUrl = checkIsURLAbsolute(urlWithoutLocale);\n\n const parsedUrl = isAbsoluteUrl\n ? new URL(urlWithoutLocale)\n : new URL(urlWithoutLocale, 'http://example.com');\n\n const baseUrl = isAbsoluteUrl\n ? `${parsedUrl.protocol}//${parsedUrl.host}`\n : '';\n\n // Resolve to canonical path first\n const canonicalPathname = getCanonicalPath(\n parsedUrl.pathname,\n undefined,\n urlRewriteRules\n );\n\n // Localize the canonical path for the target locale\n const translatedPathname = getLocalizedPath(\n canonicalPathname,\n currentLocale as Locale,\n urlRewriteRules\n ).path;\n\n if (mode === 'search-params') {\n const searchParams = new URLSearchParams(parsedUrl.search);\n searchParams.set('locale', currentLocale.toString());\n\n const queryString = searchParams.toString();\n const pathWithQuery = queryString\n ? `${translatedPathname}?${queryString}`\n : translatedPathname;\n\n return isAbsoluteUrl\n ? `${baseUrl}${pathWithQuery}${parsedUrl.hash}`\n : `${pathWithQuery}${parsedUrl.hash}`;\n }\n\n const { prefix } = getPrefix(currentLocale, {\n defaultLocale,\n mode,\n locales,\n });\n\n let localizedPath = `/${prefix}${translatedPathname}`;\n\n localizedPath = localizedPath.replaceAll(/\\/+/g, '/');\n\n if (localizedPath.length > 1 && localizedPath.endsWith('/')) {\n localizedPath = localizedPath.slice(0, -1);\n }\n\n const finalUrl = isAbsoluteUrl\n ? `${baseUrl}${localizedPath}${parsedUrl.search}${parsedUrl.hash}`\n : `${localizedPath}${parsedUrl.search}${parsedUrl.hash}`;\n\n return finalUrl;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getLocalizedUrl.cjs","names":["configuration","DefaultValues","getPathWithoutLocale","getRewriteRules","getLocalizedPath","getCanonicalPath","checkIsURLAbsolute","getPrefix"],"sources":["../../../src/localization/getLocalizedUrl.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport { DefaultValues } from '@intlayer/config/client';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\nimport type { RoutingConfig } from '@intlayer/types/config';\nimport type { Locale } from '@intlayer/types/allLocales';\nimport { checkIsURLAbsolute } from '../utils/checkIsURLAbsolute';\nimport { getPathWithoutLocale } from './getPathWithoutLocale';\nimport { getPrefix } from './getPrefix';\nimport {\n getCanonicalPath,\n getLocalizedPath,\n getRewriteRules,\n} from './rewriteUtils';\n\n/**\n * Generate URL by prefixing the given URL with the referenced locale or adding search parameters\n * based on the routing mode. Handles both absolute and relative URLs appropriately.\n *\n * This function gets the locales, default locale, and routing mode from the configuration if not provided.\n *\n * Example:\n *\n * ```ts\n * // prefix-no-default mode\n * getLocalizedUrl('/about', 'fr', { locales: ['en', 'fr'], defaultLocale: 'en', mode: 'prefix-no-default' });\n * // Returns '/fr/about' for the French locale\n * // Returns '/about' for the English locale (default)\n *\n * // prefix-all mode\n * getLocalizedUrl('/about', 'en', { locales: ['en', 'fr'], defaultLocale: 'en', mode: 'prefix-all' });\n * // Returns '/en/about' for the English locale\n * // Returns '/fr/about' for the French locale\n *\n * // search-params mode\n * getLocalizedUrl('/about', 'fr', { locales: ['en', 'fr'], defaultLocale: 'en', mode: 'search-params' });\n * // Returns '/about?locale=fr' for the French locale\n *\n * // no-prefix mode\n * getLocalizedUrl('/about', 'fr', { locales: ['en', 'fr'], defaultLocale: 'en', mode: 'no-prefix' });\n * // Returns '/about' for any locale\n * ```\n *\n * @param url - The original URL string to be processed.\n * @param currentLocale - The current locale.\n * @param options - Configuration options\n * @param options.locales - Optional array of supported locales. Defaults to configured locales.\n * @param options.defaultLocale - The default locale. Defaults to configured default locale.\n * @param options.mode - URL routing mode for locale handling. Defaults to configured mode.\n * @returns The localized URL for the current locale.\n */\nexport const getLocalizedUrl = (\n url: string,\n currentLocale: LocalesValues = configuration?.internationalization\n ?.defaultLocale,\n options: {\n locales?: LocalesValues[];\n defaultLocale?: LocalesValues;\n mode?: RoutingConfig['mode'];\n rewrite?: RoutingConfig['rewrite'];\n } = {}\n): string => {\n const { defaultLocale, mode, locales, rewrite } = {\n defaultLocale:\n configuration?.internationalization?.defaultLocale ??\n DefaultValues.Internationalization.DEFAULT_LOCALE,\n mode: configuration?.routing?.mode ?? DefaultValues.Routing.ROUTING_MODE,\n locales:\n configuration?.internationalization?.locales ??\n DefaultValues.Internationalization.LOCALES,\n rewrite: configuration?.routing?.rewrite,\n ...options,\n };\n\n const urlWithoutLocale = getPathWithoutLocale(url, locales);\n\n const urlRewriteRules = getRewriteRules(rewrite, 'url');\n\n if (mode === 'no-prefix') {\n // Resolve to canonical path first from the potentially localized input URL\n const canonicalPathname = getCanonicalPath(\n urlWithoutLocale,\n undefined,\n urlRewriteRules\n );\n\n // Localize the canonical path for the target locale\n return getLocalizedPath(\n canonicalPathname,\n currentLocale as Locale,\n urlRewriteRules\n ).path;\n }\n\n const isAbsoluteUrl = checkIsURLAbsolute(urlWithoutLocale);\n\n const parsedUrl = isAbsoluteUrl\n ? new URL(urlWithoutLocale)\n : new URL(urlWithoutLocale, 'http://example.com');\n\n const baseUrl = isAbsoluteUrl\n ? `${parsedUrl.protocol}//${parsedUrl.host}`\n : '';\n\n // Resolve to canonical path first\n const canonicalPathname = getCanonicalPath(\n parsedUrl.pathname,\n undefined,\n urlRewriteRules\n );\n\n // Localize the canonical path for the target locale\n const translatedPathname = getLocalizedPath(\n canonicalPathname,\n currentLocale as Locale,\n urlRewriteRules\n ).path;\n\n if (mode === 'search-params') {\n const searchParams = new URLSearchParams(parsedUrl.search);\n searchParams.set('locale', currentLocale.toString());\n\n const queryString = searchParams.toString();\n const pathWithQuery = queryString\n ? `${translatedPathname}?${queryString}`\n : translatedPathname;\n\n return isAbsoluteUrl\n ? `${baseUrl}${pathWithQuery}${parsedUrl.hash}`\n : `${pathWithQuery}${parsedUrl.hash}`;\n }\n\n const { prefix } = getPrefix(currentLocale, {\n defaultLocale,\n mode,\n locales,\n });\n\n let localizedPath = `/${prefix}${translatedPathname}`;\n\n localizedPath = localizedPath.replaceAll(/\\/+/g, '/');\n\n if (localizedPath.length > 1 && localizedPath.endsWith('/')) {\n localizedPath = localizedPath.slice(0, -1);\n }\n\n const finalUrl = isAbsoluteUrl\n ? `${baseUrl}${localizedPath}${parsedUrl.search}${parsedUrl.hash}`\n : `${localizedPath}${parsedUrl.search}${parsedUrl.hash}`;\n\n return finalUrl;\n};\n"],"mappings":"oVAkDA,MAAa,GACX,EACA,EAA+BA,EAAAA,SAAe,sBAC1C,cACJ,EAKI,EAAE,GACK,CACX,GAAM,CAAE,gBAAe,OAAM,UAAS,WAAY,CAChD,cACEA,EAAAA,SAAe,sBAAsB,eACrCC,EAAAA,cAAc,qBAAqB,eACrC,KAAMD,EAAAA,SAAe,SAAS,MAAQC,EAAAA,cAAc,QAAQ,aAC5D,QACED,EAAAA,SAAe,sBAAsB,SACrCC,EAAAA,cAAc,qBAAqB,QACrC,QAASD,EAAAA,SAAe,SAAS,QACjC,GAAG,EACJ,CAEK,EAAmBE,EAAAA,qBAAqB,EAAK,EAAQ,CAErD,EAAkBC,EAAAA,gBAAgB,EAAS,MAAM,CAEvD,GAAI,IAAS,YASX,OAAOC,EAAAA,iBAPmBC,EAAAA,iBACxB,EACA,IAAA,GACA,EACD,CAKC,EACA,EACD,CAAC,KAGJ,IAAM,EAAgBC,EAAAA,mBAAmB,EAAiB,CAEpD,EAAY,EACd,IAAI,IAAI,EAAiB,CACzB,IAAI,IAAI,EAAkB,qBAAqB,CAE7C,EAAU,EACZ,GAAG,EAAU,SAAS,IAAI,EAAU,OACpC,GAUE,EAAqBF,EAAAA,iBAPDC,EAAAA,iBACxB,EAAU,SACV,IAAA,GACA,EACD,CAKC,EACA,EACD,CAAC,KAEF,GAAI,IAAS,gBAAiB,CAC5B,IAAM,EAAe,IAAI,gBAAgB,EAAU,OAAO,CAC1D,EAAa,IAAI,SAAU,EAAc,UAAU,CAAC,CAEpD,IAAM,EAAc,EAAa,UAAU,CACrC,EAAgB,EAClB,GAAG,EAAmB,GAAG,IACzB,EAEJ,OAAO,EACH,GAAG,IAAU,IAAgB,EAAU,OACvC,GAAG,IAAgB,EAAU,OAGnC,GAAM,CAAE,UAAWE,EAAAA,UAAU,EAAe,CAC1C,gBACA,OACA,UACD,CAAC,CAEE,EAAgB,IAAI,IAAS,IAYjC,MAVA,GAAgB,EAAc,WAAW,OAAQ,IAAI,CAEjD,EAAc,OAAS,GAAK,EAAc,SAAS,IAAI,GACzD,EAAgB,EAAc,MAAM,EAAG,GAAG,EAG3B,EACb,GAAG,IAAU,IAAgB,EAAU,SAAS,EAAU,OAC1D,GAAG,IAAgB,EAAU,SAAS,EAAU"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../chunk-Bmb41Sf3.cjs`),t=require(`./getLocalizedUrl.cjs`);let n=require(`@intlayer/config/client`),r=require(`@intlayer/config/built`);r=e.t(r);const i=(e,i={})=>{let{defaultLocale:a,mode:o,locales:s,rewrite:c}={defaultLocale:r.default?.internationalization?.defaultLocale??n.DefaultValues.Internationalization.DEFAULT_LOCALE,mode:r.default?.routing?.mode??n.DefaultValues.Routing.ROUTING_MODE,locales:r.default?.internationalization?.locales??n.DefaultValues.Internationalization.LOCALES,rewrite:r.default?.routing?.rewrite,...i};return(s??[]).reduce((n,r)=>(n[r]=t.getLocalizedUrl(e,r,{locales:s,defaultLocale:a,mode:o,rewrite:c}),n),{})};exports.getMultilingualUrls=i;
|
|
2
2
|
//# sourceMappingURL=getMultilingualUrls.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMultilingualUrls.cjs","names":["configuration","DefaultValues","getLocalizedUrl"],"sources":["../../../src/localization/getMultilingualUrls.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport { DefaultValues } from '@intlayer/config/client';\nimport type { LocalesValues, StrictModeLocaleMap } from '@intlayer/types/module_augmentation';\nimport type { RoutingConfig } from '@intlayer/types/config';\nimport { getLocalizedUrl } from './getLocalizedUrl';\n\n/**\n * Generates multilingual URLs by prefixing the given URL with each supported locale\n * or adding search parameters based on the routing mode.\n * Handles both absolute and relative URLs appropriately.\n *\n * This function gets the locales, default locale, and routing mode from the configuration if not provided.\n *\n * Example:\n *\n * ```ts\n * // prefix-no-default mode\n * getMultilingualUrls('/dashboard', { locales: ['en', 'fr'], defaultLocale: 'en', mode: 'prefix-no-default' })\n * // Returns { en: '/dashboard', fr: '/fr/dashboard' }\n *\n * // prefix-all mode\n * getMultilingualUrls('/dashboard', { locales: ['en', 'fr'], defaultLocale: 'en', mode: 'prefix-all' })\n * // Returns { en: '/en/dashboard', fr: '/fr/dashboard' }\n *\n * // search-params mode\n * getMultilingualUrls('/dashboard', { locales: ['en', 'fr'], defaultLocale: 'en', mode: 'search-params' })\n * // Returns { en: '/dashboard?locale=en', fr: '/dashboard?locale=fr' }\n *\n * // no-prefix mode\n * getMultilingualUrls('/dashboard', { locales: ['en', 'fr'], defaultLocale: 'en', mode: 'no-prefix' })\n * // Returns { en: '/dashboard', fr: '/dashboard' }\n * ```\n *\n * @param url - The original URL string to be processed.\n * @param options - Configuration options\n * @param options.locales - Optional array of supported locales. Defaults to configured locales.\n * @param options.defaultLocale - The default locale. Defaults to configured default locale.\n * @param options.mode - URL routing mode for locale handling. Defaults to configured mode.\n * @returns An object mapping each locale to its corresponding multilingual URL.\n */\nexport const getMultilingualUrls = (\n url: string,\n options: {\n locales?: LocalesValues[];\n defaultLocale?: LocalesValues;\n mode?: RoutingConfig['mode'];\n rewrite?: RoutingConfig['rewrite'];\n } = {}\n): StrictModeLocaleMap<string> => {\n const { defaultLocale, mode, locales, rewrite } = {\n defaultLocale:\n configuration?.internationalization?.defaultLocale ??\n DefaultValues.Internationalization.DEFAULT_LOCALE,\n mode: configuration?.routing?.mode ?? DefaultValues.Routing.ROUTING_MODE,\n locales:\n configuration?.internationalization?.locales ??\n DefaultValues.Internationalization.LOCALES,\n rewrite: configuration?.routing?.rewrite,\n ...options,\n };\n\n // Generate multilingual URLs by iterating over each locale and calling getLocalizedUrl\n const multilingualUrls = (locales ?? []).reduce<StrictModeLocaleMap<string>>(\n (acc, locale) => {\n // Get the localized URL for this locale\n const localizedUrl = getLocalizedUrl(url, locale, {\n locales,\n defaultLocale,\n mode,\n rewrite,\n });\n\n // Assign the constructed URL to the corresponding locale key\n acc[locale as unknown as keyof typeof acc] = localizedUrl;\n\n return acc;\n },\n {} as StrictModeLocaleMap<string>\n );\n\n return multilingualUrls;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getMultilingualUrls.cjs","names":["configuration","DefaultValues","getLocalizedUrl"],"sources":["../../../src/localization/getMultilingualUrls.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport { DefaultValues } from '@intlayer/config/client';\nimport type { LocalesValues, StrictModeLocaleMap } from '@intlayer/types/module_augmentation';\nimport type { RoutingConfig } from '@intlayer/types/config';\nimport { getLocalizedUrl } from './getLocalizedUrl';\n\n/**\n * Generates multilingual URLs by prefixing the given URL with each supported locale\n * or adding search parameters based on the routing mode.\n * Handles both absolute and relative URLs appropriately.\n *\n * This function gets the locales, default locale, and routing mode from the configuration if not provided.\n *\n * Example:\n *\n * ```ts\n * // prefix-no-default mode\n * getMultilingualUrls('/dashboard', { locales: ['en', 'fr'], defaultLocale: 'en', mode: 'prefix-no-default' })\n * // Returns { en: '/dashboard', fr: '/fr/dashboard' }\n *\n * // prefix-all mode\n * getMultilingualUrls('/dashboard', { locales: ['en', 'fr'], defaultLocale: 'en', mode: 'prefix-all' })\n * // Returns { en: '/en/dashboard', fr: '/fr/dashboard' }\n *\n * // search-params mode\n * getMultilingualUrls('/dashboard', { locales: ['en', 'fr'], defaultLocale: 'en', mode: 'search-params' })\n * // Returns { en: '/dashboard?locale=en', fr: '/dashboard?locale=fr' }\n *\n * // no-prefix mode\n * getMultilingualUrls('/dashboard', { locales: ['en', 'fr'], defaultLocale: 'en', mode: 'no-prefix' })\n * // Returns { en: '/dashboard', fr: '/dashboard' }\n * ```\n *\n * @param url - The original URL string to be processed.\n * @param options - Configuration options\n * @param options.locales - Optional array of supported locales. Defaults to configured locales.\n * @param options.defaultLocale - The default locale. Defaults to configured default locale.\n * @param options.mode - URL routing mode for locale handling. Defaults to configured mode.\n * @returns An object mapping each locale to its corresponding multilingual URL.\n */\nexport const getMultilingualUrls = (\n url: string,\n options: {\n locales?: LocalesValues[];\n defaultLocale?: LocalesValues;\n mode?: RoutingConfig['mode'];\n rewrite?: RoutingConfig['rewrite'];\n } = {}\n): StrictModeLocaleMap<string> => {\n const { defaultLocale, mode, locales, rewrite } = {\n defaultLocale:\n configuration?.internationalization?.defaultLocale ??\n DefaultValues.Internationalization.DEFAULT_LOCALE,\n mode: configuration?.routing?.mode ?? DefaultValues.Routing.ROUTING_MODE,\n locales:\n configuration?.internationalization?.locales ??\n DefaultValues.Internationalization.LOCALES,\n rewrite: configuration?.routing?.rewrite,\n ...options,\n };\n\n // Generate multilingual URLs by iterating over each locale and calling getLocalizedUrl\n const multilingualUrls = (locales ?? []).reduce<StrictModeLocaleMap<string>>(\n (acc, locale) => {\n // Get the localized URL for this locale\n const localizedUrl = getLocalizedUrl(url, locale, {\n locales,\n defaultLocale,\n mode,\n rewrite,\n });\n\n // Assign the constructed URL to the corresponding locale key\n acc[locale as unknown as keyof typeof acc] = localizedUrl;\n\n return acc;\n },\n {} as StrictModeLocaleMap<string>\n );\n\n return multilingualUrls;\n};\n"],"mappings":"qOAwCA,MAAa,GACX,EACA,EAKI,EAAE,GAC0B,CAChC,GAAM,CAAE,gBAAe,OAAM,UAAS,WAAY,CAChD,cACEA,EAAAA,SAAe,sBAAsB,eACrCC,EAAAA,cAAc,qBAAqB,eACrC,KAAMD,EAAAA,SAAe,SAAS,MAAQC,EAAAA,cAAc,QAAQ,aAC5D,QACED,EAAAA,SAAe,sBAAsB,SACrCC,EAAAA,cAAc,qBAAqB,QACrC,QAASD,EAAAA,SAAe,SAAS,QACjC,GAAG,EACJ,CAqBD,OAlB0B,GAAW,EAAE,EAAE,QACtC,EAAK,KAUJ,EAAI,GARiBE,EAAAA,gBAAgB,EAAK,EAAQ,CAChD,UACA,gBACA,OACA,UACD,CAAC,CAKK,GAET,EAAE,CACH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../chunk-Bmb41Sf3.cjs`),t=require(`../utils/checkIsURLAbsolute.cjs`);let n=require(`@intlayer/config/built`);n=e.t(n);const r=(e,r=n.default?.internationalization?.locales)=>{let i=t.checkIsURLAbsolute(e),a=e;e?.endsWith(`/`)&&(a=e.slice(0,-1));let o=i?new URL(a):new URL(a,`http://example.com`),s=o.pathname;s.startsWith(`/`)||(o.pathname=`/${s}`);let c=s.split(`/`),l=c[1];r?.includes(l)&&(c.splice(1,1),o.pathname=c.join(`/`)??`/`);let u=new URLSearchParams(o.search);return u.has(`locale`)&&(u.delete(`locale`),o.search=u.toString()),i?o.toString():o.toString().replace(`http://example.com`,``)};exports.getPathWithoutLocale=r;
|
|
2
2
|
//# sourceMappingURL=getPathWithoutLocale.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPathWithoutLocale.cjs","names":["configuration","checkIsURLAbsolute"],"sources":["../../../src/localization/getPathWithoutLocale.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\n\nimport { checkIsURLAbsolute } from '../utils/checkIsURLAbsolute';\n\n/**\n * Removes the locale segment from the given URL or pathname if present.\n * Also removes locale from search parameters if present.\n *\n * This function get the locales from the configuration if not provided.\n *\n * Example:\n *\n * ```ts\n * getPathWithoutLocale('/en/dashboard') // Returns '/dashboard'\n * getPathWithoutLocale('/fr/dashboard') // Returns '/dashboard'\n * getPathWithoutLocale('/dashboard') // Returns '/dashboard'\n * getPathWithoutLocale('dashboard') // Returns 'dashboard'\n * getPathWithoutLocale('/dashboard?locale=fr') // Returns '/dashboard'\n * getPathWithoutLocale('https://example.com/en/dashboard') // Returns 'https://example.com/dashboard'\n * getPathWithoutLocale('https://example.com/fr/dashboard') // Returns 'https://example.com/dashboard'\n * getPathWithoutLocale('https://example.com/dashboard') // Returns 'https://example.com/dashboard'\n * getPathWithoutLocale('https://example.com/dashboard?locale=fr') // Returns 'https://example.com/dashboard'\n * ```\n *\n * @param inputUrl - The complete URL string or pathname to process.\n * @param locales - Optional array of supported locales. Defaults to `localesDefault`.\n * @returns The URL string or pathname without the locale segment or locale search parameter.\n */\nexport const getPathWithoutLocale = (\n inputUrl: string,\n locales: LocalesValues[] = configuration?.internationalization?.locales\n): string => {\n // Determine if the original URL is absolute (includes protocol)\n const isAbsoluteUrl = checkIsURLAbsolute(inputUrl);\n\n let fixedInputUrl = inputUrl;\n\n if (inputUrl?.endsWith('/')) {\n fixedInputUrl = inputUrl.slice(0, -1);\n }\n\n // Initialize a URL object if the URL is absolute\n // For relative URLs, use a dummy base to leverage the URL API\n const url = isAbsoluteUrl\n ? new URL(fixedInputUrl)\n : new URL(fixedInputUrl, 'http://example.com');\n\n const pathname = url.pathname;\n\n // Ensure the pathname starts with '/'\n if (!pathname.startsWith('/')) {\n // If not, return the URL as is\n url.pathname = `/${pathname}`;\n }\n\n // Split the pathname to extract the first segment\n const pathSegments = pathname.split('/');\n const firstSegment = pathSegments[1]; // The segment after the first '/'\n\n // Check if the first segment is a supported locale\n if (locales?.includes(firstSegment as LocalesValues)) {\n // Remove the locale segment from the pathname\n pathSegments.splice(1, 1); // Remove the first segment\n\n // Reconstruct the pathname\n const newPathname = pathSegments.join('/') ?? '/';\n url.pathname = newPathname;\n }\n\n // Remove locale from search parameters if present\n const searchParams = new URLSearchParams(url.search);\n if (searchParams.has('locale')) {\n searchParams.delete('locale');\n url.search = searchParams.toString();\n }\n\n if (isAbsoluteUrl) {\n // Return the modified URL as a string\n return url.toString();\n }\n\n // Return the modified URL as a string\n return url.toString().replace('http://example.com', '');\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getPathWithoutLocale.cjs","names":["configuration","checkIsURLAbsolute"],"sources":["../../../src/localization/getPathWithoutLocale.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\n\nimport { checkIsURLAbsolute } from '../utils/checkIsURLAbsolute';\n\n/**\n * Removes the locale segment from the given URL or pathname if present.\n * Also removes locale from search parameters if present.\n *\n * This function get the locales from the configuration if not provided.\n *\n * Example:\n *\n * ```ts\n * getPathWithoutLocale('/en/dashboard') // Returns '/dashboard'\n * getPathWithoutLocale('/fr/dashboard') // Returns '/dashboard'\n * getPathWithoutLocale('/dashboard') // Returns '/dashboard'\n * getPathWithoutLocale('dashboard') // Returns 'dashboard'\n * getPathWithoutLocale('/dashboard?locale=fr') // Returns '/dashboard'\n * getPathWithoutLocale('https://example.com/en/dashboard') // Returns 'https://example.com/dashboard'\n * getPathWithoutLocale('https://example.com/fr/dashboard') // Returns 'https://example.com/dashboard'\n * getPathWithoutLocale('https://example.com/dashboard') // Returns 'https://example.com/dashboard'\n * getPathWithoutLocale('https://example.com/dashboard?locale=fr') // Returns 'https://example.com/dashboard'\n * ```\n *\n * @param inputUrl - The complete URL string or pathname to process.\n * @param locales - Optional array of supported locales. Defaults to `localesDefault`.\n * @returns The URL string or pathname without the locale segment or locale search parameter.\n */\nexport const getPathWithoutLocale = (\n inputUrl: string,\n locales: LocalesValues[] = configuration?.internationalization?.locales\n): string => {\n // Determine if the original URL is absolute (includes protocol)\n const isAbsoluteUrl = checkIsURLAbsolute(inputUrl);\n\n let fixedInputUrl = inputUrl;\n\n if (inputUrl?.endsWith('/')) {\n fixedInputUrl = inputUrl.slice(0, -1);\n }\n\n // Initialize a URL object if the URL is absolute\n // For relative URLs, use a dummy base to leverage the URL API\n const url = isAbsoluteUrl\n ? new URL(fixedInputUrl)\n : new URL(fixedInputUrl, 'http://example.com');\n\n const pathname = url.pathname;\n\n // Ensure the pathname starts with '/'\n if (!pathname.startsWith('/')) {\n // If not, return the URL as is\n url.pathname = `/${pathname}`;\n }\n\n // Split the pathname to extract the first segment\n const pathSegments = pathname.split('/');\n const firstSegment = pathSegments[1]; // The segment after the first '/'\n\n // Check if the first segment is a supported locale\n if (locales?.includes(firstSegment as LocalesValues)) {\n // Remove the locale segment from the pathname\n pathSegments.splice(1, 1); // Remove the first segment\n\n // Reconstruct the pathname\n const newPathname = pathSegments.join('/') ?? '/';\n url.pathname = newPathname;\n }\n\n // Remove locale from search parameters if present\n const searchParams = new URLSearchParams(url.search);\n if (searchParams.has('locale')) {\n searchParams.delete('locale');\n url.search = searchParams.toString();\n }\n\n if (isAbsoluteUrl) {\n // Return the modified URL as a string\n return url.toString();\n }\n\n // Return the modified URL as a string\n return url.toString().replace('http://example.com', '');\n};\n"],"mappings":"0MA6BA,MAAa,GACX,EACA,EAA2BA,EAAAA,SAAe,sBAAsB,UACrD,CAEX,IAAM,EAAgBC,EAAAA,mBAAmB,EAAS,CAE9C,EAAgB,EAEhB,GAAU,SAAS,IAAI,GACzB,EAAgB,EAAS,MAAM,EAAG,GAAG,EAKvC,IAAM,EAAM,EACR,IAAI,IAAI,EAAc,CACtB,IAAI,IAAI,EAAe,qBAAqB,CAE1C,EAAW,EAAI,SAGhB,EAAS,WAAW,IAAI,GAE3B,EAAI,SAAW,IAAI,KAIrB,IAAM,EAAe,EAAS,MAAM,IAAI,CAClC,EAAe,EAAa,GAG9B,GAAS,SAAS,EAA8B,GAElD,EAAa,OAAO,EAAG,EAAE,CAIzB,EAAI,SADgB,EAAa,KAAK,IAAI,EAAI,KAKhD,IAAM,EAAe,IAAI,gBAAgB,EAAI,OAAO,CAYpD,OAXI,EAAa,IAAI,SAAS,GAC5B,EAAa,OAAO,SAAS,CAC7B,EAAI,OAAS,EAAa,UAAU,EAGlC,EAEK,EAAI,UAAU,CAIhB,EAAI,UAAU,CAAC,QAAQ,qBAAsB,GAAG"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../chunk-Bmb41Sf3.cjs`);let t=require(`@intlayer/config/client`),n=require(`@intlayer/config/built`);n=e.t(n);const r=(e,r={})=>{let{defaultLocale:i,mode:a,locales:o}={defaultLocale:n.default?.internationalization?.defaultLocale??t.DefaultValues.Internationalization.DEFAULT_LOCALE,mode:n.default?.routing?.mode??t.DefaultValues.Routing.ROUTING_MODE,locales:n.default?.internationalization?.locales??t.DefaultValues.Internationalization.LOCALES,...r};return!e||!o.includes(e)?{prefix:``,localePrefix:void 0}:a===`prefix-all`||a===`prefix-no-default`&&i!==e?{prefix:`${e}/`,localePrefix:e}:{prefix:``,localePrefix:void 0}};exports.getPrefix=r;
|
|
2
2
|
//# sourceMappingURL=getPrefix.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPrefix.cjs","names":["configuration","DefaultValues"],"sources":["../../../src/localization/getPrefix.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport { DefaultValues } from '@intlayer/config/client';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\nimport type { RoutingConfig } from '@intlayer/types/config';\nimport type { Locale } from '@intlayer/types/allLocales';\n\nexport type GetPrefixOptions = {\n defaultLocale?: LocalesValues;\n mode?: RoutingConfig['mode'];\n};\n\nexport type GetPrefixResult = {\n /**\n * The complete base URL path with leading and trailing slashes.\n *\n * @example\n * // https://example.com/fr/about -> '/fr'\n * // https://example.com/about -> ''\n */\n prefix: string;\n /**\n * The locale identifier without slashes.\n *\n * @example\n * // https://example.com/fr/about -> 'fr'\n * // https://example.com/about -> undefined\n */\n localePrefix: Locale | undefined;\n};\n\n/**\n * Determines the URL prefix for a given locale based on the routing mode configuration.\n *\n * Example:\n *\n * ```ts\n * // prefix-no-default mode with default locale\n * getPrefix('en', { defaultLocale: 'en', mode: 'prefix-no-default' })\n * // Returns { prefix: '', localePrefix: undefined }\n *\n * // prefix-no-default mode with non-default locale\n * getPrefix('fr', { defaultLocale: 'en', mode: 'prefix-no-default' })\n * // Returns { prefix: '/fr', localePrefix: 'fr' }\n *\n * // prefix-all mode\n * getPrefix('en', { defaultLocale: 'en', mode: 'prefix-all' })\n * // Returns { prefix: '/en', localePrefix: locale }\n *\n * // search-params mode\n * getPrefix('en', { defaultLocale: 'en', mode: 'search-params' })\n * // Returns { prefix: '', localePrefix: undefined }\n *\n * // no-prefix mode\n * getPrefix('en', { defaultLocale: 'en', mode: 'no-prefix' })\n * // Returns { prefix: '', localePrefix: undefined }\n * ```\n *\n * @param locale - The locale to check for prefix. If not provided, uses configured default locale.\n * @param options - Configuration options\n * @param options.defaultLocale - The default locale. Defaults to configured default locale.\n * @param options.mode - URL routing mode for locale handling. Defaults to configured mode.\n * @returns An object containing pathPrefix, prefix, and localePrefix for the given locale.\n */\nexport const getPrefix = (\n locale: LocalesValues | undefined,\n options: {\n defaultLocale?: LocalesValues;\n locales?: LocalesValues[];\n mode?: RoutingConfig['mode'];\n } = {}\n): GetPrefixResult => {\n const { defaultLocale, mode, locales } = {\n defaultLocale:\n configuration?.internationalization?.defaultLocale ??\n DefaultValues.Internationalization.DEFAULT_LOCALE,\n mode: configuration?.routing?.mode ?? DefaultValues.Routing.ROUTING_MODE,\n locales:\n configuration?.internationalization?.locales ??\n DefaultValues.Internationalization.LOCALES,\n ...options,\n };\n\n if (!locale || !locales.includes(locale)) {\n return {\n prefix: '',\n localePrefix: undefined,\n };\n }\n\n // Handle prefix-based modes (prefix-all or prefix-no-default)\n const shouldPrefix =\n mode === 'prefix-all' ||\n (mode === 'prefix-no-default' && defaultLocale !== locale);\n\n if (shouldPrefix) {\n return {\n prefix: `${locale}/`,\n localePrefix: locale as Locale,\n };\n }\n\n return {\n prefix: '',\n localePrefix: undefined,\n };\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getPrefix.cjs","names":["configuration","DefaultValues"],"sources":["../../../src/localization/getPrefix.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport { DefaultValues } from '@intlayer/config/client';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\nimport type { RoutingConfig } from '@intlayer/types/config';\nimport type { Locale } from '@intlayer/types/allLocales';\n\nexport type GetPrefixOptions = {\n defaultLocale?: LocalesValues;\n mode?: RoutingConfig['mode'];\n};\n\nexport type GetPrefixResult = {\n /**\n * The complete base URL path with leading and trailing slashes.\n *\n * @example\n * // https://example.com/fr/about -> '/fr'\n * // https://example.com/about -> ''\n */\n prefix: string;\n /**\n * The locale identifier without slashes.\n *\n * @example\n * // https://example.com/fr/about -> 'fr'\n * // https://example.com/about -> undefined\n */\n localePrefix: Locale | undefined;\n};\n\n/**\n * Determines the URL prefix for a given locale based on the routing mode configuration.\n *\n * Example:\n *\n * ```ts\n * // prefix-no-default mode with default locale\n * getPrefix('en', { defaultLocale: 'en', mode: 'prefix-no-default' })\n * // Returns { prefix: '', localePrefix: undefined }\n *\n * // prefix-no-default mode with non-default locale\n * getPrefix('fr', { defaultLocale: 'en', mode: 'prefix-no-default' })\n * // Returns { prefix: '/fr', localePrefix: 'fr' }\n *\n * // prefix-all mode\n * getPrefix('en', { defaultLocale: 'en', mode: 'prefix-all' })\n * // Returns { prefix: '/en', localePrefix: locale }\n *\n * // search-params mode\n * getPrefix('en', { defaultLocale: 'en', mode: 'search-params' })\n * // Returns { prefix: '', localePrefix: undefined }\n *\n * // no-prefix mode\n * getPrefix('en', { defaultLocale: 'en', mode: 'no-prefix' })\n * // Returns { prefix: '', localePrefix: undefined }\n * ```\n *\n * @param locale - The locale to check for prefix. If not provided, uses configured default locale.\n * @param options - Configuration options\n * @param options.defaultLocale - The default locale. Defaults to configured default locale.\n * @param options.mode - URL routing mode for locale handling. Defaults to configured mode.\n * @returns An object containing pathPrefix, prefix, and localePrefix for the given locale.\n */\nexport const getPrefix = (\n locale: LocalesValues | undefined,\n options: {\n defaultLocale?: LocalesValues;\n locales?: LocalesValues[];\n mode?: RoutingConfig['mode'];\n } = {}\n): GetPrefixResult => {\n const { defaultLocale, mode, locales } = {\n defaultLocale:\n configuration?.internationalization?.defaultLocale ??\n DefaultValues.Internationalization.DEFAULT_LOCALE,\n mode: configuration?.routing?.mode ?? DefaultValues.Routing.ROUTING_MODE,\n locales:\n configuration?.internationalization?.locales ??\n DefaultValues.Internationalization.LOCALES,\n ...options,\n };\n\n if (!locale || !locales.includes(locale)) {\n return {\n prefix: '',\n localePrefix: undefined,\n };\n }\n\n // Handle prefix-based modes (prefix-all or prefix-no-default)\n const shouldPrefix =\n mode === 'prefix-all' ||\n (mode === 'prefix-no-default' && defaultLocale !== locale);\n\n if (shouldPrefix) {\n return {\n prefix: `${locale}/`,\n localePrefix: locale as Locale,\n };\n }\n\n return {\n prefix: '',\n localePrefix: undefined,\n };\n};\n"],"mappings":"kMA+DA,MAAa,GACX,EACA,EAII,EAAE,GACc,CACpB,GAAM,CAAE,gBAAe,OAAM,WAAY,CACvC,cACEA,EAAAA,SAAe,sBAAsB,eACrCC,EAAAA,cAAc,qBAAqB,eACrC,KAAMD,EAAAA,SAAe,SAAS,MAAQC,EAAAA,cAAc,QAAQ,aAC5D,QACED,EAAAA,SAAe,sBAAsB,SACrCC,EAAAA,cAAc,qBAAqB,QACrC,GAAG,EACJ,CAqBD,MAnBI,CAAC,GAAU,CAAC,EAAQ,SAAS,EAAO,CAC/B,CACL,OAAQ,GACR,aAAc,IAAA,GACf,CAKD,IAAS,cACR,IAAS,qBAAuB,IAAkB,EAG5C,CACL,OAAQ,GAAG,EAAO,GAClB,aAAc,EACf,CAGI,CACL,OAAQ,GACR,aAAc,IAAA,GACf"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../chunk-Bmb41Sf3.cjs`);let t=require(`@intlayer/config/client`),n=require(`@intlayer/config/built`);n=e.t(n);const r=(e,t,n)=>n===`no-prefix`||n===`search-params`?!1:n===`prefix-all`?!0:e!==t,i=(e,i=n.default?.internationalization.locales??[],a=n.default?.internationalization.defaultLocale??t.DefaultValues.Internationalization.DEFAULT_LOCALE,o=n.default?.routing?.mode??`prefix-no-default`)=>(i??[]).map(t=>e({locale:t,defaultLocale:a,locales:i,isDefault:t===a,urlPrefix:r(t,a,o)?`/${t}`:``})),a=(e,i=n.default?.internationalization.locales??[],a=n.default?.internationalization.defaultLocale??t.DefaultValues.Internationalization.DEFAULT_LOCALE,o=n.default?.routing?.mode??`prefix-no-default`)=>i.flatMap(t=>e({locale:t,defaultLocale:a,locales:i,isDefault:t===a,urlPrefix:r(t,a,o)?`/${t}`:``})),o=(e,i=n.default?.internationalization.locales??[],a=n.default?.internationalization.defaultLocale??t.DefaultValues.Internationalization.DEFAULT_LOCALE,o=n.default?.routing?.mode??`prefix-no-default`)=>(i??[]).reduce((t,n)=>(t[n]=e({locale:n,defaultLocale:a,locales:i,isDefault:n===a,urlPrefix:r(n,a,o)?`/${n}`:``}),t),{});exports.localeFlatMap=a,exports.localeMap=i,exports.localeRecord=o;
|
|
2
2
|
//# sourceMappingURL=localeMapper.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localeMapper.cjs","names":["configuration","DefaultValues"],"sources":["../../../src/localization/localeMapper.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport { DefaultValues } from '@intlayer/config/client';\nimport type {
|
|
1
|
+
{"version":3,"file":"localeMapper.cjs","names":["configuration","DefaultValues"],"sources":["../../../src/localization/localeMapper.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport { DefaultValues } from '@intlayer/config/client';\nimport type { Locale } from '@intlayer/types/allLocales';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\n\nexport type LocaleData = {\n locale: Locale;\n defaultLocale: Locale;\n isDefault: boolean;\n locales: Locale[];\n urlPrefix: string;\n};\n\n/**\n * Determine if the locale should be prefixed in the URL based on routing mode\n */\nconst shouldPrefixLocale = (\n locale: LocalesValues,\n defaultLocale: LocalesValues,\n mode: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'\n): boolean => {\n if (mode === 'no-prefix' || mode === 'search-params') {\n return false;\n }\n if (mode === 'prefix-all') {\n return true;\n }\n // 'prefix-no-default'\n return locale !== defaultLocale;\n};\n\n/**\n * Map the locale data to an array of objects\n *\n * @example\n * ```ts\n * const routes = localeMap((localizedData) =>\n * ({\n * path: localizedData.urlPrefix,\n * name: localizedData.locale,\n * isDefault: localizedData.isDefault,\n * locales: localizedData.locales,\n * defaultLocale: localizedData.defaultLocale,\n * }),\n * );\n *\n * // Result\n * [\n * { path: '/', name: 'en', isDefault: true, locales: ['en'], defaultLocale: 'en', urlPrefix: '' },\n * { path: '/fr', name: 'fr', isDefault: false, locales: ['fr'], defaultLocale: 'en', urlPrefix: '/fr' },\n * { path: '/es', name: 'es', isDefault: false, locales: ['es'], defaultLocale: 'en', urlPrefix: '/es' },\n * ]\n * ```\n *\n * @param mapper - The mapper function that returns an object\n * @returns An array of objects\n */\nexport const localeMap = <T>(\n mapper: (locale: LocaleData) => T,\n locales: LocalesValues[] = configuration?.internationalization.locales ?? [],\n defaultLocale: LocalesValues = configuration?.internationalization\n .defaultLocale ?? DefaultValues.Internationalization.DEFAULT_LOCALE,\n mode:\n | 'prefix-no-default'\n | 'prefix-all'\n | 'no-prefix'\n | 'search-params' = configuration?.routing?.mode ?? 'prefix-no-default'\n): T[] =>\n (locales ?? []).map((locale) =>\n mapper({\n locale,\n defaultLocale,\n locales,\n isDefault: locale === defaultLocale,\n urlPrefix: shouldPrefixLocale(locale, defaultLocale, mode)\n ? `/${locale}`\n : '',\n } as LocaleData)\n );\n\n/**\n * Flatten the locale map into a single array of objects\n *\n * @example\n * ```ts\n * const routes = localeMap((localizedData) =>\n * [{\n * path: localizedData.urlPrefix,\n * name: localizedData.locale,\n * isDefault: localizedData.isDefault,\n * locales: localizedData.locales,\n * defaultLocale: localizedData.defaultLocale,\n * }],\n * );\n *\n * // Result\n * [\n * path: '/', name: 'en', isDefault: true, locales: ['en'], defaultLocale: 'en', urlPrefix: '' ,\n * path: '/fr', name: 'fr', isDefault: false, locales: ['fr'], defaultLocale: 'en', urlPrefix: '/fr' ,\n * path: '/es', name: 'es', isDefault: false, locales: ['es'], defaultLocale: 'en', urlPrefix: '/es' ,\n * ]\n * ```\n *\n * @param mapper - The mapper function that returns an array of objects\n * @returns An array of objects\n */\nexport const localeFlatMap = <T>(\n mapper: (locale: LocaleData) => T[],\n locales: LocalesValues[] = configuration?.internationalization.locales ?? [],\n defaultLocale: LocalesValues = configuration?.internationalization\n .defaultLocale ?? DefaultValues.Internationalization.DEFAULT_LOCALE,\n mode:\n | 'prefix-no-default'\n | 'prefix-all'\n | 'no-prefix'\n | 'search-params' = configuration?.routing?.mode ?? 'prefix-no-default'\n): T[] =>\n locales.flatMap((locale) =>\n mapper({\n locale,\n defaultLocale,\n locales,\n isDefault: locale === defaultLocale,\n urlPrefix: shouldPrefixLocale(locale, defaultLocale, mode)\n ? `/${locale}`\n : '',\n } as LocaleData)\n );\n\n/**\n * Creates a record object mapping locales to values transformed by the mapper function\n *\n * @example\n * ```ts\n * const translations = localeRecord(({ locale }) =>\n * require(`./translations/${locale}.json`)\n * );\n *\n * // Result\n *\n * en: ... , // Content of translations/en.json\n * fr: ... , // Content of translations/fr.json\n * es: ...\n *\n * ```\n *\n * @param mapper - Function that takes locale data and returns a value for that locale\n * @param locales - Array of locale codes to map over (defaults to configured locales)\n * @param defaultLocale - The default locale (defaults to configured default)\n * @param mode - URL routing mode for locale handling (defaults to configured value)\n * @returns Record mapping locale codes to mapped values\n */\nexport const localeRecord = <T>(\n mapper: (locale: LocaleData) => T,\n locales: LocalesValues[] = configuration?.internationalization.locales ?? [],\n defaultLocale: LocalesValues = configuration?.internationalization\n .defaultLocale ?? DefaultValues.Internationalization.DEFAULT_LOCALE,\n mode:\n | 'prefix-no-default'\n | 'prefix-all'\n | 'no-prefix'\n | 'search-params' = configuration?.routing?.mode ?? 'prefix-no-default'\n): Record<LocalesValues, T> =>\n (locales ?? []).reduce(\n (acc, locale) => {\n acc[locale] = mapper({\n locale,\n defaultLocale,\n locales,\n isDefault: locale === defaultLocale,\n urlPrefix: shouldPrefixLocale(locale, defaultLocale, mode)\n ? `/${locale}`\n : '',\n } as LocaleData);\n return acc;\n },\n {} as Record<LocalesValues, T>\n );\n"],"mappings":"kMAgBA,MAAM,GACJ,EACA,EACA,IAEI,IAAS,aAAe,IAAS,gBAC5B,GAEL,IAAS,aACJ,GAGF,IAAW,EA6BP,GACX,EACA,EAA2BA,EAAAA,SAAe,qBAAqB,SAAW,EAAE,CAC5E,EAA+BA,EAAAA,SAAe,qBAC3C,eAAiBC,EAAAA,cAAc,qBAAqB,eACvD,EAIsBD,EAAAA,SAAe,SAAS,MAAQ,uBAErD,GAAW,EAAE,EAAE,IAAK,GACnB,EAAO,CACL,SACA,gBACA,UACA,UAAW,IAAW,EACtB,UAAW,EAAmB,EAAQ,EAAe,EAAK,CACtD,IAAI,IACJ,GACL,CAAe,CACjB,CA4BU,GACX,EACA,EAA2BA,EAAAA,SAAe,qBAAqB,SAAW,EAAE,CAC5E,EAA+BA,EAAAA,SAAe,qBAC3C,eAAiBC,EAAAA,cAAc,qBAAqB,eACvD,EAIsBD,EAAAA,SAAe,SAAS,MAAQ,sBAEtD,EAAQ,QAAS,GACf,EAAO,CACL,SACA,gBACA,UACA,UAAW,IAAW,EACtB,UAAW,EAAmB,EAAQ,EAAe,EAAK,CACtD,IAAI,IACJ,GACL,CAAe,CACjB,CAyBU,GACX,EACA,EAA2BA,EAAAA,SAAe,qBAAqB,SAAW,EAAE,CAC5E,EAA+BA,EAAAA,SAAe,qBAC3C,eAAiBC,EAAAA,cAAc,qBAAqB,eACvD,EAIsBD,EAAAA,SAAe,SAAS,MAAQ,uBAErD,GAAW,EAAE,EAAE,QACb,EAAK,KACJ,EAAI,GAAU,EAAO,CACnB,SACA,gBACA,UACA,UAAW,IAAW,EACtB,UAAW,EAAmB,EAAQ,EAAe,EAAK,CACtD,IAAI,IACJ,GACL,CAAe,CACT,GAET,EAAE,CACH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../chunk-Bmb41Sf3.cjs`);let t=require(`@intlayer/config/built`);t=e.t(t);const n=(e,n=t.default?.internationalization?.locales,r=t.default?.internationalization?.defaultLocale)=>{let i=[e].flat(),a=e=>e.trim().toLowerCase();try{for(let e of i){let t=a(e),r=n.find(e=>a(e)===t);if(r)return r;let[i]=t.split(`-`),o=n.find(e=>a(e).split(`-`)[0]===i);if(o)return o}}catch{}return r};exports.localeResolver=n;
|
|
2
2
|
//# sourceMappingURL=localeResolver.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localeResolver.cjs","names":["configuration"],"sources":["../../../src/localization/localeResolver.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\nimport type { Locale } from '@intlayer/types/allLocales';\n\n/**\n * Resolves the most specific locale from a user-provided list,\n * or falls back to the default locale if no match is found.\n */\nexport const localeResolver = (\n selectedLocale: LocalesValues | LocalesValues[],\n locales: LocalesValues[] = configuration?.internationalization?.locales,\n defaultLocale: LocalesValues = configuration?.internationalization\n ?.defaultLocale\n): Locale => {\n // Ensure we can handle both a single locale or an array of locales uniformly\n const requestedLocales = [selectedLocale].flat();\n\n // Simple helper to normalize locale strings (e.g. \"en-US\" => \"en-us\")\n const normalize = (locale: string): string => locale.trim().toLowerCase();\n\n try {\n // Check each requested locale in order\n for (const requested of requestedLocales) {\n const normalizedRequested = normalize(requested);\n\n // 1) Attempt exact match\n const exactMatch = locales.find(\n (loc) => normalize(loc) === normalizedRequested\n );\n if (exactMatch) {\n return exactMatch as Locale;\n }\n\n // 2) Attempt partial match on language subtag\n // e.g. if requested is \"en-US\" and not found,\n // see if \"en\" is available among locales\n const [requestedLang] = normalizedRequested.split('-');\n const partialMatch = locales.find(\n (loc) => normalize(loc).split('-')[0] === requestedLang\n );\n if (partialMatch) {\n return partialMatch as Locale;\n }\n }\n } catch (_error) {\n // If anything unexpected happened, fall back to default\n }\n\n // If no match was found, return the default\n return defaultLocale as Locale;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"localeResolver.cjs","names":["configuration"],"sources":["../../../src/localization/localeResolver.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\nimport type { Locale } from '@intlayer/types/allLocales';\n\n/**\n * Resolves the most specific locale from a user-provided list,\n * or falls back to the default locale if no match is found.\n */\nexport const localeResolver = (\n selectedLocale: LocalesValues | LocalesValues[],\n locales: LocalesValues[] = configuration?.internationalization?.locales,\n defaultLocale: LocalesValues = configuration?.internationalization\n ?.defaultLocale\n): Locale => {\n // Ensure we can handle both a single locale or an array of locales uniformly\n const requestedLocales = [selectedLocale].flat();\n\n // Simple helper to normalize locale strings (e.g. \"en-US\" => \"en-us\")\n const normalize = (locale: string): string => locale.trim().toLowerCase();\n\n try {\n // Check each requested locale in order\n for (const requested of requestedLocales) {\n const normalizedRequested = normalize(requested);\n\n // 1) Attempt exact match\n const exactMatch = locales.find(\n (loc) => normalize(loc) === normalizedRequested\n );\n if (exactMatch) {\n return exactMatch as Locale;\n }\n\n // 2) Attempt partial match on language subtag\n // e.g. if requested is \"en-US\" and not found,\n // see if \"en\" is available among locales\n const [requestedLang] = normalizedRequested.split('-');\n const partialMatch = locales.find(\n (loc) => normalize(loc).split('-')[0] === requestedLang\n );\n if (partialMatch) {\n return partialMatch as Locale;\n }\n }\n } catch (_error) {\n // If anything unexpected happened, fall back to default\n }\n\n // If no match was found, return the default\n return defaultLocale as Locale;\n};\n"],"mappings":"6JAQA,MAAa,GACX,EACA,EAA2BA,EAAAA,SAAe,sBAAsB,QAChE,EAA+BA,EAAAA,SAAe,sBAC1C,gBACO,CAEX,IAAM,EAAmB,CAAC,EAAe,CAAC,MAAM,CAG1C,EAAa,GAA2B,EAAO,MAAM,CAAC,aAAa,CAEzE,GAAI,CAEF,IAAK,IAAM,KAAa,EAAkB,CACxC,IAAM,EAAsB,EAAU,EAAU,CAG1C,EAAa,EAAQ,KACxB,GAAQ,EAAU,EAAI,GAAK,EAC7B,CACD,GAAI,EACF,OAAO,EAMT,GAAM,CAAC,GAAiB,EAAoB,MAAM,IAAI,CAChD,EAAe,EAAQ,KAC1B,GAAQ,EAAU,EAAI,CAAC,MAAM,IAAI,CAAC,KAAO,EAC3C,CACD,GAAI,EACF,OAAO,QAGI,EAKjB,OAAO"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../chunk-Bmb41Sf3.cjs`),t=require(`./getPrefix.cjs`);let n=require(`@intlayer/config/client`),r=require(`@intlayer/config/built`);r=e.t(r);const i=(e,i)=>{let{defaultLocale:a,mode:o,locales:s}={defaultLocale:r.default?.internationalization?.defaultLocale??n.DefaultValues.Internationalization.DEFAULT_LOCALE,mode:r.default?.routing?.mode??n.DefaultValues.Routing.ROUTING_MODE,locales:r.default?.internationalization?.locales??n.DefaultValues.Internationalization.LOCALES,...i},{localePrefix:c}=t.getPrefix(e||a,{mode:o,locales:s,defaultLocale:a});return c===e&&e===void 0?{isValid:!0,localePrefix:void 0}:{isValid:s.some(t=>t===e),localePrefix:c}};exports.validatePrefix=i;
|
|
2
2
|
//# sourceMappingURL=validatePrefix.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validatePrefix.cjs","names":["configuration","DefaultValues","getPrefix"],"sources":["../../../src/localization/validatePrefix.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport { DefaultValues } from '@intlayer/config/client';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\nimport { getPrefix } from './getPrefix';\n\nexport type ValidatePrefixResult = {\n isValid: boolean;\n localePrefix: string | undefined;\n};\n\n/**\n * Checks whether a given locale is valid based on the configured locales.\n *\n * @param locale - The locale value to validate. Can be `undefined` or `null`.\n * @param options - Optional configuration to override default settings.\n * @param options.locales - Array of valid locales. Defaults to the configured internationalization locales.\n * @param options.defaultLocale - The default locale to use as fallback. Defaults to the configured default locale.\n * @param options.mode - The routing mode (`'prefix'`, `'prefix-all'`, or `'no-prefix'`). Defaults to the configured routing mode.\n * @returns An object containing the validation result and the locale prefix.\n *\n * @example\n * // Check if 'en' is a valid locale\n * const { isValid, localePrefix } = validatePrefix('en');\n *\n * @example\n * // Check with custom options\n * const { isValid, localePrefix } = validatePrefix('fr', {\n * locales: ['en', 'fr', 'es'],\n * defaultLocale: 'en',\n * mode: 'prefix-all',\n * });\n */\nexport const validatePrefix = (\n locale: LocalesValues | undefined | null,\n options?: {\n locales?: LocalesValues[];\n defaultLocale?: LocalesValues;\n mode?: typeof configuration.routing.mode;\n }\n): ValidatePrefixResult => {\n const { defaultLocale, mode, locales } = {\n defaultLocale:\n configuration?.internationalization?.defaultLocale ??\n DefaultValues.Internationalization.DEFAULT_LOCALE,\n mode: configuration?.routing?.mode ?? DefaultValues.Routing.ROUTING_MODE,\n locales:\n configuration?.internationalization?.locales ??\n DefaultValues.Internationalization.LOCALES,\n ...options,\n };\n\n // If no locale provided (optional param), will use default\n // In `routing.mode = 'prefix-all'`, the locale is required to be a valid locale\n const { localePrefix } = getPrefix(locale || defaultLocale, {\n mode,\n locales,\n defaultLocale,\n });\n\n if (localePrefix === locale && locale === undefined) {\n return { isValid: true, localePrefix: undefined };\n }\n\n // Check if the provided locale is valid\n const isValid: boolean = locales.some((localeEl) => localeEl === locale);\n\n return { isValid: isValid, localePrefix };\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"validatePrefix.cjs","names":["configuration","DefaultValues","getPrefix"],"sources":["../../../src/localization/validatePrefix.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport { DefaultValues } from '@intlayer/config/client';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\nimport { getPrefix } from './getPrefix';\n\nexport type ValidatePrefixResult = {\n isValid: boolean;\n localePrefix: string | undefined;\n};\n\n/**\n * Checks whether a given locale is valid based on the configured locales.\n *\n * @param locale - The locale value to validate. Can be `undefined` or `null`.\n * @param options - Optional configuration to override default settings.\n * @param options.locales - Array of valid locales. Defaults to the configured internationalization locales.\n * @param options.defaultLocale - The default locale to use as fallback. Defaults to the configured default locale.\n * @param options.mode - The routing mode (`'prefix'`, `'prefix-all'`, or `'no-prefix'`). Defaults to the configured routing mode.\n * @returns An object containing the validation result and the locale prefix.\n *\n * @example\n * // Check if 'en' is a valid locale\n * const { isValid, localePrefix } = validatePrefix('en');\n *\n * @example\n * // Check with custom options\n * const { isValid, localePrefix } = validatePrefix('fr', {\n * locales: ['en', 'fr', 'es'],\n * defaultLocale: 'en',\n * mode: 'prefix-all',\n * });\n */\nexport const validatePrefix = (\n locale: LocalesValues | undefined | null,\n options?: {\n locales?: LocalesValues[];\n defaultLocale?: LocalesValues;\n mode?: typeof configuration.routing.mode;\n }\n): ValidatePrefixResult => {\n const { defaultLocale, mode, locales } = {\n defaultLocale:\n configuration?.internationalization?.defaultLocale ??\n DefaultValues.Internationalization.DEFAULT_LOCALE,\n mode: configuration?.routing?.mode ?? DefaultValues.Routing.ROUTING_MODE,\n locales:\n configuration?.internationalization?.locales ??\n DefaultValues.Internationalization.LOCALES,\n ...options,\n };\n\n // If no locale provided (optional param), will use default\n // In `routing.mode = 'prefix-all'`, the locale is required to be a valid locale\n const { localePrefix } = getPrefix(locale || defaultLocale, {\n mode,\n locales,\n defaultLocale,\n });\n\n if (localePrefix === locale && locale === undefined) {\n return { isValid: true, localePrefix: undefined };\n }\n\n // Check if the provided locale is valid\n const isValid: boolean = locales.some((localeEl) => localeEl === locale);\n\n return { isValid: isValid, localePrefix };\n};\n"],"mappings":"+NAgCA,MAAa,GACX,EACA,IAKyB,CACzB,GAAM,CAAE,gBAAe,OAAM,WAAY,CACvC,cACEA,EAAAA,SAAe,sBAAsB,eACrCC,EAAAA,cAAc,qBAAqB,eACrC,KAAMD,EAAAA,SAAe,SAAS,MAAQC,EAAAA,cAAc,QAAQ,aAC5D,QACED,EAAAA,SAAe,sBAAsB,SACrCC,EAAAA,cAAc,qBAAqB,QACrC,GAAG,EACJ,CAIK,CAAE,gBAAiBC,EAAAA,UAAU,GAAU,EAAe,CAC1D,OACA,UACA,gBACD,CAAC,CASF,OAPI,IAAiB,GAAU,IAAW,IAAA,GACjC,CAAE,QAAS,GAAM,aAAc,IAAA,GAAW,CAM5C,CAAE,QAFgB,EAAQ,KAAM,GAAa,IAAa,EAAO,CAE7C,eAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../chunk-Bmb41Sf3.cjs`);const e=require(`../interpreter/getContent/deepTransform.cjs`),t=require(`../transpiler/enumeration/enumeration.cjs`),n=require(`../transpiler/gender/gender.cjs`),r=require(`../html-CZ1N-VL0.cjs`),i=require(`../transpiler/insertion/insertion.cjs`);let a=require(`@intlayer/types/nodeType`);const o=e=>{let t=0,n=()=>{let n=[],i=``;for(;t<e.length;){let a=e[t];if(a===`{`)i&&=(n.push(i),``),t++,n.push(r());else if(a===`}`)break;else if(a===`'`)if(t+1<e.length&&e[t+1]===`'`)i+=`'`,t+=2;else{let n=e.indexOf(`'`,t+1);n===-1?(i+=`'`,t++):(i+=e.substring(t+1,n),t=n+1)}else i+=a,t++}return i&&n.push(i),n},r=()=>{let r=``;for(;t<e.length&&/[^,}]/.test(e[t]);)r+=e[t],t++;if(r=r.trim(),t>=e.length)throw Error(`Unclosed argument`);if(e[t]===`}`)return t++,{type:`argument`,name:r};if(e[t]===`,`){t++;let i=``;for(;t<e.length&&/[^,}]/.test(e[t]);)i+=e[t],t++;if(i=i.trim(),t>=e.length)throw Error(`Unclosed argument`);if(e[t]===`}`)return t++,{type:`argument`,name:r,format:{type:i}};if(e[t]===`,`)if(t++,i===`plural`||i===`select`){let a={};for(;t<e.length&&e[t]!==`}`;){for(;t<e.length&&/\s/.test(e[t]);)t++;let r=``;for(;t<e.length&&/[^{\s]/.test(e[t]);)r+=e[t],t++;for(;t<e.length&&/\s/.test(e[t]);)t++;if(e[t]!==`{`)throw Error(`Expected { after option key`);t++;let i=n();if(e[t]!==`}`)throw Error(`Expected } after option value`);for(t++,a[r]=i;t<e.length&&/\s/.test(e[t]);)t++}if(t++,i===`plural`)return{type:`plural`,name:r,options:a};if(i===`select`)return{type:`select`,name:r,options:a}}else{let n=``;for(;t<e.length&&e[t]!==`}`;)n+=e[t],t++;if(t>=e.length)throw Error(`Unclosed argument`);return n=n.trim(),t++,{type:`argument`,name:r,format:{type:i,style:n}}}}throw Error(`Malformed argument`)};return n()},s=e=>{if(e.length===0)return``;if(e.length===1&&typeof e[0]==`string`){let t=e[0];return/<[a-zA-Z0-9-]+[^>]*>/.test(t)?r.t(t):t}if(e.every(e=>typeof e==`string`||e.type===`argument`)){let t=``;for(let n of e)typeof n==`string`?t+=n:typeof n!=`string`&&n.type===`argument`&&(n.format?t+=`{${n.name}, ${n.format.type}${n.format.style?`, ${n.format.style}`:``}}`:t+=`{{${n.name}}}`);return/<[a-zA-Z0-9-]+[^>]*>/.test(t)?r.t(t):i.insert(t)}if(e.length===1){let a=e[0];if(typeof a==`string`)return/<[a-zA-Z0-9-]+[^>]*>/.test(a)?r.t(a):a;if(a.type===`argument`)return a.format?i.insert(`{${a.name}, ${a.format.type}${a.format.style?`, ${a.format.style}`:``}}`):i.insert(`{{${a.name}}}`);if(a.type===`plural`){let e={};for(let[t,n]of Object.entries(a.options)){let r=t;t.startsWith(`=`)?r=t.substring(1):t===`one`?r=`1`:t===`two`?r=`2`:t===`few`?r=`<=3`:t===`many`?r=`>=4`:t===`other`&&(r=`fallback`),e[r]=s(n.map(e=>typeof e==`string`?e.replace(/#/g,`{{${a.name}}}`):e))}return e.__intlayer_icu_var=a.name,t.enu(e)}if(a.type===`select`){let e={};for(let[t,n]of Object.entries(a.options))e[t]=s(n);let r=Object.keys(e);return(e.male||e.female)&&r.every(e=>[`male`,`female`,`other`,`fallback`].includes(e))?n.gender({fallback:e.other,male:e.male,female:e.female}):(e.__intlayer_icu_var=a.name,t.enu(e))}}return e.map(e=>s([e]))},c={canHandle:e=>typeof e==`string`&&(e.includes(`{`)||e.includes(`}`)||/<[a-zA-Z0-9-]+[^>]*>/.test(e)),transform:e=>{try{return s(o(e))}catch{return e}}},l={canHandle:e=>{if(typeof e==`string`&&(e.includes(`{`)||e.includes(`}`))||e&&typeof e==`object`&&(e.nodeType===a.NodeType.Insertion||e.nodeType===a.NodeType.HTML||e.nodeType===a.NodeType.Enumeration||e.nodeType===a.NodeType.Gender||e.nodeType===`composite`))return!0;if(Array.isArray(e)){if(e.length===0)return!1;let t=!1,n=!1;for(let r of e)typeof r==`string`||(r&&typeof r==`object`&&(r.nodeType===a.NodeType.Insertion||r.nodeType===a.NodeType.HTML||r.nodeType===a.NodeType.Enumeration||r.nodeType===a.NodeType.Gender||r.nodeType===`composite`)?t=!0:n=!0);return!(n||!t)}return!1},transform:(e,t,n)=>{if(typeof e==`string`)return e.replace(/\{\{([^}]+)\}\}/g,`{$1}`);if(e.nodeType===a.NodeType.Insertion)return e.insertion.replace(/\{\{([^}]+)\}\}/g,`{$1}`);if(e.nodeType===a.NodeType.HTML)return e.html;if(e.nodeType===a.NodeType.Enumeration){let r=e.enumeration,i={};for(let[e,a]of Object.entries(r)){if(e===`__intlayer_icu_var`)continue;let r=n(a,t);i[e]=typeof r==`string`?r:JSON.stringify(r)}let a=r.__intlayer_icu_var||`n`;if(!r.__intlayer_icu_var){let e=(i.fallback||i.other||Object.values(i)[0]).match(/\{([a-zA-Z0-9_]+)\}(?!,)/);e&&(a=e[1])}let o=Object.keys(i),s=[`1`,`2`,`<=3`,`>=4`,`fallback`,`other`,`zero`,`one`,`two`,`few`,`many`],c=o.every(e=>s.includes(e)||/^[<>=]?\d+(\.\d+)?$/.test(e)),l=[];if(c){for(let[e,t]of Object.entries(i)){let n=e;n=e===`fallback`?`other`:e===`<=3`?`few`:e===`>=4`?`many`:/^\d+$/.test(e)?`=${e}`:[`zero`,`few`,`many`].includes(e)?e:`other`;let r=t;r=r.replace(RegExp(`\\{${a}\\}`,`g`),`#`),l.push(`${n} {${r}}`)}return`{${a}, plural, ${l.join(` `)}}`}else{let e=Object.entries(i).sort(([e],[t])=>e===`fallback`||e===`other`?1:t===`fallback`||t===`other`?-1:0);for(let[t,n]of e){let e=t;t===`fallback`&&(e=`other`),l.push(`${e} {${n}}`)}return`{${a}, select, ${l.join(` `)}}`}}if(e.nodeType===a.NodeType.Gender){let r=e.gender,i=[],a=Object.entries(r).sort(([e],[t])=>e===`fallback`?1:t===`fallback`?-1:0);for(let[e,r]of a){let a=e;e===`fallback`&&(a=`other`);let o=n(r,t),s=typeof o==`string`?o:JSON.stringify(o);i.push(`${a} {${s}}`)}return`{gender, select, ${i.join(` `)}}`}return Array.isArray(e)||e.nodeType===`composite`&&Array.isArray(e.composite)?(Array.isArray(e)?e:e.composite).map(e=>n(e,t)).join(``):n(e,t)}},u=t=>e.deepTransformNode(t,{dictionaryKey:`icu`,keyPath:[],plugins:[{id:`icu`,...l}]}),d=t=>e.deepTransformNode(t,{dictionaryKey:`icu`,keyPath:[],plugins:[{id:`icu`,...c}]});exports.icuToIntlayerFormatter=d,exports.intlayerToICUFormatter=u;
|
|
2
2
|
//# sourceMappingURL=ICU.cjs.map
|