JSFiddle - React, Tailwind, and code Playground
by John Schulz
JavaScript
// From https://gist.github.com/2290602
/*!
* ES6 Unicode Shims 0.1
* (c) 2012 Steven Levithan <http://slevithan.com/>
* MIT License
*/
/**
* Returns a string created using the specified sequence of Unicode code points. Accepts integers
* between 0 and 0x10FFFF. Code points above 0xFFFF are converted to surrogate pairs. If a provided
* integer is in the surrogate range, it produces an unpaired surrogate. Comes from accepted ES6
* proposals.
* @memberOf String
* @param {Number} cp1, cp2... Sequence of Unicode code points.
* @returns {String} String created from the specified code points.
* @example
*
* // Basic use
* String.fromCodePoint(0x41); // -> 'A'
*
* // Multiple code points; returns astral characters as surrogate pairs
* String.fromCodePoint(0x20B20, 0x28B4E, 0x29DF6);
* // Unlike String.fromCharCode, this correctly handles code points above 0xFFFF
*/
if (!String.fromCodePoint) {
String.fromCodePoint = function() {
var chars = [],
point, offset, units, i;
for (i = 0; i < arguments.length; ++i) {
point = arguments[i];
offset = point - 0x10000;
units = point > 0xFFFF ? [0xD800 + (offset >> 10), 0xDC00 + (offset & 0x3FF)] : [point];
chars.push(String.fromCharCode.apply(null, units));
}
return chars.join("");
};
}
/**
* Returns the numeric Unicode code point of the character at the given index. Here `pos` is the
* code *unit* position. If it's the second surrogate of a pair or an unpaired starting surrogate,
* the code unit of the surrogate is returned; otherwise the code point is derived from the
* surrogate pair. Comes from accepted ES6 proposals.
* @memberOf String.prototype
* @param {Number} [pos=0] Code point index in the string. Defaults to `0` if not a number.
* @returns {Number} Code point at the specified index. `NaN` if the index is less than `0` or
* greater than the string length.
* @example
*
* var str =...