@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
JavaScript
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;
};