nuxt-sanitize-html
Version:
Nuxt wrapper for sanitize-html
22 lines (21 loc) • 668 B
JavaScript
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
}
};
});