dompurify
Version:
DOMPurify is a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. It's written in JavaScript and works in all modern browsers (Safari, Opera (15+), Internet Explorer (10+), Firefox and Chrome - as well as almost anything else usin
145 lines (144 loc) • 4.53 kB
TypeScript
export { purify as default };
declare function purify(root: any): {
(root: any): any;
/**
* Version label, exposed for easier checks
* if DOMPurify is up to date or not
*/
version: string;
/**
* Array of elements that DOMPurify removed during sanitation.
* Empty if nothing was removed.
*/
removed: any[];
isSupported: boolean;
/**
* Sanitize
* Public method providing core sanitation functionality
*
* @param {String|Node} dirty string or DOM node
* @param {Object} configuration object
*/
sanitize(dirty: string | Node, cfg: any): any;
/**
* Public method to set the configuration once
* setConfig
*
* @param {Object} cfg configuration object
*/
setConfig(cfg: any): void;
/**
* Public method to remove the configuration
* clearConfig
*
*/
clearConfig(): void;
/**
* Public method to check if an attribute value is valid.
* Uses last set config, if any. Otherwise, uses config defaults.
* isValidAttribute
*
* @param {string} tag Tag name of containing element.
* @param {string} attr Attribute name.
* @param {string} value Attribute value.
* @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.
*/
isValidAttribute(tag: string, attr: string, value: string): boolean;
/**
* AddHook
* Public method to add DOMPurify hooks
*
* @param {String} entryPoint entry point for the hook to add
* @param {Function} hookFunction function to execute
*/
addHook(entryPoint: string, hookFunction: Function): void;
/**
* RemoveHook
* Public method to remove a DOMPurify hook at a given entryPoint
* (pops it from the stack of hooks if more are present)
*
* @param {String} entryPoint entry point for the hook to remove
* @return {Function} removed(popped) hook
*/
removeHook(entryPoint: string): Function;
/**
* RemoveHooks
* Public method to remove all DOMPurify hooks at a given entryPoint
*
* @param {String} entryPoint entry point for the hooks to remove
*/
removeHooks(entryPoint: string): void;
/**
* RemoveAllHooks
* Public method to remove all DOMPurify hooks
*
*/
removeAllHooks(): void;
};
declare namespace purify {
const version: string;
const removed: any[];
const isSupported: boolean;
/**
* Sanitize
* Public method providing core sanitation functionality
*
* @param {String|Node} dirty string or DOM node
* @param {Object} configuration object
*/
function sanitize(dirty: string | Node, cfg: any): any;
/**
* Public method to set the configuration once
* setConfig
*
* @param {Object} cfg configuration object
*/
function setConfig(cfg: any): void;
/**
* Public method to remove the configuration
* clearConfig
*
*/
function clearConfig(): void;
/**
* Public method to check if an attribute value is valid.
* Uses last set config, if any. Otherwise, uses config defaults.
* isValidAttribute
*
* @param {string} tag Tag name of containing element.
* @param {string} attr Attribute name.
* @param {string} value Attribute value.
* @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.
*/
function isValidAttribute(tag: string, attr: string, value: string): boolean;
/**
* AddHook
* Public method to add DOMPurify hooks
*
* @param {String} entryPoint entry point for the hook to add
* @param {Function} hookFunction function to execute
*/
function addHook(entryPoint: string, hookFunction: Function): void;
/**
* RemoveHook
* Public method to remove a DOMPurify hook at a given entryPoint
* (pops it from the stack of hooks if more are present)
*
* @param {String} entryPoint entry point for the hook to remove
* @return {Function} removed(popped) hook
*/
function removeHook(entryPoint: string): Function;
/**
* RemoveHooks
* Public method to remove all DOMPurify hooks at a given entryPoint
*
* @param {String} entryPoint entry point for the hooks to remove
*/
function removeHooks(entryPoint: string): void;
/**
* RemoveAllHooks
* Public method to remove all DOMPurify hooks
*
*/
function removeAllHooks(): void;
}