Entities.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.numeric = exports.translate = exports.remove = exports.add = exports.entities = exports.options = void 0;
  4. var Retries_js_1 = require("./Retries.js");
  5. var AsyncLoad_js_1 = require("./AsyncLoad.js");
  6. exports.options = {
  7. loadMissingEntities: true
  8. };
  9. exports.entities = {
  10. ApplyFunction: '\u2061',
  11. Backslash: '\u2216',
  12. Because: '\u2235',
  13. Breve: '\u02D8',
  14. Cap: '\u22D2',
  15. CenterDot: '\u00B7',
  16. CircleDot: '\u2299',
  17. CircleMinus: '\u2296',
  18. CirclePlus: '\u2295',
  19. CircleTimes: '\u2297',
  20. Congruent: '\u2261',
  21. ContourIntegral: '\u222E',
  22. Coproduct: '\u2210',
  23. Cross: '\u2A2F',
  24. Cup: '\u22D3',
  25. CupCap: '\u224D',
  26. Dagger: '\u2021',
  27. Del: '\u2207',
  28. Delta: '\u0394',
  29. Diamond: '\u22C4',
  30. DifferentialD: '\u2146',
  31. DotEqual: '\u2250',
  32. DoubleDot: '\u00A8',
  33. DoubleRightTee: '\u22A8',
  34. DoubleVerticalBar: '\u2225',
  35. DownArrow: '\u2193',
  36. DownLeftVector: '\u21BD',
  37. DownRightVector: '\u21C1',
  38. DownTee: '\u22A4',
  39. Downarrow: '\u21D3',
  40. Element: '\u2208',
  41. EqualTilde: '\u2242',
  42. Equilibrium: '\u21CC',
  43. Exists: '\u2203',
  44. ExponentialE: '\u2147',
  45. FilledVerySmallSquare: '\u25AA',
  46. ForAll: '\u2200',
  47. Gamma: '\u0393',
  48. Gg: '\u22D9',
  49. GreaterEqual: '\u2265',
  50. GreaterEqualLess: '\u22DB',
  51. GreaterFullEqual: '\u2267',
  52. GreaterLess: '\u2277',
  53. GreaterSlantEqual: '\u2A7E',
  54. GreaterTilde: '\u2273',
  55. Hacek: '\u02C7',
  56. Hat: '\u005E',
  57. HumpDownHump: '\u224E',
  58. HumpEqual: '\u224F',
  59. Im: '\u2111',
  60. ImaginaryI: '\u2148',
  61. Integral: '\u222B',
  62. Intersection: '\u22C2',
  63. InvisibleComma: '\u2063',
  64. InvisibleTimes: '\u2062',
  65. Lambda: '\u039B',
  66. Larr: '\u219E',
  67. LeftAngleBracket: '\u27E8',
  68. LeftArrow: '\u2190',
  69. LeftArrowRightArrow: '\u21C6',
  70. LeftCeiling: '\u2308',
  71. LeftDownVector: '\u21C3',
  72. LeftFloor: '\u230A',
  73. LeftRightArrow: '\u2194',
  74. LeftTee: '\u22A3',
  75. LeftTriangle: '\u22B2',
  76. LeftTriangleEqual: '\u22B4',
  77. LeftUpVector: '\u21BF',
  78. LeftVector: '\u21BC',
  79. Leftarrow: '\u21D0',
  80. Leftrightarrow: '\u21D4',
  81. LessEqualGreater: '\u22DA',
  82. LessFullEqual: '\u2266',
  83. LessGreater: '\u2276',
  84. LessSlantEqual: '\u2A7D',
  85. LessTilde: '\u2272',
  86. Ll: '\u22D8',
  87. Lleftarrow: '\u21DA',
  88. LongLeftArrow: '\u27F5',
  89. LongLeftRightArrow: '\u27F7',
  90. LongRightArrow: '\u27F6',
  91. Longleftarrow: '\u27F8',
  92. Longleftrightarrow: '\u27FA',
  93. Longrightarrow: '\u27F9',
  94. Lsh: '\u21B0',
  95. MinusPlus: '\u2213',
  96. NestedGreaterGreater: '\u226B',
  97. NestedLessLess: '\u226A',
  98. NotDoubleVerticalBar: '\u2226',
  99. NotElement: '\u2209',
  100. NotEqual: '\u2260',
  101. NotExists: '\u2204',
  102. NotGreater: '\u226F',
  103. NotGreaterEqual: '\u2271',
  104. NotLeftTriangle: '\u22EA',
  105. NotLeftTriangleEqual: '\u22EC',
  106. NotLess: '\u226E',
  107. NotLessEqual: '\u2270',
  108. NotPrecedes: '\u2280',
  109. NotPrecedesSlantEqual: '\u22E0',
  110. NotRightTriangle: '\u22EB',
  111. NotRightTriangleEqual: '\u22ED',
  112. NotSubsetEqual: '\u2288',
  113. NotSucceeds: '\u2281',
  114. NotSucceedsSlantEqual: '\u22E1',
  115. NotSupersetEqual: '\u2289',
  116. NotTilde: '\u2241',
  117. NotVerticalBar: '\u2224',
  118. Omega: '\u03A9',
  119. OverBar: '\u203E',
  120. OverBrace: '\u23DE',
  121. PartialD: '\u2202',
  122. Phi: '\u03A6',
  123. Pi: '\u03A0',
  124. PlusMinus: '\u00B1',
  125. Precedes: '\u227A',
  126. PrecedesEqual: '\u2AAF',
  127. PrecedesSlantEqual: '\u227C',
  128. PrecedesTilde: '\u227E',
  129. Product: '\u220F',
  130. Proportional: '\u221D',
  131. Psi: '\u03A8',
  132. Rarr: '\u21A0',
  133. Re: '\u211C',
  134. ReverseEquilibrium: '\u21CB',
  135. RightAngleBracket: '\u27E9',
  136. RightArrow: '\u2192',
  137. RightArrowLeftArrow: '\u21C4',
  138. RightCeiling: '\u2309',
  139. RightDownVector: '\u21C2',
  140. RightFloor: '\u230B',
  141. RightTee: '\u22A2',
  142. RightTeeArrow: '\u21A6',
  143. RightTriangle: '\u22B3',
  144. RightTriangleEqual: '\u22B5',
  145. RightUpVector: '\u21BE',
  146. RightVector: '\u21C0',
  147. Rightarrow: '\u21D2',
  148. Rrightarrow: '\u21DB',
  149. Rsh: '\u21B1',
  150. Sigma: '\u03A3',
  151. SmallCircle: '\u2218',
  152. Sqrt: '\u221A',
  153. Square: '\u25A1',
  154. SquareIntersection: '\u2293',
  155. SquareSubset: '\u228F',
  156. SquareSubsetEqual: '\u2291',
  157. SquareSuperset: '\u2290',
  158. SquareSupersetEqual: '\u2292',
  159. SquareUnion: '\u2294',
  160. Star: '\u22C6',
  161. Subset: '\u22D0',
  162. SubsetEqual: '\u2286',
  163. Succeeds: '\u227B',
  164. SucceedsEqual: '\u2AB0',
  165. SucceedsSlantEqual: '\u227D',
  166. SucceedsTilde: '\u227F',
  167. SuchThat: '\u220B',
  168. Sum: '\u2211',
  169. Superset: '\u2283',
  170. SupersetEqual: '\u2287',
  171. Supset: '\u22D1',
  172. Therefore: '\u2234',
  173. Theta: '\u0398',
  174. Tilde: '\u223C',
  175. TildeEqual: '\u2243',
  176. TildeFullEqual: '\u2245',
  177. TildeTilde: '\u2248',
  178. UnderBar: '\u005F',
  179. UnderBrace: '\u23DF',
  180. Union: '\u22C3',
  181. UnionPlus: '\u228E',
  182. UpArrow: '\u2191',
  183. UpDownArrow: '\u2195',
  184. UpTee: '\u22A5',
  185. Uparrow: '\u21D1',
  186. Updownarrow: '\u21D5',
  187. Upsilon: '\u03A5',
  188. Vdash: '\u22A9',
  189. Vee: '\u22C1',
  190. VerticalBar: '\u2223',
  191. VerticalTilde: '\u2240',
  192. Vvdash: '\u22AA',
  193. Wedge: '\u22C0',
  194. Xi: '\u039E',
  195. amp: '\u0026',
  196. acute: '\u00B4',
  197. aleph: '\u2135',
  198. alpha: '\u03B1',
  199. amalg: '\u2A3F',
  200. and: '\u2227',
  201. ang: '\u2220',
  202. angmsd: '\u2221',
  203. angsph: '\u2222',
  204. ape: '\u224A',
  205. backprime: '\u2035',
  206. backsim: '\u223D',
  207. backsimeq: '\u22CD',
  208. beta: '\u03B2',
  209. beth: '\u2136',
  210. between: '\u226C',
  211. bigcirc: '\u25EF',
  212. bigodot: '\u2A00',
  213. bigoplus: '\u2A01',
  214. bigotimes: '\u2A02',
  215. bigsqcup: '\u2A06',
  216. bigstar: '\u2605',
  217. bigtriangledown: '\u25BD',
  218. bigtriangleup: '\u25B3',
  219. biguplus: '\u2A04',
  220. blacklozenge: '\u29EB',
  221. blacktriangle: '\u25B4',
  222. blacktriangledown: '\u25BE',
  223. blacktriangleleft: '\u25C2',
  224. bowtie: '\u22C8',
  225. boxdl: '\u2510',
  226. boxdr: '\u250C',
  227. boxminus: '\u229F',
  228. boxplus: '\u229E',
  229. boxtimes: '\u22A0',
  230. boxul: '\u2518',
  231. boxur: '\u2514',
  232. bsol: '\u005C',
  233. bull: '\u2022',
  234. cap: '\u2229',
  235. check: '\u2713',
  236. chi: '\u03C7',
  237. circ: '\u02C6',
  238. circeq: '\u2257',
  239. circlearrowleft: '\u21BA',
  240. circlearrowright: '\u21BB',
  241. circledR: '\u00AE',
  242. circledS: '\u24C8',
  243. circledast: '\u229B',
  244. circledcirc: '\u229A',
  245. circleddash: '\u229D',
  246. clubs: '\u2663',
  247. colon: '\u003A',
  248. comp: '\u2201',
  249. ctdot: '\u22EF',
  250. cuepr: '\u22DE',
  251. cuesc: '\u22DF',
  252. cularr: '\u21B6',
  253. cup: '\u222A',
  254. curarr: '\u21B7',
  255. curlyvee: '\u22CE',
  256. curlywedge: '\u22CF',
  257. dagger: '\u2020',
  258. daleth: '\u2138',
  259. ddarr: '\u21CA',
  260. deg: '\u00B0',
  261. delta: '\u03B4',
  262. digamma: '\u03DD',
  263. div: '\u00F7',
  264. divideontimes: '\u22C7',
  265. dot: '\u02D9',
  266. doteqdot: '\u2251',
  267. dotplus: '\u2214',
  268. dotsquare: '\u22A1',
  269. dtdot: '\u22F1',
  270. ecir: '\u2256',
  271. efDot: '\u2252',
  272. egs: '\u2A96',
  273. ell: '\u2113',
  274. els: '\u2A95',
  275. empty: '\u2205',
  276. epsi: '\u03B5',
  277. epsiv: '\u03F5',
  278. erDot: '\u2253',
  279. eta: '\u03B7',
  280. eth: '\u00F0',
  281. flat: '\u266D',
  282. fork: '\u22D4',
  283. frown: '\u2322',
  284. gEl: '\u2A8C',
  285. gamma: '\u03B3',
  286. gap: '\u2A86',
  287. gimel: '\u2137',
  288. gnE: '\u2269',
  289. gnap: '\u2A8A',
  290. gne: '\u2A88',
  291. gnsim: '\u22E7',
  292. gt: '\u003E',
  293. gtdot: '\u22D7',
  294. harrw: '\u21AD',
  295. hbar: '\u210F',
  296. hellip: '\u2026',
  297. hookleftarrow: '\u21A9',
  298. hookrightarrow: '\u21AA',
  299. imath: '\u0131',
  300. infin: '\u221E',
  301. intcal: '\u22BA',
  302. iota: '\u03B9',
  303. jmath: '\u0237',
  304. kappa: '\u03BA',
  305. kappav: '\u03F0',
  306. lEg: '\u2A8B',
  307. lambda: '\u03BB',
  308. lap: '\u2A85',
  309. larrlp: '\u21AB',
  310. larrtl: '\u21A2',
  311. lbrace: '\u007B',
  312. lbrack: '\u005B',
  313. le: '\u2264',
  314. leftleftarrows: '\u21C7',
  315. leftthreetimes: '\u22CB',
  316. lessdot: '\u22D6',
  317. lmoust: '\u23B0',
  318. lnE: '\u2268',
  319. lnap: '\u2A89',
  320. lne: '\u2A87',
  321. lnsim: '\u22E6',
  322. longmapsto: '\u27FC',
  323. looparrowright: '\u21AC',
  324. lowast: '\u2217',
  325. loz: '\u25CA',
  326. lt: '\u003C',
  327. ltimes: '\u22C9',
  328. ltri: '\u25C3',
  329. macr: '\u00AF',
  330. malt: '\u2720',
  331. mho: '\u2127',
  332. mu: '\u03BC',
  333. multimap: '\u22B8',
  334. nLeftarrow: '\u21CD',
  335. nLeftrightarrow: '\u21CE',
  336. nRightarrow: '\u21CF',
  337. nVDash: '\u22AF',
  338. nVdash: '\u22AE',
  339. natur: '\u266E',
  340. nearr: '\u2197',
  341. nharr: '\u21AE',
  342. nlarr: '\u219A',
  343. not: '\u00AC',
  344. nrarr: '\u219B',
  345. nu: '\u03BD',
  346. nvDash: '\u22AD',
  347. nvdash: '\u22AC',
  348. nwarr: '\u2196',
  349. omega: '\u03C9',
  350. omicron: '\u03BF',
  351. or: '\u2228',
  352. osol: '\u2298',
  353. period: '\u002E',
  354. phi: '\u03C6',
  355. phiv: '\u03D5',
  356. pi: '\u03C0',
  357. piv: '\u03D6',
  358. prap: '\u2AB7',
  359. precnapprox: '\u2AB9',
  360. precneqq: '\u2AB5',
  361. precnsim: '\u22E8',
  362. prime: '\u2032',
  363. psi: '\u03C8',
  364. quot: '\u0022',
  365. rarrtl: '\u21A3',
  366. rbrace: '\u007D',
  367. rbrack: '\u005D',
  368. rho: '\u03C1',
  369. rhov: '\u03F1',
  370. rightrightarrows: '\u21C9',
  371. rightthreetimes: '\u22CC',
  372. ring: '\u02DA',
  373. rmoust: '\u23B1',
  374. rtimes: '\u22CA',
  375. rtri: '\u25B9',
  376. scap: '\u2AB8',
  377. scnE: '\u2AB6',
  378. scnap: '\u2ABA',
  379. scnsim: '\u22E9',
  380. sdot: '\u22C5',
  381. searr: '\u2198',
  382. sect: '\u00A7',
  383. sharp: '\u266F',
  384. sigma: '\u03C3',
  385. sigmav: '\u03C2',
  386. simne: '\u2246',
  387. smile: '\u2323',
  388. spades: '\u2660',
  389. sub: '\u2282',
  390. subE: '\u2AC5',
  391. subnE: '\u2ACB',
  392. subne: '\u228A',
  393. supE: '\u2AC6',
  394. supnE: '\u2ACC',
  395. supne: '\u228B',
  396. swarr: '\u2199',
  397. tau: '\u03C4',
  398. theta: '\u03B8',
  399. thetav: '\u03D1',
  400. tilde: '\u02DC',
  401. times: '\u00D7',
  402. triangle: '\u25B5',
  403. triangleq: '\u225C',
  404. upsi: '\u03C5',
  405. upuparrows: '\u21C8',
  406. veebar: '\u22BB',
  407. vellip: '\u22EE',
  408. weierp: '\u2118',
  409. xi: '\u03BE',
  410. yen: '\u00A5',
  411. zeta: '\u03B6',
  412. zigrarr: '\u21DD',
  413. nbsp: '\u00A0',
  414. rsquo: '\u2019',
  415. lsquo: '\u2018'
  416. };
  417. var loaded = {};
  418. function add(additions, file) {
  419. Object.assign(exports.entities, additions);
  420. loaded[file] = true;
  421. }
  422. exports.add = add;
  423. function remove(entity) {
  424. delete exports.entities[entity];
  425. }
  426. exports.remove = remove;
  427. function translate(text) {
  428. return text.replace(/&([a-z][a-z0-9]*|#(?:[0-9]+|x[0-9a-f]+));/ig, replace);
  429. }
  430. exports.translate = translate;
  431. function replace(match, entity) {
  432. if (entity.charAt(0) === '#') {
  433. return numeric(entity.slice(1));
  434. }
  435. if (exports.entities[entity]) {
  436. return exports.entities[entity];
  437. }
  438. if (exports.options['loadMissingEntities']) {
  439. var file = (entity.match(/^[a-zA-Z](fr|scr|opf)$/) ? RegExp.$1 : entity.charAt(0).toLowerCase());
  440. if (!loaded[file]) {
  441. loaded[file] = true;
  442. (0, Retries_js_1.retryAfter)((0, AsyncLoad_js_1.asyncLoad)('./util/entities/' + file + '.js'));
  443. }
  444. }
  445. return match;
  446. }
  447. function numeric(entity) {
  448. var n = (entity.charAt(0) === 'x' ?
  449. parseInt(entity.slice(1), 16) :
  450. parseInt(entity));
  451. return String.fromCodePoint(n);
  452. }
  453. exports.numeric = numeric;
  454. //# sourceMappingURL=Entities.js.map