All files / app/pipes markdown.pipe.ts

75% Statements 15/20
100% Branches 0/0
0% Functions 0/2
75% Lines 15/20

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 211x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x           1x  
import { inject, Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
import { marked } from 'marked';
import DOMPurify from 'dompurify';
 
@Pipe({
	name: 'markdown',
	standalone: true,
})
export class MarkdownPipe implements PipeTransform {
	private sanitizer = inject(DomSanitizer);
	constructor() {}
 
	transform(value: string): SafeHtml {
		if (!value) return '';
		const html:any = marked.parse(value);
		const cleanHtml = DOMPurify.sanitize(html);
		return this.sanitizer.bypassSecurityTrustHtml(cleanHtml);
	}
}