/src/php/strings/chr.js
https://github.com/andriuspetrauskis/phpjs · JavaScript · 18 lines · 7 code · 1 blank · 10 comment · 1 complexity · 78e82392ea14a94b7f6e81a6f76b80e7 MD5 · raw file
- module.exports = function chr (codePt) {
- // discuss at: http://locutus.io/php/chr/
- // original by: Kevin van Zonneveld (http://kvz.io)
- // improved by: Brett Zamir (http://brett-zamir.me)
- // example 1: chr(75) === 'K'
- // example 1: chr(65536) === '\uD800\uDC00'
- // returns 1: true
- // returns 1: true
- if (codePt > 0xFFFF) { // Create a four-byte string (length 2) since this code point is high
- // enough for the UTF-16 encoding (JavaScript internal use), to
- // require representation with two surrogates (reserved non-characters
- // used for building other characters; the first is "high" and the next "low")
- codePt -= 0x10000
- return String.fromCharCode(0xD800 + (codePt >> 10), 0xDC00 + (codePt & 0x3FF))
- }
- return String.fromCharCode(codePt)
- }