blob: 469884cf483567ae194dc7dddf3fcc40f9de8536 [file] [log] [blame]
module.exports = classifyCharacter
var codes = require('../character/codes')
var markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space')
var unicodePunctuation = require('../character/unicode-punctuation')
var unicodeWhitespace = require('../character/unicode-whitespace')
var constants = require('../constant/constants')
// Classify whether a character is unicode whitespace, unicode punctuation, or
// anything else.
// Used for attention (emphasis, strong), whose sequences can open or close
// based on the class of surrounding characters.
function classifyCharacter(code) {
if (
code === codes.eof ||
markdownLineEndingOrSpace(code) ||
unicodeWhitespace(code)
) {
return constants.characterGroupWhitespace
}
if (unicodePunctuation(code)) {
return constants.characterGroupPunctuation
}
}