UNPKG

@hello.nrfcloud.com/proto-map

Version:

Documents the communication protocol between devices, the hello.nrfcloud.com/map backend and web application

49 lines (48 loc) 1.74 kB
import { remark } from 'remark'; export var parseMarkdown2 = remark(); var isHeading = function(child) { return child.type === 'heading'; }; var isParagraph = function(child) { return child.type === 'paragraph'; }; var headingWithLevel = function(children, level) { return children.filter(isHeading).find(function(param) { var depth = param.depth; return depth === level; }); }; export var getHeading = function(markdown, level) { return headingWithLevel(remark().parse(markdown).children, level); }; // Find all the paragraphs immediately after the first headline with the given level export var getParagraphsAfterHeading = function(markdown, level) { var headingFound = false; var paragraphs = []; var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined; try { for(var _iterator = remark().parse(markdown).children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){ var child = _step.value; if (!headingFound && isHeading(child) && child.depth === level) { headingFound = true; continue; } if (!isParagraph(child)) break; // once we reached a non-paragraph paragraphs.push(child); } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally{ try { if (!_iteratorNormalCompletion && _iterator.return != null) { _iterator.return(); } } finally{ if (_didIteratorError) { throw _iteratorError; } } } return paragraphs; };