23 lines
625 B
JavaScript
23 lines
625 B
JavaScript
|
/**
|
||
|
* @typedef {import('mdast').Parents} Parents
|
||
|
* @typedef {import('mdast').ThematicBreak} ThematicBreak
|
||
|
* @typedef {import('../types.js').State} State
|
||
|
*/
|
||
|
|
||
|
import {checkRuleRepetition} from '../util/check-rule-repetition.js'
|
||
|
import {checkRule} from '../util/check-rule.js'
|
||
|
|
||
|
/**
|
||
|
* @param {ThematicBreak} _
|
||
|
* @param {Parents | undefined} _1
|
||
|
* @param {State} state
|
||
|
* @returns {string}
|
||
|
*/
|
||
|
export function thematicBreak(_, _1, state) {
|
||
|
const value = (
|
||
|
checkRule(state) + (state.options.ruleSpaces ? ' ' : '')
|
||
|
).repeat(checkRuleRepetition(state))
|
||
|
|
||
|
return state.options.ruleSpaces ? value.slice(0, -1) : value
|
||
|
}
|