UNPKG

nuxt-sanitize-html

Version:

Nuxt wrapper for sanitize-html

22 lines (21 loc) 668 B
import { defineNuxtPlugin } from "#app"; import sanitizeHtml, { defaults } from "sanitize-html"; export default defineNuxtPlugin((nuxtApp) => { const customOptions = JSON.parse('"<%= options.asString %>"'.replace(/^"(.*)"$/gmi, "$1")); const sanitize = (dirty, opts = null) => sanitizeHtml(dirty, opts); const install = (app, options) => app.config.globalProperties.$sanitize = (dirty, opts = {}) => { return sanitize(dirty, { ...opts, ...options }); }; nuxtApp.vueApp.use({ install }, { ...defaults, ...customOptions }); return { provide: { sanitize: nuxtApp.vueApp.config.globalProperties.$sanitize } }; });