UNPKG

1.06 kBJavaScriptView Raw
1/**
2 * xss
3 *
4 * @author Zongmin Lei<leizongmin@gmail.com>
5 */
6
7var DEFAULT = require("./default");
8var parser = require("./parser");
9var FilterXSS = require("./xss");
10
11/**
12 * filter xss function
13 *
14 * @param {String} html
15 * @param {Object} options { whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml }
16 * @return {String}
17 */
18function filterXSS(html, options) {
19 var xss = new FilterXSS(options);
20 return xss.process(html);
21}
22
23exports = module.exports = filterXSS;
24exports.FilterXSS = FilterXSS;
25for (var i in DEFAULT) exports[i] = DEFAULT[i];
26for (var i in parser) exports[i] = parser[i];
27
28// using `xss` on the browser, output `filterXSS` to the globals
29if (typeof window !== "undefined") {
30 window.filterXSS = module.exports;
31}
32
33// using `xss` on the WebWorker, output `filterXSS` to the globals
34function isWorkerEnv() {
35 return typeof self !== 'undefined' && typeof DedicatedWorkerGlobalScope !== 'undefined' && self instanceof DedicatedWorkerGlobalScope;
36}
37if (isWorkerEnv()) {
38 self.filterXSS = module.exports;
39}