| 123456789101112131415161718192021222324252627282930313233343536 |
- /**
- * @import {Element, Properties} from 'hast'
- * @import {Link} from 'mdast'
- * @import {State} from '../state.js'
- */
- import {normalizeUri} from 'micromark-util-sanitize-uri'
- /**
- * Turn an mdast `link` node into hast.
- *
- * @param {State} state
- * Info passed around.
- * @param {Link} node
- * mdast node.
- * @returns {Element}
- * hast node.
- */
- export function link(state, node) {
- /** @type {Properties} */
- const properties = {href: normalizeUri(node.url)}
- if (node.title !== null && node.title !== undefined) {
- properties.title = node.title
- }
- /** @type {Element} */
- const result = {
- type: 'element',
- tagName: 'a',
- properties,
- children: state.all(node)
- }
- state.patch(node, result)
- return state.applyData(node, result)
- }
|