@router-cli/react-router-dev
Version:
File based routing cli for react-router-dom.
36 lines (35 loc) • 1.71 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.populateTemplate = exports.CODE_NAMING = void 0;
var template_1 = require("../template");
exports.CODE_NAMING = {
exportType: "export type",
exportConst: "export const",
never: "never",
empty: "{}",
pages: "pageImports",
layouts: "layoutImports"
};
function populateTemplate(args) {
var content = template_1.template;
function replaceImportObject(src, type) {
if (src.length > 0) {
content = content.replaceAll("".concat(exports.CODE_NAMING.exportConst, " ").concat(type, " = ").concat(exports.CODE_NAMING.empty, ";"), "".concat(exports.CODE_NAMING.exportConst, " ").concat(type, " = {\n ").concat(src.sort().join(',\n '), "\n};"));
}
}
replaceImportObject(args.layouts.imports, exports.CODE_NAMING.layouts);
replaceImportObject(args.pages.imports, exports.CODE_NAMING.pages);
content = content.replace("/*imports*/", args.imports.join("\n"));
content = content.replace("/*exports*/", args.exports.join("\n"));
content = content.replaceAll("/*{browserType}*/", args.routerType);
if (args.appRouteComponents.app)
content = content.replace("app: undefined,", "app: App,");
if (args.appRouteComponents.notFound)
content = content.replace("notFound: undefined,", "notFound: NotFound,");
if (args.appRouteComponents.error)
content = content.replace("error: undefined,", "error: DefaultErrorComponent,");
if (args.appRouteComponents.pending)
content = content.replace("pending: undefined,", "pending: DefaultPendingComponent,");
return content;
}
exports.populateTemplate = populateTemplate;