@intlayer/core 8.4.4 → 8.4.5
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 +29 -0
- package/dist/cjs/deepTransformPlugins/getFilterMissingTranslationsContent.cjs +213 -1
- package/dist/cjs/deepTransformPlugins/getFilterMissingTranslationsContent.cjs.map +1 -1
- package/dist/cjs/deepTransformPlugins/getFilterTranslationsOnlyContent.cjs +95 -1
- package/dist/cjs/deepTransformPlugins/getFilterTranslationsOnlyContent.cjs.map +1 -1
- package/dist/cjs/deepTransformPlugins/getFilteredLocalesContent.cjs +46 -1
- package/dist/cjs/deepTransformPlugins/getFilteredLocalesContent.cjs.map +1 -1
- package/dist/cjs/deepTransformPlugins/getLocalizedContent.cjs +33 -1
- package/dist/cjs/deepTransformPlugins/getLocalizedContent.cjs.map +1 -1
- package/dist/cjs/deepTransformPlugins/getMaskContent.cjs +27 -1
- package/dist/cjs/deepTransformPlugins/getMaskContent.cjs.map +1 -1
- package/dist/cjs/deepTransformPlugins/getMissingLocalesContent.cjs +151 -1
- package/dist/cjs/deepTransformPlugins/getMissingLocalesContent.cjs.map +1 -1
- package/dist/cjs/deepTransformPlugins/getMultilingualDictionary.cjs +87 -1
- package/dist/cjs/deepTransformPlugins/getMultilingualDictionary.cjs.map +1 -1
- package/dist/cjs/deepTransformPlugins/getReplacedValuesContent.cjs +60 -1
- package/dist/cjs/deepTransformPlugins/getReplacedValuesContent.cjs.map +1 -1
- package/dist/cjs/deepTransformPlugins/getSplittedContent.cjs +123 -1
- package/dist/cjs/deepTransformPlugins/getSplittedContent.cjs.map +1 -1
- package/dist/cjs/deepTransformPlugins/index.cjs +32 -1
- package/dist/cjs/deepTransformPlugins/insertContentInDictionary.cjs +107 -1
- package/dist/cjs/deepTransformPlugins/insertContentInDictionary.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/editDictionaryByKeyPath.cjs +65 -1
- package/dist/cjs/dictionaryManipulator/editDictionaryByKeyPath.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/getContentNodeByKeyPath.cjs +19 -1
- package/dist/cjs/dictionaryManipulator/getContentNodeByKeyPath.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/getDefaultNode.cjs +56 -1
- package/dist/cjs/dictionaryManipulator/getDefaultNode.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/getEmptyNode.cjs +27 -1
- package/dist/cjs/dictionaryManipulator/getEmptyNode.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/getNodeChildren.cjs +24 -1
- package/dist/cjs/dictionaryManipulator/getNodeChildren.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/getNodeType.cjs +55 -1
- package/dist/cjs/dictionaryManipulator/getNodeType.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/index.cjs +27 -1
- package/dist/cjs/dictionaryManipulator/mergeDictionaries.cjs +69 -1
- package/dist/cjs/dictionaryManipulator/mergeDictionaries.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/normalizeDictionary.cjs +30 -1
- package/dist/cjs/dictionaryManipulator/normalizeDictionary.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/orderDictionaries.cjs +48 -1
- package/dist/cjs/dictionaryManipulator/orderDictionaries.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/removeContentNodeByKeyPath.cjs +32 -1
- package/dist/cjs/dictionaryManipulator/removeContentNodeByKeyPath.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/renameContentNodeByKeyPath.cjs +40 -1
- package/dist/cjs/dictionaryManipulator/renameContentNodeByKeyPath.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/updateNodeChildren.cjs +39 -1
- package/dist/cjs/dictionaryManipulator/updateNodeChildren.cjs.map +1 -1
- package/dist/cjs/formatters/compact.cjs +25 -1
- package/dist/cjs/formatters/compact.cjs.map +1 -1
- package/dist/cjs/formatters/currency.cjs +29 -1
- package/dist/cjs/formatters/currency.cjs.map +1 -1
- package/dist/cjs/formatters/date.cjs +60 -1
- package/dist/cjs/formatters/date.cjs.map +1 -1
- package/dist/cjs/formatters/index.cjs +23 -1
- package/dist/cjs/formatters/list.cjs +30 -1
- package/dist/cjs/formatters/list.cjs.map +1 -1
- package/dist/cjs/formatters/number.cjs +20 -1
- package/dist/cjs/formatters/number.cjs.map +1 -1
- package/dist/cjs/formatters/percentage.cjs +27 -1
- package/dist/cjs/formatters/percentage.cjs.map +1 -1
- package/dist/cjs/formatters/relativeTime.cjs +43 -1
- package/dist/cjs/formatters/relativeTime.cjs.map +1 -1
- package/dist/cjs/formatters/units.cjs +23 -1
- package/dist/cjs/formatters/units.cjs.map +1 -1
- package/dist/cjs/getStorageAttributes.cjs +134 -1
- package/dist/cjs/getStorageAttributes.cjs.map +1 -1
- package/dist/cjs/index.cjs +315 -1
- package/dist/cjs/interpreter/getCondition.cjs +27 -1
- package/dist/cjs/interpreter/getCondition.cjs.map +1 -1
- package/dist/cjs/interpreter/getContent/deepTransform.cjs +42 -1
- package/dist/cjs/interpreter/getContent/deepTransform.cjs.map +1 -1
- package/dist/cjs/interpreter/getContent/getContent.cjs +32 -1
- package/dist/cjs/interpreter/getContent/getContent.cjs.map +1 -0
- package/dist/cjs/interpreter/getContent/index.cjs +15 -1
- package/dist/cjs/interpreter/getContent/plugins.cjs +163 -1
- package/dist/cjs/interpreter/getContent/plugins.cjs.map +1 -0
- package/dist/cjs/interpreter/getDictionary.cjs +25 -1
- package/dist/cjs/interpreter/getDictionary.cjs.map +1 -0
- package/dist/cjs/interpreter/getEnumeration.cjs +72 -1
- package/dist/cjs/interpreter/getEnumeration.cjs.map +1 -1
- package/dist/cjs/interpreter/getGender.cjs +38 -1
- package/dist/cjs/interpreter/getGender.cjs.map +1 -1
- package/dist/cjs/interpreter/getHTML.cjs +124 -1
- package/dist/cjs/interpreter/getHTML.cjs.map +1 -1
- package/dist/cjs/interpreter/getInsertion.cjs +22 -1
- package/dist/cjs/interpreter/getInsertion.cjs.map +1 -1
- package/dist/cjs/interpreter/getIntlayer.cjs +41 -1
- package/dist/cjs/interpreter/getIntlayer.cjs.map +1 -0
- package/dist/cjs/interpreter/getNesting.cjs +37 -1
- package/dist/cjs/interpreter/getNesting.cjs.map +1 -0
- package/dist/cjs/interpreter/getTranslation.cjs +112 -1
- package/dist/cjs/interpreter/getTranslation.cjs.map +1 -1
- package/dist/cjs/interpreter/index.cjs +32 -1
- package/dist/cjs/interpreter/splitAndJoinInsertion.cjs +55 -1
- package/dist/cjs/interpreter/splitAndJoinInsertion.cjs.map +1 -1
- package/dist/cjs/localization/getBrowserLocale.cjs +143 -1
- package/dist/cjs/localization/getBrowserLocale.cjs.map +1 -1
- package/dist/cjs/localization/getHTMLTextDir.cjs +40 -1
- package/dist/cjs/localization/getHTMLTextDir.cjs.map +1 -1
- package/dist/cjs/localization/getLocale.cjs +27 -1
- package/dist/cjs/localization/getLocale.cjs.map +1 -1
- package/dist/cjs/localization/getLocaleFromPath.cjs +36 -1
- package/dist/cjs/localization/getLocaleFromPath.cjs.map +1 -1
- package/dist/cjs/localization/getLocaleLang.cjs +20 -1
- package/dist/cjs/localization/getLocaleLang.cjs.map +1 -1
- package/dist/cjs/localization/getLocaleName.cjs +10 -1
- package/dist/cjs/localization/getLocaleName.cjs.map +1 -1
- package/dist/cjs/localization/getLocalizedUrl.cjs +73 -1
- package/dist/cjs/localization/getLocalizedUrl.cjs.map +1 -1
- package/dist/cjs/localization/getMultilingualUrls.cjs +46 -1
- package/dist/cjs/localization/getMultilingualUrls.cjs.map +1 -1
- package/dist/cjs/localization/getPathWithoutLocale.cjs +55 -1
- package/dist/cjs/localization/getPathWithoutLocale.cjs.map +1 -1
- package/dist/cjs/localization/getPrefix.cjs +73 -1
- package/dist/cjs/localization/getPrefix.cjs.map +1 -1
- package/dist/cjs/localization/index.cjs +41 -1
- package/dist/cjs/localization/localeDetector.cjs +133 -1
- package/dist/cjs/localization/localeDetector.cjs.map +1 -1
- package/dist/cjs/localization/localeMapper.cjs +124 -1
- package/dist/cjs/localization/localeMapper.cjs.map +1 -1
- package/dist/cjs/localization/localeResolver.cjs +28 -1
- package/dist/cjs/localization/localeResolver.cjs.map +1 -1
- package/dist/cjs/localization/rewriteUtils.cjs +110 -1
- package/dist/cjs/localization/rewriteUtils.cjs.map +1 -1
- package/dist/cjs/localization/validatePrefix.cjs +45 -1
- package/dist/cjs/localization/validatePrefix.cjs.map +1 -1
- package/dist/cjs/markdown/compiler.cjs +810 -10
- package/dist/cjs/markdown/compiler.cjs.map +1 -1
- package/dist/cjs/markdown/constants.cjs +328 -1
- package/dist/cjs/markdown/constants.cjs.map +1 -1
- package/dist/cjs/markdown/index.cjs +126 -1
- package/dist/cjs/markdown/parser.cjs +66 -1
- package/dist/cjs/markdown/parser.cjs.map +1 -1
- package/dist/cjs/markdown/renderer.cjs +61 -1
- package/dist/cjs/markdown/renderer.cjs.map +1 -1
- package/dist/cjs/markdown/utils.cjs +391 -6
- package/dist/cjs/markdown/utils.cjs.map +1 -1
- package/dist/cjs/messageFormat/ICU.cjs +334 -1
- package/dist/cjs/messageFormat/ICU.cjs.map +1 -1
- package/dist/cjs/messageFormat/i18next.cjs +345 -1
- package/dist/cjs/messageFormat/i18next.cjs.map +1 -1
- package/dist/cjs/messageFormat/index.cjs +11 -1
- package/dist/cjs/messageFormat/verify-icu-format.cjs +64 -2
- package/dist/cjs/messageFormat/verify-icu-format.cjs.map +1 -1
- package/dist/cjs/messageFormat/vue-i18n.cjs +181 -1
- package/dist/cjs/messageFormat/vue-i18n.cjs.map +1 -1
- package/dist/cjs/transpiler/condition/condition.cjs +26 -1
- package/dist/cjs/transpiler/condition/condition.cjs.map +1 -1
- package/dist/cjs/transpiler/condition/index.cjs +4 -1
- package/dist/cjs/transpiler/enumeration/enumeration.cjs +28 -1
- package/dist/cjs/transpiler/enumeration/enumeration.cjs.map +1 -1
- package/dist/cjs/transpiler/enumeration/index.cjs +4 -1
- package/dist/cjs/transpiler/file/file.cjs +51 -1
- package/dist/cjs/transpiler/file/file.cjs.map +1 -1
- package/dist/cjs/transpiler/file/fileBrowser.cjs +24 -1
- package/dist/cjs/transpiler/file/fileBrowser.cjs.map +1 -1
- package/dist/cjs/transpiler/file/index.cjs +5 -1
- package/dist/cjs/transpiler/gender/gender.cjs +26 -1
- package/dist/cjs/transpiler/gender/gender.cjs.map +1 -1
- package/dist/cjs/transpiler/gender/index.cjs +4 -1
- package/dist/cjs/transpiler/html/getHTMLCustomComponents.cjs +45 -1
- package/dist/cjs/transpiler/html/getHTMLCustomComponents.cjs.map +1 -0
- package/dist/cjs/transpiler/html/html.cjs +44 -1
- package/dist/cjs/transpiler/html/html.cjs.map +1 -0
- package/dist/cjs/transpiler/html/htmlTags.cjs +116 -1
- package/dist/cjs/transpiler/html/htmlTags.cjs.map +1 -1
- package/dist/cjs/transpiler/html/index.cjs +9 -1
- package/dist/cjs/transpiler/html/validateHTML.cjs +65 -1
- package/dist/cjs/transpiler/html/validateHTML.cjs.map +1 -1
- package/dist/cjs/transpiler/index.cjs +29 -1
- package/dist/cjs/transpiler/insertion/getInsertionValues.cjs +11 -1
- package/dist/cjs/transpiler/insertion/getInsertionValues.cjs.map +1 -1
- package/dist/cjs/transpiler/insertion/index.cjs +6 -1
- package/dist/cjs/transpiler/insertion/insertion.cjs +36 -1
- package/dist/cjs/transpiler/insertion/insertion.cjs.map +1 -1
- package/dist/cjs/transpiler/markdown/getMarkdownMetadata.cjs +23 -2
- package/dist/cjs/transpiler/markdown/getMarkdownMetadata.cjs.map +1 -1
- package/dist/cjs/transpiler/markdown/index.cjs +8 -1
- package/dist/cjs/transpiler/markdown/markdown.cjs +62 -1
- package/dist/cjs/transpiler/markdown/markdown.cjs.map +1 -1
- package/dist/cjs/transpiler/markdown/validateMarkdown.cjs +74 -4
- package/dist/cjs/transpiler/markdown/validateMarkdown.cjs.map +1 -1
- package/dist/cjs/transpiler/nesting/index.cjs +4 -1
- package/dist/cjs/transpiler/nesting/nesting.cjs +27 -1
- package/dist/cjs/transpiler/nesting/nesting.cjs.map +1 -1
- package/dist/cjs/transpiler/translation/index.cjs +4 -1
- package/dist/cjs/transpiler/translation/translation.cjs +29 -1
- package/dist/cjs/transpiler/translation/translation.cjs.map +1 -1
- package/dist/cjs/utils/checkIsURLAbsolute.cjs +7 -1
- package/dist/cjs/utils/checkIsURLAbsolute.cjs.map +1 -1
- package/dist/cjs/utils/getCookie.cjs +32 -1
- package/dist/cjs/utils/getCookie.cjs.map +1 -1
- package/dist/cjs/utils/index.cjs +21 -1
- package/dist/cjs/utils/intl.cjs +91 -1
- package/dist/cjs/utils/intl.cjs.map +1 -1
- package/dist/cjs/utils/isSameKeyPath.cjs +7 -1
- package/dist/cjs/utils/isSameKeyPath.cjs.map +1 -1
- package/dist/cjs/utils/isValidReactElement.cjs +14 -1
- package/dist/cjs/utils/isValidReactElement.cjs.map +1 -1
- package/dist/cjs/utils/localeStorage.cjs +140 -1
- package/dist/cjs/utils/localeStorage.cjs.map +1 -1
- package/dist/cjs/utils/parseYaml.cjs +322 -16
- package/dist/cjs/utils/parseYaml.cjs.map +1 -1
- package/dist/esm/deepTransformPlugins/getFilterMissingTranslationsContent.mjs +207 -1
- package/dist/esm/deepTransformPlugins/getFilterMissingTranslationsContent.mjs.map +1 -1
- package/dist/esm/deepTransformPlugins/getFilterTranslationsOnlyContent.mjs +89 -1
- package/dist/esm/deepTransformPlugins/getFilterTranslationsOnlyContent.mjs.map +1 -1
- package/dist/esm/deepTransformPlugins/getFilteredLocalesContent.mjs +42 -1
- package/dist/esm/deepTransformPlugins/getFilteredLocalesContent.mjs.map +1 -1
- package/dist/esm/deepTransformPlugins/getLocalizedContent.mjs +31 -1
- package/dist/esm/deepTransformPlugins/getLocalizedContent.mjs.map +1 -1
- package/dist/esm/deepTransformPlugins/getMaskContent.mjs +25 -1
- package/dist/esm/deepTransformPlugins/getMaskContent.mjs.map +1 -1
- package/dist/esm/deepTransformPlugins/getMissingLocalesContent.mjs +145 -1
- package/dist/esm/deepTransformPlugins/getMissingLocalesContent.mjs.map +1 -1
- package/dist/esm/deepTransformPlugins/getMultilingualDictionary.mjs +86 -1
- package/dist/esm/deepTransformPlugins/getMultilingualDictionary.mjs.map +1 -1
- package/dist/esm/deepTransformPlugins/getReplacedValuesContent.mjs +59 -1
- package/dist/esm/deepTransformPlugins/getReplacedValuesContent.mjs.map +1 -1
- package/dist/esm/deepTransformPlugins/getSplittedContent.mjs +119 -1
- package/dist/esm/deepTransformPlugins/getSplittedContent.mjs.map +1 -1
- package/dist/esm/deepTransformPlugins/index.mjs +12 -1
- package/dist/esm/deepTransformPlugins/insertContentInDictionary.mjs +104 -1
- package/dist/esm/deepTransformPlugins/insertContentInDictionary.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/editDictionaryByKeyPath.mjs +62 -1
- package/dist/esm/dictionaryManipulator/editDictionaryByKeyPath.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/getContentNodeByKeyPath.mjs +16 -1
- package/dist/esm/dictionaryManipulator/getContentNodeByKeyPath.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/getDefaultNode.mjs +53 -1
- package/dist/esm/dictionaryManipulator/getDefaultNode.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/getEmptyNode.mjs +24 -1
- package/dist/esm/dictionaryManipulator/getEmptyNode.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/getNodeChildren.mjs +21 -1
- package/dist/esm/dictionaryManipulator/getNodeChildren.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/getNodeType.mjs +52 -1
- package/dist/esm/dictionaryManipulator/getNodeType.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/index.mjs +14 -1
- package/dist/esm/dictionaryManipulator/mergeDictionaries.mjs +66 -1
- package/dist/esm/dictionaryManipulator/mergeDictionaries.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/normalizeDictionary.mjs +28 -1
- package/dist/esm/dictionaryManipulator/normalizeDictionary.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/orderDictionaries.mjs +45 -1
- package/dist/esm/dictionaryManipulator/orderDictionaries.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/removeContentNodeByKeyPath.mjs +29 -1
- package/dist/esm/dictionaryManipulator/removeContentNodeByKeyPath.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/renameContentNodeByKeyPath.mjs +37 -1
- package/dist/esm/dictionaryManipulator/renameContentNodeByKeyPath.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/updateNodeChildren.mjs +36 -1
- package/dist/esm/dictionaryManipulator/updateNodeChildren.mjs.map +1 -1
- package/dist/esm/formatters/compact.mjs +22 -1
- package/dist/esm/formatters/compact.mjs.map +1 -1
- package/dist/esm/formatters/currency.mjs +26 -1
- package/dist/esm/formatters/currency.mjs.map +1 -1
- package/dist/esm/formatters/date.mjs +57 -1
- package/dist/esm/formatters/date.mjs.map +1 -1
- package/dist/esm/formatters/index.mjs +11 -1
- package/dist/esm/formatters/list.mjs +27 -1
- package/dist/esm/formatters/list.mjs.map +1 -1
- package/dist/esm/formatters/number.mjs +17 -1
- package/dist/esm/formatters/number.mjs.map +1 -1
- package/dist/esm/formatters/percentage.mjs +24 -1
- package/dist/esm/formatters/percentage.mjs.map +1 -1
- package/dist/esm/formatters/relativeTime.mjs +40 -1
- package/dist/esm/formatters/relativeTime.mjs.map +1 -1
- package/dist/esm/formatters/units.mjs +20 -1
- package/dist/esm/formatters/units.mjs.map +1 -1
- package/dist/esm/getStorageAttributes.mjs +132 -1
- package/dist/esm/getStorageAttributes.mjs.map +1 -1
- package/dist/esm/index.mjs +87 -1
- package/dist/esm/interpreter/getCondition.mjs +25 -1
- package/dist/esm/interpreter/getCondition.mjs.map +1 -1
- package/dist/esm/interpreter/getContent/deepTransform.mjs +39 -1
- package/dist/esm/interpreter/getContent/deepTransform.mjs.map +1 -1
- package/dist/esm/interpreter/getContent/getContent.mjs +28 -1
- package/dist/esm/interpreter/getContent/getContent.mjs.map +1 -0
- package/dist/esm/interpreter/getContent/index.mjs +5 -1
- package/dist/esm/interpreter/getContent/plugins.mjs +154 -1
- package/dist/esm/interpreter/getContent/plugins.mjs.map +1 -0
- package/dist/esm/interpreter/getDictionary.mjs +24 -1
- package/dist/esm/interpreter/getDictionary.mjs.map +1 -0
- package/dist/esm/interpreter/getEnumeration.mjs +69 -1
- package/dist/esm/interpreter/getEnumeration.mjs.map +1 -1
- package/dist/esm/interpreter/getGender.mjs +36 -1
- package/dist/esm/interpreter/getGender.mjs.map +1 -1
- package/dist/esm/interpreter/getHTML.mjs +122 -1
- package/dist/esm/interpreter/getHTML.mjs.map +1 -1
- package/dist/esm/interpreter/getInsertion.mjs +20 -1
- package/dist/esm/interpreter/getInsertion.mjs.map +1 -1
- package/dist/esm/interpreter/getIntlayer.mjs +37 -1
- package/dist/esm/interpreter/getIntlayer.mjs.map +1 -0
- package/dist/esm/interpreter/getNesting.mjs +36 -1
- package/dist/esm/interpreter/getNesting.mjs.map +1 -0
- package/dist/esm/interpreter/getTranslation.mjs +110 -1
- package/dist/esm/interpreter/getTranslation.mjs.map +1 -1
- package/dist/esm/interpreter/index.mjs +13 -1
- package/dist/esm/interpreter/splitAndJoinInsertion.mjs +53 -1
- package/dist/esm/interpreter/splitAndJoinInsertion.mjs.map +1 -1
- package/dist/esm/localization/getBrowserLocale.mjs +138 -1
- package/dist/esm/localization/getBrowserLocale.mjs.map +1 -1
- package/dist/esm/localization/getHTMLTextDir.mjs +38 -1
- package/dist/esm/localization/getHTMLTextDir.mjs.map +1 -1
- package/dist/esm/localization/getLocale.mjs +24 -1
- package/dist/esm/localization/getLocale.mjs.map +1 -1
- package/dist/esm/localization/getLocaleFromPath.mjs +35 -1
- package/dist/esm/localization/getLocaleFromPath.mjs.map +1 -1
- package/dist/esm/localization/getLocaleLang.mjs +18 -1
- package/dist/esm/localization/getLocaleLang.mjs.map +1 -1
- package/dist/esm/localization/getLocaleName.mjs +9 -1
- package/dist/esm/localization/getLocaleName.mjs.map +1 -1
- package/dist/esm/localization/getLocalizedUrl.mjs +70 -1
- package/dist/esm/localization/getLocalizedUrl.mjs.map +1 -1
- package/dist/esm/localization/getMultilingualUrls.mjs +45 -1
- package/dist/esm/localization/getMultilingualUrls.mjs.map +1 -1
- package/dist/esm/localization/getPathWithoutLocale.mjs +52 -1
- package/dist/esm/localization/getPathWithoutLocale.mjs.map +1 -1
- package/dist/esm/localization/getPrefix.mjs +69 -1
- package/dist/esm/localization/getPrefix.mjs.map +1 -1
- package/dist/esm/localization/index.mjs +18 -1
- package/dist/esm/localization/localeDetector.mjs +131 -1
- package/dist/esm/localization/localeDetector.mjs.map +1 -1
- package/dist/esm/localization/localeMapper.mjs +119 -1
- package/dist/esm/localization/localeMapper.mjs.map +1 -1
- package/dist/esm/localization/localeResolver.mjs +25 -1
- package/dist/esm/localization/localeResolver.mjs.map +1 -1
- package/dist/esm/localization/rewriteUtils.mjs +104 -1
- package/dist/esm/localization/rewriteUtils.mjs.map +1 -1
- package/dist/esm/localization/validatePrefix.mjs +44 -1
- package/dist/esm/localization/validatePrefix.mjs.map +1 -1
- package/dist/esm/markdown/compiler.mjs +786 -10
- package/dist/esm/markdown/compiler.mjs.map +1 -1
- package/dist/esm/markdown/constants.mjs +247 -1
- package/dist/esm/markdown/constants.mjs.map +1 -1
- package/dist/esm/markdown/index.mjs +10 -1
- package/dist/esm/markdown/parser.mjs +65 -1
- package/dist/esm/markdown/parser.mjs.map +1 -1
- package/dist/esm/markdown/renderer.mjs +59 -1
- package/dist/esm/markdown/renderer.mjs.map +1 -1
- package/dist/esm/markdown/utils.mjs +361 -6
- package/dist/esm/markdown/utils.mjs.map +1 -1
- package/dist/esm/messageFormat/ICU.mjs +330 -1
- package/dist/esm/messageFormat/ICU.mjs.map +1 -1
- package/dist/esm/messageFormat/i18next.mjs +341 -1
- package/dist/esm/messageFormat/i18next.mjs.map +1 -1
- package/dist/esm/messageFormat/index.mjs +5 -1
- package/dist/esm/messageFormat/verify-icu-format.mjs +64 -2
- package/dist/esm/messageFormat/verify-icu-format.mjs.map +1 -1
- package/dist/esm/messageFormat/vue-i18n.mjs +177 -1
- package/dist/esm/messageFormat/vue-i18n.mjs.map +1 -1
- package/dist/esm/transpiler/condition/condition.mjs +24 -1
- package/dist/esm/transpiler/condition/condition.mjs.map +1 -1
- package/dist/esm/transpiler/condition/index.mjs +3 -1
- package/dist/esm/transpiler/enumeration/enumeration.mjs +26 -1
- package/dist/esm/transpiler/enumeration/enumeration.mjs.map +1 -1
- package/dist/esm/transpiler/enumeration/index.mjs +3 -1
- package/dist/esm/transpiler/file/file.mjs +48 -1
- package/dist/esm/transpiler/file/file.mjs.map +1 -1
- package/dist/esm/transpiler/file/fileBrowser.mjs +22 -1
- package/dist/esm/transpiler/file/fileBrowser.mjs.map +1 -1
- package/dist/esm/transpiler/file/index.mjs +3 -1
- package/dist/esm/transpiler/gender/gender.mjs +24 -1
- package/dist/esm/transpiler/gender/gender.mjs.map +1 -1
- package/dist/esm/transpiler/gender/index.mjs +3 -1
- package/dist/esm/transpiler/html/getHTMLCustomComponents.mjs +44 -1
- package/dist/esm/transpiler/html/getHTMLCustomComponents.mjs.map +1 -0
- package/dist/esm/transpiler/html/html.mjs +42 -1
- package/dist/esm/transpiler/html/html.mjs.map +1 -0
- package/dist/esm/transpiler/html/htmlTags.mjs +114 -1
- package/dist/esm/transpiler/html/htmlTags.mjs.map +1 -1
- package/dist/esm/transpiler/html/index.mjs +5 -1
- package/dist/esm/transpiler/html/validateHTML.mjs +62 -1
- package/dist/esm/transpiler/html/validateHTML.mjs.map +1 -1
- package/dist/esm/transpiler/index.mjs +15 -1
- package/dist/esm/transpiler/insertion/getInsertionValues.mjs +9 -1
- package/dist/esm/transpiler/insertion/getInsertionValues.mjs.map +1 -1
- package/dist/esm/transpiler/insertion/index.mjs +4 -1
- package/dist/esm/transpiler/insertion/insertion.mjs +34 -1
- package/dist/esm/transpiler/insertion/insertion.mjs.map +1 -1
- package/dist/esm/transpiler/markdown/getMarkdownMetadata.mjs +22 -2
- package/dist/esm/transpiler/markdown/getMarkdownMetadata.mjs.map +1 -1
- package/dist/esm/transpiler/markdown/index.mjs +5 -1
- package/dist/esm/transpiler/markdown/markdown.mjs +60 -1
- package/dist/esm/transpiler/markdown/markdown.mjs.map +1 -1
- package/dist/esm/transpiler/markdown/validateMarkdown.mjs +73 -4
- package/dist/esm/transpiler/markdown/validateMarkdown.mjs.map +1 -1
- package/dist/esm/transpiler/nesting/index.mjs +3 -1
- package/dist/esm/transpiler/nesting/nesting.mjs +25 -1
- package/dist/esm/transpiler/nesting/nesting.mjs.map +1 -1
- package/dist/esm/transpiler/translation/index.mjs +3 -1
- package/dist/esm/transpiler/translation/translation.mjs +27 -1
- package/dist/esm/transpiler/translation/translation.mjs.map +1 -1
- package/dist/esm/utils/checkIsURLAbsolute.mjs +5 -1
- package/dist/esm/utils/checkIsURLAbsolute.mjs.map +1 -1
- package/dist/esm/utils/getCookie.mjs +30 -1
- package/dist/esm/utils/getCookie.mjs.map +1 -1
- package/dist/esm/utils/index.mjs +9 -1
- package/dist/esm/utils/intl.mjs +86 -1
- package/dist/esm/utils/intl.mjs.map +1 -1
- package/dist/esm/utils/isSameKeyPath.mjs +5 -1
- package/dist/esm/utils/isSameKeyPath.mjs.map +1 -1
- package/dist/esm/utils/isValidReactElement.mjs +12 -1
- package/dist/esm/utils/isValidReactElement.mjs.map +1 -1
- package/dist/esm/utils/localeStorage.mjs +135 -1
- package/dist/esm/utils/localeStorage.mjs.map +1 -1
- package/dist/esm/utils/parseYaml.mjs +320 -16
- package/dist/esm/utils/parseYaml.mjs.map +1 -1
- package/dist/types/deepTransformPlugins/getFilterMissingTranslationsContent.d.ts +50 -2
- package/dist/types/deepTransformPlugins/getFilterMissingTranslationsContent.d.ts.map +1 -0
- package/dist/types/deepTransformPlugins/getFilterTranslationsOnlyContent.d.ts +42 -2
- package/dist/types/deepTransformPlugins/getFilterTranslationsOnlyContent.d.ts.map +1 -0
- package/dist/types/deepTransformPlugins/getFilteredLocalesContent.d.ts +34 -2
- package/dist/types/deepTransformPlugins/getFilteredLocalesContent.d.ts.map +1 -0
- package/dist/types/deepTransformPlugins/getLocalizedContent.d.ts +18 -2
- package/dist/types/deepTransformPlugins/getLocalizedContent.d.ts.map +1 -0
- package/dist/types/deepTransformPlugins/getMaskContent.d.ts +10 -2
- package/dist/types/deepTransformPlugins/getMaskContent.d.ts.map +1 -0
- package/dist/types/deepTransformPlugins/getMissingLocalesContent.d.ts +19 -2
- package/dist/types/deepTransformPlugins/getMissingLocalesContent.d.ts.map +1 -0
- package/dist/types/deepTransformPlugins/getMultilingualDictionary.d.ts +32 -2
- package/dist/types/deepTransformPlugins/getMultilingualDictionary.d.ts.map +1 -0
- package/dist/types/deepTransformPlugins/getReplacedValuesContent.d.ts +8 -2
- package/dist/types/deepTransformPlugins/getReplacedValuesContent.d.ts.map +1 -0
- package/dist/types/deepTransformPlugins/getSplittedContent.d.ts +43 -2
- package/dist/types/deepTransformPlugins/getSplittedContent.d.ts.map +1 -0
- package/dist/types/deepTransformPlugins/index.d.ts +10 -10
- package/dist/types/deepTransformPlugins/insertContentInDictionary.d.ts +25 -2
- package/dist/types/deepTransformPlugins/insertContentInDictionary.d.ts.map +1 -0
- package/dist/types/dictionaryManipulator/editDictionaryByKeyPath.d.ts +8 -2
- package/dist/types/dictionaryManipulator/editDictionaryByKeyPath.d.ts.map +1 -0
- package/dist/types/dictionaryManipulator/getContentNodeByKeyPath.d.ts +9 -2
- package/dist/types/dictionaryManipulator/getContentNodeByKeyPath.d.ts.map +1 -0
- package/dist/types/dictionaryManipulator/getDefaultNode.d.ts +9 -2
- package/dist/types/dictionaryManipulator/getDefaultNode.d.ts.map +1 -0
- package/dist/types/dictionaryManipulator/getEmptyNode.d.ts +7 -2
- package/dist/types/dictionaryManipulator/getEmptyNode.d.ts.map +1 -0
- package/dist/types/dictionaryManipulator/getNodeChildren.d.ts +7 -2
- package/dist/types/dictionaryManipulator/getNodeChildren.d.ts.map +1 -0
- package/dist/types/dictionaryManipulator/getNodeType.d.ts +8 -2
- package/dist/types/dictionaryManipulator/getNodeType.d.ts.map +1 -0
- package/dist/types/dictionaryManipulator/index.d.ts +12 -12
- package/dist/types/dictionaryManipulator/mergeDictionaries.d.ts +7 -2
- package/dist/types/dictionaryManipulator/mergeDictionaries.d.ts.map +1 -0
- package/dist/types/dictionaryManipulator/normalizeDictionary.d.ts +9 -2
- package/dist/types/dictionaryManipulator/normalizeDictionary.d.ts.map +1 -0
- package/dist/types/dictionaryManipulator/orderDictionaries.d.ts +15 -2
- package/dist/types/dictionaryManipulator/orderDictionaries.d.ts.map +1 -0
- package/dist/types/dictionaryManipulator/removeContentNodeByKeyPath.d.ts +8 -2
- package/dist/types/dictionaryManipulator/removeContentNodeByKeyPath.d.ts.map +1 -0
- package/dist/types/dictionaryManipulator/renameContentNodeByKeyPath.d.ts +8 -2
- package/dist/types/dictionaryManipulator/renameContentNodeByKeyPath.d.ts.map +1 -0
- package/dist/types/dictionaryManipulator/updateNodeChildren.d.ts +7 -2
- package/dist/types/dictionaryManipulator/updateNodeChildren.d.ts.map +1 -0
- package/dist/types/formatters/compact.d.ts +20 -2
- package/dist/types/formatters/compact.d.ts.map +1 -0
- package/dist/types/formatters/currency.d.ts +20 -2
- package/dist/types/formatters/currency.d.ts.map +1 -0
- package/dist/types/formatters/date.d.ts +20 -2
- package/dist/types/formatters/date.d.ts.map +1 -0
- package/dist/types/formatters/index.d.ts +9 -9
- package/dist/types/formatters/list.d.ts +30 -2
- package/dist/types/formatters/list.d.ts.map +1 -0
- package/dist/types/formatters/number.d.ts +18 -2
- package/dist/types/formatters/number.d.ts.map +1 -0
- package/dist/types/formatters/percentage.d.ts +18 -2
- package/dist/types/formatters/percentage.d.ts.map +1 -0
- package/dist/types/formatters/relativeTime.d.ts +21 -2
- package/dist/types/formatters/relativeTime.d.ts.map +1 -0
- package/dist/types/formatters/units.d.ts +16 -2
- package/dist/types/formatters/units.d.ts.map +1 -0
- package/dist/types/getStorageAttributes.d.ts +29 -2
- package/dist/types/getStorageAttributes.d.ts.map +1 -0
- package/dist/types/index.d.ts +88 -80
- package/dist/types/interpreter/getCondition.d.ts +22 -2
- package/dist/types/interpreter/getCondition.d.ts.map +1 -0
- package/dist/types/interpreter/getContent/deepTransform.d.ts +12 -2
- package/dist/types/interpreter/getContent/deepTransform.d.ts.map +1 -0
- package/dist/types/interpreter/getContent/getContent.d.ts +16 -2
- package/dist/types/interpreter/getContent/getContent.d.ts.map +1 -0
- package/dist/types/interpreter/getContent/index.d.ts +3 -1
- package/dist/types/interpreter/getContent/plugins.d.ts +152 -2
- package/dist/types/interpreter/getContent/plugins.d.ts.map +1 -0
- package/dist/types/interpreter/getDictionary.d.ts +17 -2
- package/dist/types/interpreter/getDictionary.d.ts.map +1 -0
- package/dist/types/interpreter/getEnumeration.d.ts +58 -2
- package/dist/types/interpreter/getEnumeration.d.ts.map +1 -0
- 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 +32 -2
- package/dist/types/interpreter/getHTML.d.ts.map +1 -0
- 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 +8 -2
- package/dist/types/interpreter/getIntlayer.d.ts.map +1 -0
- package/dist/types/interpreter/getNesting.d.ts +27 -2
- package/dist/types/interpreter/getNesting.d.ts.map +1 -0
- package/dist/types/interpreter/getTranslation.d.ts +30 -2
- package/dist/types/interpreter/getTranslation.d.ts.map +1 -0
- package/dist/types/interpreter/index.d.ts +11 -4
- package/dist/types/interpreter/splitAndJoinInsertion.d.ts +25 -2
- package/dist/types/interpreter/splitAndJoinInsertion.d.ts.map +1 -0
- package/dist/types/localization/getBrowserLocale.d.ts +35 -2
- package/dist/types/localization/getBrowserLocale.d.ts.map +1 -0
- package/dist/types/localization/getHTMLTextDir.d.ts +21 -2
- package/dist/types/localization/getHTMLTextDir.d.ts.map +1 -0
- package/dist/types/localization/getLocale.d.ts +11 -2
- package/dist/types/localization/getLocale.d.ts.map +1 -0
- package/dist/types/localization/getLocaleFromPath.d.ts +20 -2
- package/dist/types/localization/getLocaleFromPath.d.ts.map +1 -0
- package/dist/types/localization/getLocaleLang.d.ts +20 -2
- package/dist/types/localization/getLocaleLang.d.ts.map +1 -0
- package/dist/types/localization/getLocaleName.d.ts +7 -2
- package/dist/types/localization/getLocaleName.d.ts.map +1 -0
- package/dist/types/localization/getLocalizedUrl.d.ts +44 -2
- package/dist/types/localization/getLocalizedUrl.d.ts.map +1 -0
- package/dist/types/localization/getMultilingualUrls.d.ts +42 -2
- package/dist/types/localization/getMultilingualUrls.d.ts.map +1 -0
- package/dist/types/localization/getPathWithoutLocale.d.ts +31 -2
- package/dist/types/localization/getPathWithoutLocale.d.ts.map +1 -0
- package/dist/types/localization/getPrefix.d.ts +83 -2
- package/dist/types/localization/getPrefix.d.ts.map +1 -0
- package/dist/types/localization/index.d.ts +16 -16
- package/dist/types/localization/localeDetector.d.ts +18 -2
- package/dist/types/localization/localeDetector.d.ts.map +1 -0
- package/dist/types/localization/localeMapper.d.ts +92 -2
- package/dist/types/localization/localeMapper.d.ts.map +1 -0
- package/dist/types/localization/localeResolver.d.ts +12 -2
- package/dist/types/localization/localeResolver.d.ts.map +1 -0
- package/dist/types/localization/rewriteUtils.d.ts +34 -2
- package/dist/types/localization/rewriteUtils.d.ts.map +1 -0
- package/dist/types/localization/validatePrefix.d.ts +34 -2
- package/dist/types/localization/validatePrefix.d.ts.map +1 -0
- package/dist/types/markdown/compiler.d.ts +9 -2
- package/dist/types/markdown/compiler.d.ts.map +1 -0
- package/dist/types/markdown/constants.d.ts +177 -2
- package/dist/types/markdown/constants.d.ts.map +1 -0
- package/dist/types/markdown/index.d.ts +10 -10
- package/dist/types/markdown/parser.d.ts +16 -2
- package/dist/types/markdown/parser.d.ts.map +1 -0
- package/dist/types/markdown/renderer.d.ts +22 -2
- package/dist/types/markdown/renderer.d.ts.map +1 -0
- package/dist/types/markdown/types.d.ts +333 -2
- package/dist/types/markdown/types.d.ts.map +1 -0
- package/dist/types/markdown/utils.d.ts +140 -2
- package/dist/types/markdown/utils.d.ts.map +1 -0
- package/dist/types/messageFormat/ICU.d.ts +11 -2
- package/dist/types/messageFormat/ICU.d.ts.map +1 -0
- package/dist/types/messageFormat/i18next.d.ts +9 -2
- package/dist/types/messageFormat/i18next.d.ts.map +1 -0
- package/dist/types/messageFormat/index.d.ts +3 -3
- package/dist/types/messageFormat/vue-i18n.d.ts +9 -2
- package/dist/types/messageFormat/vue-i18n.d.ts.map +1 -0
- package/dist/types/transpiler/condition/condition.d.ts +28 -2
- package/dist/types/transpiler/condition/condition.d.ts.map +1 -0
- package/dist/types/transpiler/condition/index.d.ts +1 -1
- package/dist/types/transpiler/enumeration/enumeration.d.ts +40 -2
- package/dist/types/transpiler/enumeration/enumeration.d.ts.map +1 -0
- package/dist/types/transpiler/enumeration/index.d.ts +1 -1
- package/dist/types/transpiler/file/file.d.ts +28 -2
- package/dist/types/transpiler/file/file.d.ts.map +1 -0
- 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 +29 -2
- package/dist/types/transpiler/gender/gender.d.ts.map +1 -0
- package/dist/types/transpiler/gender/index.d.ts +1 -1
- package/dist/types/transpiler/html/html.d.ts +25 -2
- package/dist/types/transpiler/html/html.d.ts.map +1 -0
- package/dist/types/transpiler/html/htmlTags.d.ts +115 -2
- package/dist/types/transpiler/html/htmlTags.d.ts.map +1 -0
- package/dist/types/transpiler/html/index.d.ts +3 -3
- package/dist/types/transpiler/html/validateHTML.d.ts +21 -2
- package/dist/types/transpiler/html/validateHTML.d.ts.map +1 -0
- package/dist/types/transpiler/index.d.ts +15 -15
- package/dist/types/transpiler/insertion/getInsertionValues.d.ts +5 -2
- package/dist/types/transpiler/insertion/getInsertionValues.d.ts.map +1 -0
- package/dist/types/transpiler/insertion/index.d.ts +2 -2
- package/dist/types/transpiler/insertion/insertion.d.ts +23 -2
- package/dist/types/transpiler/insertion/insertion.d.ts.map +1 -0
- package/dist/types/transpiler/markdown/getMarkdownMetadata.d.ts +5 -2
- package/dist/types/transpiler/markdown/getMarkdownMetadata.d.ts.map +1 -0
- package/dist/types/transpiler/markdown/index.d.ts +4 -4
- package/dist/types/transpiler/markdown/markdown.d.ts +26 -2
- package/dist/types/transpiler/markdown/markdown.d.ts.map +1 -0
- package/dist/types/transpiler/markdown/validateMarkdown.d.ts +18 -3
- package/dist/types/transpiler/markdown/validateMarkdown.d.ts.map +1 -0
- package/dist/types/transpiler/nesting/index.d.ts +1 -1
- package/dist/types/transpiler/nesting/nesting.d.ts +49 -2
- package/dist/types/transpiler/nesting/nesting.d.ts.map +1 -0
- package/dist/types/transpiler/translation/index.d.ts +1 -1
- package/dist/types/transpiler/translation/translation.d.ts +33 -2
- package/dist/types/transpiler/translation/translation.d.ts.map +1 -0
- package/dist/types/utils/checkIsURLAbsolute.d.ts +5 -2
- package/dist/types/utils/checkIsURLAbsolute.d.ts.map +1 -0
- package/dist/types/utils/getCookie.d.ts +11 -2
- package/dist/types/utils/getCookie.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +7 -7
- package/dist/types/utils/intl.d.ts +33 -2
- package/dist/types/utils/intl.d.ts.map +1 -0
- package/dist/types/utils/isSameKeyPath.d.ts +7 -2
- package/dist/types/utils/isSameKeyPath.d.ts.map +1 -0
- package/dist/types/utils/isValidReactElement.d.ts +12 -2
- package/dist/types/utils/isValidReactElement.d.ts.map +1 -0
- package/dist/types/utils/localeStorage.d.ts +108 -2
- package/dist/types/utils/localeStorage.d.ts.map +1 -0
- package/dist/types/utils/parseYaml.d.ts +5 -2
- package/dist/types/utils/parseYaml.d.ts.map +1 -0
- package/package.json +6 -6
- package/dist/cjs/chunk-Bmb41Sf3.cjs +0 -1
- package/dist/cjs/getContent-DrqM8pqO.cjs +0 -2
- package/dist/cjs/getContent-DrqM8pqO.cjs.map +0 -1
- package/dist/cjs/html-CZ1N-VL0.cjs +0 -2
- package/dist/cjs/html-CZ1N-VL0.cjs.map +0 -1
- package/dist/esm/getContent-DKqtIZGL.mjs +0 -2
- package/dist/esm/getContent-DKqtIZGL.mjs.map +0 -1
- package/dist/esm/html-3bo80xzx.mjs +0 -2
- package/dist/esm/html-3bo80xzx.mjs.map +0 -1
- package/dist/types/ICU-tA3ZHN5U.d.ts +0 -11
- package/dist/types/ICU-tA3ZHN5U.d.ts.map +0 -1
- package/dist/types/checkIsURLAbsolute-CTf3JFU6.d.ts +0 -5
- package/dist/types/checkIsURLAbsolute-CTf3JFU6.d.ts.map +0 -1
- package/dist/types/compact-IHXcM4pT.d.ts +0 -20
- package/dist/types/compact-IHXcM4pT.d.ts.map +0 -1
- package/dist/types/compiler-DFiAsUdH.d.ts +0 -9
- package/dist/types/compiler-DFiAsUdH.d.ts.map +0 -1
- package/dist/types/condition-BDUtoh_1.d.ts +0 -28
- package/dist/types/condition-BDUtoh_1.d.ts.map +0 -1
- package/dist/types/constants-CI_D82B1.d.ts +0 -177
- package/dist/types/constants-CI_D82B1.d.ts.map +0 -1
- package/dist/types/currency-PbMCnHep.d.ts +0 -20
- package/dist/types/currency-PbMCnHep.d.ts.map +0 -1
- package/dist/types/date-C-PI8KqU.d.ts +0 -20
- package/dist/types/date-C-PI8KqU.d.ts.map +0 -1
- package/dist/types/editDictionaryByKeyPath-BYIHcsyf.d.ts +0 -8
- package/dist/types/editDictionaryByKeyPath-BYIHcsyf.d.ts.map +0 -1
- package/dist/types/enumeration-CtuvB5Zz.d.ts +0 -40
- package/dist/types/enumeration-CtuvB5Zz.d.ts.map +0 -1
- package/dist/types/file-C3q8xvQb.d.ts +0 -28
- package/dist/types/file-C3q8xvQb.d.ts.map +0 -1
- package/dist/types/gender-Dd39Ijmf.d.ts +0 -29
- package/dist/types/gender-Dd39Ijmf.d.ts.map +0 -1
- package/dist/types/getBrowserLocale-RD_Mwv1t.d.ts +0 -35
- package/dist/types/getBrowserLocale-RD_Mwv1t.d.ts.map +0 -1
- package/dist/types/getContentNodeByKeyPath-B0Tdi5mj.d.ts +0 -9
- package/dist/types/getContentNodeByKeyPath-B0Tdi5mj.d.ts.map +0 -1
- package/dist/types/getCookie-DPOvVv_h.d.ts +0 -11
- package/dist/types/getCookie-DPOvVv_h.d.ts.map +0 -1
- package/dist/types/getDefaultNode-DQNsje2D.d.ts +0 -9
- package/dist/types/getDefaultNode-DQNsje2D.d.ts.map +0 -1
- package/dist/types/getEmptyNode-DW27TTBj.d.ts +0 -7
- package/dist/types/getEmptyNode-DW27TTBj.d.ts.map +0 -1
- package/dist/types/getFilterMissingTranslationsContent-CDNQqoy1.d.ts +0 -50
- package/dist/types/getFilterMissingTranslationsContent-CDNQqoy1.d.ts.map +0 -1
- package/dist/types/getFilterTranslationsOnlyContent-D2YgBkHn.d.ts +0 -42
- package/dist/types/getFilterTranslationsOnlyContent-D2YgBkHn.d.ts.map +0 -1
- package/dist/types/getFilteredLocalesContent-D0GP-uEg.d.ts +0 -34
- package/dist/types/getFilteredLocalesContent-D0GP-uEg.d.ts.map +0 -1
- package/dist/types/getHTML-CP6OXtdo.d.ts +0 -32
- package/dist/types/getHTML-CP6OXtdo.d.ts.map +0 -1
- package/dist/types/getHTMLTextDir-4Zh8J3x7.d.ts +0 -21
- package/dist/types/getHTMLTextDir-4Zh8J3x7.d.ts.map +0 -1
- package/dist/types/getInsertionValues-Cu9IdbuE.d.ts +0 -5
- package/dist/types/getInsertionValues-Cu9IdbuE.d.ts.map +0 -1
- package/dist/types/getLocale-B9dECUM_.d.ts +0 -11
- package/dist/types/getLocale-B9dECUM_.d.ts.map +0 -1
- package/dist/types/getLocaleFromPath-621W32QA.d.ts +0 -26
- package/dist/types/getLocaleFromPath-621W32QA.d.ts.map +0 -1
- package/dist/types/getLocaleLang-Bcan1gS4.d.ts +0 -20
- package/dist/types/getLocaleLang-Bcan1gS4.d.ts.map +0 -1
- package/dist/types/getLocaleName-CfRAD9Hc.d.ts +0 -7
- package/dist/types/getLocaleName-CfRAD9Hc.d.ts.map +0 -1
- package/dist/types/getLocalizedContent-DOncZd-0.d.ts +0 -18
- package/dist/types/getLocalizedContent-DOncZd-0.d.ts.map +0 -1
- package/dist/types/getLocalizedUrl-BbqeA3-W.d.ts +0 -49
- package/dist/types/getLocalizedUrl-BbqeA3-W.d.ts.map +0 -1
- package/dist/types/getMarkdownMetadata-Bf1S1NQ0.d.ts +0 -5
- package/dist/types/getMarkdownMetadata-Bf1S1NQ0.d.ts.map +0 -1
- package/dist/types/getMaskContent-BwLFqp7v.d.ts +0 -10
- package/dist/types/getMaskContent-BwLFqp7v.d.ts.map +0 -1
- package/dist/types/getMissingLocalesContent-BYffYcdx.d.ts +0 -19
- package/dist/types/getMissingLocalesContent-BYffYcdx.d.ts.map +0 -1
- package/dist/types/getMultilingualDictionary-DO3i1MFs.d.ts +0 -32
- package/dist/types/getMultilingualDictionary-DO3i1MFs.d.ts.map +0 -1
- package/dist/types/getMultilingualUrls-CUxYYfA4.d.ts +0 -47
- package/dist/types/getMultilingualUrls-CUxYYfA4.d.ts.map +0 -1
- package/dist/types/getNodeChildren-OT7Liqke.d.ts +0 -7
- package/dist/types/getNodeChildren-OT7Liqke.d.ts.map +0 -1
- package/dist/types/getNodeType-Cp765I26.d.ts +0 -8
- package/dist/types/getNodeType-Cp765I26.d.ts.map +0 -1
- package/dist/types/getPathWithoutLocale-B_aIR7O0.d.ts +0 -31
- package/dist/types/getPathWithoutLocale-B_aIR7O0.d.ts.map +0 -1
- package/dist/types/getPrefix-X9XKkrZD.d.ts +0 -68
- package/dist/types/getPrefix-X9XKkrZD.d.ts.map +0 -1
- package/dist/types/getReplacedValuesContent-BvL25pdt.d.ts +0 -8
- package/dist/types/getReplacedValuesContent-BvL25pdt.d.ts.map +0 -1
- package/dist/types/getSplittedContent-YD4JDMfB.d.ts +0 -43
- package/dist/types/getSplittedContent-YD4JDMfB.d.ts.map +0 -1
- package/dist/types/getStorageAttributes-CIO2xWqQ.d.ts +0 -29
- package/dist/types/getStorageAttributes-CIO2xWqQ.d.ts.map +0 -1
- package/dist/types/getTranslation-BG2Wg-af.d.ts +0 -30
- package/dist/types/getTranslation-BG2Wg-af.d.ts.map +0 -1
- package/dist/types/html-Dn6KrpJ3.d.ts +0 -25
- package/dist/types/html-Dn6KrpJ3.d.ts.map +0 -1
- package/dist/types/htmlTags-YxTtVUx6.d.ts +0 -115
- package/dist/types/htmlTags-YxTtVUx6.d.ts.map +0 -1
- package/dist/types/i18next-qY0AixrB.d.ts +0 -9
- package/dist/types/i18next-qY0AixrB.d.ts.map +0 -1
- package/dist/types/index-1CTsSKEn.d.ts +0 -1
- package/dist/types/index-B8xF2zGo.d.ts +0 -1
- package/dist/types/index-BcsOTSQF.d.ts +0 -1
- package/dist/types/index-BnEeKNKW.d.ts +0 -322
- package/dist/types/index-BnEeKNKW.d.ts.map +0 -1
- package/dist/types/index-Cf8zm5QQ.d.ts +0 -1
- package/dist/types/index-CfvILin8.d.ts +0 -1
- package/dist/types/index-DK_kKFOF.d.ts +0 -1
- package/dist/types/index-DeJa0xZp.d.ts +0 -1
- package/dist/types/index-Vlqtiwjx.d.ts +0 -1
- package/dist/types/insertContentInDictionary-DZ3UzG4K.d.ts +0 -25
- package/dist/types/insertContentInDictionary-DZ3UzG4K.d.ts.map +0 -1
- package/dist/types/insertion-M5fwK-29.d.ts +0 -23
- package/dist/types/insertion-M5fwK-29.d.ts.map +0 -1
- package/dist/types/intl-B2Ap8I5x.d.ts +0 -33
- package/dist/types/intl-B2Ap8I5x.d.ts.map +0 -1
- package/dist/types/isSameKeyPath-CkH8NdJh.d.ts +0 -7
- package/dist/types/isSameKeyPath-CkH8NdJh.d.ts.map +0 -1
- package/dist/types/isValidReactElement-BsoJ01oP.d.ts +0 -12
- package/dist/types/isValidReactElement-BsoJ01oP.d.ts.map +0 -1
- package/dist/types/list-BdjJM2Gx.d.ts +0 -30
- package/dist/types/list-BdjJM2Gx.d.ts.map +0 -1
- package/dist/types/localeDetector-BWNCQRiZ.d.ts +0 -18
- package/dist/types/localeDetector-BWNCQRiZ.d.ts.map +0 -1
- package/dist/types/localeMapper-DoAnasqf.d.ts +0 -92
- package/dist/types/localeMapper-DoAnasqf.d.ts.map +0 -1
- package/dist/types/localeResolver-bb7AWQNX.d.ts +0 -12
- package/dist/types/localeResolver-bb7AWQNX.d.ts.map +0 -1
- package/dist/types/localeStorage-CZHwY0u3.d.ts +0 -108
- package/dist/types/localeStorage-CZHwY0u3.d.ts.map +0 -1
- package/dist/types/markdown-MzfikrI1.d.ts +0 -26
- package/dist/types/markdown-MzfikrI1.d.ts.map +0 -1
- package/dist/types/mergeDictionaries-D6WUMQN5.d.ts +0 -7
- package/dist/types/mergeDictionaries-D6WUMQN5.d.ts.map +0 -1
- package/dist/types/normalizeDictionary-coviIGTW.d.ts +0 -9
- package/dist/types/normalizeDictionary-coviIGTW.d.ts.map +0 -1
- package/dist/types/number-C8izkCmU.d.ts +0 -16
- package/dist/types/number-C8izkCmU.d.ts.map +0 -1
- package/dist/types/orderDictionaries-SSCMY6qG.d.ts +0 -15
- package/dist/types/orderDictionaries-SSCMY6qG.d.ts.map +0 -1
- package/dist/types/parseYaml-D5gxutvA.d.ts +0 -5
- package/dist/types/parseYaml-D5gxutvA.d.ts.map +0 -1
- package/dist/types/parser-BVwR6Tjw.d.ts +0 -16
- package/dist/types/parser-BVwR6Tjw.d.ts.map +0 -1
- package/dist/types/percentage-BqsvW0Zw.d.ts +0 -16
- package/dist/types/percentage-BqsvW0Zw.d.ts.map +0 -1
- package/dist/types/relativeTime-mJaYEq7H.d.ts +0 -11
- package/dist/types/relativeTime-mJaYEq7H.d.ts.map +0 -1
- package/dist/types/removeContentNodeByKeyPath-CotCOOsD.d.ts +0 -8
- package/dist/types/removeContentNodeByKeyPath-CotCOOsD.d.ts.map +0 -1
- package/dist/types/renameContentNodeByKeyPath-BuyH5gOr.d.ts +0 -8
- package/dist/types/renameContentNodeByKeyPath-BuyH5gOr.d.ts.map +0 -1
- package/dist/types/renderer-C06x2Orf.d.ts +0 -22
- package/dist/types/renderer-C06x2Orf.d.ts.map +0 -1
- package/dist/types/rewriteUtils-Bd82NiGR.d.ts +0 -34
- package/dist/types/rewriteUtils-Bd82NiGR.d.ts.map +0 -1
- package/dist/types/splitAndJoinInsertion-bkuLa7o2.d.ts +0 -25
- package/dist/types/splitAndJoinInsertion-bkuLa7o2.d.ts.map +0 -1
- package/dist/types/translation-CiC-Avxc.d.ts +0 -33
- package/dist/types/translation-CiC-Avxc.d.ts.map +0 -1
- package/dist/types/types-C2Om0aEM.d.ts +0 -333
- package/dist/types/types-C2Om0aEM.d.ts.map +0 -1
- package/dist/types/units-CouGqa8j.d.ts +0 -16
- package/dist/types/units-CouGqa8j.d.ts.map +0 -1
- package/dist/types/updateNodeChildren-B5Tu1UBZ.d.ts +0 -7
- package/dist/types/updateNodeChildren-B5Tu1UBZ.d.ts.map +0 -1
- package/dist/types/utils-Dcmgh_80.d.ts +0 -140
- package/dist/types/utils-Dcmgh_80.d.ts.map +0 -1
- package/dist/types/validateHTML-U7UKTtFd.d.ts +0 -21
- package/dist/types/validateHTML-U7UKTtFd.d.ts.map +0 -1
- package/dist/types/validateMarkdown-BUaTDDIu.d.ts +0 -18
- package/dist/types/validateMarkdown-BUaTDDIu.d.ts.map +0 -1
- package/dist/types/validatePrefix-Dtmg7QLq.d.ts +0 -38
- package/dist/types/validatePrefix-Dtmg7QLq.d.ts.map +0 -1
- package/dist/types/vue-i18n-JtUB7N_m.d.ts +0 -9
- package/dist/types/vue-i18n-JtUB7N_m.d.ts.map +0 -1
|
@@ -1,2 +1,115 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/transpiler/html/htmlTags.ts
|
|
2
|
+
/**
|
|
3
|
+
* List of standard HTML tags to provide as default components.
|
|
4
|
+
* These allow users to use standard HTML tags in their html() content
|
|
5
|
+
* without having to pass them explicitly.
|
|
6
|
+
*
|
|
7
|
+
* Used by framework-specific plugins (react-intlayer, vue-intlayer, etc.)
|
|
8
|
+
* to create default HTML tag components.
|
|
9
|
+
*/
|
|
10
|
+
const HTML_TAGS = [
|
|
11
|
+
"html",
|
|
12
|
+
"head",
|
|
13
|
+
"body",
|
|
14
|
+
"main",
|
|
15
|
+
"header",
|
|
16
|
+
"footer",
|
|
17
|
+
"nav",
|
|
18
|
+
"aside",
|
|
19
|
+
"article",
|
|
20
|
+
"section",
|
|
21
|
+
"div",
|
|
22
|
+
"span",
|
|
23
|
+
"h1",
|
|
24
|
+
"h2",
|
|
25
|
+
"h3",
|
|
26
|
+
"h4",
|
|
27
|
+
"h5",
|
|
28
|
+
"h6",
|
|
29
|
+
"p",
|
|
30
|
+
"a",
|
|
31
|
+
"strong",
|
|
32
|
+
"b",
|
|
33
|
+
"em",
|
|
34
|
+
"i",
|
|
35
|
+
"u",
|
|
36
|
+
"s",
|
|
37
|
+
"del",
|
|
38
|
+
"ins",
|
|
39
|
+
"mark",
|
|
40
|
+
"small",
|
|
41
|
+
"sub",
|
|
42
|
+
"sup",
|
|
43
|
+
"code",
|
|
44
|
+
"pre",
|
|
45
|
+
"blockquote",
|
|
46
|
+
"q",
|
|
47
|
+
"cite",
|
|
48
|
+
"abbr",
|
|
49
|
+
"address",
|
|
50
|
+
"time",
|
|
51
|
+
"kbd",
|
|
52
|
+
"samp",
|
|
53
|
+
"var",
|
|
54
|
+
"ul",
|
|
55
|
+
"ol",
|
|
56
|
+
"li",
|
|
57
|
+
"dl",
|
|
58
|
+
"dt",
|
|
59
|
+
"dd",
|
|
60
|
+
"table",
|
|
61
|
+
"thead",
|
|
62
|
+
"tbody",
|
|
63
|
+
"tfoot",
|
|
64
|
+
"tr",
|
|
65
|
+
"th",
|
|
66
|
+
"td",
|
|
67
|
+
"caption",
|
|
68
|
+
"colgroup",
|
|
69
|
+
"col",
|
|
70
|
+
"form",
|
|
71
|
+
"input",
|
|
72
|
+
"textarea",
|
|
73
|
+
"button",
|
|
74
|
+
"select",
|
|
75
|
+
"option",
|
|
76
|
+
"optgroup",
|
|
77
|
+
"label",
|
|
78
|
+
"fieldset",
|
|
79
|
+
"legend",
|
|
80
|
+
"datalist",
|
|
81
|
+
"output",
|
|
82
|
+
"progress",
|
|
83
|
+
"meter",
|
|
84
|
+
"img",
|
|
85
|
+
"video",
|
|
86
|
+
"audio",
|
|
87
|
+
"source",
|
|
88
|
+
"track",
|
|
89
|
+
"picture",
|
|
90
|
+
"figure",
|
|
91
|
+
"figcaption",
|
|
92
|
+
"iframe",
|
|
93
|
+
"embed",
|
|
94
|
+
"object",
|
|
95
|
+
"canvas",
|
|
96
|
+
"svg",
|
|
97
|
+
"details",
|
|
98
|
+
"summary",
|
|
99
|
+
"dialog",
|
|
100
|
+
"br",
|
|
101
|
+
"hr",
|
|
102
|
+
"wbr",
|
|
103
|
+
"ruby",
|
|
104
|
+
"rt",
|
|
105
|
+
"rp",
|
|
106
|
+
"bdi",
|
|
107
|
+
"bdo",
|
|
108
|
+
"data",
|
|
109
|
+
"template",
|
|
110
|
+
"slot"
|
|
111
|
+
];
|
|
112
|
+
|
|
113
|
+
//#endregion
|
|
114
|
+
export { HTML_TAGS };
|
|
2
115
|
//# sourceMappingURL=htmlTags.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htmlTags.mjs","names":[],"sources":["../../../../src/transpiler/html/htmlTags.ts"],"sourcesContent":["/**\n * List of standard HTML tags to provide as default components.\n * These allow users to use standard HTML tags in their html() content\n * without having to pass them explicitly.\n *\n * Used by framework-specific plugins (react-intlayer, vue-intlayer, etc.)\n * to create default HTML tag components.\n */\nexport const HTML_TAGS = [\n // Document structure\n 'html',\n 'head',\n 'body',\n 'main',\n 'header',\n 'footer',\n 'nav',\n 'aside',\n 'article',\n 'section',\n 'div',\n 'span',\n // Headings\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n // Text content\n 'p',\n 'a',\n 'strong',\n 'b',\n 'em',\n 'i',\n 'u',\n 's',\n 'del',\n 'ins',\n 'mark',\n 'small',\n 'sub',\n 'sup',\n 'code',\n 'pre',\n 'blockquote',\n 'q',\n 'cite',\n 'abbr',\n 'address',\n 'time',\n 'kbd',\n 'samp',\n 'var',\n // Lists\n 'ul',\n 'ol',\n 'li',\n 'dl',\n 'dt',\n 'dd',\n // Tables\n 'table',\n 'thead',\n 'tbody',\n 'tfoot',\n 'tr',\n 'th',\n 'td',\n 'caption',\n 'colgroup',\n 'col',\n // Forms\n 'form',\n 'input',\n 'textarea',\n 'button',\n 'select',\n 'option',\n 'optgroup',\n 'label',\n 'fieldset',\n 'legend',\n 'datalist',\n 'output',\n 'progress',\n 'meter',\n // Media\n 'img',\n 'video',\n 'audio',\n 'source',\n 'track',\n 'picture',\n 'figure',\n 'figcaption',\n 'iframe',\n 'embed',\n 'object',\n 'canvas',\n 'svg',\n // Interactive\n 'details',\n 'summary',\n 'dialog',\n // Other\n 'br',\n 'hr',\n 'wbr',\n 'ruby',\n 'rt',\n 'rp',\n 'bdi',\n 'bdo',\n 'data',\n 'template',\n 'slot',\n] as const;\n\nexport type HTMLTagsType = {\n // Document structure\n html: HTMLHtmlElement;\n head: HTMLHeadElement;\n body: HTMLBodyElement;\n main: HTMLElement;\n header: HTMLElement;\n footer: HTMLElement;\n nav: HTMLElement;\n aside: HTMLElement;\n article: HTMLElement;\n section: HTMLElement;\n div: HTMLDivElement;\n span: HTMLSpanElement;\n\n // Headings\n h1: HTMLHeadingElement;\n h2: HTMLHeadingElement;\n h3: HTMLHeadingElement;\n h4: HTMLHeadingElement;\n h5: HTMLHeadingElement;\n h6: HTMLHeadingElement;\n\n // Text content\n p: HTMLParagraphElement;\n a: HTMLAnchorElement;\n strong: HTMLElement;\n b: HTMLElement;\n em: HTMLElement;\n i: HTMLElement;\n u: HTMLElement;\n s: HTMLElement;\n del: HTMLModElement;\n ins: HTMLModElement;\n mark: HTMLElement;\n small: HTMLElement;\n sub: HTMLElement;\n sup: HTMLElement;\n code: HTMLElement;\n pre: HTMLPreElement;\n blockquote: HTMLQuoteElement;\n q: HTMLQuoteElement;\n cite: HTMLElement;\n abbr: HTMLElement;\n address: HTMLElement;\n time: HTMLTimeElement;\n kbd: HTMLElement;\n samp: HTMLElement;\n var: HTMLElement;\n\n // Lists\n ul: HTMLUListElement;\n ol: HTMLOListElement;\n li: HTMLLIElement;\n dl: HTMLDListElement;\n dt: HTMLElement;\n dd: HTMLElement;\n\n // Tables\n table: HTMLTableElement;\n thead: HTMLTableSectionElement;\n tbody: HTMLTableSectionElement;\n tfoot: HTMLTableSectionElement;\n tr: HTMLTableRowElement;\n th: HTMLTableCellElement;\n td: HTMLTableCellElement;\n caption: HTMLTableCaptionElement;\n colgroup: HTMLTableColElement;\n col: HTMLTableColElement;\n\n // Forms\n form: HTMLFormElement;\n input: HTMLInputElement;\n textarea: HTMLTextAreaElement;\n button: HTMLButtonElement;\n select: HTMLSelectElement;\n option: HTMLOptionElement;\n optgroup: HTMLOptGroupElement;\n label: HTMLLabelElement;\n fieldset: HTMLFieldSetElement;\n legend: HTMLLegendElement;\n datalist: HTMLDataListElement;\n output: HTMLOutputElement;\n progress: HTMLProgressElement;\n meter: HTMLMeterElement;\n\n // Media\n img: HTMLImageElement;\n video: HTMLVideoElement;\n audio: HTMLAudioElement;\n source: HTMLSourceElement;\n track: HTMLTrackElement;\n picture: HTMLPictureElement;\n figure: HTMLElement;\n figcaption: HTMLElement;\n iframe: HTMLIFrameElement;\n embed: HTMLEmbedElement;\n object: HTMLObjectElement;\n canvas: HTMLCanvasElement;\n svg: SVGSVGElement;\n\n // Interactive\n details: HTMLDetailsElement;\n summary: HTMLElement;\n dialog: HTMLDialogElement;\n\n // Other\n br: HTMLBRElement;\n hr: HTMLHRElement;\n wbr: HTMLElement;\n ruby: HTMLElement;\n rt: HTMLElement;\n rp: HTMLElement;\n bdi: HTMLElement;\n bdo: HTMLElement;\n data: HTMLDataElement;\n template: HTMLTemplateElement;\n slot: HTMLSlotElement;\n};\n"],"mappings":"AAQA,MAAa,
|
|
1
|
+
{"version":3,"file":"htmlTags.mjs","names":[],"sources":["../../../../src/transpiler/html/htmlTags.ts"],"sourcesContent":["/**\n * List of standard HTML tags to provide as default components.\n * These allow users to use standard HTML tags in their html() content\n * without having to pass them explicitly.\n *\n * Used by framework-specific plugins (react-intlayer, vue-intlayer, etc.)\n * to create default HTML tag components.\n */\nexport const HTML_TAGS = [\n // Document structure\n 'html',\n 'head',\n 'body',\n 'main',\n 'header',\n 'footer',\n 'nav',\n 'aside',\n 'article',\n 'section',\n 'div',\n 'span',\n // Headings\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n // Text content\n 'p',\n 'a',\n 'strong',\n 'b',\n 'em',\n 'i',\n 'u',\n 's',\n 'del',\n 'ins',\n 'mark',\n 'small',\n 'sub',\n 'sup',\n 'code',\n 'pre',\n 'blockquote',\n 'q',\n 'cite',\n 'abbr',\n 'address',\n 'time',\n 'kbd',\n 'samp',\n 'var',\n // Lists\n 'ul',\n 'ol',\n 'li',\n 'dl',\n 'dt',\n 'dd',\n // Tables\n 'table',\n 'thead',\n 'tbody',\n 'tfoot',\n 'tr',\n 'th',\n 'td',\n 'caption',\n 'colgroup',\n 'col',\n // Forms\n 'form',\n 'input',\n 'textarea',\n 'button',\n 'select',\n 'option',\n 'optgroup',\n 'label',\n 'fieldset',\n 'legend',\n 'datalist',\n 'output',\n 'progress',\n 'meter',\n // Media\n 'img',\n 'video',\n 'audio',\n 'source',\n 'track',\n 'picture',\n 'figure',\n 'figcaption',\n 'iframe',\n 'embed',\n 'object',\n 'canvas',\n 'svg',\n // Interactive\n 'details',\n 'summary',\n 'dialog',\n // Other\n 'br',\n 'hr',\n 'wbr',\n 'ruby',\n 'rt',\n 'rp',\n 'bdi',\n 'bdo',\n 'data',\n 'template',\n 'slot',\n] as const;\n\nexport type HTMLTagsType = {\n // Document structure\n html: HTMLHtmlElement;\n head: HTMLHeadElement;\n body: HTMLBodyElement;\n main: HTMLElement;\n header: HTMLElement;\n footer: HTMLElement;\n nav: HTMLElement;\n aside: HTMLElement;\n article: HTMLElement;\n section: HTMLElement;\n div: HTMLDivElement;\n span: HTMLSpanElement;\n\n // Headings\n h1: HTMLHeadingElement;\n h2: HTMLHeadingElement;\n h3: HTMLHeadingElement;\n h4: HTMLHeadingElement;\n h5: HTMLHeadingElement;\n h6: HTMLHeadingElement;\n\n // Text content\n p: HTMLParagraphElement;\n a: HTMLAnchorElement;\n strong: HTMLElement;\n b: HTMLElement;\n em: HTMLElement;\n i: HTMLElement;\n u: HTMLElement;\n s: HTMLElement;\n del: HTMLModElement;\n ins: HTMLModElement;\n mark: HTMLElement;\n small: HTMLElement;\n sub: HTMLElement;\n sup: HTMLElement;\n code: HTMLElement;\n pre: HTMLPreElement;\n blockquote: HTMLQuoteElement;\n q: HTMLQuoteElement;\n cite: HTMLElement;\n abbr: HTMLElement;\n address: HTMLElement;\n time: HTMLTimeElement;\n kbd: HTMLElement;\n samp: HTMLElement;\n var: HTMLElement;\n\n // Lists\n ul: HTMLUListElement;\n ol: HTMLOListElement;\n li: HTMLLIElement;\n dl: HTMLDListElement;\n dt: HTMLElement;\n dd: HTMLElement;\n\n // Tables\n table: HTMLTableElement;\n thead: HTMLTableSectionElement;\n tbody: HTMLTableSectionElement;\n tfoot: HTMLTableSectionElement;\n tr: HTMLTableRowElement;\n th: HTMLTableCellElement;\n td: HTMLTableCellElement;\n caption: HTMLTableCaptionElement;\n colgroup: HTMLTableColElement;\n col: HTMLTableColElement;\n\n // Forms\n form: HTMLFormElement;\n input: HTMLInputElement;\n textarea: HTMLTextAreaElement;\n button: HTMLButtonElement;\n select: HTMLSelectElement;\n option: HTMLOptionElement;\n optgroup: HTMLOptGroupElement;\n label: HTMLLabelElement;\n fieldset: HTMLFieldSetElement;\n legend: HTMLLegendElement;\n datalist: HTMLDataListElement;\n output: HTMLOutputElement;\n progress: HTMLProgressElement;\n meter: HTMLMeterElement;\n\n // Media\n img: HTMLImageElement;\n video: HTMLVideoElement;\n audio: HTMLAudioElement;\n source: HTMLSourceElement;\n track: HTMLTrackElement;\n picture: HTMLPictureElement;\n figure: HTMLElement;\n figcaption: HTMLElement;\n iframe: HTMLIFrameElement;\n embed: HTMLEmbedElement;\n object: HTMLObjectElement;\n canvas: HTMLCanvasElement;\n svg: SVGSVGElement;\n\n // Interactive\n details: HTMLDetailsElement;\n summary: HTMLElement;\n dialog: HTMLDialogElement;\n\n // Other\n br: HTMLBRElement;\n hr: HTMLHRElement;\n wbr: HTMLElement;\n ruby: HTMLElement;\n rt: HTMLElement;\n rp: HTMLElement;\n bdi: HTMLElement;\n bdo: HTMLElement;\n data: HTMLDataElement;\n template: HTMLTemplateElement;\n slot: HTMLSlotElement;\n};\n"],"mappings":";;;;;;;;;AAQA,MAAa,YAAY;CAEvB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD"}
|
|
@@ -1 +1,5 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import { VOID_ELEMENTS, validateHTML } from "./validateHTML.mjs";
|
|
2
|
+
import { html } from "./html.mjs";
|
|
3
|
+
import { HTML_TAGS } from "./htmlTags.mjs";
|
|
4
|
+
|
|
5
|
+
export { HTML_TAGS, VOID_ELEMENTS, html, validateHTML };
|
|
@@ -1,2 +1,63 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/transpiler/html/validateHTML.ts
|
|
2
|
+
const VOID_ELEMENTS = new Set([
|
|
3
|
+
"area",
|
|
4
|
+
"base",
|
|
5
|
+
"br",
|
|
6
|
+
"col",
|
|
7
|
+
"embed",
|
|
8
|
+
"hr",
|
|
9
|
+
"img",
|
|
10
|
+
"input",
|
|
11
|
+
"link",
|
|
12
|
+
"meta",
|
|
13
|
+
"source",
|
|
14
|
+
"track",
|
|
15
|
+
"wbr"
|
|
16
|
+
]);
|
|
17
|
+
const TAG_REGEX = /<(\/)?([a-zA-Z][a-zA-Z0-9.-]*)\s*((?:[^\n]|\n(?!\n))*?)(\/?)>/g;
|
|
18
|
+
/**
|
|
19
|
+
* Validates that HTML tags in `content` are properly opened, nested, and closed.
|
|
20
|
+
* Returns structured issues instead of logging to the console.
|
|
21
|
+
*
|
|
22
|
+
* False-positive exclusions:
|
|
23
|
+
* - Tags whose attribute string starts with `://` are URL autolinks (e.g. `<https://…>`).
|
|
24
|
+
*/
|
|
25
|
+
const validateHTML = (content) => {
|
|
26
|
+
const issues = [];
|
|
27
|
+
const stack = [];
|
|
28
|
+
for (const match of content.matchAll(TAG_REGEX)) {
|
|
29
|
+
const isClosing = !!match[1];
|
|
30
|
+
const tagName = match[2];
|
|
31
|
+
const attrs = match[3];
|
|
32
|
+
const isSelfClosing = !!match[4];
|
|
33
|
+
if (attrs.trimStart().startsWith("://") || attrs.trimStart().startsWith(":")) continue;
|
|
34
|
+
if (isClosing) if (stack.length === 0) issues.push({
|
|
35
|
+
type: "error",
|
|
36
|
+
message: `Closing tag </${tagName}> has no matching opening tag`
|
|
37
|
+
});
|
|
38
|
+
else {
|
|
39
|
+
const last = stack[stack.length - 1];
|
|
40
|
+
if (last.tag.toLowerCase() !== tagName.toLowerCase()) issues.push({
|
|
41
|
+
type: "error",
|
|
42
|
+
message: `Mismatched closing tag: expected </${last.tag}> but found </${tagName}>`
|
|
43
|
+
});
|
|
44
|
+
stack.pop();
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
const isVoidElement = VOID_ELEMENTS.has(tagName.toLowerCase());
|
|
48
|
+
if (!isSelfClosing && !isVoidElement) stack.push({ tag: tagName });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
for (const unclosed of stack) issues.push({
|
|
52
|
+
type: "error",
|
|
53
|
+
message: `Unclosed HTML tag: <${unclosed.tag}>`
|
|
54
|
+
});
|
|
55
|
+
return {
|
|
56
|
+
valid: issues.filter((i) => i.type === "error").length === 0,
|
|
57
|
+
issues
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
//#endregion
|
|
62
|
+
export { VOID_ELEMENTS, validateHTML };
|
|
2
63
|
//# sourceMappingURL=validateHTML.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateHTML.mjs","names":[],"sources":["../../../../src/transpiler/html/validateHTML.ts"],"sourcesContent":["export const VOID_ELEMENTS = new Set([\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'link',\n 'meta',\n 'source',\n 'track',\n 'wbr',\n]);\n\nexport type HTMLValidationIssue = {\n type: 'error' | 'warning';\n message: string;\n};\n\nexport type HTMLValidationResult = {\n valid: boolean;\n issues: HTMLValidationIssue[];\n};\n\n// Matches HTML tags: <Tag ...>, </Tag>, or <Tag ... />\n// Attributes may span multiple lines but NOT blank lines (two consecutive newlines),\n// which prevents matching blockquote `>` markers as tag closers.\n// Groups: 1: closing slash, 2: tag name, 3: attributes, 4: self-closing slash\nconst TAG_REGEX =\n /<(\\/)?([a-zA-Z][a-zA-Z0-9.-]*)\\s*((?:[^\\n]|\\n(?!\\n))*?)(\\/?)>/g;\n\n/**\n * Validates that HTML tags in `content` are properly opened, nested, and closed.\n * Returns structured issues instead of logging to the console.\n *\n * False-positive exclusions:\n * - Tags whose attribute string starts with `://` are URL autolinks (e.g. `<https://…>`).\n */\nexport const validateHTML = (content: string): HTMLValidationResult => {\n const issues: HTMLValidationIssue[] = [];\n const stack: Array<{ tag: string }> = [];\n\n for (const match of content.matchAll(TAG_REGEX)) {\n const isClosing = !!match[1];\n const tagName = match[2];\n const attrs = match[3];\n const isSelfClosing = !!match[4];\n\n // Skip URL autolinks like <https://example.com> or <mailto:user@example.com>\n if (\n attrs.trimStart().startsWith('://') ||\n attrs.trimStart().startsWith(':')\n ) {\n continue;\n }\n\n if (isClosing) {\n if (stack.length === 0) {\n issues.push({\n type: 'error',\n message: `Closing tag </${tagName}> has no matching opening tag`,\n });\n } else {\n const last = stack[stack.length - 1];\n if (last.tag.toLowerCase() !== tagName.toLowerCase()) {\n issues.push({\n type: 'error',\n message: `Mismatched closing tag: expected </${last.tag}> but found </${tagName}>`,\n });\n }\n stack.pop();\n }\n } else {\n const isVoidElement = VOID_ELEMENTS.has(tagName.toLowerCase());\n if (!isSelfClosing && !isVoidElement) {\n stack.push({ tag: tagName });\n }\n }\n }\n\n for (const unclosed of stack) {\n issues.push({\n type: 'error',\n message: `Unclosed HTML tag: <${unclosed.tag}>`,\n });\n }\n\n return {\n valid: issues.filter((i) => i.type === 'error').length === 0,\n issues,\n };\n};\n"],"mappings":"AAAA,MAAa,
|
|
1
|
+
{"version":3,"file":"validateHTML.mjs","names":[],"sources":["../../../../src/transpiler/html/validateHTML.ts"],"sourcesContent":["export const VOID_ELEMENTS = new Set([\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'link',\n 'meta',\n 'source',\n 'track',\n 'wbr',\n]);\n\nexport type HTMLValidationIssue = {\n type: 'error' | 'warning';\n message: string;\n};\n\nexport type HTMLValidationResult = {\n valid: boolean;\n issues: HTMLValidationIssue[];\n};\n\n// Matches HTML tags: <Tag ...>, </Tag>, or <Tag ... />\n// Attributes may span multiple lines but NOT blank lines (two consecutive newlines),\n// which prevents matching blockquote `>` markers as tag closers.\n// Groups: 1: closing slash, 2: tag name, 3: attributes, 4: self-closing slash\nconst TAG_REGEX =\n /<(\\/)?([a-zA-Z][a-zA-Z0-9.-]*)\\s*((?:[^\\n]|\\n(?!\\n))*?)(\\/?)>/g;\n\n/**\n * Validates that HTML tags in `content` are properly opened, nested, and closed.\n * Returns structured issues instead of logging to the console.\n *\n * False-positive exclusions:\n * - Tags whose attribute string starts with `://` are URL autolinks (e.g. `<https://…>`).\n */\nexport const validateHTML = (content: string): HTMLValidationResult => {\n const issues: HTMLValidationIssue[] = [];\n const stack: Array<{ tag: string }> = [];\n\n for (const match of content.matchAll(TAG_REGEX)) {\n const isClosing = !!match[1];\n const tagName = match[2];\n const attrs = match[3];\n const isSelfClosing = !!match[4];\n\n // Skip URL autolinks like <https://example.com> or <mailto:user@example.com>\n if (\n attrs.trimStart().startsWith('://') ||\n attrs.trimStart().startsWith(':')\n ) {\n continue;\n }\n\n if (isClosing) {\n if (stack.length === 0) {\n issues.push({\n type: 'error',\n message: `Closing tag </${tagName}> has no matching opening tag`,\n });\n } else {\n const last = stack[stack.length - 1];\n if (last.tag.toLowerCase() !== tagName.toLowerCase()) {\n issues.push({\n type: 'error',\n message: `Mismatched closing tag: expected </${last.tag}> but found </${tagName}>`,\n });\n }\n stack.pop();\n }\n } else {\n const isVoidElement = VOID_ELEMENTS.has(tagName.toLowerCase());\n if (!isSelfClosing && !isVoidElement) {\n stack.push({ tag: tagName });\n }\n }\n }\n\n for (const unclosed of stack) {\n issues.push({\n type: 'error',\n message: `Unclosed HTML tag: <${unclosed.tag}>`,\n });\n }\n\n return {\n valid: issues.filter((i) => i.type === 'error').length === 0,\n issues,\n };\n};\n"],"mappings":";AAAA,MAAa,gBAAgB,IAAI,IAAI;CACnC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC;AAgBF,MAAM,YACJ;;;;;;;;AASF,MAAa,gBAAgB,YAA0C;CACrE,MAAM,SAAgC,EAAE;CACxC,MAAM,QAAgC,EAAE;AAExC,MAAK,MAAM,SAAS,QAAQ,SAAS,UAAU,EAAE;EAC/C,MAAM,YAAY,CAAC,CAAC,MAAM;EAC1B,MAAM,UAAU,MAAM;EACtB,MAAM,QAAQ,MAAM;EACpB,MAAM,gBAAgB,CAAC,CAAC,MAAM;AAG9B,MACE,MAAM,WAAW,CAAC,WAAW,MAAM,IACnC,MAAM,WAAW,CAAC,WAAW,IAAI,CAEjC;AAGF,MAAI,UACF,KAAI,MAAM,WAAW,EACnB,QAAO,KAAK;GACV,MAAM;GACN,SAAS,iBAAiB,QAAQ;GACnC,CAAC;OACG;GACL,MAAM,OAAO,MAAM,MAAM,SAAS;AAClC,OAAI,KAAK,IAAI,aAAa,KAAK,QAAQ,aAAa,CAClD,QAAO,KAAK;IACV,MAAM;IACN,SAAS,sCAAsC,KAAK,IAAI,gBAAgB,QAAQ;IACjF,CAAC;AAEJ,SAAM,KAAK;;OAER;GACL,MAAM,gBAAgB,cAAc,IAAI,QAAQ,aAAa,CAAC;AAC9D,OAAI,CAAC,iBAAiB,CAAC,cACrB,OAAM,KAAK,EAAE,KAAK,SAAS,CAAC;;;AAKlC,MAAK,MAAM,YAAY,MACrB,QAAO,KAAK;EACV,MAAM;EACN,SAAS,uBAAuB,SAAS,IAAI;EAC9C,CAAC;AAGJ,QAAO;EACL,OAAO,OAAO,QAAQ,MAAM,EAAE,SAAS,QAAQ,CAAC,WAAW;EAC3D;EACD"}
|
|
@@ -1 +1,15 @@
|
|
|
1
|
-
import{cond as
|
|
1
|
+
import { cond as condition } from "./condition/condition.mjs";
|
|
2
|
+
import { enu as enumeration } from "./enumeration/enumeration.mjs";
|
|
3
|
+
import { gender } from "./gender/gender.mjs";
|
|
4
|
+
import { VOID_ELEMENTS, validateHTML } from "./html/validateHTML.mjs";
|
|
5
|
+
import { html } from "./html/html.mjs";
|
|
6
|
+
import { HTML_TAGS } from "./html/htmlTags.mjs";
|
|
7
|
+
import { getInsertionValues } from "./insertion/getInsertionValues.mjs";
|
|
8
|
+
import { insert as insertion } from "./insertion/insertion.mjs";
|
|
9
|
+
import { getMarkdownMetadata } from "./markdown/getMarkdownMetadata.mjs";
|
|
10
|
+
import { validateMarkdown } from "./markdown/validateMarkdown.mjs";
|
|
11
|
+
import { md as markdown } from "./markdown/markdown.mjs";
|
|
12
|
+
import { nest as nesting } from "./nesting/nesting.mjs";
|
|
13
|
+
import { t as translation } from "./translation/translation.mjs";
|
|
14
|
+
|
|
15
|
+
export { HTML_TAGS, VOID_ELEMENTS, condition as cond, enumeration as enu, gender, getInsertionValues, getMarkdownMetadata, html, insertion as insert, markdown as md, nesting as nest, translation as t, validateHTML, validateMarkdown };
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/transpiler/insertion/getInsertionValues.ts
|
|
2
|
+
const getInsertionValues = (content) => {
|
|
3
|
+
const matches = [...content.matchAll(/{{\s*(.*?)\s*}}/g)];
|
|
4
|
+
if (matches.length === 0) return [];
|
|
5
|
+
return [...new Set(matches.map((match) => match[1].trim()))].filter(Boolean);
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
export { getInsertionValues };
|
|
2
10
|
//# sourceMappingURL=getInsertionValues.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getInsertionValues.mjs","names":[],"sources":["../../../../src/transpiler/insertion/getInsertionValues.ts"],"sourcesContent":["export const getInsertionValues = (content: string): string[] => {\n // Regular expression to match {{field}} patterns\n const regex = /{{\\s*(.*?)\\s*}}/g;\n const matches = [...content.matchAll(regex)];\n\n // If no matches are found, return undefined\n if (matches.length === 0) return [];\n\n // Extract field names from matches and return as an object with the field names\n return [...new Set(matches.map((match) => match[1].trim()))].filter(Boolean);\n};\n"],"mappings":"AAAA,MAAa,
|
|
1
|
+
{"version":3,"file":"getInsertionValues.mjs","names":[],"sources":["../../../../src/transpiler/insertion/getInsertionValues.ts"],"sourcesContent":["export const getInsertionValues = (content: string): string[] => {\n // Regular expression to match {{field}} patterns\n const regex = /{{\\s*(.*?)\\s*}}/g;\n const matches = [...content.matchAll(regex)];\n\n // If no matches are found, return undefined\n if (matches.length === 0) return [];\n\n // Extract field names from matches and return as an object with the field names\n return [...new Set(matches.map((match) => match[1].trim()))].filter(Boolean);\n};\n"],"mappings":";AAAA,MAAa,sBAAsB,YAA8B;CAG/D,MAAM,UAAU,CAAC,GAAG,QAAQ,SADd,mBAC6B,CAAC;AAG5C,KAAI,QAAQ,WAAW,EAAG,QAAO,EAAE;AAGnC,QAAO,CAAC,GAAG,IAAI,IAAI,QAAQ,KAAK,UAAU,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,QAAQ"}
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
import{getInsertionValues
|
|
1
|
+
import { getInsertionValues } from "./getInsertionValues.mjs";
|
|
2
|
+
import { insert as insertion } from "./insertion.mjs";
|
|
3
|
+
|
|
4
|
+
export { getInsertionValues, insertion as insert };
|
|
@@ -1,2 +1,35 @@
|
|
|
1
|
-
import{getInsertionValues
|
|
1
|
+
import { getInsertionValues } from "./getInsertionValues.mjs";
|
|
2
|
+
import { INSERTION, formatNodeType } from "@intlayer/types/nodeType";
|
|
3
|
+
|
|
4
|
+
//#region src/transpiler/insertion/insertion.ts
|
|
5
|
+
/**
|
|
6
|
+
* Function intended to be used to build intlayer dictionaries.
|
|
7
|
+
*
|
|
8
|
+
* Allow to identify insertions inside a content.
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
*
|
|
12
|
+
* ```ts
|
|
13
|
+
* insertion('Hi, my name is {{name}} and I am {{age}} years old.')
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
const insertion = (content) => {
|
|
18
|
+
const getInsertions = () => {
|
|
19
|
+
if (typeof content === "string") return getInsertionValues(content);
|
|
20
|
+
let stringContent;
|
|
21
|
+
if (typeof content === "function") stringContent = content();
|
|
22
|
+
else if (typeof content.then === "function") stringContent = async () => getInsertionValues(await content);
|
|
23
|
+
if (typeof stringContent === "string") return getInsertionValues(stringContent);
|
|
24
|
+
try {
|
|
25
|
+
return getInsertionValues(JSON.stringify(content));
|
|
26
|
+
} catch (_e) {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
return formatNodeType(INSERTION, content, { fields: getInsertions() });
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
export { insertion as insert };
|
|
2
35
|
//# sourceMappingURL=insertion.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insertion.mjs","names":[],"sources":["../../../../src/transpiler/insertion/insertion.ts"],"sourcesContent":["import type { TypedNodeModel } from '@intlayer/types/nodeType';\nimport { formatNodeType,
|
|
1
|
+
{"version":3,"file":"insertion.mjs","names":[],"sources":["../../../../src/transpiler/insertion/insertion.ts"],"sourcesContent":["import type { TypedNodeModel } from '@intlayer/types/nodeType';\nimport { formatNodeType, INSERTION } from '@intlayer/types/nodeType';\nimport { getInsertionValues } from './getInsertionValues';\n\nexport type InsertionContentConstructor<\n Content = unknown,\n T extends Record<string, any> = {},\n> = TypedNodeModel<typeof INSERTION, Content, T>;\n\nexport type InsertionContent<Content = unknown> = InsertionContentConstructor<\n Content,\n {\n fields: string[];\n }\n>;\n\n/**\n * Function intended to be used to build intlayer dictionaries.\n *\n * Allow to identify insertions inside a content.\n *\n * Usage:\n *\n * ```ts\n * insertion('Hi, my name is {{name}} and I am {{age}} years old.')\n * ```\n *\n */\nconst insertion = <Content = unknown>(\n content: Content\n): InsertionContent<Content> => {\n const getInsertions = () => {\n if (typeof content === 'string') {\n return getInsertionValues(content);\n }\n\n let stringContent: any;\n\n if (typeof content === 'function') {\n stringContent = content();\n } else if (typeof (content as Promise<string>).then === 'function') {\n stringContent = async () =>\n getInsertionValues(await (content as Promise<string>));\n }\n\n if (typeof stringContent === 'string') {\n return getInsertionValues(stringContent);\n }\n\n try {\n return getInsertionValues(JSON.stringify(content));\n } catch (_e) {\n return [];\n }\n };\n\n return formatNodeType(INSERTION, content, {\n fields: getInsertions(),\n });\n};\n\nexport { insertion as insert };\n"],"mappings":";;;;;;;;;;;;;;;;AA4BA,MAAM,aACJ,YAC8B;CAC9B,MAAM,sBAAsB;AAC1B,MAAI,OAAO,YAAY,SACrB,QAAO,mBAAmB,QAAQ;EAGpC,IAAI;AAEJ,MAAI,OAAO,YAAY,WACrB,iBAAgB,SAAS;WAChB,OAAQ,QAA4B,SAAS,WACtD,iBAAgB,YACd,mBAAmB,MAAO,QAA4B;AAG1D,MAAI,OAAO,kBAAkB,SAC3B,QAAO,mBAAmB,cAAc;AAG1C,MAAI;AACF,UAAO,mBAAmB,KAAK,UAAU,QAAQ,CAAC;WAC3C,IAAI;AACX,UAAO,EAAE;;;AAIb,QAAO,eAAe,WAAW,SAAS,EACxC,QAAQ,eAAe,EACxB,CAAC"}
|
|
@@ -1,3 +1,23 @@
|
|
|
1
|
-
import{parseYaml
|
|
2
|
-
|
|
1
|
+
import { parseYaml } from "../../utils/parseYaml.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/transpiler/markdown/getMarkdownMetadata.ts
|
|
4
|
+
const getMarkdownMetadata = (markdown) => {
|
|
5
|
+
try {
|
|
6
|
+
const lines = markdown.split(/\r?\n/);
|
|
7
|
+
const firstNonEmptyLine = lines.find((line) => line.trim() !== "");
|
|
8
|
+
if (!firstNonEmptyLine || firstNonEmptyLine.trim() !== "---") return {};
|
|
9
|
+
let metadataEndIndex = -1;
|
|
10
|
+
for (let i = 1; i < lines.length; i++) if (lines[i].trim() === "---") {
|
|
11
|
+
metadataEndIndex = i;
|
|
12
|
+
break;
|
|
13
|
+
}
|
|
14
|
+
if (metadataEndIndex === -1) return {};
|
|
15
|
+
return parseYaml(lines.slice(1, metadataEndIndex).join("\n")) ?? {};
|
|
16
|
+
} catch (_e) {
|
|
17
|
+
return {};
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
//#endregion
|
|
22
|
+
export { getMarkdownMetadata };
|
|
3
23
|
//# sourceMappingURL=getMarkdownMetadata.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMarkdownMetadata.mjs","names":[],"sources":["../../../../src/transpiler/markdown/getMarkdownMetadata.ts"],"sourcesContent":["import { parseYaml } from '../../utils/parseYaml';\n\nexport const getMarkdownMetadata = <T extends Record<string, any>>(\n markdown: string\n): T => {\n try {\n const lines = markdown.split(/\\r?\\n/);\n\n // Check if the very first non-empty line is the metadata start delimiter.\n const firstNonEmptyLine = lines.find((line) => line.trim() !== '');\n\n if (!firstNonEmptyLine || firstNonEmptyLine.trim() !== '---') {\n const result: T = {} as T;\n return result;\n }\n\n // Find the end of the metadata block\n let metadataEndIndex = -1;\n for (let i = 1; i < lines.length; i++) {\n if (lines[i].trim() === '---') {\n metadataEndIndex = i;\n break;\n }\n }\n\n if (metadataEndIndex === -1) {\n // No closing delimiter found\n const result: T = {} as T;\n return result;\n }\n\n // Extract the metadata content between the delimiters\n const metadataLines = lines.slice(1, metadataEndIndex);\n const metadataContent = metadataLines.join('\\n');\n\n // Use the improved parseYaml function to parse the entire metadata block\n const metadata = parseYaml<T>(metadataContent);\n\n return metadata ?? ({} as T);\n } catch (_e) {\n const result: T = {} as T;\n return result;\n }\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getMarkdownMetadata.mjs","names":[],"sources":["../../../../src/transpiler/markdown/getMarkdownMetadata.ts"],"sourcesContent":["import { parseYaml } from '../../utils/parseYaml';\n\nexport const getMarkdownMetadata = <T extends Record<string, any>>(\n markdown: string\n): T => {\n try {\n const lines = markdown.split(/\\r?\\n/);\n\n // Check if the very first non-empty line is the metadata start delimiter.\n const firstNonEmptyLine = lines.find((line) => line.trim() !== '');\n\n if (!firstNonEmptyLine || firstNonEmptyLine.trim() !== '---') {\n const result: T = {} as T;\n return result;\n }\n\n // Find the end of the metadata block\n let metadataEndIndex = -1;\n for (let i = 1; i < lines.length; i++) {\n if (lines[i].trim() === '---') {\n metadataEndIndex = i;\n break;\n }\n }\n\n if (metadataEndIndex === -1) {\n // No closing delimiter found\n const result: T = {} as T;\n return result;\n }\n\n // Extract the metadata content between the delimiters\n const metadataLines = lines.slice(1, metadataEndIndex);\n const metadataContent = metadataLines.join('\\n');\n\n // Use the improved parseYaml function to parse the entire metadata block\n const metadata = parseYaml<T>(metadataContent);\n\n return metadata ?? ({} as T);\n } catch (_e) {\n const result: T = {} as T;\n return result;\n }\n};\n"],"mappings":";;;AAEA,MAAa,uBACX,aACM;AACN,KAAI;EACF,MAAM,QAAQ,SAAS,MAAM,QAAQ;EAGrC,MAAM,oBAAoB,MAAM,MAAM,SAAS,KAAK,MAAM,KAAK,GAAG;AAElE,MAAI,CAAC,qBAAqB,kBAAkB,MAAM,KAAK,MAErD,QADkB,EAAE;EAKtB,IAAI,mBAAmB;AACvB,OAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,IAChC,KAAI,MAAM,GAAG,MAAM,KAAK,OAAO;AAC7B,sBAAmB;AACnB;;AAIJ,MAAI,qBAAqB,GAGvB,QADkB,EAAE;AAWtB,SAFiB,UAJK,MAAM,MAAM,GAAG,iBAAiB,CAChB,KAAK,KAAK,CAGF,IAE1B,EAAE;UACf,IAAI;AAEX,SADkB,EAAE"}
|
|
@@ -1 +1,5 @@
|
|
|
1
|
-
import{getMarkdownMetadata
|
|
1
|
+
import { getMarkdownMetadata } from "./getMarkdownMetadata.mjs";
|
|
2
|
+
import { validateMarkdown } from "./validateMarkdown.mjs";
|
|
3
|
+
import { md as markdown } from "./markdown.mjs";
|
|
4
|
+
|
|
5
|
+
export { getMarkdownMetadata, markdown as md, validateMarkdown };
|
|
@@ -1,2 +1,61 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import { getContent } from "../../interpreter/getContent/getContent.mjs";
|
|
2
|
+
import { getHTMLCustomComponents } from "../html/getHTMLCustomComponents.mjs";
|
|
3
|
+
import { getMarkdownMetadata } from "./getMarkdownMetadata.mjs";
|
|
4
|
+
import { validateMarkdown } from "./validateMarkdown.mjs";
|
|
5
|
+
import { MARKDOWN, formatNodeType } from "@intlayer/types/nodeType";
|
|
6
|
+
|
|
7
|
+
//#region src/transpiler/markdown/markdown.ts
|
|
8
|
+
const awaitContent = async (content) => {
|
|
9
|
+
if (typeof content === "string" || typeof content === "object") return content;
|
|
10
|
+
if (typeof content === "function") return content();
|
|
11
|
+
if (typeof content.then === "function") return await content;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Function intended to be used to build intlayer dictionaries.
|
|
15
|
+
*
|
|
16
|
+
* Allow to pick a content based on a quantity.
|
|
17
|
+
*
|
|
18
|
+
* Usage:
|
|
19
|
+
*
|
|
20
|
+
* ```ts
|
|
21
|
+
* markdown('## Hello world!');
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
const markdown = (content, components) => {
|
|
26
|
+
const metadata = async () => {
|
|
27
|
+
const flatContent = getContent(await awaitContent(content), {
|
|
28
|
+
dictionaryKey: "",
|
|
29
|
+
keyPath: []
|
|
30
|
+
});
|
|
31
|
+
if (typeof flatContent === "string") {
|
|
32
|
+
{
|
|
33
|
+
const { issues } = validateMarkdown(flatContent);
|
|
34
|
+
for (const issue of issues) if (issue.type === "error") console.error(`[intlayer/markdown] ${issue.message}`);
|
|
35
|
+
else console.warn(`[intlayer/markdown] ${issue.message}`);
|
|
36
|
+
}
|
|
37
|
+
return getMarkdownMetadata(flatContent);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
const getComponents = () => {
|
|
41
|
+
if (components) return components;
|
|
42
|
+
if (typeof content === "string") return getHTMLCustomComponents(content);
|
|
43
|
+
let stringContent;
|
|
44
|
+
if (typeof content === "function") stringContent = content();
|
|
45
|
+
else if (typeof content.then === "function") stringContent = async () => getHTMLCustomComponents(await content);
|
|
46
|
+
if (typeof stringContent === "string") return getHTMLCustomComponents(stringContent);
|
|
47
|
+
try {
|
|
48
|
+
return getHTMLCustomComponents(JSON.stringify(content));
|
|
49
|
+
} catch (_e) {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
return formatNodeType(MARKDOWN, content, {
|
|
54
|
+
metadata,
|
|
55
|
+
tags: getComponents()
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
//#endregion
|
|
60
|
+
export { markdown as md };
|
|
2
61
|
//# sourceMappingURL=markdown.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.mjs","names":[],"sources":["../../../../src/transpiler/markdown/markdown.ts"],"sourcesContent":["import type { TypedNodeModel } from '@intlayer/types/nodeType';\nimport { formatNodeType,
|
|
1
|
+
{"version":3,"file":"markdown.mjs","names":[],"sources":["../../../../src/transpiler/markdown/markdown.ts"],"sourcesContent":["import type { TypedNodeModel } from '@intlayer/types/nodeType';\nimport { formatNodeType, MARKDOWN } from '@intlayer/types/nodeType';\nimport { getContent } from '../../interpreter/getContent/getContent';\nimport { getHTMLCustomComponents } from '../html/getHTMLCustomComponents';\nimport { getMarkdownMetadata } from './getMarkdownMetadata';\nimport { validateMarkdown } from './validateMarkdown';\n\ntype PropsType = 'number' | 'string' | 'node';\n\ntype ComponentName = string;\n\nexport type MarkdownContentConstructor<\n T extends Record<string, any> = {},\n Content = unknown,\n> = TypedNodeModel<typeof MARKDOWN, Content, T>;\n\nexport type MarkdownContent<\n Content = unknown,\n Components extends Record<ComponentName, PropsType> = Record<\n ComponentName,\n PropsType\n >,\n> = MarkdownContentConstructor<\n {\n metadata?: Record<string, any>;\n tags?: string[] | Components;\n },\n Content\n>;\n\nconst awaitContent = async (content: any) => {\n if (typeof content === 'string' || typeof content === 'object') {\n return content as any;\n }\n\n if (typeof content === 'function') {\n return content();\n }\n if (typeof content.then === 'function') {\n return await content;\n }\n};\n\n/**\n * Function intended to be used to build intlayer dictionaries.\n *\n * Allow to pick a content based on a quantity.\n *\n * Usage:\n *\n * ```ts\n * markdown('## Hello world!');\n * ```\n *\n */\nconst markdown = <\n Components extends Record<string, any> = Record<string, any>,\n Content = unknown,\n>(\n content: Content,\n components?: Components\n): MarkdownContent<Content, Components> => {\n const metadata = async () => {\n const awaitedContent = await awaitContent(content);\n\n const flatContent = getContent(awaitedContent, {\n dictionaryKey: '',\n keyPath: [],\n });\n\n if (typeof flatContent === 'string') {\n if (process.env.NODE_ENV !== 'production') {\n const { issues } = validateMarkdown(flatContent);\n for (const issue of issues) {\n if (issue.type === 'error') {\n console.error(`[intlayer/markdown] ${issue.message}`);\n } else {\n console.warn(`[intlayer/markdown] ${issue.message}`);\n }\n }\n }\n\n return getMarkdownMetadata(flatContent);\n }\n };\n\n const getComponents = () => {\n if (components) {\n return components;\n }\n\n if (typeof content === 'string') {\n return getHTMLCustomComponents(content);\n }\n\n let stringContent: any;\n\n if (typeof content === 'function') {\n stringContent = content();\n } else if (typeof (content as Promise<string>).then === 'function') {\n stringContent = async () =>\n getHTMLCustomComponents((await (content as Promise<string>)) as string);\n }\n\n if (typeof stringContent === 'string') {\n return getHTMLCustomComponents(stringContent);\n }\n\n try {\n return getHTMLCustomComponents(JSON.stringify(content));\n } catch (_e) {\n return [];\n }\n };\n\n return formatNodeType(MARKDOWN, content, {\n metadata,\n tags: getComponents(),\n });\n};\n\nexport { markdown as md };\n"],"mappings":";;;;;;;AA8BA,MAAM,eAAe,OAAO,YAAiB;AAC3C,KAAI,OAAO,YAAY,YAAY,OAAO,YAAY,SACpD,QAAO;AAGT,KAAI,OAAO,YAAY,WACrB,QAAO,SAAS;AAElB,KAAI,OAAO,QAAQ,SAAS,WAC1B,QAAO,MAAM;;;;;;;;;;;;;;AAgBjB,MAAM,YAIJ,SACA,eACyC;CACzC,MAAM,WAAW,YAAY;EAG3B,MAAM,cAAc,WAFG,MAAM,aAAa,QAAQ,EAEH;GAC7C,eAAe;GACf,SAAS,EAAE;GACZ,CAAC;AAEF,MAAI,OAAO,gBAAgB,UAAU;GACQ;IACzC,MAAM,EAAE,WAAW,iBAAiB,YAAY;AAChD,SAAK,MAAM,SAAS,OAClB,KAAI,MAAM,SAAS,QACjB,SAAQ,MAAM,uBAAuB,MAAM,UAAU;QAErD,SAAQ,KAAK,uBAAuB,MAAM,UAAU;;AAK1D,UAAO,oBAAoB,YAAY;;;CAI3C,MAAM,sBAAsB;AAC1B,MAAI,WACF,QAAO;AAGT,MAAI,OAAO,YAAY,SACrB,QAAO,wBAAwB,QAAQ;EAGzC,IAAI;AAEJ,MAAI,OAAO,YAAY,WACrB,iBAAgB,SAAS;WAChB,OAAQ,QAA4B,SAAS,WACtD,iBAAgB,YACd,wBAAyB,MAAO,QAAuC;AAG3E,MAAI,OAAO,kBAAkB,SAC3B,QAAO,wBAAwB,cAAc;AAG/C,MAAI;AACF,UAAO,wBAAwB,KAAK,UAAU,QAAQ,CAAC;WAChD,IAAI;AACX,UAAO,EAAE;;;AAIb,QAAO,eAAe,UAAU,SAAS;EACvC;EACA,MAAM,eAAe;EACtB,CAAC"}
|
|
@@ -1,5 +1,74 @@
|
|
|
1
|
-
import{validateHTML
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { validateHTML } from "../html/validateHTML.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/transpiler/markdown/validateMarkdown.ts
|
|
4
|
+
/**
|
|
5
|
+
* Strips fenced code blocks and inline code from markdown content so that
|
|
6
|
+
* HTML-like syntax inside code is not mistakenly validated.
|
|
7
|
+
*/
|
|
8
|
+
const stripCode = (content) => {
|
|
9
|
+
const lines = content.split("\n");
|
|
10
|
+
const result = [];
|
|
11
|
+
let inCodeBlock = false;
|
|
12
|
+
let openFence = null;
|
|
13
|
+
for (const line of lines) {
|
|
14
|
+
const fence = line.match(/^[\s>]*(`{3,}|~{3,})/);
|
|
15
|
+
if (!inCodeBlock) if (fence) {
|
|
16
|
+
inCodeBlock = true;
|
|
17
|
+
openFence = fence[1];
|
|
18
|
+
result.push("");
|
|
19
|
+
} else result.push(line.replace(/`[^`\n]+`/g, (m) => " ".repeat(m.length)));
|
|
20
|
+
else {
|
|
21
|
+
if (fence && fence[1][0] === openFence[0] && fence[1].length >= openFence.length) {
|
|
22
|
+
inCodeBlock = false;
|
|
23
|
+
openFence = null;
|
|
24
|
+
}
|
|
25
|
+
result.push("");
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return result.join("\n");
|
|
29
|
+
};
|
|
30
|
+
const validateCodeBlocks = (content) => {
|
|
31
|
+
const issues = [];
|
|
32
|
+
const lines = content.split("\n");
|
|
33
|
+
let inCodeBlock = false;
|
|
34
|
+
let openFence = null;
|
|
35
|
+
let openLineNumber = -1;
|
|
36
|
+
for (let i = 0; i < lines.length; i++) {
|
|
37
|
+
const fence = lines[i].match(/^[\s>]*(`{3,}|~{3,})/);
|
|
38
|
+
if (!inCodeBlock) {
|
|
39
|
+
if (fence) {
|
|
40
|
+
inCodeBlock = true;
|
|
41
|
+
openFence = fence[1];
|
|
42
|
+
openLineNumber = i + 1;
|
|
43
|
+
}
|
|
44
|
+
} else if (fence && fence[1][0] === openFence[0] && fence[1].length >= openFence.length) {
|
|
45
|
+
inCodeBlock = false;
|
|
46
|
+
openFence = null;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (inCodeBlock) issues.push({
|
|
50
|
+
type: "error",
|
|
51
|
+
message: `Unclosed code block (opened at line ${openLineNumber})`
|
|
52
|
+
});
|
|
53
|
+
return issues;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Validates markdown content for structural correctness:
|
|
57
|
+
* - All fenced code blocks are properly closed
|
|
58
|
+
* - HTML tags are properly nested and closed
|
|
59
|
+
*
|
|
60
|
+
* HTML inside code blocks is excluded from HTML validation.
|
|
61
|
+
*/
|
|
62
|
+
const validateMarkdown = (content) => {
|
|
63
|
+
const codeIssues = validateCodeBlocks(content);
|
|
64
|
+
const htmlIssues = validateHTML(stripCode(content)).issues;
|
|
65
|
+
const issues = [...codeIssues, ...htmlIssues];
|
|
66
|
+
return {
|
|
67
|
+
valid: issues.filter((i) => i.type === "error").length === 0,
|
|
68
|
+
issues
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
//#endregion
|
|
73
|
+
export { validateMarkdown };
|
|
5
74
|
//# sourceMappingURL=validateMarkdown.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateMarkdown.mjs","names":[],"sources":["../../../../src/transpiler/markdown/validateMarkdown.ts"],"sourcesContent":["import { type HTMLValidationIssue, validateHTML } from '../html/validateHTML';\n\nexport type { HTMLValidationIssue as MarkdownValidationIssue } from '../html/validateHTML';\n\nexport type MarkdownValidationResult = {\n valid: boolean;\n issues: HTMLValidationIssue[];\n};\n\n/**\n * Strips fenced code blocks and inline code from markdown content so that\n * HTML-like syntax inside code is not mistakenly validated.\n */\nconst stripCode = (content: string): string => {\n const lines = content.split('\\n');\n const result: string[] = [];\n let inCodeBlock = false;\n let openFence: string | null = null;\n\n for (const line of lines) {\n // Allow leading whitespace and blockquote markers before the fence characters\n const fence = line.match(/^[\\s>]*(`{3,}|~{3,})/);\n if (!inCodeBlock) {\n if (fence) {\n inCodeBlock = true;\n openFence = fence[1];\n result.push('');\n } else {\n // Also strip inline code spans on this line\n result.push(line.replace(/`[^`\\n]+`/g, (m) => ' '.repeat(m.length)));\n }\n } else {\n if (\n fence &&\n fence[1][0] === openFence![0] &&\n fence[1].length >= openFence!.length\n ) {\n inCodeBlock = false;\n openFence = null;\n }\n result.push('');\n }\n }\n\n return result.join('\\n');\n};\n\nconst validateCodeBlocks = (content: string): HTMLValidationIssue[] => {\n const issues: HTMLValidationIssue[] = [];\n const lines = content.split('\\n');\n let inCodeBlock = false;\n let openFence: string | null = null;\n let openLineNumber = -1;\n\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n // Allow leading whitespace and blockquote markers before the fence characters\n const fence = line.match(/^[\\s>]*(`{3,}|~{3,})/);\n\n if (!inCodeBlock) {\n if (fence) {\n inCodeBlock = true;\n openFence = fence[1];\n openLineNumber = i + 1;\n }\n } else {\n if (\n fence &&\n fence[1][0] === openFence![0] &&\n fence[1].length >= openFence!.length\n ) {\n inCodeBlock = false;\n openFence = null;\n }\n }\n }\n\n if (inCodeBlock) {\n issues.push({\n type: 'error',\n message: `Unclosed code block (opened at line ${openLineNumber})`,\n });\n }\n\n return issues;\n};\n\n/**\n * Validates markdown content for structural correctness:\n * - All fenced code blocks are properly closed\n * - HTML tags are properly nested and closed\n *\n * HTML inside code blocks is excluded from HTML validation.\n */\nexport const validateMarkdown = (content: string): MarkdownValidationResult => {\n const codeIssues = validateCodeBlocks(content);\n const htmlIssues = validateHTML(stripCode(content)).issues;\n const issues = [...codeIssues, ...htmlIssues];\n\n return {\n valid: issues.filter((i) => i.type === 'error').length === 0,\n issues,\n };\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"validateMarkdown.mjs","names":[],"sources":["../../../../src/transpiler/markdown/validateMarkdown.ts"],"sourcesContent":["import { type HTMLValidationIssue, validateHTML } from '../html/validateHTML';\n\nexport type { HTMLValidationIssue as MarkdownValidationIssue } from '../html/validateHTML';\n\nexport type MarkdownValidationResult = {\n valid: boolean;\n issues: HTMLValidationIssue[];\n};\n\n/**\n * Strips fenced code blocks and inline code from markdown content so that\n * HTML-like syntax inside code is not mistakenly validated.\n */\nconst stripCode = (content: string): string => {\n const lines = content.split('\\n');\n const result: string[] = [];\n let inCodeBlock = false;\n let openFence: string | null = null;\n\n for (const line of lines) {\n // Allow leading whitespace and blockquote markers before the fence characters\n const fence = line.match(/^[\\s>]*(`{3,}|~{3,})/);\n if (!inCodeBlock) {\n if (fence) {\n inCodeBlock = true;\n openFence = fence[1];\n result.push('');\n } else {\n // Also strip inline code spans on this line\n result.push(line.replace(/`[^`\\n]+`/g, (m) => ' '.repeat(m.length)));\n }\n } else {\n if (\n fence &&\n fence[1][0] === openFence![0] &&\n fence[1].length >= openFence!.length\n ) {\n inCodeBlock = false;\n openFence = null;\n }\n result.push('');\n }\n }\n\n return result.join('\\n');\n};\n\nconst validateCodeBlocks = (content: string): HTMLValidationIssue[] => {\n const issues: HTMLValidationIssue[] = [];\n const lines = content.split('\\n');\n let inCodeBlock = false;\n let openFence: string | null = null;\n let openLineNumber = -1;\n\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n // Allow leading whitespace and blockquote markers before the fence characters\n const fence = line.match(/^[\\s>]*(`{3,}|~{3,})/);\n\n if (!inCodeBlock) {\n if (fence) {\n inCodeBlock = true;\n openFence = fence[1];\n openLineNumber = i + 1;\n }\n } else {\n if (\n fence &&\n fence[1][0] === openFence![0] &&\n fence[1].length >= openFence!.length\n ) {\n inCodeBlock = false;\n openFence = null;\n }\n }\n }\n\n if (inCodeBlock) {\n issues.push({\n type: 'error',\n message: `Unclosed code block (opened at line ${openLineNumber})`,\n });\n }\n\n return issues;\n};\n\n/**\n * Validates markdown content for structural correctness:\n * - All fenced code blocks are properly closed\n * - HTML tags are properly nested and closed\n *\n * HTML inside code blocks is excluded from HTML validation.\n */\nexport const validateMarkdown = (content: string): MarkdownValidationResult => {\n const codeIssues = validateCodeBlocks(content);\n const htmlIssues = validateHTML(stripCode(content)).issues;\n const issues = [...codeIssues, ...htmlIssues];\n\n return {\n valid: issues.filter((i) => i.type === 'error').length === 0,\n issues,\n };\n};\n"],"mappings":";;;;;;;AAaA,MAAM,aAAa,YAA4B;CAC7C,MAAM,QAAQ,QAAQ,MAAM,KAAK;CACjC,MAAM,SAAmB,EAAE;CAC3B,IAAI,cAAc;CAClB,IAAI,YAA2B;AAE/B,MAAK,MAAM,QAAQ,OAAO;EAExB,MAAM,QAAQ,KAAK,MAAM,uBAAuB;AAChD,MAAI,CAAC,YACH,KAAI,OAAO;AACT,iBAAc;AACd,eAAY,MAAM;AAClB,UAAO,KAAK,GAAG;QAGf,QAAO,KAAK,KAAK,QAAQ,eAAe,MAAM,IAAI,OAAO,EAAE,OAAO,CAAC,CAAC;OAEjE;AACL,OACE,SACA,MAAM,GAAG,OAAO,UAAW,MAC3B,MAAM,GAAG,UAAU,UAAW,QAC9B;AACA,kBAAc;AACd,gBAAY;;AAEd,UAAO,KAAK,GAAG;;;AAInB,QAAO,OAAO,KAAK,KAAK;;AAG1B,MAAM,sBAAsB,YAA2C;CACrE,MAAM,SAAgC,EAAE;CACxC,MAAM,QAAQ,QAAQ,MAAM,KAAK;CACjC,IAAI,cAAc;CAClB,IAAI,YAA2B;CAC/B,IAAI,iBAAiB;AAErB,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;EAGrC,MAAM,QAFO,MAAM,GAEA,MAAM,uBAAuB;AAEhD,MAAI,CAAC,aACH;OAAI,OAAO;AACT,kBAAc;AACd,gBAAY,MAAM;AAClB,qBAAiB,IAAI;;aAIrB,SACA,MAAM,GAAG,OAAO,UAAW,MAC3B,MAAM,GAAG,UAAU,UAAW,QAC9B;AACA,iBAAc;AACd,eAAY;;;AAKlB,KAAI,YACF,QAAO,KAAK;EACV,MAAM;EACN,SAAS,uCAAuC,eAAe;EAChE,CAAC;AAGJ,QAAO;;;;;;;;;AAUT,MAAa,oBAAoB,YAA8C;CAC7E,MAAM,aAAa,mBAAmB,QAAQ;CAC9C,MAAM,aAAa,aAAa,UAAU,QAAQ,CAAC,CAAC;CACpD,MAAM,SAAS,CAAC,GAAG,YAAY,GAAG,WAAW;AAE7C,QAAO;EACL,OAAO,OAAO,QAAQ,MAAM,EAAE,SAAS,QAAQ,CAAC,WAAW;EAC3D;EACD"}
|
|
@@ -1,2 +1,26 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import { NESTED, formatNodeType } from "@intlayer/types/nodeType";
|
|
2
|
+
|
|
3
|
+
//#region src/transpiler/nesting/nesting.ts
|
|
4
|
+
/**
|
|
5
|
+
* Function intended to be used to build intlayer dictionaries.
|
|
6
|
+
*
|
|
7
|
+
* Allow to extract the content of another dictionary and nest it in the current dictionary.
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* nest("dictionaryKey");
|
|
13
|
+
* nest("dictionaryKey", "path.to.content");
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* The order of the keys will define the priority of the content.
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
const nesting = (dictionaryKey, path) => formatNodeType(NESTED, {
|
|
20
|
+
dictionaryKey,
|
|
21
|
+
path
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
//#endregion
|
|
25
|
+
export { nesting as nest };
|
|
2
26
|
//# sourceMappingURL=nesting.mjs.map
|