| '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() |
| } |
| } |