Files
30-seconds-of-code/node_modules/mdast-util-to-hast/lib/revert.js
2019-08-20 15:52:05 +02:00

45 lines
863 B
JavaScript

'use strict'
module.exports = revert
var u = require('unist-builder')
var all = require('./all')
// Return the content of a reference without definition as markdown.
function revert(h, node) {
var subtype = node.referenceType
var suffix = ']'
var contents
var head
var tail
if (subtype === 'collapsed') {
suffix += '[]'
} else if (subtype === 'full') {
suffix += '[' + node.identifier + ']'
}
if (node.type === 'imageReference') {
return u('text', '![' + node.alt + suffix)
}
contents = all(h, node)
head = contents[0]
if (head && head.type === 'text') {
head.value = '[' + head.value
} else {
contents.unshift(u('text', '['))
}
tail = contents[contents.length - 1]
if (tail && tail.type === 'text') {
tail.value += suffix
} else {
contents.push(u('text', suffix))
}
return contents
}