jsx-readme
Version:
Generate Readme files with a React-like syntax and package.json-aware helpers.
47 lines • 2.07 kB
JavaScript
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CodeFile = void 0;
const jsx_md_1 = __importStar(require("jsx-md"));
const path = __importStar(require("path"));
/** Displays a code file with a heading and a codeblock. */
const CodeFile = ({
/** The file's content. */
children, fileName,
/**
* A list of replacements to be made in the file's content,
* e. g. for replacing relative import paths.
* */
replacements = [], }) => {
function executeReplacements(str) {
return replacements.reduce((replacedStr, replacement) => replacedStr.replace(replacement.find, replacement.replace), str);
}
return ((0, jsx_md_1.default)(jsx_md_1.Fragment, null,
(0, jsx_md_1.default)(jsx_md_1.Heading, { level: 3 }, fileName),
(0, jsx_md_1.default)(jsx_md_1.CodeBlock, { language: path.parse(fileName).ext.slice(1) }, executeReplacements(children.trimEnd())),
(0, jsx_md_1.default)(jsx_md_1.LineBreak, null)));
};
exports.CodeFile = CodeFile;
//# sourceMappingURL=CodeFile.js.map