You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					24 lines
				
				808 B
			
		
		
			
		
	
	
					24 lines
				
				808 B
			| 
								 
											3 years ago
										 
									 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								Object.defineProperty(exports, "__esModule", { value: true });
							 | 
						||
| 
								 | 
							
								// https://mathiasbynens.be/notes/javascript-encoding
							 | 
						||
| 
								 | 
							
								// https://github.com/bestiejs/punycode.js - punycode.ucs2.decode
							 | 
						||
| 
								 | 
							
								function ucs2length(str) {
							 | 
						||
| 
								 | 
							
								    const len = str.length;
							 | 
						||
| 
								 | 
							
								    let length = 0;
							 | 
						||
| 
								 | 
							
								    let pos = 0;
							 | 
						||
| 
								 | 
							
								    let value;
							 | 
						||
| 
								 | 
							
								    while (pos < len) {
							 | 
						||
| 
								 | 
							
								        length++;
							 | 
						||
| 
								 | 
							
								        value = str.charCodeAt(pos++);
							 | 
						||
| 
								 | 
							
								        if (value >= 0xd800 && value <= 0xdbff && pos < len) {
							 | 
						||
| 
								 | 
							
								            // high surrogate, and there is a next character
							 | 
						||
| 
								 | 
							
								            value = str.charCodeAt(pos);
							 | 
						||
| 
								 | 
							
								            if ((value & 0xfc00) === 0xdc00)
							 | 
						||
| 
								 | 
							
								                pos++; // low surrogate
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    return length;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.default = ucs2length;
							 | 
						||
| 
								 | 
							
								ucs2length.code = 'require("ajv/dist/runtime/ucs2length").default';
							 | 
						||
| 
								 | 
							
								//# sourceMappingURL=ucs2length.js.map
							 |