ts-markdown
Version:
An extensible TypeScript markdown generator that takes JSON and creates a markdown document.
45 lines (44 loc) • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ol = exports.olRenderer = void 0;
const rendering_1 = require("../rendering");
/**
* The renderer for ordered list entries.
*
* @param entry The ordererd list entry.
* @param options Document-level render options.
* @returns Block-level ordered list markdown content.
*/
const olRenderer = (entry, options) => {
if ('ol' in entry) {
let markdown = entry.ol
.map((li, index) => {
return (0, rendering_1.renderEntries)(Array.isArray(li) ? li : [li], {
...options,
prefix: (liIndex) => {
return liIndex === 0 ? `${index + 1}. ` : ' ';
},
});
})
.join('\n');
return {
markdown,
blockLevel: true,
};
}
throw new Error('Entry is not an ol entry. Unable to render.');
};
exports.olRenderer = olRenderer;
/**
* Helper which creates an ordered list entry.
*
* @param options Entry-level options for this element.
* @returns an ordered list entry
*/
function ol(content, options) {
return {
ol: content,
...options,
};
}
exports.ol = ol;