| 'use strict' |
| |
| module.exports = orderedItems |
| |
| var lineFeed = '\n' |
| var dot = '.' |
| |
| var blank = lineFeed + lineFeed |
| |
| // Visit ordered list items. |
| // |
| // Starts the list with |
| // `node.start` and increments each following list item |
| // bullet by one: |
| // |
| // 2. foo |
| // 3. bar |
| // |
| // In `incrementListMarker: false` mode, does not increment |
| // each marker and stays on `node.start`: |
| // |
| // 1. foo |
| // 1. bar |
| function orderedItems(node) { |
| var self = this |
| var fn = self.visitors.listItem |
| var increment = self.options.incrementListMarker |
| var values = [] |
| var start = node.start |
| var children = node.children |
| var length = children.length |
| var index = -1 |
| var bullet |
| |
| start = start == null ? 1 : start |
| |
| while (++index < length) { |
| bullet = (increment ? start + index : start) + dot |
| values[index] = fn.call(self, children[index], node, index, bullet) |
| } |
| |
| return values.join(node.spread ? blank : lineFeed) |
| } |