Files
NapCatQQ/.pnpm-store/v3/files/a4/963f431386dc9a1c213b34f455ebf60160d49a761b758ccbc89cefbc2f2d7a71dbe1c688eb9062929309e73543205266478819d7e57f15432ba401881b63b6
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

39 lines
952 B
Plaintext

/**
* @import {Code} from 'micromark-util-types'
*/
import {
markdownLineEndingOrSpace,
unicodePunctuation,
unicodeWhitespace
} from 'micromark-util-character'
import {codes, constants} from 'micromark-util-symbol'
/**
* Classify whether a code represents whitespace, punctuation, or something
* else.
*
* Used for attention (emphasis, strong), whose sequences can open or close
* based on the class of surrounding characters.
*
* > 👉 **Note**: eof (`null`) is seen as whitespace.
*
* @param {Code} code
* Code.
* @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined}
* Group.
*/
export function classifyCharacter(code) {
if (
code === codes.eof ||
markdownLineEndingOrSpace(code) ||
unicodeWhitespace(code)
) {
return constants.characterGroupWhitespace
}
if (unicodePunctuation(code)) {
return constants.characterGroupPunctuation
}
}