blob: 8a1efd61c1d5a73711ceb8fdb4a8f4e2ae5620fa [file] [edit]
module.exports = phrasing
function phrasing(parent, context, safeOptions) {
var children = parent.children || []
var results = []
var index = -1
var before = safeOptions.before
var after
var handle
var child
while (++index < children.length) {
child = children[index]
if (index + 1 < children.length) {
handle = context.handle.handlers[children[index + 1].type]
if (handle && handle.peek) handle = handle.peek
after = handle
? handle(children[index + 1], parent, context, {
before: '',
after: ''
}).charAt(0)
: ''
} else {
after = safeOptions.after
}
results.push(
context.handle(child, parent, context, {
before: before,
after: after
})
)
before = results[results.length - 1].slice(-1)
}
return results.join('')
}