1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- module.exports = flow
-
- var repeat = require('repeat-string')
-
- function flow(parent, context) {
- var children = parent.children || []
- var results = []
- var index = -1
- var child
-
- while (++index < children.length) {
- child = children[index]
-
- results.push(
- context.handle(child, parent, context, {before: '\n', after: '\n'})
- )
-
- if (index + 1 < children.length) {
- results.push(between(child, children[index + 1]))
- }
- }
-
- return results.join('')
-
- function between(left, right) {
- var index = -1
- var result
-
- while (++index < context.join.length) {
- result = context.join[index](left, right, parent, context)
-
- if (result === true || result === 1) {
- break
- }
-
- if (typeof result === 'number') {
- return repeat('\n', 1 + Number(result))
- }
-
- if (result === false) {
- return '\n\n<!---->\n\n'
- }
- }
-
- return '\n\n'
- }
- }
|