UNPKG

1.16 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;
25exports.FilterXSS = FilterXSS;
26
27(function () {
28 for (var i in DEFAULT) {
29 exports[i] = DEFAULT[i];
30 }
31 for (var j in parser) {
32 exports[j] = parser[j];
33 }
34})();
35
36// using `xss` on the browser, output `filterXSS` to the globals
37if (typeof window !== "undefined") {
38 window.filterXSS = module.exports;
39}
40
41// using `xss` on the WebWorker, output `filterXSS` to the globals
42function isWorkerEnv() {
43 return (
44 typeof self !== "undefined" &&
45 typeof DedicatedWorkerGlobalScope !== "undefined" &&
46 self instanceof DedicatedWorkerGlobalScope
47 );
48}
49if (isWorkerEnv()) {
50 self.filterXSS = module.exports;
51}