28 lines
638 B
JavaScript
28 lines
638 B
JavaScript
'use strict'
|
|
|
|
module.exports = label
|
|
|
|
var leftSquareBracket = '['
|
|
var rightSquareBracket = ']'
|
|
|
|
var shortcut = 'shortcut'
|
|
var collapsed = 'collapsed'
|
|
|
|
// Stringify a reference label.
|
|
// Because link references are easily, mistakingly, created (for example,
|
|
// `[foo]`), reference nodes have an extra property depicting how it looked in
|
|
// the original document, so stringification can cause minimal changes.
|
|
function label(node) {
|
|
var type = node.referenceType
|
|
|
|
if (type === shortcut) {
|
|
return ''
|
|
}
|
|
|
|
return (
|
|
leftSquareBracket +
|
|
(type === collapsed ? '' : node.label || node.identifier) +
|
|
rightSquareBracket
|
|
)
|
|
}
|