3 module.exports = thematicBreak;
9 var C_UNDERSCORE = '_';
12 var THEMATIC_BREAK_MARKER_COUNT = 3;
14 function thematicBreak(eat, value, silent) {
16 var length = value.length + 1;
23 while (++index < length) {
24 character = value.charAt(index);
26 if (character !== C_TAB && character !== C_SPACE) {
30 subvalue += character;
34 character !== C_ASTERISK &&
35 character !== C_DASH &&
36 character !== C_UNDERSCORE
42 subvalue += character;
46 while (++index < length) {
47 character = value.charAt(index);
49 if (character === marker) {
51 subvalue += queue + marker;
53 } else if (character === C_SPACE) {
56 markerCount >= THEMATIC_BREAK_MARKER_COUNT &&
57 (!character || character === C_NEWLINE)
65 return eat(subvalue)({type: 'thematicBreak'});