import removeMd from 'remove-markdown'; import { makeId } from '../../../nestjs-libraries/src/services/make.is'; export const removeMarkdown = (params: { text: string; except?: RegExp[] }) => { let modifiedText = params.text; const except = params.except || []; const placeholders: { [key: string]: string } = {}; // Step 2: Replace exceptions with placeholders except.forEach((regexp, index) => { modifiedText = modifiedText.replace(regexp, (match) => { const placeholder = `[[EXCEPT_PLACEHOLDER_${makeId(5)}]]`; placeholders[placeholder] = match; return placeholder; }); }); // Step 3: Remove markdown from modified text // Assuming removeMd is the function that removes markdown const cleanedText = removeMd(modifiedText); // Step 4: Replace placeholders with original text const finalText = Object.keys(placeholders).reduce((text, placeholder) => { return text.replace(placeholder, placeholders[placeholder]); }, cleanedText); return finalText; };