oxc_syntax/
xml_entities.rs

1//! XML Entities
2use phf::{Map, phf_map};
3
4/// XML Entities
5///
6/// <https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references>
7/// <https://github.com/microsoft/TypeScript/blob/514f7e639a2a8466c075c766ee9857a30ed4e196/src/compiler/transformers/jsx.ts#L681>
8pub const XML_ENTITIES: Map<&'static str, char> = phf_map! {
9    "quot" => '\u{0022}',
10    "amp" => '&',
11    "apos" => '\u{0027}',
12    "lt" => '<',
13    "gt" => '>',
14    "nbsp" => '\u{00A0}',
15    "iexcl" => '\u{00A1}',
16    "cent" => '\u{00A2}',
17    "pound" => '\u{00A3}',
18    "curren" => '\u{00A4}',
19    "yen" => '\u{00A5}',
20    "brvbar" => '\u{00A6}',
21    "sect" => '\u{00A7}',
22    "uml" => '\u{00A8}',
23    "copy" => '\u{00A9}',
24    "ordf" => '\u{00AA}',
25    "laquo" => '\u{00AB}',
26    "not" => '\u{00AC}',
27    "shy" => '\u{00AD}',
28    "reg" => '\u{00AE}',
29    "macr" => '\u{00AF}',
30    "deg" => '\u{00B0}',
31    "plusmn" => '\u{00B1}',
32    "sup2" => '\u{00B2}',
33    "sup3" => '\u{00B3}',
34    "acute" => '\u{00B4}',
35    "micro" => '\u{00B5}',
36    "para" => '\u{00B6}',
37    "middot" => '\u{00B7}',
38    "cedil" => '\u{00B8}',
39    "sup1" => '\u{00B9}',
40    "ordm" => '\u{00BA}',
41    "raquo" => '\u{00BB}',
42    "frac14" => '\u{00BC}',
43    "frac12" => '\u{00BD}',
44    "frac34" => '\u{00BE}',
45    "iquest" => '\u{00BF}',
46    "Agrave" => '\u{00C0}',
47    "Aacute" => '\u{00C1}',
48    "Acirc" => '\u{00C2}',
49    "Atilde" => '\u{00C3}',
50    "Auml" => '\u{00C4}',
51    "Aring" => '\u{00C5}',
52    "AElig" => '\u{00C6}',
53    "Ccedil" => '\u{00C7}',
54    "Egrave" => '\u{00C8}',
55    "Eacute" => '\u{00C9}',
56    "Ecirc" => '\u{00CA}',
57    "Euml" => '\u{00CB}',
58    "Igrave" => '\u{00CC}',
59    "Iacute" => '\u{00CD}',
60    "Icirc" => '\u{00CE}',
61    "Iuml" => '\u{00CF}',
62    "ETH" => '\u{00D0}',
63    "Ntilde" => '\u{00D1}',
64    "Ograve" => '\u{00D2}',
65    "Oacute" => '\u{00D3}',
66    "Ocirc" => '\u{00D4}',
67    "Otilde" => '\u{00D5}',
68    "Ouml" => '\u{00D6}',
69    "times" => '\u{00D7}',
70    "Oslash" => '\u{00D8}',
71    "Ugrave" => '\u{00D9}',
72    "Uacute" => '\u{00DA}',
73    "Ucirc" => '\u{00DB}',
74    "Uuml" => '\u{00DC}',
75    "Yacute" => '\u{00DD}',
76    "THORN" => '\u{00DE}',
77    "szlig" => '\u{00DF}',
78    "agrave" => '\u{00E0}',
79    "aacute" => '\u{00E1}',
80    "acirc" => '\u{00E2}',
81    "atilde" => '\u{00E3}',
82    "auml" => '\u{00E4}',
83    "aring" => '\u{00E5}',
84    "aelig" => '\u{00E6}',
85    "ccedil" => '\u{00E7}',
86    "egrave" => '\u{00E8}',
87    "eacute" => '\u{00E9}',
88    "ecirc" => '\u{00EA}',
89    "euml" => '\u{00EB}',
90    "igrave" => '\u{00EC}',
91    "iacute" => '\u{00ED}',
92    "icirc" => '\u{00EE}',
93    "iuml" => '\u{00EF}',
94    "eth" => '\u{00F0}',
95    "ntilde" => '\u{00F1}',
96    "ograve" => '\u{00F2}',
97    "oacute" => '\u{00F3}',
98    "ocirc" => '\u{00F4}',
99    "otilde" => '\u{00F5}',
100    "ouml" => '\u{00F6}',
101    "divide" => '\u{00F7}',
102    "oslash" => '\u{00F8}',
103    "ugrave" => '\u{00F9}',
104    "uacute" => '\u{00FA}',
105    "ucirc" => '\u{00FB}',
106    "uuml" => '\u{00FC}',
107    "yacute" => '\u{00FD}',
108    "thorn" => '\u{00FE}',
109    "yuml" => '\u{00FF}',
110    "OElig" => '\u{0152}',
111    "oelig" => '\u{0153}',
112    "Scaron" => '\u{0160}',
113    "scaron" => '\u{0161}',
114    "Yuml" => '\u{0178}',
115    "fnof" => '\u{0192}',
116    "circ" => '\u{02C6}',
117    "tilde" => '\u{02DC}',
118    "Alpha" => '\u{0391}',
119    "Beta" => '\u{0392}',
120    "Gamma" => '\u{0393}',
121    "Delta" => '\u{0394}',
122    "Epsilon" => '\u{0395}',
123    "Zeta" => '\u{0396}',
124    "Eta" => '\u{0397}',
125    "Theta" => '\u{0398}',
126    "Iota" => '\u{0399}',
127    "Kappa" => '\u{039A}',
128    "Lambda" => '\u{039B}',
129    "Mu" => '\u{039C}',
130    "Nu" => '\u{039D}',
131    "Xi" => '\u{039E}',
132    "Omicron" => '\u{039F}',
133    "Pi" => '\u{03A0}',
134    "Rho" => '\u{03A1}',
135    "Sigma" => '\u{03A3}',
136    "Tau" => '\u{03A4}',
137    "Upsilon" => '\u{03A5}',
138    "Phi" => '\u{03A6}',
139    "Chi" => '\u{03A7}',
140    "Psi" => '\u{03A8}',
141    "Omega" => '\u{03A9}',
142    "alpha" => '\u{03B1}',
143    "beta" => '\u{03B2}',
144    "gamma" => '\u{03B3}',
145    "delta" => '\u{03B4}',
146    "epsilon" => '\u{03B5}',
147    "zeta" => '\u{03B6}',
148    "eta" => '\u{03B7}',
149    "theta" => '\u{03B8}',
150    "iota" => '\u{03B9}',
151    "kappa" => '\u{03BA}',
152    "lambda" => '\u{03BB}',
153    "mu" => '\u{03BC}',
154    "nu" => '\u{03BD}',
155    "xi" => '\u{03BE}',
156    "omicron" => '\u{03BF}',
157    "pi" => '\u{03C0}',
158    "rho" => '\u{03C1}',
159    "sigmaf" => '\u{03C2}',
160    "sigma" => '\u{03C3}',
161    "tau" => '\u{03C4}',
162    "upsilon" => '\u{03C5}',
163    "phi" => '\u{03C6}',
164    "chi" => '\u{03C7}',
165    "psi" => '\u{03C8}',
166    "omega" => '\u{03C9}',
167    "thetasym" => '\u{03D1}',
168    "upsih" => '\u{03D2}',
169    "piv" => '\u{03D6}',
170    "ensp" => '\u{2002}',
171    "emsp" => '\u{2003}',
172    "thinsp" => '\u{2009}',
173    "zwnj" => '\u{200C}',
174    "zwj" => '\u{200D}',
175    "lrm" => '\u{200E}',
176    "rlm" => '\u{200F}',
177    "ndash" => '\u{2013}',
178    "mdash" => '\u{2014}',
179    "lsquo" => '\u{2018}',
180    "rsquo" => '\u{2019}',
181    "sbquo" => '\u{201A}',
182    "ldquo" => '\u{201C}',
183    "rdquo" => '\u{201D}',
184    "bdquo" => '\u{201E}',
185    "dagger" => '\u{2020}',
186    "Dagger" => '\u{2021}',
187    "bull" => '\u{2022}',
188    "hellip" => '\u{2026}',
189    "permil" => '\u{2030}',
190    "prime" => '\u{2032}',
191    "Prime" => '\u{2033}',
192    "lsaquo" => '\u{2039}',
193    "rsaquo" => '\u{203A}',
194    "oline" => '\u{203E}',
195    "frasl" => '\u{2044}',
196    "euro" => '\u{20AC}',
197    "image" => '\u{2111}',
198    "weierp" => '\u{2118}',
199    "real" => '\u{211C}',
200    "trade" => '\u{2122}',
201    "alefsym" => '\u{2135}',
202    "larr" => '\u{2190}',
203    "uarr" => '\u{2191}',
204    "rarr" => '\u{2192}',
205    "darr" => '\u{2193}',
206    "harr" => '\u{2194}',
207    "crarr" => '\u{21B5}',
208    "lArr" => '\u{21D0}',
209    "uArr" => '\u{21D1}',
210    "rArr" => '\u{21D2}',
211    "dArr" => '\u{21D3}',
212    "hArr" => '\u{21D4}',
213    "forall" => '\u{2200}',
214    "part" => '\u{2202}',
215    "exist" => '\u{2203}',
216    "empty" => '\u{2205}',
217    "nabla" => '\u{2207}',
218    "isin" => '\u{2208}',
219    "notin" => '\u{2209}',
220    "ni" => '\u{220B}',
221    "prod" => '\u{220F}',
222    "sum" => '\u{2211}',
223    "minus" => '\u{2212}',
224    "lowast" => '\u{2217}',
225    "radic" => '\u{221A}',
226    "prop" => '\u{221D}',
227    "infin" => '\u{221E}',
228    "ang" => '\u{2220}',
229    "and" => '\u{2227}',
230    "or" => '\u{2228}',
231    "cap" => '\u{2229}',
232    "cup" => '\u{222A}',
233    "int" => '\u{222B}',
234    "there4" => '\u{2234}',
235    "sim" => '\u{223C}',
236    "cong" => '\u{2245}',
237    "asymp" => '\u{2248}',
238    "ne" => '\u{2260}',
239    "equiv" => '\u{2261}',
240    "le" => '\u{2264}',
241    "ge" => '\u{2265}',
242    "sub" => '\u{2282}',
243    "sup" => '\u{2283}',
244    "nsub" => '\u{2284}',
245    "sube" => '\u{2286}',
246    "supe" => '\u{2287}',
247    "oplus" => '\u{2295}',
248    "otimes" => '\u{2297}',
249    "perp" => '\u{22A5}',
250    "sdot" => '\u{22C5}',
251    "lceil" => '\u{2308}',
252    "rceil" => '\u{2309}',
253    "lfloor" => '\u{230A}',
254    "rfloor" => '\u{230B}',
255    "lang" => '\u{2329}',
256    "rang" => '\u{232A}',
257    "loz" => '\u{25CA}',
258    "spades" => '\u{2660}',
259    "clubs" => '\u{2663}',
260    "hearts" => '\u{2665}',
261    "diams" => '\u{2666}',
262};