ts-markdown
Version:
An extensible TypeScript markdown generator that takes JSON and creates a markdown document.
39 lines (38 loc) • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.header = exports.getOptionalHeaderIdText = void 0;
/**
* Appends a heading with an ID.
*
* @param id The ID. Can also be null or undefined.
* @param prefix Any prefix text that should be prepended to the resulting ID markdown.
* @returns A header with ID markdown appended, or an empty string.
*/
function getOptionalHeaderIdText(id, prefix = '') {
return id !== undefined ? `${prefix}{#${id}}` : '';
}
exports.getOptionalHeaderIdText = getOptionalHeaderIdText;
/**
* Helper which creates a header entry at the specified level.
* Designed to help with more programmatic, dynamic header generation.
*
* @param options Entry-level options for this element.
* @returns a header entry
*/
function header(level, content, options) {
switch (level) {
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
return {
['h' + level]: content,
...options,
};
default:
throw new Error(`Header level ${level} is not supported.`);
}
}
exports.header = header;