| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- /**
- * @import {ConstructName, Unsafe} from 'mdast-util-to-markdown'
- */
- /**
- * @param {Array<ConstructName>} stack
- * @param {Unsafe} pattern
- * @returns {boolean}
- */
- export function patternInScope(stack, pattern) {
- return (
- listInScope(stack, pattern.inConstruct, true) &&
- !listInScope(stack, pattern.notInConstruct, false)
- )
- }
- /**
- * @param {Array<ConstructName>} stack
- * @param {Unsafe['inConstruct']} list
- * @param {boolean} none
- * @returns {boolean}
- */
- function listInScope(stack, list, none) {
- if (typeof list === 'string') {
- list = [list]
- }
- if (!list || list.length === 0) {
- return none
- }
- let index = -1
- while (++index < list.length) {
- if (stack.includes(list[index])) {
- return true
- }
- }
- return false
- }
|