| 1234567891011121314151617181920212223242526272829303132 |
- /**
- * @import {Event, Resolver, TokenizeContext} from 'micromark-util-types'
- */
- /**
- * Call all `resolveAll`s.
- *
- * @param {ReadonlyArray<{resolveAll?: Resolver | undefined}>} constructs
- * List of constructs, optionally with `resolveAll`s.
- * @param {Array<Event>} events
- * List of events.
- * @param {TokenizeContext} context
- * Context used by `tokenize`.
- * @returns {Array<Event>}
- * Changed events.
- */
- export function resolveAll(constructs, events, context) {
- /** @type {Array<Resolver>} */
- const called = []
- let index = -1
- while (++index < constructs.length) {
- const resolve = constructs[index].resolveAll
- if (resolve && !called.includes(resolve)) {
- events = resolve(events, context)
- called.push(resolve)
- }
- }
- return events
- }
|