1- import parse , {
2- Element ,
3- HTMLReactParserOptions ,
4- domToReact ,
5- htmlToDOM
6- } from 'html-react-parser' ;
7- import * as React from 'react' ;
8-
9- // $ExpectError
10- parse ( ) ;
1+ import parse from 'html-react-parser' ;
112
123// $ExpectType string | Element | Element[]
134parse ( '' ) ;
@@ -20,74 +11,3 @@ parse('<p>text</p>');
2011
2112// $ExpectType string | Element | Element[]
2213parse ( '<li>1</li><li>2</li>' ) ;
23-
24- // $ExpectType string | Element | Element[]
25- parse ( '<br id="replace">' , {
26- replace : domNode => {
27- if ( domNode instanceof Element && domNode . attribs . id === 'replace' ) {
28- return < span > replaced</ span > ;
29- }
30- }
31- } ) ;
32-
33- // $ExpectType string | Element | Element[]
34- parse ( '<br id="remove">' , {
35- replace : domNode => {
36- if ( domNode instanceof Element && domNode . attribs . id === 'remove' ) {
37- return < > </ > ;
38- }
39- }
40- } ) ;
41-
42- let options : HTMLReactParserOptions ;
43-
44- options = {
45- replace : domNode => {
46- if ( domNode instanceof Element && domNode . attribs . id === 'header' ) {
47- return ;
48- }
49- }
50- } ;
51-
52- options = {
53- replace : domNode => {
54- if ( domNode instanceof Element ) {
55- return < > { domToReact ( domNode . children ) } </ > ;
56- }
57- }
58- } ;
59-
60- // $ExpectType string | Element | Element[]
61- parse ( '<a id="header" href="#">Heading</a>' , options ) ;
62-
63- // $ExpectType string | Element | Element[]
64- parse ( '<hr>' , {
65- library : {
66- cloneElement : ( element , props , children ) =>
67- React . cloneElement ( element , props , children ) ,
68- createElement : ( type , props , children ) =>
69- React . createElement ( type , props , children ) ,
70- isValidElement : element => React . isValidElement ( element )
71- }
72- } ) ;
73-
74- // $ExpectType string | Element | Element[]
75- parse ( '<p/><p/>' , {
76- htmlparser2 : {
77- xmlMode : true ,
78- decodeEntities : true ,
79- lowerCaseTags : false ,
80- lowerCaseAttributeNames : false ,
81- recognizeCDATA : true ,
82- recognizeSelfClosing : true
83- }
84- } ) ;
85-
86- // $ExpectType string | Element | Element[]
87- parse ( '\t<p>text \r</p>\n' , { trim : true } ) ;
88-
89- // $ExpectType (Element | Text | Comment | ProcessingInstruction)[]
90- const domNodes = htmlToDOM ( '<div>text</div>' ) ;
91-
92- // $ExpectType string | Element | Element[]
93- domToReact ( domNodes ) ;
0 commit comments