All files / src/components/u-html.vue index.vue

68.42% Statements 13/19
33.33% Branches 2/6
33.33% Functions 1/3
72.22% Lines 13/18

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 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39      7x   7x     7x                                                            
<template>
<div :class="$style.root" v-html="content">
</div>
</template>
 
<script>
import DOMPurify from 'dompurify';
export default {
    name: 'u-html',
    props: {
        html: {
            type: String,
            default: '',
        },
        security: {
            type: Boolean,
            default: true,
        },
        options: {
            type: Object,
            default: () => ({
                ADD_ATTR: ['target'],
            }),
        },
    },
    computed: {
        content() {
            return this.security ? DOMPurify.sanitize(this.html, this.options) : this.html;
        },
    },
};
</script>
 
<style module >
.root {
 
}
</style>