31 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								var __importDefault = (this && this.__importDefault) || function (mod) {
							 | 
						||
| 
								 | 
							
								    return (mod && mod.__esModule) ? mod : { "default": mod };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								Object.defineProperty(exports, "__esModule", { value: true });
							 | 
						||
| 
								 | 
							
								var decode_json_1 = __importDefault(require("./maps/decode.json"));
							 | 
						||
| 
								 | 
							
								// Adapted from https://github.com/mathiasbynens/he/blob/master/src/he.js#L94-L119
							 | 
						||
| 
								 | 
							
								var fromCodePoint = 
							 | 
						||
| 
								 | 
							
								// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
							 | 
						||
| 
								 | 
							
								String.fromCodePoint ||
							 | 
						||
| 
								 | 
							
								    function (codePoint) {
							 | 
						||
| 
								 | 
							
								        var output = "";
							 | 
						||
| 
								 | 
							
								        if (codePoint > 0xffff) {
							 | 
						||
| 
								 | 
							
								            codePoint -= 0x10000;
							 | 
						||
| 
								 | 
							
								            output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);
							 | 
						||
| 
								 | 
							
								            codePoint = 0xdc00 | (codePoint & 0x3ff);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        output += String.fromCharCode(codePoint);
							 | 
						||
| 
								 | 
							
								        return output;
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								function decodeCodePoint(codePoint) {
							 | 
						||
| 
								 | 
							
								    if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {
							 | 
						||
| 
								 | 
							
								        return "\uFFFD";
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    if (codePoint in decode_json_1.default) {
							 | 
						||
| 
								 | 
							
								        codePoint = decode_json_1.default[codePoint];
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    return fromCodePoint(codePoint);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.default = decodeCodePoint;
							 |