"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.updateReadmeFile = void 0; const fs_1 = require("fs"); function updateReadmeFile(fileList) { let readmeFile = getReadmeFileName(); if (readmeFile !== null) { let [readmeStart, readmeEnd] = readReadmeFile(readmeFile); let installLinks = fileList.map(readmeDataToString).join('\n'); let installLinksAll = ` ## Installs ${installLinks} `; let content = readmeStart + installLinksAll + readmeEnd; (0, fs_1.writeFileSync)(readmeFile, content); } } exports.updateReadmeFile = updateReadmeFile; function readmeDataErrorString(error) { if (error === null) return ''; error = error .split('\n') .map(line => ` ${line}`) .join('\n'); return `\n\n${error}`; } function readmeDataToString(readmeData) { let { meta, error } = readmeData; let errStr = error !== null ? '~~' : ''; let errMsg = readmeDataErrorString(error); return `- ${errStr}[${meta.name}](${meta.downloadURL})${errStr}${errMsg}`; } function getReadmeFileName() { let files = (0, fs_1.readdirSync)('.'); for (let name of files) { if (/^readme\.md$/i.test(name)) { return name; } } return null; } function readReadmeFile(readmeFile) { const content = (0, fs_1.readFileSync)(readmeFile).toString(); const regex = /(?:.|\n)*?/; const index = regex.exec(content)?.index; let contentPre = '', contentPost = ''; if (index === undefined) { contentPre = content; } else { let content_replace = content.replace(regex, ''); contentPre = content_replace.slice(0, index); contentPost = content_replace.slice(index); } if (contentPre.trimEnd().length === 0) contentPre = ''; else contentPre = contentPre.trimEnd() + '\n\n'; if (contentPost.trimStart().length === 0) contentPost = '\n'; else contentPost = '\n\n' + contentPost.trimStart(); return [contentPre, contentPost]; } //# sourceMappingURL=readmefile.js.map