src/optimizer/transforms/char-case-insensitive-lowercase-transform.js
function getSurrogatePairFromCodePoint(codePoint) {
  const lead = Math.floor((codePoint - 0x10000) / 0x400) + 0xd800;
  const trail = (codePoint - 0x10000) % 0x400 + 0xdc00;
  return {
    lead: lead.toString(16),
    trail: trail.toString(16)
  };
}
function getSurrogatePairFromCodePoint(codePoint) {
  const lead = Math.floor((codePoint - 0x10000) / 0x400) + 0xd800;
  const trail = (codePoint - 0x10000) % 0x400 + 0xdc00;
  return {
    lead: lead.toString(16),
    trail: trail.toString(16)
  };
}
function getSurrogatePairFromCodePoint ( codePoint ) { const lead = Math . floor ( ( codePoint - 0x10000 ) / 0x400 ) + 0xd800 ; const trail = ( codePoint - 0x10000 ) % 0x400 + 0xdc00 ; return { lead : lead . toString ( 16 ) , trail : trail . toString ( 16 ) } ; }
Converts a code point to a surrogate pair.
Conversion algorithm is taken from The Unicode Standard 3.0 Section 3.7
(https://www.unicode.org/versions/Unicode3.0.0/ch03.pdf)
@param {number} codePoint - Between 0x10000 and 0x10ffff
@returns {{lead: string, trail: string}}
Converts a code point to a surrogate pair . Conversion algorithm is taken from The Unicode Standard 3 . 0 Section 3 . 7 ( https : // www . unicode . org / versions / Unicode3 . 0 . 0 / ch03 . pdf )