ordered-items.js 819 B

12345678910111213141516171819202122232425262728293031323334353637
  1. 'use strict';
  2. module.exports = orderedItems;
  3. /* Visit ordered list items.
  4. *
  5. * Starts the list with
  6. * `node.start` and increments each following list item
  7. * bullet by one:
  8. *
  9. * 2. foo
  10. * 3. bar
  11. *
  12. * In `incrementListMarker: false` mode, does not increment
  13. * each marker and stays on `node.start`:
  14. *
  15. * 1. foo
  16. * 1. bar
  17. */
  18. function orderedItems(node) {
  19. var self = this;
  20. var fn = self.visitors.listItem;
  21. var increment = self.options.incrementListMarker;
  22. var values = [];
  23. var start = node.start;
  24. var children = node.children;
  25. var length = children.length;
  26. var index = -1;
  27. var bullet;
  28. while (++index < length) {
  29. bullet = (increment ? start + index : start) + '.';
  30. values[index] = fn.call(self, children[index], node, index, bullet);
  31. }
  32. return values.join('\n');
  33. }