34 lines
759 B
JavaScript
34 lines
759 B
JavaScript
'use strict'
|
|
|
|
var identity = require('./identity')
|
|
|
|
module.exports = enter
|
|
|
|
// Shortcut and collapsed link references need no escaping and encoding during
|
|
// the processing of child nodes (it must be implied from identifier).
|
|
//
|
|
// This toggler turns encoding and escaping off for shortcut and collapsed
|
|
// references.
|
|
//
|
|
// Implies `enterLink`.
|
|
function enter(compiler, node) {
|
|
var encode = compiler.encode
|
|
var escape = compiler.escape
|
|
var exitLink = compiler.enterLink()
|
|
|
|
if (node.referenceType !== 'shortcut' && node.referenceType !== 'collapsed') {
|
|
return exitLink
|
|
}
|
|
|
|
compiler.escape = identity
|
|
compiler.encode = identity
|
|
|
|
return exit
|
|
|
|
function exit() {
|
|
compiler.encode = encode
|
|
compiler.escape = escape
|
|
exitLink()
|
|
}
|
|
}
|