@@ -6513,7 +6513,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
65136513 }
65146514 }
65156515
6516- function trimReactWhitespace ( node : JsxText ) : string {
6516+ function trimReactWhitespaceAndApplyEntities ( node : JsxText ) : string {
65176517 let result : string = undefined ;
65186518 let text = getTextOfNode ( node ) ;
65196519 let firstNonWhitespace = 0 ;
@@ -6538,19 +6538,27 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
65386538 }
65396539 }
65406540 }
6541+
65416542 if ( firstNonWhitespace !== - 1 ) {
65426543 let part = text . substr ( firstNonWhitespace ) ;
65436544 result = ( result ? result + "\" + ' ' + \"" : "" ) + part ;
65446545 }
65456546
6547+ if ( result ) {
6548+ // Replace entities like
6549+ result = result . replace ( / & ( \w + ) ; / g, function ( s : any , m : string ) {
6550+ return String . fromCharCode ( entities [ m ] ) ;
6551+ } ) ;
6552+ }
6553+
65466554 return result ;
65476555 }
65486556
65496557 function getTextToEmit ( node : JsxText ) {
65506558 switch ( compilerOptions . jsx ) {
65516559 case JsxEmit . React :
6552- let text = trimReactWhitespace ( node ) ;
6553- if ( text . length === 0 ) {
6560+ let text = trimReactWhitespaceAndApplyEntities ( node ) ;
6561+ if ( text === undefined || text . length === 0 ) {
65546562 return undefined ;
65556563 }
65566564 else {
@@ -6566,7 +6574,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
65666574 switch ( compilerOptions . jsx ) {
65676575 case JsxEmit . React :
65686576 write ( "\"" ) ;
6569- write ( trimReactWhitespace ( node ) ) ;
6577+ write ( trimReactWhitespaceAndApplyEntities ( node ) ) ;
65706578 write ( "\"" ) ;
65716579 break ;
65726580
@@ -7139,4 +7147,260 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
71397147 }
71407148 }
71417149 }
7150+
7151+ var entities : Map < number > = {
7152+ "quot" : 0x0022 ,
7153+ "amp" : 0x0026 ,
7154+ "apos" : 0x0027 ,
7155+ "lt" : 0x003C ,
7156+ "gt" : 0x003E ,
7157+ "nbsp" : 0x00A0 ,
7158+ "iexcl" : 0x00A1 ,
7159+ "cent" : 0x00A2 ,
7160+ "pound" : 0x00A3 ,
7161+ "curren" : 0x00A4 ,
7162+ "yen" : 0x00A5 ,
7163+ "brvbar" : 0x00A6 ,
7164+ "sect" : 0x00A7 ,
7165+ "uml" : 0x00A8 ,
7166+ "copy" : 0x00A9 ,
7167+ "ordf" : 0x00AA ,
7168+ "laquo" : 0x00AB ,
7169+ "not" : 0x00AC ,
7170+ "shy" : 0x00AD ,
7171+ "reg" : 0x00AE ,
7172+ "macr" : 0x00AF ,
7173+ "deg" : 0x00B0 ,
7174+ "plusmn" : 0x00B1 ,
7175+ "sup2" : 0x00B2 ,
7176+ "sup3" : 0x00B3 ,
7177+ "acute" : 0x00B4 ,
7178+ "micro" : 0x00B5 ,
7179+ "para" : 0x00B6 ,
7180+ "middot" : 0x00B7 ,
7181+ "cedil" : 0x00B8 ,
7182+ "sup1" : 0x00B9 ,
7183+ "ordm" : 0x00BA ,
7184+ "raquo" : 0x00BB ,
7185+ "frac14" : 0x00BC ,
7186+ "frac12" : 0x00BD ,
7187+ "frac34" : 0x00BE ,
7188+ "iquest" : 0x00BF ,
7189+ "Agrave" : 0x00C0 ,
7190+ "Aacute" : 0x00C1 ,
7191+ "Acirc" : 0x00C2 ,
7192+ "Atilde" : 0x00C3 ,
7193+ "Auml" : 0x00C4 ,
7194+ "Aring" : 0x00C5 ,
7195+ "AElig" : 0x00C6 ,
7196+ "Ccedil" : 0x00C7 ,
7197+ "Egrave" : 0x00C8 ,
7198+ "Eacute" : 0x00C9 ,
7199+ "Ecirc" : 0x00CA ,
7200+ "Euml" : 0x00CB ,
7201+ "Igrave" : 0x00CC ,
7202+ "Iacute" : 0x00CD ,
7203+ "Icirc" : 0x00CE ,
7204+ "Iuml" : 0x00CF ,
7205+ "ETH" : 0x00D0 ,
7206+ "Ntilde" : 0x00D1 ,
7207+ "Ograve" : 0x00D2 ,
7208+ "Oacute" : 0x00D3 ,
7209+ "Ocirc" : 0x00D4 ,
7210+ "Otilde" : 0x00D5 ,
7211+ "Ouml" : 0x00D6 ,
7212+ "times" : 0x00D7 ,
7213+ "Oslash" : 0x00D8 ,
7214+ "Ugrave" : 0x00D9 ,
7215+ "Uacute" : 0x00DA ,
7216+ "Ucirc" : 0x00DB ,
7217+ "Uuml" : 0x00DC ,
7218+ "Yacute" : 0x00DD ,
7219+ "THORN" : 0x00DE ,
7220+ "szlig" : 0x00DF ,
7221+ "agrave" : 0x00E0 ,
7222+ "aacute" : 0x00E1 ,
7223+ "acirc" : 0x00E2 ,
7224+ "atilde" : 0x00E3 ,
7225+ "auml" : 0x00E4 ,
7226+ "aring" : 0x00E5 ,
7227+ "aelig" : 0x00E6 ,
7228+ "ccedil" : 0x00E7 ,
7229+ "egrave" : 0x00E8 ,
7230+ "eacute" : 0x00E9 ,
7231+ "ecirc" : 0x00EA ,
7232+ "euml" : 0x00EB ,
7233+ "igrave" : 0x00EC ,
7234+ "iacute" : 0x00ED ,
7235+ "icirc" : 0x00EE ,
7236+ "iuml" : 0x00EF ,
7237+ "eth" : 0x00F0 ,
7238+ "ntilde" : 0x00F1 ,
7239+ "ograve" : 0x00F2 ,
7240+ "oacute" : 0x00F3 ,
7241+ "ocirc" : 0x00F4 ,
7242+ "otilde" : 0x00F5 ,
7243+ "ouml" : 0x00F6 ,
7244+ "divide" : 0x00F7 ,
7245+ "oslash" : 0x00F8 ,
7246+ "ugrave" : 0x00F9 ,
7247+ "uacute" : 0x00FA ,
7248+ "ucirc" : 0x00FB ,
7249+ "uuml" : 0x00FC ,
7250+ "yacute" : 0x00FD ,
7251+ "thorn" : 0x00FE ,
7252+ "yuml" : 0x00FF ,
7253+ "OElig" : 0x0152 ,
7254+ "oelig" : 0x0153 ,
7255+ "Scaron" : 0x0160 ,
7256+ "scaron" : 0x0161 ,
7257+ "Yuml" : 0x0178 ,
7258+ "fnof" : 0x0192 ,
7259+ "circ" : 0x02C6 ,
7260+ "tilde" : 0x02DC ,
7261+ "Alpha" : 0x0391 ,
7262+ "Beta" : 0x0392 ,
7263+ "Gamma" : 0x0393 ,
7264+ "Delta" : 0x0394 ,
7265+ "Epsilon" : 0x0395 ,
7266+ "Zeta" : 0x0396 ,
7267+ "Eta" : 0x0397 ,
7268+ "Theta" : 0x0398 ,
7269+ "Iota" : 0x0399 ,
7270+ "Kappa" : 0x039A ,
7271+ "Lambda" : 0x039B ,
7272+ "Mu" : 0x039C ,
7273+ "Nu" : 0x039D ,
7274+ "Xi" : 0x039E ,
7275+ "Omicron" : 0x039F ,
7276+ "Pi" : 0x03A0 ,
7277+ "Rho" : 0x03A1 ,
7278+ "Sigma" : 0x03A3 ,
7279+ "Tau" : 0x03A4 ,
7280+ "Upsilon" : 0x03A5 ,
7281+ "Phi" : 0x03A6 ,
7282+ "Chi" : 0x03A7 ,
7283+ "Psi" : 0x03A8 ,
7284+ "Omega" : 0x03A9 ,
7285+ "alpha" : 0x03B1 ,
7286+ "beta" : 0x03B2 ,
7287+ "gamma" : 0x03B3 ,
7288+ "delta" : 0x03B4 ,
7289+ "epsilon" : 0x03B5 ,
7290+ "zeta" : 0x03B6 ,
7291+ "eta" : 0x03B7 ,
7292+ "theta" : 0x03B8 ,
7293+ "iota" : 0x03B9 ,
7294+ "kappa" : 0x03BA ,
7295+ "lambda" : 0x03BB ,
7296+ "mu" : 0x03BC ,
7297+ "nu" : 0x03BD ,
7298+ "xi" : 0x03BE ,
7299+ "omicron" : 0x03BF ,
7300+ "pi" : 0x03C0 ,
7301+ "rho" : 0x03C1 ,
7302+ "sigmaf" : 0x03C2 ,
7303+ "sigma" : 0x03C3 ,
7304+ "tau" : 0x03C4 ,
7305+ "upsilon" : 0x03C5 ,
7306+ "phi" : 0x03C6 ,
7307+ "chi" : 0x03C7 ,
7308+ "psi" : 0x03C8 ,
7309+ "omega" : 0x03C9 ,
7310+ "thetasym" : 0x03D1 ,
7311+ "upsih" : 0x03D2 ,
7312+ "piv" : 0x03D6 ,
7313+ "ensp" : 0x2002 ,
7314+ "emsp" : 0x2003 ,
7315+ "thinsp" : 0x2009 ,
7316+ "zwnj" : 0x200C ,
7317+ "zwj" : 0x200D ,
7318+ "lrm" : 0x200E ,
7319+ "rlm" : 0x200F ,
7320+ "ndash" : 0x2013 ,
7321+ "mdash" : 0x2014 ,
7322+ "lsquo" : 0x2018 ,
7323+ "rsquo" : 0x2019 ,
7324+ "sbquo" : 0x201A ,
7325+ "ldquo" : 0x201C ,
7326+ "rdquo" : 0x201D ,
7327+ "bdquo" : 0x201E ,
7328+ "dagger" : 0x2020 ,
7329+ "Dagger" : 0x2021 ,
7330+ "bull" : 0x2022 ,
7331+ "hellip" : 0x2026 ,
7332+ "permil" : 0x2030 ,
7333+ "prime" : 0x2032 ,
7334+ "Prime" : 0x2033 ,
7335+ "lsaquo" : 0x2039 ,
7336+ "rsaquo" : 0x203A ,
7337+ "oline" : 0x203E ,
7338+ "frasl" : 0x2044 ,
7339+ "euro" : 0x20AC ,
7340+ "image" : 0x2111 ,
7341+ "weierp" : 0x2118 ,
7342+ "real" : 0x211C ,
7343+ "trade" : 0x2122 ,
7344+ "alefsym" : 0x2135 ,
7345+ "larr" : 0x2190 ,
7346+ "uarr" : 0x2191 ,
7347+ "rarr" : 0x2192 ,
7348+ "darr" : 0x2193 ,
7349+ "harr" : 0x2194 ,
7350+ "crarr" : 0x21B5 ,
7351+ "lArr" : 0x21D0 ,
7352+ "uArr" : 0x21D1 ,
7353+ "rArr" : 0x21D2 ,
7354+ "dArr" : 0x21D3 ,
7355+ "hArr" : 0x21D4 ,
7356+ "forall" : 0x2200 ,
7357+ "part" : 0x2202 ,
7358+ "exist" : 0x2203 ,
7359+ "empty" : 0x2205 ,
7360+ "nabla" : 0x2207 ,
7361+ "isin" : 0x2208 ,
7362+ "notin" : 0x2209 ,
7363+ "ni" : 0x220B ,
7364+ "prod" : 0x220F ,
7365+ "sum" : 0x2211 ,
7366+ "minus" : 0x2212 ,
7367+ "lowast" : 0x2217 ,
7368+ "radic" : 0x221A ,
7369+ "prop" : 0x221D ,
7370+ "infin" : 0x221E ,
7371+ "ang" : 0x2220 ,
7372+ "and" : 0x2227 ,
7373+ "or" : 0x2228 ,
7374+ "cap" : 0x2229 ,
7375+ "cup" : 0x222A ,
7376+ "int" : 0x222B ,
7377+ "there4" : 0x2234 ,
7378+ "sim" : 0x223C ,
7379+ "cong" : 0x2245 ,
7380+ "asymp" : 0x2248 ,
7381+ "ne" : 0x2260 ,
7382+ "equiv" : 0x2261 ,
7383+ "le" : 0x2264 ,
7384+ "ge" : 0x2265 ,
7385+ "sub" : 0x2282 ,
7386+ "sup" : 0x2283 ,
7387+ "nsub" : 0x2284 ,
7388+ "sube" : 0x2286 ,
7389+ "supe" : 0x2287 ,
7390+ "oplus" : 0x2295 ,
7391+ "otimes" : 0x2297 ,
7392+ "perp" : 0x22A5 ,
7393+ "sdot" : 0x22C5 ,
7394+ "lceil" : 0x2308 ,
7395+ "rceil" : 0x2309 ,
7396+ "lfloor" : 0x230A ,
7397+ "rfloor" : 0x230B ,
7398+ "lang" : 0x2329 ,
7399+ "rang" : 0x232A ,
7400+ "loz" : 0x25CA ,
7401+ "spades" : 0x2660 ,
7402+ "clubs" : 0x2663 ,
7403+ "hearts" : 0x2665 ,
7404+ "diams" : 0x2666
7405+ }
71427406}
0 commit comments