/** | |
* This module is compiled away! | |
* | |
* Parsing markdown comes with a couple of constants, such as minimum or maximum | |
* sizes of certain sequences. | |
* Additionally, there are a couple symbols used inside micromark. | |
* These are all defined here, but compiled away by scripts. | |
*/ | |
export const constants = /** @type {const} */ ({ | |
attentionSideBefore: 1, // Symbol to mark an attention sequence as before content: `*a` | |
attentionSideAfter: 2, // Symbol to mark an attention sequence as after content: `a*` | |
atxHeadingOpeningFenceSizeMax: 6, // 6 number signs is fine, 7 isn’t. | |
autolinkDomainSizeMax: 63, // 63 characters is fine, 64 is too many. | |
autolinkSchemeSizeMax: 32, // 32 characters is fine, 33 is too many. | |
cdataOpeningString: 'CDATA[', // And preceded by `<![`. | |
characterGroupWhitespace: 1, // Symbol used to indicate a character is whitespace | |
characterGroupPunctuation: 2, // Symbol used to indicate a character is punctuation | |
characterReferenceDecimalSizeMax: 7, // `�`. | |
characterReferenceHexadecimalSizeMax: 6, // `�`. | |
characterReferenceNamedSizeMax: 31, // `∳`. | |
codeFencedSequenceSizeMin: 3, // At least 3 ticks or tildes are needed. | |
contentTypeDocument: 'document', | |
contentTypeFlow: 'flow', | |
contentTypeContent: 'content', | |
contentTypeString: 'string', | |
contentTypeText: 'text', | |
hardBreakPrefixSizeMin: 2, // At least 2 trailing spaces are needed. | |
htmlRaw: 1, // Symbol for `<script>` | |
htmlComment: 2, // Symbol for `<!---->` | |
htmlInstruction: 3, // Symbol for `<?php?>` | |
htmlDeclaration: 4, // Symbol for `<!doctype>` | |
htmlCdata: 5, // Symbol for `<![CDATA[]]>` | |
htmlBasic: 6, // Symbol for `<div` | |
htmlComplete: 7, // Symbol for `<x>` | |
htmlRawSizeMax: 8, // Length of `textarea`. | |
linkResourceDestinationBalanceMax: 32, // See: <https://spec.commonmark.org/0.30/#link-destination>, <https://github.com/remarkjs/react-markdown/issues/658#issuecomment-984345577> | |
linkReferenceSizeMax: 999, // See: <https://spec.commonmark.org/0.30/#link-label> | |
listItemValueSizeMax: 10, // See: <https://spec.commonmark.org/0.30/#ordered-list-marker> | |
numericBaseDecimal: 10, | |
numericBaseHexadecimal: 0x10, | |
tabSize: 4, // Tabs have a hard-coded size of 4, per CommonMark. | |
thematicBreakMarkerCountMin: 3, // At least 3 asterisks, dashes, or underscores are needed. | |
v8MaxSafeChunkSize: 10000 // V8 (and potentially others) have problems injecting giant arrays into other arrays, hence we operate in chunks. | |
}) | |