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