@intlayer/core 9.6.0 → 9.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -2
- package/dist/cjs/deepTransformPlugins/getEditedContent.cjs +2 -3
- package/dist/cjs/deepTransformPlugins/getFilterMissingTranslationsContent.cjs +5 -6
- package/dist/cjs/deepTransformPlugins/getFilterTranslationsOnlyContent.cjs +4 -5
- package/dist/cjs/deepTransformPlugins/getFilteredLocalesContent.cjs +3 -4
- package/dist/cjs/deepTransformPlugins/getLocalizedContent.cjs +3 -4
- package/dist/cjs/deepTransformPlugins/getMaskContent.cjs +2 -3
- package/dist/cjs/deepTransformPlugins/getMissingLocalesContent.cjs +3 -4
- package/dist/cjs/deepTransformPlugins/getMultilingualDictionary.cjs +3 -4
- package/dist/cjs/deepTransformPlugins/getReplacedValuesContent.cjs +2 -3
- package/dist/cjs/deepTransformPlugins/getSplittedContent.cjs +2 -3
- package/dist/cjs/deepTransformPlugins/index.cjs +11 -11
- package/dist/cjs/deepTransformPlugins/insertContentInDictionary.cjs +2 -3
- package/dist/cjs/dictionaryManipulator/editDictionaryByKeyPath.cjs +2 -3
- package/dist/cjs/dictionaryManipulator/getContentNodeByKeyPath.cjs +7 -4
- package/dist/cjs/dictionaryManipulator/getContentNodeByKeyPath.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/getDefaultNode.cjs +2 -3
- package/dist/cjs/dictionaryManipulator/getEmptyNode.cjs +2 -3
- package/dist/cjs/dictionaryManipulator/getNestedDictionaryReferences.cjs +1 -2
- package/dist/cjs/dictionaryManipulator/getNodeChildren.cjs +2 -3
- package/dist/cjs/dictionaryManipulator/getNodeType.cjs +3 -4
- package/dist/cjs/dictionaryManipulator/index.cjs +31 -21
- package/dist/cjs/dictionaryManipulator/mergeDictionaries.cjs +3 -4
- package/dist/cjs/dictionaryManipulator/mergeQualifiedDictionaries.cjs +4 -5
- package/dist/cjs/dictionaryManipulator/normalizeDictionary.cjs +4 -5
- package/dist/cjs/dictionaryManipulator/orderDictionaries.cjs +1 -2
- package/dist/cjs/dictionaryManipulator/plainDynamicLoader.cjs +1 -2
- package/dist/cjs/dictionaryManipulator/preloadedDynamicLoader.cjs +7 -3
- package/dist/cjs/dictionaryManipulator/qualifiedDictionary.cjs +1 -2
- package/dist/cjs/dictionaryManipulator/qualifiedDictionaryDeclaration.cjs +2 -3
- package/dist/cjs/dictionaryManipulator/qualifiedDynamicLoader.cjs +8 -4
- package/dist/cjs/dictionaryManipulator/removeContentNodeByKeyPath.cjs +2 -3
- package/dist/cjs/dictionaryManipulator/renameContentNodeByKeyPath.cjs +2 -3
- package/dist/cjs/dictionaryManipulator/updateNodeChildren.cjs +2 -3
- package/dist/cjs/formatters/compact.cjs +3 -5
- package/dist/cjs/formatters/compact.cjs.map +1 -1
- package/dist/cjs/formatters/currency.cjs +3 -5
- package/dist/cjs/formatters/currency.cjs.map +1 -1
- package/dist/cjs/formatters/date.cjs +3 -5
- package/dist/cjs/formatters/date.cjs.map +1 -1
- package/dist/cjs/formatters/index.cjs +9 -9
- package/dist/cjs/formatters/list.cjs +3 -5
- package/dist/cjs/formatters/list.cjs.map +1 -1
- package/dist/cjs/formatters/number.cjs +3 -5
- package/dist/cjs/formatters/number.cjs.map +1 -1
- package/dist/cjs/formatters/percentage.cjs +3 -5
- package/dist/cjs/formatters/percentage.cjs.map +1 -1
- package/dist/cjs/formatters/relativeTime.cjs +3 -5
- package/dist/cjs/formatters/relativeTime.cjs.map +1 -1
- package/dist/cjs/formatters/units.cjs +3 -5
- package/dist/cjs/formatters/units.cjs.map +1 -1
- package/dist/cjs/index.cjs +130 -119
- package/dist/cjs/interpreter/dictionaryTransformCache.cjs +1 -2
- package/dist/cjs/interpreter/getCondition.cjs +1 -2
- package/dist/cjs/interpreter/getContent/deepTransform.cjs +2 -3
- package/dist/cjs/interpreter/getContent/getContent.cjs +3 -4
- package/dist/cjs/interpreter/getContent/index.cjs +3 -3
- package/dist/cjs/interpreter/getContent/plugins.cjs +17 -16
- package/dist/cjs/interpreter/getContent/plugins.cjs.map +1 -1
- package/dist/cjs/interpreter/getDictionary.cjs +5 -6
- package/dist/cjs/interpreter/getDictionaryAsync.cjs +7 -8
- package/dist/cjs/interpreter/getEnumeration.cjs +1 -2
- package/dist/cjs/interpreter/getGender.cjs +1 -2
- package/dist/cjs/interpreter/getHTML.cjs +1 -2
- package/dist/cjs/interpreter/getInsertion.cjs +1 -2
- package/dist/cjs/interpreter/getIntlayer.cjs +2 -3
- package/dist/cjs/interpreter/getIntlayerAsync.cjs +3 -4
- package/dist/cjs/interpreter/getNesting.cjs +2 -3
- package/dist/cjs/interpreter/getNesting.optimized.cjs +2 -3
- package/dist/cjs/interpreter/getPlural.cjs +2 -3
- package/dist/cjs/interpreter/getSelect.cjs +1 -2
- package/dist/cjs/interpreter/getTranslation.cjs +1 -2
- package/dist/cjs/interpreter/index.cjs +20 -20
- package/dist/cjs/interpreter/interpolableNode.cjs +3 -4
- package/dist/cjs/interpreter/resolveInterpreterLocale.cjs +2 -3
- package/dist/cjs/interpreter/splitAndJoinInsertion.cjs +1 -2
- package/dist/cjs/localization/comparePaths.cjs +3 -4
- package/dist/cjs/localization/domainUtils.cjs +1 -2
- package/dist/cjs/localization/generateSitemap.cjs +4 -5
- package/dist/cjs/localization/getBrowserLocale.cjs +3 -4
- package/dist/cjs/localization/getCanonicalPath.cjs +2 -3
- package/dist/cjs/localization/getHTMLTextDir.cjs +1 -2
- package/dist/cjs/localization/getLocale.cjs +4 -5
- package/dist/cjs/localization/getLocaleFromPath.cjs +3 -4
- package/dist/cjs/localization/getLocaleFromRequest.cjs +5 -6
- package/dist/cjs/localization/getLocaleLang.cjs +1 -2
- package/dist/cjs/localization/getLocaleName.cjs +2 -3
- package/dist/cjs/localization/getLocalizedPath.cjs +6 -7
- package/dist/cjs/localization/getLocalizedUrl.cjs +5 -6
- package/dist/cjs/localization/getMultilingualUrls.cjs +3 -4
- package/dist/cjs/localization/getPathWithoutLocale.cjs +2 -3
- package/dist/cjs/localization/getPrefix.cjs +2 -3
- package/dist/cjs/localization/index.cjs +24 -24
- package/dist/cjs/localization/localeDetector.cjs +2 -3
- package/dist/cjs/localization/localeMapper.cjs +2 -3
- package/dist/cjs/localization/localeResolver.cjs +1 -2
- package/dist/cjs/localization/proxyMode.cjs +2 -3
- package/dist/cjs/localization/resolveBrowserLocale.cjs +5 -6
- package/dist/cjs/localization/rewriteMatch.cjs +1 -2
- package/dist/cjs/localization/rewriteUtils.cjs +3 -4
- package/dist/cjs/localization/validatePrefix.cjs +2 -3
- package/dist/cjs/markdown/compiler.cjs +6 -7
- package/dist/cjs/markdown/constants.cjs +6 -4
- package/dist/cjs/markdown/constants.cjs.map +1 -1
- package/dist/cjs/markdown/elementScanner.cjs +1 -2
- package/dist/cjs/markdown/index.cjs +8 -8
- package/dist/cjs/markdown/parser.cjs +3 -4
- package/dist/cjs/markdown/renderer.cjs +1 -2
- package/dist/cjs/markdown/utils.cjs +2 -3
- package/dist/cjs/messageFormat/ICU.cjs +9 -10
- package/dist/cjs/messageFormat/i18next.cjs +9 -10
- package/dist/cjs/messageFormat/index.cjs +6 -6
- package/dist/cjs/messageFormat/navigatePath.cjs +1 -2
- package/dist/cjs/messageFormat/po.cjs +8 -9
- package/dist/cjs/messageFormat/resolveMessage.cjs +9 -10
- package/dist/cjs/messageFormat/verify-icu-format.cjs +5 -6
- package/dist/cjs/messageFormat/vue-i18n.cjs +5 -6
- package/dist/cjs/transpiler/condition/condition.cjs +1 -2
- package/dist/cjs/transpiler/condition/index.cjs +1 -1
- package/dist/cjs/transpiler/enumeration/enumeration.cjs +1 -2
- package/dist/cjs/transpiler/enumeration/index.cjs +1 -1
- package/dist/cjs/transpiler/file/file.cjs +1 -2
- package/dist/cjs/transpiler/file/fileBrowser.cjs +1 -2
- package/dist/cjs/transpiler/file/index.cjs +1 -1
- package/dist/cjs/transpiler/gender/gender.cjs +1 -2
- package/dist/cjs/transpiler/gender/index.cjs +1 -1
- package/dist/cjs/transpiler/html/getHTMLCustomComponents.cjs +1 -2
- package/dist/cjs/transpiler/html/html.cjs +3 -4
- package/dist/cjs/transpiler/html/htmlTags.cjs +1 -2
- package/dist/cjs/transpiler/html/index.cjs +3 -3
- package/dist/cjs/transpiler/html/validateHTML.cjs +1 -2
- package/dist/cjs/transpiler/index.cjs +16 -15
- package/dist/cjs/transpiler/insertion/getInsertionValues.cjs +1 -2
- package/dist/cjs/transpiler/insertion/index.cjs +2 -2
- package/dist/cjs/transpiler/insertion/insertion.cjs +2 -3
- package/dist/cjs/transpiler/markdown/getMarkdownMetadata.cjs +2 -3
- package/dist/cjs/transpiler/markdown/index.cjs +3 -3
- package/dist/cjs/transpiler/markdown/markdown.cjs +5 -6
- package/dist/cjs/transpiler/markdown/validateMarkdown.cjs +2 -3
- package/dist/cjs/transpiler/nesting/index.cjs +1 -1
- package/dist/cjs/transpiler/nesting/nesting.cjs +1 -2
- package/dist/cjs/transpiler/plural/index.cjs +2 -1
- package/dist/cjs/transpiler/plural/plural.cjs +21 -3
- package/dist/cjs/transpiler/plural/plural.cjs.map +1 -1
- package/dist/cjs/transpiler/select/index.cjs +1 -1
- package/dist/cjs/transpiler/select/select.cjs +1 -2
- package/dist/cjs/transpiler/translation/index.cjs +1 -1
- package/dist/cjs/transpiler/translation/translation.cjs +1 -2
- package/dist/cjs/utils/checkIsURLAbsolute.cjs +1 -2
- package/dist/cjs/utils/cookieExpiry.cjs +1 -2
- package/dist/cjs/utils/getCookie.cjs +1 -2
- package/dist/cjs/utils/index.cjs +9 -9
- package/dist/cjs/utils/intl.cjs +3 -29
- package/dist/cjs/utils/intl.cjs.map +1 -1
- package/dist/cjs/utils/intlayerNodePrototype.cjs +1 -2
- package/dist/cjs/utils/isSameKeyPath.cjs +1 -2
- package/dist/cjs/utils/isValidReactElement.cjs +1 -2
- package/dist/cjs/utils/localeStorage.cjs +3 -4
- package/dist/cjs/utils/parseYaml.cjs +1 -2
- package/dist/cjs/utils/stringifyYaml.cjs +1 -2
- package/dist/esm/deepTransformPlugins/getEditedContent.mjs +1 -2
- package/dist/esm/deepTransformPlugins/getFilterMissingTranslationsContent.mjs +2 -3
- package/dist/esm/deepTransformPlugins/getFilterTranslationsOnlyContent.mjs +2 -3
- package/dist/esm/deepTransformPlugins/getFilteredLocalesContent.mjs +1 -2
- package/dist/esm/deepTransformPlugins/getLocalizedContent.mjs +2 -3
- package/dist/esm/deepTransformPlugins/getMaskContent.mjs +1 -2
- package/dist/esm/deepTransformPlugins/getMissingLocalesContent.mjs +1 -2
- package/dist/esm/deepTransformPlugins/getMultilingualDictionary.mjs +1 -2
- package/dist/esm/deepTransformPlugins/getReplacedValuesContent.mjs +1 -2
- package/dist/esm/deepTransformPlugins/getSplittedContent.mjs +1 -2
- package/dist/esm/deepTransformPlugins/insertContentInDictionary.mjs +1 -2
- package/dist/esm/dictionaryManipulator/editDictionaryByKeyPath.mjs +1 -2
- package/dist/esm/dictionaryManipulator/getContentNodeByKeyPath.mjs +6 -3
- package/dist/esm/dictionaryManipulator/getContentNodeByKeyPath.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/getDefaultNode.mjs +1 -2
- package/dist/esm/dictionaryManipulator/getEmptyNode.mjs +1 -2
- package/dist/esm/dictionaryManipulator/getNestedDictionaryReferences.mjs +1 -2
- package/dist/esm/dictionaryManipulator/getNodeChildren.mjs +1 -2
- package/dist/esm/dictionaryManipulator/getNodeType.mjs +1 -2
- package/dist/esm/dictionaryManipulator/index.mjs +6 -6
- package/dist/esm/dictionaryManipulator/mergeDictionaries.mjs +1 -2
- package/dist/esm/dictionaryManipulator/mergeQualifiedDictionaries.mjs +2 -3
- package/dist/esm/dictionaryManipulator/normalizeDictionary.mjs +2 -3
- package/dist/esm/dictionaryManipulator/orderDictionaries.mjs +1 -2
- package/dist/esm/dictionaryManipulator/plainDynamicLoader.mjs +1 -2
- package/dist/esm/dictionaryManipulator/preloadedDynamicLoader.mjs +1 -2
- package/dist/esm/dictionaryManipulator/qualifiedDictionary.mjs +1 -2
- package/dist/esm/dictionaryManipulator/qualifiedDictionaryDeclaration.mjs +1 -2
- package/dist/esm/dictionaryManipulator/qualifiedDynamicLoader.mjs +1 -2
- package/dist/esm/dictionaryManipulator/removeContentNodeByKeyPath.mjs +1 -2
- package/dist/esm/dictionaryManipulator/renameContentNodeByKeyPath.mjs +1 -2
- package/dist/esm/dictionaryManipulator/updateNodeChildren.mjs +1 -2
- package/dist/esm/formatters/compact.mjs +2 -4
- package/dist/esm/formatters/compact.mjs.map +1 -1
- package/dist/esm/formatters/currency.mjs +2 -4
- package/dist/esm/formatters/currency.mjs.map +1 -1
- package/dist/esm/formatters/date.mjs +2 -4
- package/dist/esm/formatters/date.mjs.map +1 -1
- package/dist/esm/formatters/list.mjs +2 -4
- package/dist/esm/formatters/list.mjs.map +1 -1
- package/dist/esm/formatters/number.mjs +2 -4
- package/dist/esm/formatters/number.mjs.map +1 -1
- package/dist/esm/formatters/percentage.mjs +2 -4
- package/dist/esm/formatters/percentage.mjs.map +1 -1
- package/dist/esm/formatters/relativeTime.mjs +2 -4
- package/dist/esm/formatters/relativeTime.mjs.map +1 -1
- package/dist/esm/formatters/units.mjs +2 -4
- package/dist/esm/formatters/units.mjs.map +1 -1
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/interpreter/dictionaryTransformCache.mjs +1 -2
- package/dist/esm/interpreter/getCondition.mjs +1 -2
- package/dist/esm/interpreter/getContent/deepTransform.mjs +1 -2
- package/dist/esm/interpreter/getContent/getContent.mjs +1 -2
- package/dist/esm/interpreter/getContent/index.mjs +1 -1
- package/dist/esm/interpreter/getContent/plugins.mjs +6 -5
- package/dist/esm/interpreter/getContent/plugins.mjs.map +1 -1
- package/dist/esm/interpreter/getDictionary.mjs +3 -4
- package/dist/esm/interpreter/getDictionaryAsync.mjs +5 -6
- package/dist/esm/interpreter/getEnumeration.mjs +1 -2
- package/dist/esm/interpreter/getGender.mjs +1 -2
- package/dist/esm/interpreter/getHTML.mjs +1 -2
- package/dist/esm/interpreter/getInsertion.mjs +1 -2
- package/dist/esm/interpreter/getIntlayer.mjs +1 -2
- package/dist/esm/interpreter/getIntlayerAsync.mjs +2 -3
- package/dist/esm/interpreter/getNesting.mjs +1 -2
- package/dist/esm/interpreter/getNesting.optimized.mjs +1 -2
- package/dist/esm/interpreter/getPlural.mjs +1 -2
- package/dist/esm/interpreter/getSelect.mjs +1 -2
- package/dist/esm/interpreter/getTranslation.mjs +1 -2
- package/dist/esm/interpreter/index.mjs +7 -7
- package/dist/esm/interpreter/interpolableNode.mjs +1 -2
- package/dist/esm/interpreter/resolveInterpreterLocale.mjs +1 -2
- package/dist/esm/interpreter/splitAndJoinInsertion.mjs +1 -2
- package/dist/esm/localization/comparePaths.mjs +1 -2
- package/dist/esm/localization/domainUtils.mjs +1 -2
- package/dist/esm/localization/generateSitemap.mjs +2 -3
- package/dist/esm/localization/getBrowserLocale.mjs +1 -2
- package/dist/esm/localization/getCanonicalPath.mjs +1 -2
- package/dist/esm/localization/getHTMLTextDir.mjs +1 -2
- package/dist/esm/localization/getLocale.mjs +2 -3
- package/dist/esm/localization/getLocaleFromPath.mjs +1 -2
- package/dist/esm/localization/getLocaleFromRequest.mjs +2 -3
- package/dist/esm/localization/getLocaleLang.mjs +1 -2
- package/dist/esm/localization/getLocaleName.mjs +1 -2
- package/dist/esm/localization/getLocalizedPath.mjs +3 -4
- package/dist/esm/localization/getLocalizedUrl.mjs +2 -3
- package/dist/esm/localization/getMultilingualUrls.mjs +2 -3
- package/dist/esm/localization/getPathWithoutLocale.mjs +1 -2
- package/dist/esm/localization/getPrefix.mjs +1 -2
- package/dist/esm/localization/index.mjs +10 -10
- package/dist/esm/localization/localeDetector.mjs +1 -2
- package/dist/esm/localization/localeMapper.mjs +1 -2
- package/dist/esm/localization/localeResolver.mjs +1 -2
- package/dist/esm/localization/proxyMode.mjs +1 -2
- package/dist/esm/localization/resolveBrowserLocale.mjs +2 -3
- package/dist/esm/localization/rewriteMatch.mjs +1 -2
- package/dist/esm/localization/rewriteUtils.mjs +2 -3
- package/dist/esm/localization/validatePrefix.mjs +1 -2
- package/dist/esm/markdown/compiler.mjs +2 -3
- package/dist/esm/markdown/constants.mjs +6 -4
- package/dist/esm/markdown/constants.mjs.map +1 -1
- package/dist/esm/markdown/elementScanner.mjs +1 -2
- package/dist/esm/markdown/index.mjs +2 -2
- package/dist/esm/markdown/parser.mjs +1 -2
- package/dist/esm/markdown/renderer.mjs +1 -2
- package/dist/esm/markdown/utils.mjs +1 -2
- package/dist/esm/messageFormat/ICU.mjs +1 -2
- package/dist/esm/messageFormat/i18next.mjs +1 -2
- package/dist/esm/messageFormat/index.mjs +1 -1
- package/dist/esm/messageFormat/navigatePath.mjs +1 -2
- package/dist/esm/messageFormat/po.mjs +1 -2
- package/dist/esm/messageFormat/resolveMessage.mjs +2 -3
- package/dist/esm/messageFormat/verify-icu-format.mjs +1 -2
- package/dist/esm/messageFormat/vue-i18n.mjs +1 -2
- package/dist/esm/transpiler/condition/condition.mjs +1 -2
- package/dist/esm/transpiler/enumeration/enumeration.mjs +1 -2
- package/dist/esm/transpiler/file/file.mjs +1 -2
- package/dist/esm/transpiler/file/fileBrowser.mjs +1 -2
- package/dist/esm/transpiler/gender/gender.mjs +1 -2
- package/dist/esm/transpiler/html/getHTMLCustomComponents.mjs +1 -2
- package/dist/esm/transpiler/html/html.mjs +1 -2
- package/dist/esm/transpiler/html/htmlTags.mjs +1 -2
- package/dist/esm/transpiler/html/index.mjs +1 -1
- package/dist/esm/transpiler/html/validateHTML.mjs +1 -2
- package/dist/esm/transpiler/index.mjs +2 -2
- package/dist/esm/transpiler/insertion/getInsertionValues.mjs +1 -2
- package/dist/esm/transpiler/insertion/insertion.mjs +1 -2
- package/dist/esm/transpiler/markdown/getMarkdownMetadata.mjs +1 -2
- package/dist/esm/transpiler/markdown/index.mjs +1 -1
- package/dist/esm/transpiler/markdown/markdown.mjs +1 -2
- package/dist/esm/transpiler/markdown/validateMarkdown.mjs +1 -2
- package/dist/esm/transpiler/nesting/nesting.mjs +1 -2
- package/dist/esm/transpiler/plural/index.mjs +2 -2
- package/dist/esm/transpiler/plural/plural.mjs +21 -4
- package/dist/esm/transpiler/plural/plural.mjs.map +1 -1
- package/dist/esm/transpiler/select/select.mjs +1 -2
- package/dist/esm/transpiler/translation/translation.mjs +1 -2
- package/dist/esm/utils/checkIsURLAbsolute.mjs +1 -2
- package/dist/esm/utils/cookieExpiry.mjs +1 -2
- package/dist/esm/utils/getCookie.mjs +1 -2
- package/dist/esm/utils/index.mjs +4 -4
- package/dist/esm/utils/intl.mjs +3 -29
- package/dist/esm/utils/intl.mjs.map +1 -1
- package/dist/esm/utils/intlayerNodePrototype.mjs +1 -2
- package/dist/esm/utils/isSameKeyPath.mjs +1 -2
- package/dist/esm/utils/isValidReactElement.mjs +1 -2
- package/dist/esm/utils/localeStorage.mjs +1 -2
- package/dist/esm/utils/parseYaml.mjs +1 -2
- package/dist/esm/utils/stringifyYaml.mjs +1 -2
- package/dist/types/deepTransformPlugins/getEditedContent.d.ts +0 -2
- package/dist/types/deepTransformPlugins/getEditedContent.d.ts.map +1 -1
- package/dist/types/deepTransformPlugins/getFilterMissingTranslationsContent.d.ts +0 -2
- package/dist/types/deepTransformPlugins/getFilterMissingTranslationsContent.d.ts.map +1 -1
- package/dist/types/deepTransformPlugins/getFilterTranslationsOnlyContent.d.ts +0 -2
- package/dist/types/deepTransformPlugins/getFilterTranslationsOnlyContent.d.ts.map +1 -1
- package/dist/types/deepTransformPlugins/getFilteredLocalesContent.d.ts +0 -2
- package/dist/types/deepTransformPlugins/getFilteredLocalesContent.d.ts.map +1 -1
- package/dist/types/deepTransformPlugins/getLocalizedContent.d.ts +0 -2
- package/dist/types/deepTransformPlugins/getLocalizedContent.d.ts.map +1 -1
- package/dist/types/deepTransformPlugins/getMaskContent.d.ts +0 -2
- package/dist/types/deepTransformPlugins/getMaskContent.d.ts.map +1 -1
- package/dist/types/deepTransformPlugins/getMissingLocalesContent.d.ts +0 -2
- package/dist/types/deepTransformPlugins/getMissingLocalesContent.d.ts.map +1 -1
- package/dist/types/deepTransformPlugins/getMultilingualDictionary.d.ts +0 -2
- package/dist/types/deepTransformPlugins/getMultilingualDictionary.d.ts.map +1 -1
- package/dist/types/deepTransformPlugins/getReplacedValuesContent.d.ts +0 -2
- package/dist/types/deepTransformPlugins/getReplacedValuesContent.d.ts.map +1 -1
- package/dist/types/deepTransformPlugins/getSplittedContent.d.ts +1 -2
- package/dist/types/deepTransformPlugins/getSplittedContent.d.ts.map +1 -1
- package/dist/types/deepTransformPlugins/index.d.ts +1 -1
- package/dist/types/deepTransformPlugins/insertContentInDictionary.d.ts +0 -2
- package/dist/types/deepTransformPlugins/insertContentInDictionary.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/editDictionaryByKeyPath.d.ts +0 -2
- package/dist/types/dictionaryManipulator/editDictionaryByKeyPath.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/getContentNodeByKeyPath.d.ts +0 -2
- package/dist/types/dictionaryManipulator/getContentNodeByKeyPath.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/getDefaultNode.d.ts +0 -2
- package/dist/types/dictionaryManipulator/getDefaultNode.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/getEmptyNode.d.ts +0 -2
- package/dist/types/dictionaryManipulator/getEmptyNode.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/getNestedDictionaryReferences.d.ts +0 -2
- package/dist/types/dictionaryManipulator/getNestedDictionaryReferences.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/getNodeChildren.d.ts +0 -2
- package/dist/types/dictionaryManipulator/getNodeChildren.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/getNodeType.d.ts +0 -2
- package/dist/types/dictionaryManipulator/getNodeType.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/index.d.ts +2 -2
- package/dist/types/dictionaryManipulator/mergeDictionaries.d.ts +0 -2
- package/dist/types/dictionaryManipulator/mergeDictionaries.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/mergeQualifiedDictionaries.d.ts +0 -2
- package/dist/types/dictionaryManipulator/mergeQualifiedDictionaries.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/normalizeDictionary.d.ts +0 -2
- package/dist/types/dictionaryManipulator/normalizeDictionary.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/orderDictionaries.d.ts +0 -2
- package/dist/types/dictionaryManipulator/orderDictionaries.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/plainDynamicLoader.d.ts +0 -2
- package/dist/types/dictionaryManipulator/plainDynamicLoader.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/preloadedDynamicLoader.d.ts +0 -2
- package/dist/types/dictionaryManipulator/preloadedDynamicLoader.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/qualifiedDictionary.d.ts +0 -2
- package/dist/types/dictionaryManipulator/qualifiedDictionary.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/qualifiedDictionaryDeclaration.d.ts +0 -2
- package/dist/types/dictionaryManipulator/qualifiedDictionaryDeclaration.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/qualifiedDynamicLoader.d.ts +0 -2
- package/dist/types/dictionaryManipulator/qualifiedDynamicLoader.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/removeContentNodeByKeyPath.d.ts +0 -2
- package/dist/types/dictionaryManipulator/removeContentNodeByKeyPath.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/renameContentNodeByKeyPath.d.ts +0 -2
- package/dist/types/dictionaryManipulator/renameContentNodeByKeyPath.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/updateNodeChildren.d.ts +0 -2
- package/dist/types/dictionaryManipulator/updateNodeChildren.d.ts.map +1 -1
- package/dist/types/formatters/compact.d.ts +0 -2
- package/dist/types/formatters/compact.d.ts.map +1 -1
- package/dist/types/formatters/currency.d.ts +0 -2
- package/dist/types/formatters/currency.d.ts.map +1 -1
- package/dist/types/formatters/date.d.ts +0 -2
- package/dist/types/formatters/date.d.ts.map +1 -1
- package/dist/types/formatters/index.d.ts +1 -1
- package/dist/types/formatters/list.d.ts +0 -2
- package/dist/types/formatters/list.d.ts.map +1 -1
- package/dist/types/formatters/number.d.ts +0 -2
- package/dist/types/formatters/number.d.ts.map +1 -1
- package/dist/types/formatters/percentage.d.ts +0 -2
- package/dist/types/formatters/percentage.d.ts.map +1 -1
- package/dist/types/formatters/relativeTime.d.ts +1 -2
- package/dist/types/formatters/relativeTime.d.ts.map +1 -1
- package/dist/types/formatters/units.d.ts +0 -2
- package/dist/types/formatters/units.d.ts.map +1 -1
- package/dist/types/index.d.ts +10 -10
- package/dist/types/interpreter/dictionaryTransformCache.d.ts +0 -2
- package/dist/types/interpreter/dictionaryTransformCache.d.ts.map +1 -1
- package/dist/types/interpreter/getCondition.d.ts +0 -2
- package/dist/types/interpreter/getCondition.d.ts.map +1 -1
- package/dist/types/interpreter/getContent/deepTransform.d.ts +0 -2
- package/dist/types/interpreter/getContent/deepTransform.d.ts.map +1 -1
- package/dist/types/interpreter/getContent/getContent.d.ts +0 -2
- package/dist/types/interpreter/getContent/getContent.d.ts.map +1 -1
- package/dist/types/interpreter/getContent/index.d.ts +1 -1
- package/dist/types/interpreter/getContent/plugins.d.ts +8 -5
- package/dist/types/interpreter/getContent/plugins.d.ts.map +1 -1
- package/dist/types/interpreter/getDictionary.d.ts +0 -2
- package/dist/types/interpreter/getDictionary.d.ts.map +1 -1
- package/dist/types/interpreter/getDictionaryAsync.d.ts +1 -3
- package/dist/types/interpreter/getDictionaryAsync.d.ts.map +1 -1
- package/dist/types/interpreter/getEnumeration.d.ts +0 -2
- package/dist/types/interpreter/getEnumeration.d.ts.map +1 -1
- package/dist/types/interpreter/getGender.d.ts +1 -2
- package/dist/types/interpreter/getGender.d.ts.map +1 -1
- package/dist/types/interpreter/getHTML.d.ts +1 -2
- package/dist/types/interpreter/getHTML.d.ts.map +1 -1
- package/dist/types/interpreter/getInsertion.d.ts +0 -2
- package/dist/types/interpreter/getInsertion.d.ts.map +1 -1
- package/dist/types/interpreter/getIntlayer.d.ts +0 -2
- package/dist/types/interpreter/getIntlayer.d.ts.map +1 -1
- package/dist/types/interpreter/getIntlayerAsync.d.ts +0 -2
- package/dist/types/interpreter/getIntlayerAsync.d.ts.map +1 -1
- package/dist/types/interpreter/getNesting.d.ts +0 -2
- package/dist/types/interpreter/getNesting.d.ts.map +1 -1
- package/dist/types/interpreter/getNesting.optimized.d.ts +2 -4
- package/dist/types/interpreter/getNesting.optimized.d.ts.map +1 -1
- package/dist/types/interpreter/getPlural.d.ts +0 -2
- package/dist/types/interpreter/getPlural.d.ts.map +1 -1
- package/dist/types/interpreter/getSelect.d.ts +0 -2
- package/dist/types/interpreter/getSelect.d.ts.map +1 -1
- package/dist/types/interpreter/getTranslation.d.ts +0 -2
- package/dist/types/interpreter/getTranslation.d.ts.map +1 -1
- package/dist/types/interpreter/index.d.ts +3 -3
- package/dist/types/interpreter/interpolableNode.d.ts +0 -2
- package/dist/types/interpreter/interpolableNode.d.ts.map +1 -1
- package/dist/types/interpreter/resolveInterpreterLocale.d.ts +0 -2
- package/dist/types/interpreter/resolveInterpreterLocale.d.ts.map +1 -1
- package/dist/types/interpreter/splitAndJoinInsertion.d.ts +0 -2
- package/dist/types/interpreter/splitAndJoinInsertion.d.ts.map +1 -1
- package/dist/types/localization/comparePaths.d.ts +0 -2
- package/dist/types/localization/comparePaths.d.ts.map +1 -1
- package/dist/types/localization/domainUtils.d.ts +0 -2
- package/dist/types/localization/domainUtils.d.ts.map +1 -1
- package/dist/types/localization/generateSitemap.d.ts +0 -2
- package/dist/types/localization/generateSitemap.d.ts.map +1 -1
- package/dist/types/localization/getBrowserLocale.d.ts +1 -2
- package/dist/types/localization/getBrowserLocale.d.ts.map +1 -1
- package/dist/types/localization/getCanonicalPath.d.ts +0 -2
- package/dist/types/localization/getCanonicalPath.d.ts.map +1 -1
- package/dist/types/localization/getHTMLTextDir.d.ts +1 -2
- package/dist/types/localization/getHTMLTextDir.d.ts.map +1 -1
- package/dist/types/localization/getLocale.d.ts +0 -2
- package/dist/types/localization/getLocale.d.ts.map +1 -1
- package/dist/types/localization/getLocaleFromPath.d.ts +0 -2
- package/dist/types/localization/getLocaleFromPath.d.ts.map +1 -1
- package/dist/types/localization/getLocaleFromRequest.d.ts +0 -2
- package/dist/types/localization/getLocaleFromRequest.d.ts.map +1 -1
- package/dist/types/localization/getLocaleLang.d.ts +0 -2
- package/dist/types/localization/getLocaleLang.d.ts.map +1 -1
- package/dist/types/localization/getLocaleName.d.ts +0 -2
- package/dist/types/localization/getLocaleName.d.ts.map +1 -1
- package/dist/types/localization/getLocalizedPath.d.ts +0 -2
- package/dist/types/localization/getLocalizedPath.d.ts.map +1 -1
- package/dist/types/localization/getLocalizedUrl.d.ts +0 -2
- package/dist/types/localization/getLocalizedUrl.d.ts.map +1 -1
- package/dist/types/localization/getMultilingualUrls.d.ts +0 -2
- package/dist/types/localization/getMultilingualUrls.d.ts.map +1 -1
- package/dist/types/localization/getPathWithoutLocale.d.ts +0 -2
- package/dist/types/localization/getPathWithoutLocale.d.ts.map +1 -1
- package/dist/types/localization/getPrefix.d.ts +0 -2
- package/dist/types/localization/getPrefix.d.ts.map +1 -1
- package/dist/types/localization/index.d.ts +1 -1
- package/dist/types/localization/localeDetector.d.ts +0 -2
- package/dist/types/localization/localeDetector.d.ts.map +1 -1
- package/dist/types/localization/localeMapper.d.ts +0 -2
- package/dist/types/localization/localeMapper.d.ts.map +1 -1
- package/dist/types/localization/localeResolver.d.ts +0 -2
- package/dist/types/localization/localeResolver.d.ts.map +1 -1
- package/dist/types/localization/proxyMode.d.ts +0 -2
- package/dist/types/localization/proxyMode.d.ts.map +1 -1
- package/dist/types/localization/resolveBrowserLocale.d.ts +0 -2
- package/dist/types/localization/resolveBrowserLocale.d.ts.map +1 -1
- package/dist/types/localization/rewriteMatch.d.ts +0 -2
- package/dist/types/localization/rewriteMatch.d.ts.map +1 -1
- package/dist/types/localization/rewriteUtils.d.ts +1 -2
- package/dist/types/localization/rewriteUtils.d.ts.map +1 -1
- package/dist/types/localization/validatePrefix.d.ts +0 -2
- package/dist/types/localization/validatePrefix.d.ts.map +1 -1
- package/dist/types/markdown/compiler.d.ts +2 -3
- package/dist/types/markdown/compiler.d.ts.map +1 -1
- package/dist/types/markdown/constants.d.ts +4 -3
- package/dist/types/markdown/constants.d.ts.map +1 -1
- package/dist/types/markdown/elementScanner.d.ts +0 -2
- package/dist/types/markdown/elementScanner.d.ts.map +1 -1
- package/dist/types/markdown/index.d.ts +2 -2
- package/dist/types/markdown/parser.d.ts +0 -2
- package/dist/types/markdown/parser.d.ts.map +1 -1
- package/dist/types/markdown/renderer.d.ts +0 -2
- package/dist/types/markdown/renderer.d.ts.map +1 -1
- package/dist/types/markdown/types.d.ts +0 -2
- package/dist/types/markdown/types.d.ts.map +1 -1
- package/dist/types/markdown/utils.d.ts +1 -2
- package/dist/types/markdown/utils.d.ts.map +1 -1
- package/dist/types/messageFormat/ICU.d.ts +0 -2
- package/dist/types/messageFormat/ICU.d.ts.map +1 -1
- package/dist/types/messageFormat/i18next.d.ts +0 -2
- package/dist/types/messageFormat/i18next.d.ts.map +1 -1
- package/dist/types/messageFormat/navigatePath.d.ts +0 -2
- package/dist/types/messageFormat/navigatePath.d.ts.map +1 -1
- package/dist/types/messageFormat/po.d.ts +0 -2
- package/dist/types/messageFormat/po.d.ts.map +1 -1
- package/dist/types/messageFormat/resolveMessage.d.ts +0 -2
- package/dist/types/messageFormat/resolveMessage.d.ts.map +1 -1
- package/dist/types/messageFormat/vue-i18n.d.ts +0 -2
- package/dist/types/messageFormat/vue-i18n.d.ts.map +1 -1
- package/dist/types/transpiler/condition/condition.d.ts +0 -2
- package/dist/types/transpiler/condition/condition.d.ts.map +1 -1
- package/dist/types/transpiler/enumeration/enumeration.d.ts +0 -2
- package/dist/types/transpiler/enumeration/enumeration.d.ts.map +1 -1
- package/dist/types/transpiler/file/file.d.ts +0 -2
- package/dist/types/transpiler/file/file.d.ts.map +1 -1
- package/dist/types/transpiler/file/fileBrowser.d.ts +0 -2
- package/dist/types/transpiler/file/fileBrowser.d.ts.map +1 -1
- package/dist/types/transpiler/gender/gender.d.ts +0 -2
- package/dist/types/transpiler/gender/gender.d.ts.map +1 -1
- package/dist/types/transpiler/html/getHTMLCustomComponents.d.ts +0 -2
- package/dist/types/transpiler/html/getHTMLCustomComponents.d.ts.map +1 -1
- package/dist/types/transpiler/html/html.d.ts +1 -2
- package/dist/types/transpiler/html/html.d.ts.map +1 -1
- package/dist/types/transpiler/html/htmlTags.d.ts +0 -2
- package/dist/types/transpiler/html/htmlTags.d.ts.map +1 -1
- package/dist/types/transpiler/html/validateHTML.d.ts +0 -2
- package/dist/types/transpiler/html/validateHTML.d.ts.map +1 -1
- package/dist/types/transpiler/index.d.ts +2 -2
- package/dist/types/transpiler/insertion/getInsertionValues.d.ts +0 -2
- package/dist/types/transpiler/insertion/getInsertionValues.d.ts.map +1 -1
- package/dist/types/transpiler/insertion/insertion.d.ts +0 -2
- package/dist/types/transpiler/insertion/insertion.d.ts.map +1 -1
- package/dist/types/transpiler/markdown/getMarkdownMetadata.d.ts +0 -2
- package/dist/types/transpiler/markdown/getMarkdownMetadata.d.ts.map +1 -1
- package/dist/types/transpiler/markdown/markdown.d.ts +0 -2
- package/dist/types/transpiler/markdown/markdown.d.ts.map +1 -1
- package/dist/types/transpiler/markdown/validateMarkdown.d.ts +0 -2
- package/dist/types/transpiler/markdown/validateMarkdown.d.ts.map +1 -1
- package/dist/types/transpiler/nesting/nesting.d.ts +0 -2
- package/dist/types/transpiler/nesting/nesting.d.ts.map +1 -1
- package/dist/types/transpiler/plural/index.d.ts +2 -2
- package/dist/types/transpiler/plural/plural.d.ts +31 -4
- package/dist/types/transpiler/plural/plural.d.ts.map +1 -1
- package/dist/types/transpiler/select/select.d.ts +0 -2
- package/dist/types/transpiler/select/select.d.ts.map +1 -1
- package/dist/types/transpiler/translation/translation.d.ts +0 -2
- package/dist/types/transpiler/translation/translation.d.ts.map +1 -1
- package/dist/types/utils/checkIsURLAbsolute.d.ts +0 -2
- package/dist/types/utils/checkIsURLAbsolute.d.ts.map +1 -1
- package/dist/types/utils/cookieExpiry.d.ts +0 -2
- package/dist/types/utils/cookieExpiry.d.ts.map +1 -1
- package/dist/types/utils/getCookie.d.ts +0 -2
- package/dist/types/utils/getCookie.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +1 -1
- package/dist/types/utils/intl.d.ts +1 -3
- package/dist/types/utils/intl.d.ts.map +1 -1
- package/dist/types/utils/intlayerNodePrototype.d.ts +0 -2
- package/dist/types/utils/intlayerNodePrototype.d.ts.map +1 -1
- package/dist/types/utils/isSameKeyPath.d.ts +0 -2
- package/dist/types/utils/isSameKeyPath.d.ts.map +1 -1
- package/dist/types/utils/isValidReactElement.d.ts +0 -2
- package/dist/types/utils/isValidReactElement.d.ts.map +1 -1
- package/dist/types/utils/localeStorage.d.ts +0 -2
- package/dist/types/utils/localeStorage.d.ts.map +1 -1
- package/dist/types/utils/parseYaml.d.ts +0 -2
- package/dist/types/utils/parseYaml.d.ts.map +1 -1
- package/dist/types/utils/stringifyYaml.d.ts +0 -2
- package/dist/types/utils/stringifyYaml.d.ts.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","names":[],"sources":["../../../src/markdown/constants.ts"],"sourcesContent":["// ============================================================================\n// RULE TYPES\n// ============================================================================\n\n/**\n * Analogous to `node.type`. Please note that the values here may change at any time,\n * so do not hard code against the value directly.\n */\nexport const RuleType = {\n blockQuote: '0',\n breakLine: '1',\n breakThematic: '2',\n codeBlock: '3',\n codeFenced: '4',\n codeInline: '5',\n footnote: '6',\n footnoteReference: '7',\n gfmTask: '8',\n heading: '9',\n headingSetext: '10',\n /** only available if not `disableHTMLParsing` */\n htmlBlock: '11',\n htmlComment: '12',\n /** only available if not `disableHTMLParsing` */\n htmlSelfClosing: '13',\n /** Custom components like <Tabs>, <TabItem> */\n customComponent: '34',\n image: '14',\n link: '15',\n /** emits a `link` 'node', does not render directly */\n linkAngleBraceStyleDetector: '16',\n /** emits a `link` 'node', does not render directly */\n linkBareUrlDetector: '17',\n newlineCoalescer: '19',\n orderedList: '20',\n paragraph: '21',\n ref: '22',\n refImage: '23',\n refLink: '24',\n table: '25',\n tableSeparator: '26',\n text: '27',\n textBolded: '28',\n textEmphasized: '29',\n textEscaped: '30',\n textMarked: '31',\n textStrikethroughed: '32',\n unorderedList: '33',\n} as const;\n\n// In test environment, use human-readable keys for easier debugging\nif (process.env.NODE_ENV === 'test') {\n Object.keys(RuleType).forEach((key) => {\n (RuleType as any)[key] = key;\n });\n}\n\nexport type RuleTypeValue = (typeof RuleType)[keyof typeof RuleType];\n\n// ============================================================================\n// PRIORITY LEVELS\n// ============================================================================\n\n/**\n * Priority levels for rule ordering.\n */\nexport const Priority = {\n /** anything that must scan the tree before everything else */\n MAX: 0,\n /** scans for block-level constructs */\n HIGH: 1,\n /** inline w/ more priority than other inline */\n MED: 2,\n /** inline elements */\n LOW: 3,\n /** bare text and stuff that is considered leftovers */\n MIN: 4,\n} as const;\n\nexport type PriorityValue = (typeof Priority)[keyof typeof Priority];\n\n// ============================================================================\n// RULE SCOPE CONSTANTS\n// ============================================================================\n\n/**\n * Parsing scope for markdown rules.\n * Bitmask representation for fast bitwise checking and bundle minification.\n * - BLOCK (1): evaluated only when !state.inline && !state.simple\n * - INLINE (2): evaluated only when state.inline || state.simple\n * - BOTH (3): evaluated in both scopes (default)\n */\nexport const RuleScope = {\n BLOCK: 1,\n INLINE: 2,\n BOTH: 3,\n} as const;\n\nexport const SCOPE_BLOCK = RuleScope.BLOCK;\nexport const SCOPE_INLINE = RuleScope.INLINE;\nexport const SCOPE_BOTH = RuleScope.BOTH;\n\nexport type RuleScopeValue =\n | (typeof RuleScope)[keyof typeof RuleScope]\n | 'block'\n | 'inline'\n | 'both';\n\n// ============================================================================\n// ATTRIBUTE MAPPING\n// ============================================================================\n\n/**\n * Map of HTML attributes to their JSX prop equivalents.\n * Some renderers use camelCase for certain attributes.\n */\nexport const ATTRIBUTE_TO_NODE_PROP_MAP: Record<string, string> = [\n 'allowFullScreen',\n 'autoComplete',\n 'autoFocus',\n 'autoPlay',\n 'cellPadding',\n 'cellSpacing',\n 'charSet',\n 'classId',\n 'colSpan',\n 'contentEditable',\n 'contextMenu',\n 'crossOrigin',\n 'encType',\n 'formAction',\n 'formEncType',\n 'formMethod',\n 'formNoValidate',\n 'formTarget',\n 'frameBorder',\n 'hrefLang',\n 'inputMode',\n 'keyParams',\n 'keyType',\n 'marginHeight',\n 'marginWidth',\n 'maxLength',\n 'mediaGroup',\n 'minLength',\n 'noValidate',\n 'radioGroup',\n 'readOnly',\n 'rowSpan',\n 'spellCheck',\n 'srcDoc',\n 'srcLang',\n 'srcSet',\n 'tabIndex',\n 'useMap',\n].reduce(\n (obj: Record<string, string>, x) => {\n obj[x.toLowerCase()] = x;\n return obj;\n },\n { class: 'className', for: 'htmlFor' }\n);\n\n// ============================================================================\n// NAMED CODES TO UNICODE\n// ============================================================================\n\n/**\n * Default HTML entity to unicode mappings.\n */\nexport const NAMED_CODES_TO_UNICODE: Record<string, string> = {\n amp: '\\u0026',\n apos: '\\u0027',\n gt: '\\u003e',\n lt: '\\u003c',\n nbsp: '\\u00a0',\n quot: '\\u201c',\n};\n\n// ============================================================================\n// SPECIAL ELEMENTS\n// ============================================================================\n\n/** HTML elements that should not have their content processed */\nexport const DO_NOT_PROCESS_HTML_ELEMENTS = ['style', 'script', 'pre'];\n\n/** Attributes that require URL sanitization */\nexport const ATTRIBUTES_TO_SANITIZE = [\n 'src',\n 'href',\n 'data',\n 'formAction',\n 'srcDoc',\n 'action',\n];\n\n// ============================================================================\n// REGEX PATTERNS\n// ============================================================================\n\n/** Attribute extractor regex */\nexport const ATTR_EXTRACTOR_R =\n /([-A-Z0-9_:]+)(?:\\s*=\\s*(?:(?:\"((?:\\\\.|[^\"])*)\")|(?:'((?:\\\\.|[^'])*)')|(?:\\{((?:\\\\.|{[^}]*?}|[^}])*)\\})))?/gi;\n\n/** First character of a valid attribute name (a letter, `_` or `:`). */\nexport const ATTRIBUTE_NAME_START_R = /^[A-Z_:]/i;\n\n/** Block end detection */\nexport const BLOCK_END_R = /\\n{2,}$/;\n\n/** Blockquote patterns */\nexport const BLOCKQUOTE_R = /^(\\s*>[\\s\\S]*?)(?=\\n\\n|$)/;\nexport const BLOCKQUOTE_TRIM_LEFT_MULTILINE_R = /^ *> ?/gm;\nexport const BLOCKQUOTE_ALERT_R = /^(?:\\[!([^\\]]*)\\]\\n)?([\\s\\S]*)/;\n\n/** Line break patterns */\nexport const BREAK_LINE_R = /^(?=( {2,}))\\1\\n/;\nexport const BREAK_THEMATIC_R = /^(?:([-*_])( *\\1){2,}) *(?:\\n *)+\\n/;\n\n/** Code block patterns */\n// The body is consumed a whole line at a time rather than character by\n// character: a closing fence only ever starts a line, so the backreference is\n// tested once per line instead of once per character. The trailing `$` branch\n// inside the loop keeps an unterminated fence that ends without a newline.\nexport const CODE_BLOCK_FENCED_R =\n /^(?: {1,3})?(`{3,}|~{3,}) *(\\S+)? *([^\\n]*?)?\\n((?:[^\\n]*(?:\\n|$))*?)(?:\\1\\n?|$)/;\nexport const CODE_BLOCK_R = /^(?: {4}[^\\n]+\\n*)+(?:\\n *)+\\n?/;\n/** A single line opening or closing a fenced code block, with its indentation. */\nexport const FENCE_DELIMITER_R = /^([ \\t]*)(`{3,}|~{3,})/;\nexport const CODE_INLINE_R = /^(`+)((?:\\\\`|(?!\\1)`|[^`])+)\\1/;\n\n/** Newline patterns */\nexport const CONSECUTIVE_NEWLINE_R = /^(?:\\n *)*\\n/;\nexport const CR_NEWLINE_R = /\\r\\n?/g;\n\n/** Footnote patterns */\nexport const FOOTNOTE_R = /^\\[\\^([^\\]]+)](:(.*)((\\n+ {4,}.*)|(\\n(?!\\[\\^).+))*)/;\nexport const FOOTNOTE_REFERENCE_R = /^\\[\\^([^\\]]+)]/;\n\n/** Form feed */\nexport const FORMFEED_R = /\\f/g;\n\n/** Front matter */\nexport const FRONT_MATTER_R = /^---[ \\t]*\\n(.|\\n)*?\\n---[ \\t]*\\n/;\n\n/** GFM task */\nexport const GFM_TASK_R = /^\\s*?\\[(x|\\s)\\]/;\n\n/** Heading patterns */\nexport const HEADING_R = /^ *(#{1,6}) *([^\\n]+?)(?: +#*)?(?:\\n *)*(?:\\n|$)/;\nexport const HEADING_ATX_COMPLIANT_R =\n /^ *(#{1,6}) +([^\\n]+?)(?: +#*)?(?:\\n *)*(?:\\n|$)/;\nexport const HEADING_SETEXT_R = /^([^\\n]+)\\n *(=|-)\\2{2,} *\\n/;\n\n/** HTML patterns */\n\nexport const HTML_CHAR_CODE_R =\n /&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-fA-F]{1,6});/gi;\nexport const HTML_COMMENT_R = /^<!--[\\s\\S]*?(?:-->)/;\nexport const HTML_CUSTOM_ATTR_R = /^(data|aria|x)-[a-z_][a-z\\d_.-]*$/;\n\n/** Interpolation */\nexport const INTERPOLATION_R = /^\\{.*\\}$/;\n\n/** Link patterns */\nexport const LINK_AUTOLINK_BARE_URL_R = /^(https?:\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])/;\nexport const LINK_AUTOLINK_R = /^<([^ >]+[:@/][^ >]+)>/;\nexport const CAPTURE_LETTER_AFTER_HYPHEN = /-([a-z])?/gi;\n\n/**\n * Table patterns.\n *\n * The row scans spell \"any character but a newline\" as `[^\\n]` rather than `.`:\n * `.` is a four-range exclusion, and matching it over rows this wide costs a\n * third more than the single-range class. It is also the more faithful reading\n * — only `\\n` ends a line here, and `\\r` is normalized away before parsing.\n */\nexport const NP_TABLE_R =\n /^(\\|[^\\n]*)\\n(?: *(\\|? *[-:]+ *\\|[-| :]*)\\n((?:[^\\n]*\\|[^\\n]*\\n)*))?\\n?/;\nexport const TABLE_TRIM_PIPES = /(^ *\\||\\| *$)/g;\nexport const TABLE_CENTER_ALIGN = /^ *:-+: *$/;\nexport const TABLE_LEFT_ALIGN = /^ *:-+ *$/;\nexport const TABLE_RIGHT_ALIGN = /^ *-+: *$/;\n\n/** Paragraph */\nexport const PARAGRAPH_R = /^[^\\n]+(?: {2}\\n|\\n{2,})/;\n\n/** Reference patterns */\nexport const REFERENCE_IMAGE_OR_LINK =\n /^\\[([^\\]]*)\\]:\\s+<?([^\\s>]+)>?\\s*(\"([^\"]*)\")?/;\nexport const REFERENCE_IMAGE_R = /^!\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/;\nexport const REFERENCE_LINK_R = /^\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/;\n\n/** Block detection */\nexport const SHOULD_RENDER_AS_BLOCK_R = /(\\n|^[-*]\\s|^#|^ {2,}|^-{2,}|^>\\s)/;\n\n/** Tabs, which `normalizeWhitespace` widens to four spaces. */\nexport const TAB_R = /\\t/g;\nexport const TRIM_STARTING_NEWLINES = /^\\n+/;\nexport const HTML_LEFT_TRIM_AMOUNT_R = /^\\n*([ \\t]*)/;\n\n/** List patterns */\nexport const ORDERED_LIST_BULLET = '(?:\\\\d+\\\\.)';\nexport const UNORDERED_LIST_BULLET = '(?:[*+-])';\n\n/** Text formatting patterns */\nexport const TEXT_ESCAPED_R = /^\\\\([^0-9A-Za-z\\s])/;\nexport const UNESCAPE_R = /\\\\([^0-9A-Za-z\\s])/g;\n\n/** Shortcode pattern */\nexport const SHORTCODE_R = /^(:[a-zA-Z0-9-_]+:)/;\n\n// ============================================================================\n// LIST TYPE CONSTANTS\n// ============================================================================\n\nexport type ListType = 1 | 2;\nexport const ORDERED: ListType = 1;\nexport const UNORDERED: ListType = 2;\n\n// ============================================================================\n// INLINE PATTERN HELPERS\n// ============================================================================\n\n/**\n * Ensure there's at least one more instance of the delimiter later\n * in the current sequence.\n */\nexport const LOOKAHEAD = (double: number): string =>\n `(?=[\\\\s\\\\S]+?\\\\1${double ? '\\\\1' : ''})`;\n\n/**\n * For inline formatting, this partial attempts to ignore characters that\n * may appear in nested formatting.\n */\nexport const INLINE_SKIP_R =\n '((?:\\\\[.*?\\\\][([].*?[)\\\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|\\\\\\\\[^\\\\s]|[\\\\s\\\\S])+?)';\n\n/** Bold text pattern */\nexport const TEXT_BOLD_R = new RegExp(\n `^([*_])\\\\1${LOOKAHEAD(1)}${INLINE_SKIP_R}\\\\1\\\\1(?!\\\\1)`\n);\n\n/** Emphasized text pattern */\nexport const TEXT_EMPHASIZED_R = new RegExp(\n `^([*_])${LOOKAHEAD(0)}${INLINE_SKIP_R}\\\\1(?!\\\\1)`\n);\n\n/** Marked text pattern */\nexport const TEXT_MARKED_R = new RegExp(\n `^(==)${LOOKAHEAD(0)}${INLINE_SKIP_R}\\\\1`\n);\n\n/** Strikethrough text pattern */\nexport const TEXT_STRIKETHROUGHED_R = new RegExp(\n `^(~~)${LOOKAHEAD(0)}${INLINE_SKIP_R}\\\\1`\n);\n\n// ============================================================================\n// LIST REGEX GENERATORS\n// ============================================================================\n\nexport const generateListItemPrefix = (type: ListType): string => {\n return (\n '( *)(' +\n (type === ORDERED ? ORDERED_LIST_BULLET : UNORDERED_LIST_BULLET) +\n ') +'\n );\n};\n\nexport const ORDERED_LIST_ITEM_PREFIX = generateListItemPrefix(ORDERED);\nexport const UNORDERED_LIST_ITEM_PREFIX = generateListItemPrefix(UNORDERED);\n\nexport const generateListItemPrefixRegex = (type: ListType): RegExp => {\n return new RegExp(\n '^' +\n (type === ORDERED ? ORDERED_LIST_ITEM_PREFIX : UNORDERED_LIST_ITEM_PREFIX)\n );\n};\n\nexport const ORDERED_LIST_ITEM_PREFIX_R = generateListItemPrefixRegex(ORDERED);\nexport const UNORDERED_LIST_ITEM_PREFIX_R =\n generateListItemPrefixRegex(UNORDERED);\n\nexport const generateListItemRegex = (type: ListType): RegExp => {\n return new RegExp(\n '^' +\n (type === ORDERED\n ? ORDERED_LIST_ITEM_PREFIX\n : UNORDERED_LIST_ITEM_PREFIX) +\n '[^\\\\n]*(?:\\\\n' +\n '(?!\\\\1' +\n (type === ORDERED ? ORDERED_LIST_BULLET : UNORDERED_LIST_BULLET) +\n ' )[^\\\\n]*)*(\\\\n|$)',\n 'gm'\n );\n};\n\nexport const ORDERED_LIST_ITEM_R = generateListItemRegex(ORDERED);\nexport const UNORDERED_LIST_ITEM_R = generateListItemRegex(UNORDERED);\n\nexport const generateListRegex = (type: ListType): RegExp => {\n const bullet = type === ORDERED ? ORDERED_LIST_BULLET : UNORDERED_LIST_BULLET;\n\n return new RegExp(\n '^( *)(' +\n bullet +\n ') ' +\n // The body advances a line at a time rather than a character at a time: a\n // list can only end at a line boundary, so the terminator — the expensive\n // half, with its two nested lookaheads — is tried once per line instead of\n // once per character. The step swallows the newline that used to open the\n // terminator, which is why it now reads `\\n+` and not `\\n{2,}`, and the\n // leading lookahead keeps a source with nothing left after the bullet from\n // matching through a zero-width step.\n '(?=[\\\\s\\\\S])(?:[^\\\\n]*(?:\\\\n|$))+?' +\n '(?:\\\\n+(?! )' +\n '(?!\\\\1' +\n bullet +\n ' (?!' +\n bullet +\n ' ))\\\\n*' +\n // `\\s` already covers `\\n`, so the trailing `\\n*` the pattern used to\n // carry could only ever match empty — and paying for it at every step of\n // the lazy scan cost a third of the whole match.\n '|\\\\s*$)'\n );\n};\n\nexport const ORDERED_LIST_R = generateListRegex(ORDERED);\nexport const UNORDERED_LIST_R = generateListRegex(UNORDERED);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.mjs","names":[],"sources":["../../../src/markdown/constants.ts"],"sourcesContent":["// ============================================================================\n// RULE TYPES\n// ============================================================================\n\n/**\n * Analogous to `node.type`. Please note that the values here may change at any time,\n * so do not hard code against the value directly.\n */\nexport const RuleType = {\n blockQuote: '0',\n breakLine: '1',\n breakThematic: '2',\n codeBlock: '3',\n codeFenced: '4',\n codeInline: '5',\n footnote: '6',\n footnoteReference: '7',\n gfmTask: '8',\n heading: '9',\n headingSetext: '10',\n /** only available if not `disableHTMLParsing` */\n htmlBlock: '11',\n htmlComment: '12',\n /** only available if not `disableHTMLParsing` */\n htmlSelfClosing: '13',\n /** Custom components like <Tabs>, <TabItem> */\n customComponent: '34',\n image: '14',\n link: '15',\n /** emits a `link` 'node', does not render directly */\n linkAngleBraceStyleDetector: '16',\n /** emits a `link` 'node', does not render directly */\n linkBareUrlDetector: '17',\n newlineCoalescer: '19',\n orderedList: '20',\n paragraph: '21',\n ref: '22',\n refImage: '23',\n refLink: '24',\n table: '25',\n tableSeparator: '26',\n text: '27',\n textBolded: '28',\n textEmphasized: '29',\n textEscaped: '30',\n textMarked: '31',\n textStrikethroughed: '32',\n unorderedList: '33',\n} as const;\n\n// In test environment, use human-readable keys for easier debugging\nif (process.env.NODE_ENV === 'test') {\n Object.keys(RuleType).forEach((key) => {\n (RuleType as any)[key] = key;\n });\n}\n\nexport type RuleTypeValue = (typeof RuleType)[keyof typeof RuleType];\n\n// ============================================================================\n// PRIORITY LEVELS\n// ============================================================================\n\n/**\n * Priority levels for rule ordering.\n */\nexport const Priority = {\n /** anything that must scan the tree before everything else */\n MAX: 0,\n /** scans for block-level constructs */\n HIGH: 1,\n /** inline w/ more priority than other inline */\n MED: 2,\n /** inline elements */\n LOW: 3,\n /** bare text and stuff that is considered leftovers */\n MIN: 4,\n} as const;\n\nexport type PriorityValue = (typeof Priority)[keyof typeof Priority];\n\n// ============================================================================\n// RULE SCOPE CONSTANTS\n// ============================================================================\n\n/**\n * Parsing scope for markdown rules.\n * Bitmask representation for fast bitwise checking and bundle minification.\n * - BLOCK (1): evaluated only when !state.inline && !state.simple\n * - INLINE (2): evaluated only when state.inline || state.simple\n * - BOTH (3): evaluated in both scopes (default)\n */\nexport const RuleScope = {\n BLOCK: 1,\n INLINE: 2,\n BOTH: 3,\n} as const;\n\nexport const SCOPE_BLOCK = RuleScope.BLOCK;\nexport const SCOPE_INLINE = RuleScope.INLINE;\nexport const SCOPE_BOTH = RuleScope.BOTH;\n\nexport type RuleScopeValue =\n | (typeof RuleScope)[keyof typeof RuleScope]\n | 'block'\n | 'inline'\n | 'both';\n\n// ============================================================================\n// ATTRIBUTE MAPPING\n// ============================================================================\n\n/**\n * Map of HTML attributes to their JSX prop equivalents.\n * Some renderers use camelCase for certain attributes.\n */\nexport const ATTRIBUTE_TO_NODE_PROP_MAP: Record<string, string> = [\n 'allowFullScreen',\n 'autoComplete',\n 'autoFocus',\n 'autoPlay',\n 'cellPadding',\n 'cellSpacing',\n 'charSet',\n 'classId',\n 'colSpan',\n 'contentEditable',\n 'contextMenu',\n 'crossOrigin',\n 'encType',\n 'formAction',\n 'formEncType',\n 'formMethod',\n 'formNoValidate',\n 'formTarget',\n 'frameBorder',\n 'hrefLang',\n 'inputMode',\n 'keyParams',\n 'keyType',\n 'marginHeight',\n 'marginWidth',\n 'maxLength',\n 'mediaGroup',\n 'minLength',\n 'noValidate',\n 'radioGroup',\n 'readOnly',\n 'rowSpan',\n 'spellCheck',\n 'srcDoc',\n 'srcLang',\n 'srcSet',\n 'tabIndex',\n 'useMap',\n].reduce(\n (obj: Record<string, string>, x) => {\n obj[x.toLowerCase()] = x;\n return obj;\n },\n { class: 'className', for: 'htmlFor' }\n);\n\n// ============================================================================\n// NAMED CODES TO UNICODE\n// ============================================================================\n\n/**\n * Default HTML entity to unicode mappings.\n */\nexport const NAMED_CODES_TO_UNICODE: Record<string, string> = {\n amp: '\\u0026',\n apos: '\\u0027',\n gt: '\\u003e',\n lt: '\\u003c',\n nbsp: '\\u00a0',\n quot: '\\u201c',\n};\n\n// ============================================================================\n// SPECIAL ELEMENTS\n// ============================================================================\n\n/** HTML elements that should not have their content processed */\nexport const DO_NOT_PROCESS_HTML_ELEMENTS = ['style', 'script', 'pre'];\n\n/** Attributes that require URL sanitization */\nexport const ATTRIBUTES_TO_SANITIZE = [\n 'src',\n 'href',\n 'data',\n 'formAction',\n 'srcDoc',\n 'action',\n];\n\n// ============================================================================\n// REGEX PATTERNS\n// ============================================================================\n\n/**\n * Attribute extractor regex. Values may be double/single quoted, `{…}`\n * expressions, or unquoted `[…]` arrays (`codeFormat=[\"typescript\", \"esm\"]`).\n */\nexport const ATTR_EXTRACTOR_R =\n /([-A-Z0-9_:]+)(?:\\s*=\\s*(?:(?:\"((?:\\\\.|[^\"])*)\")|(?:'((?:\\\\.|[^'])*)')|(?:\\{((?:\\\\.|{[^}]*?}|[^}])*)\\})|(?:\\[[^\\]]*\\])))?/gi;\n\n/** First character of a valid attribute name (a letter, `_` or `:`). */\nexport const ATTRIBUTE_NAME_START_R = /^[A-Z_:]/i;\n\n/** Block end detection */\nexport const BLOCK_END_R = /\\n{2,}$/;\n\n/** Blockquote patterns */\nexport const BLOCKQUOTE_R = /^(\\s*>[\\s\\S]*?)(?=\\n\\n|$)/;\nexport const BLOCKQUOTE_TRIM_LEFT_MULTILINE_R = /^ *> ?/gm;\nexport const BLOCKQUOTE_ALERT_R = /^(?:\\[!([^\\]]*)\\]\\n)?([\\s\\S]*)/;\n\n/** Line break patterns */\nexport const BREAK_LINE_R = /^(?=( {2,}))\\1\\n/;\nexport const BREAK_THEMATIC_R = /^(?:([-*_])( *\\1){2,}) *(?:\\n *)+\\n/;\n\n/** Code block patterns */\n// The body is consumed a whole line at a time rather than character by\n// character: a closing fence only ever starts a line, so the backreference is\n// tested once per line instead of once per character. The trailing `$` branch\n// inside the loop keeps an unterminated fence that ends without a newline.\nexport const CODE_BLOCK_FENCED_R =\n /^(?: {1,3})?(`{3,}|~{3,}) *(\\S+)? *([^\\n]*?)?\\n((?:[^\\n]*(?:\\n|$))*?)(?:\\1\\n?|$)/;\nexport const CODE_BLOCK_R = /^(?: {4}[^\\n]+\\n*)+(?:\\n *)+\\n?/;\n/** A single line opening or closing a fenced code block, with its indentation. */\nexport const FENCE_DELIMITER_R = /^([ \\t]*)(`{3,}|~{3,})/;\nexport const CODE_INLINE_R = /^(`+)((?:\\\\`|(?!\\1)`|[^`])+)\\1/;\n\n/** Newline patterns */\nexport const CONSECUTIVE_NEWLINE_R = /^(?:\\n *)*\\n/;\nexport const CR_NEWLINE_R = /\\r\\n?/g;\n\n/** Footnote patterns */\nexport const FOOTNOTE_R = /^\\[\\^([^\\]]+)](:(.*)((\\n+ {4,}.*)|(\\n(?!\\[\\^).+))*)/;\nexport const FOOTNOTE_REFERENCE_R = /^\\[\\^([^\\]]+)]/;\n\n/** Form feed */\nexport const FORMFEED_R = /\\f/g;\n\n/** Front matter */\nexport const FRONT_MATTER_R = /^---[ \\t]*\\n(.|\\n)*?\\n---[ \\t]*\\n/;\n\n/** GFM task */\nexport const GFM_TASK_R = /^\\s*?\\[(x|\\s)\\]/;\n\n/** Heading patterns */\nexport const HEADING_R = /^ *(#{1,6}) *([^\\n]+?)(?: +#*)?(?:\\n *)*(?:\\n|$)/;\nexport const HEADING_ATX_COMPLIANT_R =\n /^ *(#{1,6}) +([^\\n]+?)(?: +#*)?(?:\\n *)*(?:\\n|$)/;\nexport const HEADING_SETEXT_R = /^([^\\n]+)\\n *(=|-)\\2{2,} *\\n/;\n\n/** HTML patterns */\n\nexport const HTML_CHAR_CODE_R =\n /&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-fA-F]{1,6});/gi;\nexport const HTML_COMMENT_R = /^<!--[\\s\\S]*?(?:-->)/;\nexport const HTML_CUSTOM_ATTR_R = /^(data|aria|x)-[a-z_][a-z\\d_.-]*$/;\n\n/** Interpolation */\nexport const INTERPOLATION_R = /^\\{.*\\}$/;\n\n/** Link patterns */\nexport const LINK_AUTOLINK_BARE_URL_R = /^(https?:\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])/;\nexport const LINK_AUTOLINK_R = /^<([^ >]+[:@/][^ >]+)>/;\nexport const CAPTURE_LETTER_AFTER_HYPHEN = /-([a-z])?/gi;\n\n/**\n * Table patterns.\n *\n * The row scans spell \"any character but a newline\" as `[^\\n]` rather than `.`:\n * `.` is a four-range exclusion, and matching it over rows this wide costs a\n * third more than the single-range class. It is also the more faithful reading\n * — only `\\n` ends a line here, and `\\r` is normalized away before parsing.\n */\nexport const NP_TABLE_R =\n /^(\\|[^\\n]*)\\n(?: *(\\|? *[-:]+ *\\|[-| :]*)\\n((?:[^\\n]*\\|[^\\n]*\\n)*))?\\n?/;\nexport const TABLE_TRIM_PIPES = /(^ *\\||\\| *$)/g;\nexport const TABLE_CENTER_ALIGN = /^ *:-+: *$/;\nexport const TABLE_LEFT_ALIGN = /^ *:-+ *$/;\nexport const TABLE_RIGHT_ALIGN = /^ *-+: *$/;\n\n/** Paragraph */\nexport const PARAGRAPH_R = /^[^\\n]+(?: {2}\\n|\\n{2,})/;\n\n/** Reference patterns */\nexport const REFERENCE_IMAGE_OR_LINK =\n /^\\[([^\\]]*)\\]:\\s+<?([^\\s>]+)>?\\s*(\"([^\"]*)\")?/;\nexport const REFERENCE_IMAGE_R = /^!\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/;\nexport const REFERENCE_LINK_R = /^\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/;\n\n/** Block detection */\nexport const SHOULD_RENDER_AS_BLOCK_R = /(\\n|^[-*]\\s|^#|^ {2,}|^-{2,}|^>\\s)/;\n\n/** Tabs, which `normalizeWhitespace` widens to four spaces. */\nexport const TAB_R = /\\t/g;\nexport const TRIM_STARTING_NEWLINES = /^\\n+/;\nexport const HTML_LEFT_TRIM_AMOUNT_R = /^\\n*([ \\t]*)/;\n\n/** List patterns */\nexport const ORDERED_LIST_BULLET = '(?:\\\\d+\\\\.)';\nexport const UNORDERED_LIST_BULLET = '(?:[*+-])';\n\n/** Text formatting patterns */\nexport const TEXT_ESCAPED_R = /^\\\\([^0-9A-Za-z\\s])/;\nexport const UNESCAPE_R = /\\\\([^0-9A-Za-z\\s])/g;\n\n/** Shortcode pattern */\nexport const SHORTCODE_R = /^(:[a-zA-Z0-9-_]+:)/;\n\n// ============================================================================\n// LIST TYPE CONSTANTS\n// ============================================================================\n\nexport type ListType = 1 | 2;\nexport const ORDERED: ListType = 1;\nexport const UNORDERED: ListType = 2;\n\n// ============================================================================\n// INLINE PATTERN HELPERS\n// ============================================================================\n\n/**\n * Ensure there's at least one more instance of the delimiter later\n * in the current sequence.\n */\nexport const LOOKAHEAD = (double: number): string =>\n `(?=[\\\\s\\\\S]+?\\\\1${double ? '\\\\1' : ''})`;\n\n/**\n * For inline formatting, this partial attempts to ignore characters that\n * may appear in nested formatting.\n */\nexport const INLINE_SKIP_R =\n '((?:\\\\[.*?\\\\][([].*?[)\\\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|\\\\\\\\[^\\\\s]|[\\\\s\\\\S])+?)';\n\n/** Bold text pattern */\nexport const TEXT_BOLD_R = new RegExp(\n `^([*_])\\\\1${LOOKAHEAD(1)}${INLINE_SKIP_R}\\\\1\\\\1(?!\\\\1)`\n);\n\n/** Emphasized text pattern */\nexport const TEXT_EMPHASIZED_R = new RegExp(\n `^([*_])${LOOKAHEAD(0)}${INLINE_SKIP_R}\\\\1(?!\\\\1)`\n);\n\n/** Marked text pattern */\nexport const TEXT_MARKED_R = new RegExp(\n `^(==)${LOOKAHEAD(0)}${INLINE_SKIP_R}\\\\1`\n);\n\n/** Strikethrough text pattern */\nexport const TEXT_STRIKETHROUGHED_R = new RegExp(\n `^(~~)${LOOKAHEAD(0)}${INLINE_SKIP_R}\\\\1`\n);\n\n// ============================================================================\n// LIST REGEX GENERATORS\n// ============================================================================\n\nexport const generateListItemPrefix = (type: ListType): string => {\n return (\n '( *)(' +\n (type === ORDERED ? ORDERED_LIST_BULLET : UNORDERED_LIST_BULLET) +\n ') +'\n );\n};\n\nexport const ORDERED_LIST_ITEM_PREFIX = generateListItemPrefix(ORDERED);\nexport const UNORDERED_LIST_ITEM_PREFIX = generateListItemPrefix(UNORDERED);\n\nexport const generateListItemPrefixRegex = (type: ListType): RegExp => {\n return new RegExp(\n '^' +\n (type === ORDERED ? ORDERED_LIST_ITEM_PREFIX : UNORDERED_LIST_ITEM_PREFIX)\n );\n};\n\nexport const ORDERED_LIST_ITEM_PREFIX_R = generateListItemPrefixRegex(ORDERED);\nexport const UNORDERED_LIST_ITEM_PREFIX_R =\n generateListItemPrefixRegex(UNORDERED);\n\nexport const generateListItemRegex = (type: ListType): RegExp => {\n return new RegExp(\n '^' +\n (type === ORDERED\n ? ORDERED_LIST_ITEM_PREFIX\n : UNORDERED_LIST_ITEM_PREFIX) +\n '[^\\\\n]*(?:\\\\n' +\n '(?!\\\\1' +\n (type === ORDERED ? ORDERED_LIST_BULLET : UNORDERED_LIST_BULLET) +\n ' )[^\\\\n]*)*(\\\\n|$)',\n 'gm'\n );\n};\n\nexport const ORDERED_LIST_ITEM_R = generateListItemRegex(ORDERED);\nexport const UNORDERED_LIST_ITEM_R = generateListItemRegex(UNORDERED);\n\nexport const generateListRegex = (type: ListType): RegExp => {\n const bullet = type === ORDERED ? ORDERED_LIST_BULLET : UNORDERED_LIST_BULLET;\n\n return new RegExp(\n '^( *)(' +\n bullet +\n ') ' +\n // The body advances a line at a time rather than a character at a time: a\n // list can only end at a line boundary, so the terminator — the expensive\n // half, with its two nested lookaheads — is tried once per line instead of\n // once per character. The step swallows the newline that used to open the\n // terminator, which is why it now reads `\\n+` and not `\\n{2,}`, and the\n // leading lookahead keeps a source with nothing left after the bullet from\n // matching through a zero-width step.\n '(?=[\\\\s\\\\S])(?:[^\\\\n]*(?:\\\\n|$))+?' +\n '(?:\\\\n+(?! )' +\n '(?!\\\\1' +\n bullet +\n ' (?!' +\n bullet +\n ' ))\\\\n*' +\n // `\\s` already covers `\\n`, so the trailing `\\n*` the pattern used to\n // carry could only ever match empty — and paying for it at every step of\n // the lazy scan cost a third of the whole match.\n '|\\\\s*$)'\n );\n};\n\nexport const ORDERED_LIST_R = generateListRegex(ORDERED);\nexport const UNORDERED_LIST_R = generateListRegex(UNORDERED);\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/markdown/elementScanner.ts
|
|
2
2
|
/**
|
|
3
3
|
* Lean, non-backtracking element scanner for HTML blocks, custom components, and self-closing tags.
|
|
4
4
|
*/
|
|
@@ -178,6 +178,5 @@ const startsWithSelfClosingElement = (source) => matchSelfClosingElement(source)
|
|
|
178
178
|
const startsWithCustomComponent = (source) => matchCustomComponent(source) !== null;
|
|
179
179
|
const startsWithElement = (source) => startsWithHtmlBlockElement(source) || startsWithSelfClosingElement(source);
|
|
180
180
|
|
|
181
|
-
//#endregion
|
|
182
181
|
export { matchCustomComponent, matchElement, matchHtmlBlockElement, matchSelfClosingElement, startsWithCustomComponent, startsWithElement, startsWithHtmlBlockElement, startsWithSelfClosingElement };
|
|
183
182
|
//# sourceMappingURL=elementScanner.mjs.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { getMarkdownMetadata } from "../transpiler/markdown/getMarkdownMetadata.mjs";
|
|
2
2
|
import { validateMarkdown } from "../transpiler/markdown/validateMarkdown.mjs";
|
|
3
3
|
import { md as markdown } from "../transpiler/markdown/markdown.mjs";
|
|
4
|
+
import { compile, compileWithOptions, createCompiler, getRuleSet, parseMarkdown, renderMarkdownAst } from "./compiler.mjs";
|
|
4
5
|
import { ATTRIBUTES_TO_SANITIZE, ATTRIBUTE_NAME_START_R, ATTRIBUTE_TO_NODE_PROP_MAP, ATTR_EXTRACTOR_R, BLOCKQUOTE_ALERT_R, BLOCKQUOTE_R, BLOCKQUOTE_TRIM_LEFT_MULTILINE_R, BLOCK_END_R, BREAK_LINE_R, BREAK_THEMATIC_R, CAPTURE_LETTER_AFTER_HYPHEN, CODE_BLOCK_FENCED_R, CODE_BLOCK_R, CODE_INLINE_R, CONSECUTIVE_NEWLINE_R, CR_NEWLINE_R, DO_NOT_PROCESS_HTML_ELEMENTS, FENCE_DELIMITER_R, FOOTNOTE_R, FOOTNOTE_REFERENCE_R, FORMFEED_R, FRONT_MATTER_R, GFM_TASK_R, HEADING_ATX_COMPLIANT_R, HEADING_R, HEADING_SETEXT_R, HTML_CHAR_CODE_R, HTML_COMMENT_R, HTML_CUSTOM_ATTR_R, HTML_LEFT_TRIM_AMOUNT_R, INLINE_SKIP_R, INTERPOLATION_R, LINK_AUTOLINK_BARE_URL_R, LINK_AUTOLINK_R, LOOKAHEAD, NAMED_CODES_TO_UNICODE, NP_TABLE_R, ORDERED, ORDERED_LIST_BULLET, ORDERED_LIST_ITEM_PREFIX, ORDERED_LIST_ITEM_PREFIX_R, ORDERED_LIST_ITEM_R, ORDERED_LIST_R, PARAGRAPH_R, Priority, REFERENCE_IMAGE_OR_LINK, REFERENCE_IMAGE_R, REFERENCE_LINK_R, RuleScope, RuleType, SCOPE_BLOCK, SCOPE_BOTH, SCOPE_INLINE, SHORTCODE_R, SHOULD_RENDER_AS_BLOCK_R, TABLE_CENTER_ALIGN, TABLE_LEFT_ALIGN, TABLE_RIGHT_ALIGN, TABLE_TRIM_PIPES, TAB_R, TEXT_BOLD_R, TEXT_EMPHASIZED_R, TEXT_ESCAPED_R, TEXT_MARKED_R, TEXT_STRIKETHROUGHED_R, TRIM_STARTING_NEWLINES, UNESCAPE_R, UNORDERED, UNORDERED_LIST_BULLET, UNORDERED_LIST_ITEM_PREFIX, UNORDERED_LIST_ITEM_PREFIX_R, UNORDERED_LIST_ITEM_R, UNORDERED_LIST_R, generateListItemPrefix, generateListItemPrefixRegex, generateListItemRegex, generateListRegex } from "./constants.mjs";
|
|
5
|
-
import { allowInline, anyScopeRegex, attributeValueToNodePropValue, blockRegex, captureNothing, cx, get, inlineRegex, normalizeAttributeKey, normalizeWhitespace, parseBlock, parseCaptureInline, parseInline, parseSimpleInline, parseStyleAttribute, parseTableAlign, parseTableAlignCapture, parseTableCells, parseTableRow, qualifies, renderNothing, sanitizer, simpleInlineRegex, slugify, some, startsWith, trimEnd, trimLeadingWhitespaceOutsideFences, unescapeString, unquote } from "./utils.mjs";
|
|
6
6
|
import { parserFor } from "./parser.mjs";
|
|
7
7
|
import { createRenderer, renderFor } from "./renderer.mjs";
|
|
8
|
-
import {
|
|
8
|
+
import { allowInline, anyScopeRegex, attributeValueToNodePropValue, blockRegex, captureNothing, cx, get, inlineRegex, normalizeAttributeKey, normalizeWhitespace, parseBlock, parseCaptureInline, parseInline, parseSimpleInline, parseStyleAttribute, parseTableAlign, parseTableAlignCapture, parseTableCells, parseTableRow, qualifies, renderNothing, sanitizer, simpleInlineRegex, slugify, some, startsWith, trimEnd, trimLeadingWhitespaceOutsideFences, unescapeString, unquote } from "./utils.mjs";
|
|
9
9
|
|
|
10
10
|
export { ATTRIBUTES_TO_SANITIZE, ATTRIBUTE_NAME_START_R, ATTRIBUTE_TO_NODE_PROP_MAP, ATTR_EXTRACTOR_R, BLOCKQUOTE_ALERT_R, BLOCKQUOTE_R, BLOCKQUOTE_TRIM_LEFT_MULTILINE_R, BLOCK_END_R, BREAK_LINE_R, BREAK_THEMATIC_R, CAPTURE_LETTER_AFTER_HYPHEN, CODE_BLOCK_FENCED_R, CODE_BLOCK_R, CODE_INLINE_R, CONSECUTIVE_NEWLINE_R, CR_NEWLINE_R, DO_NOT_PROCESS_HTML_ELEMENTS, FENCE_DELIMITER_R, FOOTNOTE_R, FOOTNOTE_REFERENCE_R, FORMFEED_R, FRONT_MATTER_R, GFM_TASK_R, HEADING_ATX_COMPLIANT_R, HEADING_R, HEADING_SETEXT_R, HTML_CHAR_CODE_R, HTML_COMMENT_R, HTML_CUSTOM_ATTR_R, HTML_LEFT_TRIM_AMOUNT_R, INLINE_SKIP_R, INTERPOLATION_R, LINK_AUTOLINK_BARE_URL_R, LINK_AUTOLINK_R, LOOKAHEAD, NAMED_CODES_TO_UNICODE, NP_TABLE_R, ORDERED, ORDERED_LIST_BULLET, ORDERED_LIST_ITEM_PREFIX, ORDERED_LIST_ITEM_PREFIX_R, ORDERED_LIST_ITEM_R, ORDERED_LIST_R, PARAGRAPH_R, Priority, REFERENCE_IMAGE_OR_LINK, REFERENCE_IMAGE_R, REFERENCE_LINK_R, RuleScope, RuleType, SCOPE_BLOCK, SCOPE_BOTH, SCOPE_INLINE, SHORTCODE_R, SHOULD_RENDER_AS_BLOCK_R, TABLE_CENTER_ALIGN, TABLE_LEFT_ALIGN, TABLE_RIGHT_ALIGN, TABLE_TRIM_PIPES, TAB_R, TEXT_BOLD_R, TEXT_EMPHASIZED_R, TEXT_ESCAPED_R, TEXT_MARKED_R, TEXT_STRIKETHROUGHED_R, TRIM_STARTING_NEWLINES, UNESCAPE_R, UNORDERED, UNORDERED_LIST_BULLET, UNORDERED_LIST_ITEM_PREFIX, UNORDERED_LIST_ITEM_PREFIX_R, UNORDERED_LIST_ITEM_R, UNORDERED_LIST_R, allowInline, anyScopeRegex, attributeValueToNodePropValue, blockRegex, captureNothing, compile, compileWithOptions, createCompiler, createRenderer, cx, generateListItemPrefix, generateListItemPrefixRegex, generateListItemRegex, generateListRegex, get, getMarkdownMetadata, getRuleSet, inlineRegex, markdown as md, normalizeAttributeKey, normalizeWhitespace, parseBlock, parseCaptureInline, parseInline, parseMarkdown, parseSimpleInline, parseStyleAttribute, parseTableAlign, parseTableAlignCapture, parseTableCells, parseTableRow, parserFor, qualifies, renderFor, renderMarkdownAst, renderNothing, sanitizer, simpleInlineRegex, slugify, some, startsWith, trimEnd, trimLeadingWhitespaceOutsideFences, unescapeString, unquote, validateMarkdown };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RuleType, SCOPE_BLOCK, SCOPE_INLINE } from "./constants.mjs";
|
|
2
2
|
import { normalizeWhitespace, qualifies } from "./utils.mjs";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
// src/markdown/parser.ts
|
|
5
5
|
/**
|
|
6
6
|
* Advance the incremental lookbehind carried on the parse state.
|
|
7
7
|
*
|
|
@@ -137,6 +137,5 @@ const parserFor = (rules) => {
|
|
|
137
137
|
return (source, state) => nestedParse(normalizeWhitespace(source), state);
|
|
138
138
|
};
|
|
139
139
|
|
|
140
|
-
//#endregion
|
|
141
140
|
export { parserFor };
|
|
142
141
|
//# sourceMappingURL=parser.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/markdown/renderer.ts
|
|
2
2
|
/**
|
|
3
3
|
* Creates a renderer for AST nodes.
|
|
4
4
|
* Renamed from `reactFor` to be framework-agnostic.
|
|
@@ -46,6 +46,5 @@ const createRenderer = (rules, userRender) => {
|
|
|
46
46
|
};
|
|
47
47
|
};
|
|
48
48
|
|
|
49
|
-
//#endregion
|
|
50
49
|
export { createRenderer, renderFor };
|
|
51
50
|
//# sourceMappingURL=renderer.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ATTRIBUTES_TO_SANITIZE, CAPTURE_LETTER_AFTER_HYPHEN, CR_NEWLINE_R, FENCE_DELIMITER_R, FORMFEED_R, HTML_CUSTOM_ATTR_R, INTERPOLATION_R, TABLE_CENTER_ALIGN, TABLE_LEFT_ALIGN, TABLE_RIGHT_ALIGN, TABLE_TRIM_PIPES, TAB_R, UNESCAPE_R } from "./constants.mjs";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/markdown/utils.ts
|
|
4
4
|
/**
|
|
5
5
|
* Trim trailing whitespace from a string.
|
|
6
6
|
*/
|
|
@@ -441,6 +441,5 @@ const some = (probes, input) => {
|
|
|
441
441
|
return false;
|
|
442
442
|
};
|
|
443
443
|
|
|
444
|
-
//#endregion
|
|
445
444
|
export { allowInline, anyScopeRegex, attributeValueToNodePropValue, blockRegex, captureNothing, cx, get, inlineRegex, normalizeAttributeKey, normalizeWhitespace, parseBlock, parseCaptureInline, parseInline, parseSimpleInline, parseStyleAttribute, parseTableAlign, parseTableAlignCapture, parseTableCells, parseTableRow, qualifies, renderNothing, sanitizer, simpleInlineRegex, slugify, some, startsWith, trimEnd, trimLeadingWhitespaceOutsideFences, unescapeString, unquote };
|
|
446
445
|
//# sourceMappingURL=utils.mjs.map
|
|
@@ -7,7 +7,7 @@ import { plural } from "../transpiler/plural/plural.mjs";
|
|
|
7
7
|
import { select } from "../transpiler/select/select.mjs";
|
|
8
8
|
import * as NodeTypes from "@intlayer/types/nodeType";
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
// src/messageFormat/ICU.ts
|
|
11
11
|
const parseICU = (text) => {
|
|
12
12
|
let index = 0;
|
|
13
13
|
const parseNodes = () => {
|
|
@@ -417,6 +417,5 @@ const icuToIntlayerFormatter = (message) => {
|
|
|
417
417
|
});
|
|
418
418
|
};
|
|
419
419
|
|
|
420
|
-
//#endregion
|
|
421
420
|
export { icuToIntlayerFormatter, intlayerToICUFormatter };
|
|
422
421
|
//# sourceMappingURL=ICU.mjs.map
|
|
@@ -7,7 +7,7 @@ import { plural } from "../transpiler/plural/plural.mjs";
|
|
|
7
7
|
import { select } from "../transpiler/select/select.mjs";
|
|
8
8
|
import * as NodeTypes from "@intlayer/types/nodeType";
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
// src/messageFormat/i18next.ts
|
|
11
11
|
const parseI18Next = (text) => {
|
|
12
12
|
let index = 0;
|
|
13
13
|
const parseNodes = () => {
|
|
@@ -399,6 +399,5 @@ const i18nextToIntlayerFormatter = (message) => {
|
|
|
399
399
|
});
|
|
400
400
|
};
|
|
401
401
|
|
|
402
|
-
//#endregion
|
|
403
402
|
export { i18nextToIntlayerFormatter, intlayerToI18nextFormatter };
|
|
404
403
|
//# sourceMappingURL=i18next.mjs.map
|
|
@@ -2,7 +2,7 @@ import { icuToIntlayerFormatter, intlayerToICUFormatter } from "./ICU.mjs";
|
|
|
2
2
|
import { i18nextToIntlayerFormatter, intlayerToI18nextFormatter } from "./i18next.mjs";
|
|
3
3
|
import { navigatePath } from "./navigatePath.mjs";
|
|
4
4
|
import { intlayerToPortableObjectFormatter, portableObjectToIntlayerFormatter } from "./po.mjs";
|
|
5
|
-
import { intlayerToVueI18nFormatter, vueI18nToIntlayerFormatter } from "./vue-i18n.mjs";
|
|
6
5
|
import { createMessageResolver, interpolateMessage, parseTaggedMessage, resolveMessage, resolveMessageNode, resolveMessageNodeToString } from "./resolveMessage.mjs";
|
|
6
|
+
import { intlayerToVueI18nFormatter, vueI18nToIntlayerFormatter } from "./vue-i18n.mjs";
|
|
7
7
|
|
|
8
8
|
export { createMessageResolver, i18nextToIntlayerFormatter, icuToIntlayerFormatter, interpolateMessage, intlayerToI18nextFormatter, intlayerToICUFormatter, intlayerToPortableObjectFormatter, intlayerToVueI18nFormatter, navigatePath, parseTaggedMessage, portableObjectToIntlayerFormatter, resolveMessage, resolveMessageNode, resolveMessageNodeToString, vueI18nToIntlayerFormatter };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/messageFormat/navigatePath.ts
|
|
2
2
|
/**
|
|
3
3
|
* Reads a dotted `path` (e.g. `counter.label`) out of a nested content value.
|
|
4
4
|
*
|
|
@@ -31,6 +31,5 @@ const navigatePath = (contentValue, path, keySeparator = ".") => {
|
|
|
31
31
|
return current;
|
|
32
32
|
};
|
|
33
33
|
|
|
34
|
-
//#endregion
|
|
35
34
|
export { navigatePath };
|
|
36
35
|
//# sourceMappingURL=navigatePath.mjs.map
|
|
@@ -6,7 +6,7 @@ import { insert as insertion } from "../transpiler/insertion/insertion.mjs";
|
|
|
6
6
|
import { plural } from "../transpiler/plural/plural.mjs";
|
|
7
7
|
import * as NodeTypes from "@intlayer/types/nodeType";
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
// src/messageFormat/po.ts
|
|
10
10
|
/**
|
|
11
11
|
* Extracts the string value from a transformed AST node or generic object.
|
|
12
12
|
*/
|
|
@@ -162,6 +162,5 @@ const portableObjectToIntlayerFormatter = (message) => {
|
|
|
162
162
|
});
|
|
163
163
|
};
|
|
164
164
|
|
|
165
|
-
//#endregion
|
|
166
165
|
export { intlayerToPortableObjectFormatter, portableObjectToIntlayerFormatter };
|
|
167
166
|
//# sourceMappingURL=po.mjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { getEnumeration } from "../interpreter/getEnumeration.mjs";
|
|
2
1
|
import { getCachedIntl } from "../utils/intl.mjs";
|
|
2
|
+
import { getEnumeration } from "../interpreter/getEnumeration.mjs";
|
|
3
3
|
import { getPlural } from "../interpreter/getPlural.mjs";
|
|
4
4
|
import { getSelect } from "../interpreter/getSelect.mjs";
|
|
5
5
|
import { icuToIntlayerFormatter } from "./ICU.mjs";
|
|
@@ -7,7 +7,7 @@ import { i18nextToIntlayerFormatter } from "./i18next.mjs";
|
|
|
7
7
|
import { vueI18nToIntlayerFormatter } from "./vue-i18n.mjs";
|
|
8
8
|
import * as NodeTypes from "@intlayer/types/nodeType";
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
// src/messageFormat/resolveMessage.ts
|
|
11
11
|
/** Internal enumeration metadata keys injected by the converters. */
|
|
12
12
|
const ENUMERATION_METADATA_KEYS = [
|
|
13
13
|
"__intlayer_icu_var",
|
|
@@ -212,6 +212,5 @@ const parseTaggedMessage = (message) => {
|
|
|
212
212
|
return tokens;
|
|
213
213
|
};
|
|
214
214
|
|
|
215
|
-
//#endregion
|
|
216
215
|
export { createMessageResolver, interpolateMessage, parseTaggedMessage, resolveMessage, resolveMessageNode, resolveMessageNodeToString };
|
|
217
216
|
//# sourceMappingURL=resolveMessage.mjs.map
|
|
@@ -3,7 +3,7 @@ import { gender } from "../transpiler/gender/gender.mjs";
|
|
|
3
3
|
import { insert as insertion } from "../transpiler/insertion/insertion.mjs";
|
|
4
4
|
import { icuToIntlayerFormatter, intlayerToICUFormatter } from "./ICU.mjs";
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
// src/messageFormat/verify-icu-format.ts
|
|
7
7
|
/**
|
|
8
8
|
* Verification script to demonstrate ICU format conversion
|
|
9
9
|
* This script shows that Intlayer correctly converts {{var}} (internal format)
|
|
@@ -62,5 +62,4 @@ console.log("ICU MessageFormat uses single braces: {var}");
|
|
|
62
62
|
console.log("Intlayer internal format uses double braces: {{var}}");
|
|
63
63
|
console.log("The conversion between these formats is handled automatically.");
|
|
64
64
|
|
|
65
|
-
//#endregion
|
|
66
65
|
//# sourceMappingURL=verify-icu-format.mjs.map
|
|
@@ -3,7 +3,7 @@ import { enu as enumeration } from "../transpiler/enumeration/enumeration.mjs";
|
|
|
3
3
|
import { insert as insertion } from "../transpiler/insertion/insertion.mjs";
|
|
4
4
|
import * as NodeTypes from "@intlayer/types/nodeType";
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
// src/messageFormat/vue-i18n.ts
|
|
7
7
|
const parseVueI18nPart = (text) => {
|
|
8
8
|
let index = 0;
|
|
9
9
|
const nodes = [];
|
|
@@ -197,6 +197,5 @@ const vueI18nToIntlayerFormatter = (message) => {
|
|
|
197
197
|
});
|
|
198
198
|
};
|
|
199
199
|
|
|
200
|
-
//#endregion
|
|
201
200
|
export { intlayerToVueI18nFormatter, vueI18nToIntlayerFormatter };
|
|
202
201
|
//# sourceMappingURL=vue-i18n.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CONDITION, formatNodeType } from "@intlayer/types/nodeType";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/transpiler/condition/condition.ts
|
|
4
4
|
/**
|
|
5
5
|
* Function intended to be used to build intlayer dictionaries.
|
|
6
6
|
*
|
|
@@ -20,6 +20,5 @@ import { CONDITION, formatNodeType } from "@intlayer/types/nodeType";
|
|
|
20
20
|
*/
|
|
21
21
|
const condition = (content) => formatNodeType(CONDITION, content);
|
|
22
22
|
|
|
23
|
-
//#endregion
|
|
24
23
|
export { condition as cond };
|
|
25
24
|
//# sourceMappingURL=condition.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ENUMERATION, formatNodeType } from "@intlayer/types/nodeType";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/transpiler/enumeration/enumeration.ts
|
|
4
4
|
/**
|
|
5
5
|
* Function intended to be used to build intlayer dictionaries.
|
|
6
6
|
*
|
|
@@ -22,6 +22,5 @@ import { ENUMERATION, formatNodeType } from "@intlayer/types/nodeType";
|
|
|
22
22
|
*/
|
|
23
23
|
const enumeration = (content) => formatNodeType(ENUMERATION, content);
|
|
24
24
|
|
|
25
|
-
//#endregion
|
|
26
25
|
export { enumeration as enu };
|
|
27
26
|
//# sourceMappingURL=enumeration.mjs.map
|
|
@@ -3,7 +3,7 @@ import { colorizePath, getAppLogger } from "@intlayer/config/logger";
|
|
|
3
3
|
import { existsSync, readFileSync, statSync } from "node:fs";
|
|
4
4
|
import { dirname, isAbsolute, relative, resolve } from "node:path";
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
// src/transpiler/file/file.ts
|
|
7
7
|
const fileContent = (path, callerDir, baseDir) => {
|
|
8
8
|
const isRelativePath = path.startsWith("./") || path.startsWith("../");
|
|
9
9
|
const appLogger = getAppLogger();
|
|
@@ -45,6 +45,5 @@ const file = (path) => {
|
|
|
45
45
|
return fileContent(path, callerDir, INTLAYER_BASE_DIR);
|
|
46
46
|
};
|
|
47
47
|
|
|
48
|
-
//#endregion
|
|
49
48
|
export { file, fileContent };
|
|
50
49
|
//# sourceMappingURL=file.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/transpiler/file/fileBrowser.ts
|
|
2
2
|
/**
|
|
3
3
|
* Function intended to be used to build intlayer dictionaries.
|
|
4
4
|
*
|
|
@@ -18,6 +18,5 @@ const file = (_path) => {
|
|
|
18
18
|
throw new Error("file is not available in browser");
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
-
//#endregion
|
|
22
21
|
export { file };
|
|
23
22
|
//# sourceMappingURL=fileBrowser.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GENDER, formatNodeType } from "@intlayer/types/nodeType";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/transpiler/gender/gender.ts
|
|
4
4
|
/**
|
|
5
5
|
* Function intended to be used to build intlayer dictionaries.
|
|
6
6
|
*
|
|
@@ -20,6 +20,5 @@ import { GENDER, formatNodeType } from "@intlayer/types/nodeType";
|
|
|
20
20
|
*/
|
|
21
21
|
const gender = (content) => formatNodeType(GENDER, content);
|
|
22
22
|
|
|
23
|
-
//#endregion
|
|
24
23
|
export { gender };
|
|
25
24
|
//# sourceMappingURL=gender.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/transpiler/html/getHTMLCustomComponents.ts
|
|
2
2
|
const parseAttributes = (attributesString) => {
|
|
3
3
|
const attributes = {};
|
|
4
4
|
if (!attributesString?.trim()) return attributes;
|
|
@@ -37,6 +37,5 @@ const getHTMLCustomComponents = (content) => {
|
|
|
37
37
|
return components;
|
|
38
38
|
};
|
|
39
39
|
|
|
40
|
-
//#endregion
|
|
41
40
|
export { getHTMLCustomComponents };
|
|
42
41
|
//# sourceMappingURL=getHTMLCustomComponents.mjs.map
|
|
@@ -2,7 +2,7 @@ import { getHTMLCustomComponents } from "./getHTMLCustomComponents.mjs";
|
|
|
2
2
|
import { validateHTML } from "./validateHTML.mjs";
|
|
3
3
|
import { HTML, formatNodeType } from "@intlayer/types/nodeType";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// src/transpiler/html/html.ts
|
|
6
6
|
/**
|
|
7
7
|
* Function intended to be used to build intlayer dictionaries.
|
|
8
8
|
*
|
|
@@ -37,6 +37,5 @@ const html = (content, components) => {
|
|
|
37
37
|
return formatNodeType(HTML, content, { tags: getComponents() });
|
|
38
38
|
};
|
|
39
39
|
|
|
40
|
-
//#endregion
|
|
41
40
|
export { html };
|
|
42
41
|
//# sourceMappingURL=html.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/transpiler/html/htmlTags.ts
|
|
2
2
|
/**
|
|
3
3
|
* List of standard HTML tags to provide as default components.
|
|
4
4
|
* These allow users to use standard HTML tags in their html() content
|
|
@@ -110,6 +110,5 @@ const HTML_TAGS = [
|
|
|
110
110
|
"slot"
|
|
111
111
|
];
|
|
112
112
|
|
|
113
|
-
//#endregion
|
|
114
113
|
export { HTML_TAGS };
|
|
115
114
|
//# sourceMappingURL=htmlTags.mjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { VOID_HTML_ELEMENTS, validateHTML } from "./validateHTML.mjs";
|
|
2
1
|
import { html } from "./html.mjs";
|
|
3
2
|
import { HTML_TAGS } from "./htmlTags.mjs";
|
|
3
|
+
import { VOID_HTML_ELEMENTS, validateHTML } from "./validateHTML.mjs";
|
|
4
4
|
|
|
5
5
|
export { HTML_TAGS, VOID_HTML_ELEMENTS, html, validateHTML };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/transpiler/html/validateHTML.ts
|
|
2
2
|
const VOID_HTML_ELEMENTS = /* @__PURE__ */ new Set([
|
|
3
3
|
"area",
|
|
4
4
|
"base",
|
|
@@ -59,6 +59,5 @@ const validateHTML = (content) => {
|
|
|
59
59
|
};
|
|
60
60
|
};
|
|
61
61
|
|
|
62
|
-
//#endregion
|
|
63
62
|
export { VOID_HTML_ELEMENTS, validateHTML };
|
|
64
63
|
//# sourceMappingURL=validateHTML.mjs.map
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DEFAULT_PLURAL_VARIABLE, plural } from "./plural/plural.mjs";
|
|
1
2
|
import { cond as condition } from "./condition/condition.mjs";
|
|
2
3
|
import { enu as enumeration } from "./enumeration/enumeration.mjs";
|
|
3
4
|
import { gender } from "./gender/gender.mjs";
|
|
@@ -10,8 +11,7 @@ import { getMarkdownMetadata } from "./markdown/getMarkdownMetadata.mjs";
|
|
|
10
11
|
import { validateMarkdown } from "./markdown/validateMarkdown.mjs";
|
|
11
12
|
import { md as markdown } from "./markdown/markdown.mjs";
|
|
12
13
|
import { nest as nesting } from "./nesting/nesting.mjs";
|
|
13
|
-
import { plural } from "./plural/plural.mjs";
|
|
14
14
|
import { select } from "./select/select.mjs";
|
|
15
15
|
import { t as translation } from "./translation/translation.mjs";
|
|
16
16
|
|
|
17
|
-
export { HTML_TAGS, VOID_HTML_ELEMENTS, condition as cond, enumeration as enu, gender, getInsertionValues, getMarkdownMetadata, html, insertion as insert, markdown as md, nesting as nest, plural, select, translation as t, validateHTML, validateMarkdown };
|
|
17
|
+
export { DEFAULT_PLURAL_VARIABLE, HTML_TAGS, VOID_HTML_ELEMENTS, condition as cond, enumeration as enu, gender, getInsertionValues, getMarkdownMetadata, html, insertion as insert, markdown as md, nesting as nest, plural, select, translation as t, validateHTML, validateMarkdown };
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
// src/transpiler/insertion/getInsertionValues.ts
|
|
2
2
|
const getInsertionValues = (content) => {
|
|
3
3
|
const matches = [...content.matchAll(/{{\s*(.*?)\s*}}/g)];
|
|
4
4
|
if (matches.length === 0) return [];
|
|
5
5
|
return [...new Set(matches.map((match) => match[1].trim()))].filter(Boolean);
|
|
6
6
|
};
|
|
7
7
|
|
|
8
|
-
//#endregion
|
|
9
8
|
export { getInsertionValues };
|
|
10
9
|
//# sourceMappingURL=getInsertionValues.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getInsertionValues } from "./getInsertionValues.mjs";
|
|
2
2
|
import { INSERTION, formatNodeType } from "@intlayer/types/nodeType";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
// src/transpiler/insertion/insertion.ts
|
|
5
5
|
/**
|
|
6
6
|
* Function intended to be used to build intlayer dictionaries.
|
|
7
7
|
*
|
|
@@ -30,6 +30,5 @@ const insertion = (content) => {
|
|
|
30
30
|
return formatNodeType(INSERTION, content, { fields: getInsertions() });
|
|
31
31
|
};
|
|
32
32
|
|
|
33
|
-
//#endregion
|
|
34
33
|
export { insertion as insert };
|
|
35
34
|
//# sourceMappingURL=insertion.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { parseYaml } from "../../utils/parseYaml.mjs";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/transpiler/markdown/getMarkdownMetadata.ts
|
|
4
4
|
/**
|
|
5
5
|
* Extracts the raw content between the leading `---` delimiters.
|
|
6
6
|
*
|
|
@@ -38,6 +38,5 @@ const getMarkdownMetadata = (markdown) => {
|
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
40
|
|
|
41
|
-
//#endregion
|
|
42
41
|
export { getMarkdownMetadata };
|
|
43
42
|
//# sourceMappingURL=getMarkdownMetadata.mjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getMarkdownMetadata } from "./getMarkdownMetadata.mjs";
|
|
2
|
-
import { validateMarkdown } from "./validateMarkdown.mjs";
|
|
3
2
|
import { md as markdown } from "./markdown.mjs";
|
|
3
|
+
import { validateMarkdown } from "./validateMarkdown.mjs";
|
|
4
4
|
|
|
5
5
|
export { getMarkdownMetadata, markdown as md, validateMarkdown };
|
|
@@ -4,7 +4,7 @@ import { getMarkdownMetadata } from "./getMarkdownMetadata.mjs";
|
|
|
4
4
|
import { validateMarkdown } from "./validateMarkdown.mjs";
|
|
5
5
|
import { MARKDOWN, formatNodeType } from "@intlayer/types/nodeType";
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
// src/transpiler/markdown/markdown.ts
|
|
8
8
|
const awaitContent = async (content) => {
|
|
9
9
|
if (typeof content === "string" || typeof content === "object") return content;
|
|
10
10
|
if (typeof content === "function") return content();
|
|
@@ -57,6 +57,5 @@ const markdown = (content, components) => {
|
|
|
57
57
|
});
|
|
58
58
|
};
|
|
59
59
|
|
|
60
|
-
//#endregion
|
|
61
60
|
export { markdown as md };
|
|
62
61
|
//# sourceMappingURL=markdown.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { validateHTML } from "../html/validateHTML.mjs";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/transpiler/markdown/validateMarkdown.ts
|
|
4
4
|
/**
|
|
5
5
|
* Strips fenced code blocks and inline code from markdown content so that
|
|
6
6
|
* HTML-like syntax inside code is not mistakenly validated.
|
|
@@ -70,6 +70,5 @@ const validateMarkdown = (content) => {
|
|
|
70
70
|
};
|
|
71
71
|
};
|
|
72
72
|
|
|
73
|
-
//#endregion
|
|
74
73
|
export { validateMarkdown };
|
|
75
74
|
//# sourceMappingURL=validateMarkdown.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NESTED, formatNodeType } from "@intlayer/types/nodeType";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/transpiler/nesting/nesting.ts
|
|
4
4
|
/**
|
|
5
5
|
* Function intended to be used to build intlayer dictionaries.
|
|
6
6
|
*
|
|
@@ -21,6 +21,5 @@ const nesting = (dictionaryKey, path) => formatNodeType(NESTED, {
|
|
|
21
21
|
path
|
|
22
22
|
});
|
|
23
23
|
|
|
24
|
-
//#endregion
|
|
25
24
|
export { nesting as nest };
|
|
26
25
|
//# sourceMappingURL=nesting.mjs.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { plural } from "./plural.mjs";
|
|
1
|
+
import { DEFAULT_PLURAL_VARIABLE, plural } from "./plural.mjs";
|
|
2
2
|
|
|
3
|
-
export { plural };
|
|
3
|
+
export { DEFAULT_PLURAL_VARIABLE, plural };
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { PLURAL, formatNodeType } from "@intlayer/types/nodeType";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/transpiler/plural/plural.ts
|
|
4
|
+
/** Name of the value a plural selects on when no `variable` is declared. */
|
|
5
|
+
const DEFAULT_PLURAL_VARIABLE = "count";
|
|
4
6
|
/**
|
|
5
7
|
* Function intended to be used to build intlayer dictionaries.
|
|
6
8
|
*
|
|
@@ -23,9 +25,24 @@ import { PLURAL, formatNodeType } from "@intlayer/types/nodeType";
|
|
|
23
25
|
* other: '{{count}} вакансий',
|
|
24
26
|
* });
|
|
25
27
|
* ```
|
|
28
|
+
*
|
|
29
|
+
* Nest plurals declaring a `variable` to select on several quantities:
|
|
30
|
+
*
|
|
31
|
+
* ```ts
|
|
32
|
+
* plural(
|
|
33
|
+
* {
|
|
34
|
+
* one: plural(
|
|
35
|
+
* { one: '{{files}} file in {{folders}} folder', other: '…' },
|
|
36
|
+
* { variable: 'folders' }
|
|
37
|
+
* ),
|
|
38
|
+
* other: plural({ … }, { variable: 'folders' }),
|
|
39
|
+
* },
|
|
40
|
+
* { variable: 'files' }
|
|
41
|
+
* );
|
|
42
|
+
* // content.filesInFolders({ files: 1, folders: 2 })
|
|
43
|
+
* ```
|
|
26
44
|
*/
|
|
27
|
-
const plural = (content) => formatNodeType(PLURAL, content);
|
|
45
|
+
const plural = (content, options) => formatNodeType(PLURAL, content, options?.variable ? { variable: options.variable } : void 0);
|
|
28
46
|
|
|
29
|
-
|
|
30
|
-
export { plural };
|
|
47
|
+
export { DEFAULT_PLURAL_VARIABLE, plural };
|
|
31
48
|
//# sourceMappingURL=plural.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plural.mjs","names":[],"sources":["../../../../src/transpiler/plural/plural.ts"],"sourcesContent":["import type { TypedNodeModel } from '@intlayer/types/nodeType';\nimport { formatNodeType, PLURAL } from '@intlayer/types/nodeType';\n\nexport type PluralCategory = 'zero' | 'one' | 'two' | 'few' | 'many' | 'other';\n\nexport type PluralContentState<Content> = Partial<\n Record<PluralCategory, Content>\n> & {\n other: Content;\n};\n\nexport type PluralContent
|
|
1
|
+
{"version":3,"file":"plural.mjs","names":[],"sources":["../../../../src/transpiler/plural/plural.ts"],"sourcesContent":["import type { TypedNodeModel } from '@intlayer/types/nodeType';\nimport { formatNodeType, PLURAL } from '@intlayer/types/nodeType';\n\nexport type PluralCategory = 'zero' | 'one' | 'two' | 'few' | 'many' | 'other';\n\nexport type PluralContentState<Content> = Partial<\n Record<PluralCategory, Content>\n> & {\n other: Content;\n};\n\n/** Name of the value a plural selects on when no `variable` is declared. */\nexport const DEFAULT_PLURAL_VARIABLE = 'count';\n\nexport type PluralOptions<Variable extends string = string> = {\n /**\n * Name of the value the plural category is selected on.\n *\n * Defaults to `count`. Set it to nest plurals over independent quantities:\n * the resolved function then takes `{ [variable]: number, … }`.\n */\n variable?: Variable;\n};\n\nexport type PluralContent<\n Content = unknown,\n Variable extends string = typeof DEFAULT_PLURAL_VARIABLE,\n> = TypedNodeModel<\n typeof PLURAL,\n PluralContentState<Content>,\n { variable?: Variable }\n>;\n\n/**\n * Function intended to be used to build intlayer dictionaries.\n *\n * Allow to pick a content based on a quantity using CLDR pluralization rules\n * (`Intl.PluralRules`). The selected category depends on the active locale.\n *\n * Supported categories: `zero`, `one`, `two`, `few`, `many`, `other`.\n * `other` is required as the fallback.\n *\n * The string content can include a `{{count}}` placeholder, which is\n * automatically replaced with the provided count.\n *\n * Usage:\n *\n * ```ts\n * plural({\n * one: '{{count}} вакансия',\n * few: '{{count}} вакансии',\n * many: '{{count}} вакансий',\n * other: '{{count}} вакансий',\n * });\n * ```\n *\n * Nest plurals declaring a `variable` to select on several quantities:\n *\n * ```ts\n * plural(\n * {\n * one: plural(\n * { one: '{{files}} file in {{folders}} folder', other: '…' },\n * { variable: 'folders' }\n * ),\n * other: plural({ … }, { variable: 'folders' }),\n * },\n * { variable: 'files' }\n * );\n * // content.filesInFolders({ files: 1, folders: 2 })\n * ```\n */\nconst plural = <\n Content = unknown,\n const Variable extends string = typeof DEFAULT_PLURAL_VARIABLE,\n>(\n content: PluralContentState<Content>,\n options?: PluralOptions<Variable>\n): PluralContent<Content, Variable> =>\n formatNodeType(\n PLURAL,\n content,\n options?.variable ? { variable: options.variable } : undefined\n );\n\nexport { plural };\n"],"mappings":";;;;AAYA,MAAa,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DvC,MAAM,UAIJ,SACA,YAEA,eACE,QACA,SACA,SAAS,WAAW,EAAE,UAAU,QAAQ,SAAS,IAAI,MACvD"}
|