tracey-cli
Version:
A markdown-based requirements tool
40 lines (39 loc) • 1.36 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseFrontmatter = exports.stringify = exports.parse = void 0;
var remark_1 = __importDefault(require("remark"));
var remark_frontmatter_1 = __importDefault(require("remark-frontmatter"));
var unist_util_visit_1 = __importDefault(require("unist-util-visit"));
var yaml_1 = __importDefault(require("yaml"));
;
/**
* Parse the markdown string into an AST
* @param markdown A markdown string
*/
var parse = function (markdown) { return remark_1.default()
.use(remark_frontmatter_1.default)
.parse(markdown); };
exports.parse = parse;
/**
* Parse the markdown AST into a string
* @param markdown A markdown AST
*/
var stringify = function (markdown) { return remark_1.default()
.use(remark_frontmatter_1.default)
.stringify(markdown); };
exports.stringify = stringify;
/**
* Parse the markdown yaml frontmatter into object
* @param markdown A markdown AST
*/
var parseFrontmatter = function (markdown) {
var output = {};
unist_util_visit_1.default(markdown, 'yaml', function (node) {
output = yaml_1.default.parse(node.value);
});
return output;
};
exports.parseFrontmatter = parseFrontmatter;