23 lines
522 B
JavaScript
23 lines
522 B
JavaScript
|
/**
|
||
|
* @typedef {import('../types.js').Options} Options
|
||
|
* @typedef {import('../types.js').State} State
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* @param {State} state
|
||
|
* @returns {Exclude<Options['ruleRepetition'], null | undefined>}
|
||
|
*/
|
||
|
export function checkRuleRepetition(state) {
|
||
|
const repetition = state.options.ruleRepetition || 3
|
||
|
|
||
|
if (repetition < 3) {
|
||
|
throw new Error(
|
||
|
'Cannot serialize rules with repetition `' +
|
||
|
repetition +
|
||
|
'` for `options.ruleRepetition`, expected `3` or more'
|
||
|
)
|
||
|
}
|
||
|
|
||
|
return repetition
|
||
|
}
|