DefinitelyTyped/sanitize-html/sanitize-html-tests.ts
Yui e41c10f1a3 [Types-2.0] Merge master 07/29 (#10365)
* Including typings for globalize-compiler.

* Updating typings for globalize-compiler to use the correct AST type.

* Changed AtomicBlockUtils and KeyBindingUtil from interfaces to classes with static functions (#10324)

* Fixing a few minor issues in webpack-stream. (#10253)

* Document changes in 0.28 and 0.29 in React Native (#10309)

* RN: Widen limit of refreshControl

* RN: Update NavigationExperimental to 0.28

* RN: Define new method from 0.28

* RN: Promisify requestPermissions per 0.28

* RN: Remove onNavigate method

See: fb0007d853 (diff-04c37ff76f85aea35e8475617539b75fR94)

* RN: Add onNavigateBack method

See: fb0007d853 (diff-04c37ff76f85aea35e8475617539b75fR94)

* RN: Deprecate StatusBarIOS

* RN: Update StyleSheet API per 0.29

* RN: Define KeyboardAvoidingView added in 0.29

* RN: Define saveToCameraRoll added in 0.29

* RN: Define cancellable from InteractionManager

* RN: Add new possible values of flexDirection

* RN: Define lineBreakMode

* RN: Allow zIndex prop

* RN: Allow dimension limits

* RN: Specify type of refreshControl

* RN: Mark properties as optional

* RN: Clarify parameter naming

* RN: Mark optional property as optional

* RN: Definite explicit ref type

* RN: Restore StyleSheet.create to restore compatibility

* Added Headers constructor options to whatwg-fetch (#10313)

* Impl: Updated definitions for oracledb (#10323)

* Update select2 to have selectOnClose option (#10326)

Option documented at https://select2.github.io/options.html#can-i-select-the-highlighted-result-when-the-dropdown-is-closed

* Added definition for react-file-input React component (#10325)

* Added definition for react-file-input React component

* Added newline at end of file

* Added definitions for the react-file-reader-input react component. (#10327)

* Sleep (#10333)

* Add Electron specific versions to process.versions (#10320)

* Fix uuid.js definitions. (#10318)

* protobufjs: updated Message interfaces (#10198)

* protobufjs: updated Message interfaces

* Added ProtoBuf.Util interface

* Fixed load functions of ProtoBuf namespace

Base on the protobuf.js API docmentation.

* use {} instead of Object

Fixed according to PR commit note.

* Multiple minor fixes (#10339)

* better typing of onShouldStartLoadWithRequest in WebViewPropertiesIOS

* Fixes to WebViewProperties

* Missing methods in Navigator

* Fix of Platform.select()

* added support for interfacing with native-modules

* added support for interfacing with native-modules

* added dev variable

* Update to header notes

* Examples: alternative styles declaration

* webcomponents.js: Add typings for Element.createShadowRoot (#10330)

* webcomponents.js: Add typings for Element.createShadowRoot

createShadowRoot is deprecated in the official Shadow DOM spec,
but is the way to attach a shadow root in the current released
version of webcomponents.js.

* webcomponents.js: remove spurious extra line

* webcomponents.js: remove readonly modifier

Not supported until TS2.

* webcomponents.js: add Element.shadowRoot property

* Adding a couple missing highcharts properites (#10340)

* Adding a couple missing highcharts properites

* Fixing indentation

* Indentation

* Update to Electron 1.3.1 (#10336)

* Update to Electron 1.3.1

* Update editing command docs

* Fix argument types

* add definition of js-priority-queue (#10347)

* Update to v1.13.0 and bug fix: sanitize-html expects tag attributes to be called attribs. (#10360)

* updated vue-resource (#10349)

* Updated to match docs for version 0.9.3 (latest as of 07/19/16)

This is very important because response.data now returns raw data instead of a json object, you need to use res.json() to get an object representation of the response. .json() was missing from the typings.

Aditionally modified a few breaking changes to match the documentation at:  https://github.com/vuejs/vue-resource/blob/master/docs/http.md

* Added tests for json, blob, and text

* fixed version number

* Move change from master to corresponding index.d.ts
2016-07-29 21:09:20 -07:00

26 lines
759 B
TypeScript

import * as sanitize from 'sanitize-html';
let options: sanitize.IOptions = {
allowedTags: sanitize.defaults.allowedTags.concat('h1', 'h2', 'img'),
allowedAttributes: {
'a': sanitize.defaults.allowedAttributes['a'].concat('rel'),
'img': ['src', 'height', 'width', 'alt']
},
transformTags: {
'a': sanitize.simpleTransform('a', { 'rel': 'nofollow' }),
'img': (tagName: string, attribs: sanitize.Attributes) => {
let img = { tagName, attribs };
img.attribs['alt'] = 'transformed' ;
return img;
}
},
exclusiveFilter: function(frame: sanitize.IFrame) {
return frame.tag === 'a' && !frame.text.trim();
}
};
let unsafe = '<div><script>alert("hello");</script></div>';
let safe = sanitize(unsafe, options);