renovate
Version:
Automated dependency updates. Flexible so you don't need to be.
62 lines (61 loc) • 2.39 kB
JavaScript
import { regEx } from "../../../util/regex.js";
import { logger } from "../../../logger/index.js";
import { coerceNumber } from "../../../util/number.js";
import { remark } from "remark";
//#region lib/modules/platform/github/massage-markdown-links.ts
const urlRegex = /(?:https?:)?(?:\/\/)?(?:www\.)?(? {
transformer(child);
});
}
return () => transformer;
}
function massageMarkdownLinks(content) {
try {
const rightSpaces = content.replace(content.trimEnd(), "");
const matches = [];
remark().use(collectLinkPosition(content, matches)).processSync(content);
return matches.reduceRight((acc, { start, end, replaceTo }) => {
const leftPart = acc.slice(0, start);
const rightPart = acc.slice(end);
return leftPart + replaceTo + rightPart;
}, content).trimEnd() + rightSpaces;
} catch (err) /* v8 ignore next -- defensive: remark parsing does not throw on any string input, failure not simulable */ {
logger.warn({ err }, `Unable to massage markdown text`);
return content;
}
}
//#endregion
export { massageMarkdownLinks };
//# sourceMappingURL=massage-markdown-links.js.map