123456789101112131415161718192021222324252627282930313233343536373839 |
- /**
- * @typedef {import('../types.js').Options} Options
- * @typedef {import('../types.js').State} State
- */
- import {checkBullet} from './check-bullet.js'
- /**
- * @param {State} state
- * @returns {Exclude<Options['bullet'], null | undefined>}
- */
- export function checkBulletOther(state) {
- const bullet = checkBullet(state)
- const bulletOther = state.options.bulletOther
- if (!bulletOther) {
- return bullet === '*' ? '-' : '*'
- }
- if (bulletOther !== '*' && bulletOther !== '+' && bulletOther !== '-') {
- throw new Error(
- 'Cannot serialize items with `' +
- bulletOther +
- '` for `options.bulletOther`, expected `*`, `+`, or `-`'
- )
- }
- if (bulletOther === bullet) {
- throw new Error(
- 'Expected `bullet` (`' +
- bullet +
- '`) and `bulletOther` (`' +
- bulletOther +
- '`) to be different'
- )
- }
- return bulletOther
- }
|