Comparing version 0.5.8 to 0.6.0
@@ -907,3 +907,4 @@ // wrapper for non-node envs | ||
} | ||
return String.fromCharCode(num) | ||
return String.fromCodePoint(num) | ||
} | ||
@@ -1356,2 +1357,56 @@ | ||
/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */ | ||
if (!String.fromCodePoint) { | ||
(function() { | ||
var stringFromCharCode = String.fromCharCode; | ||
var floor = Math.floor; | ||
var fromCodePoint = function() { | ||
var MAX_SIZE = 0x4000; | ||
var codeUnits = []; | ||
var highSurrogate; | ||
var lowSurrogate; | ||
var index = -1; | ||
var length = arguments.length; | ||
if (!length) { | ||
return ''; | ||
} | ||
var result = ''; | ||
while (++index < length) { | ||
var codePoint = Number(arguments[index]); | ||
if ( | ||
!isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity` | ||
codePoint < 0 || // not a valid Unicode code point | ||
codePoint > 0x10FFFF || // not a valid Unicode code point | ||
floor(codePoint) != codePoint // not an integer | ||
) { | ||
throw RangeError('Invalid code point: ' + codePoint); | ||
} | ||
if (codePoint <= 0xFFFF) { // BMP code point | ||
codeUnits.push(codePoint); | ||
} else { // Astral code point; split in surrogate halves | ||
// http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae | ||
codePoint -= 0x10000; | ||
highSurrogate = (codePoint >> 10) + 0xD800; | ||
lowSurrogate = (codePoint % 0x400) + 0xDC00; | ||
codeUnits.push(highSurrogate, lowSurrogate); | ||
} | ||
if (index + 1 == length || codeUnits.length > MAX_SIZE) { | ||
result += stringFromCharCode.apply(null, codeUnits); | ||
codeUnits.length = 0; | ||
} | ||
} | ||
return result; | ||
}; | ||
if (Object.defineProperty) { | ||
Object.defineProperty(String, 'fromCodePoint', { | ||
'value': fromCodePoint, | ||
'configurable': true, | ||
'writable': true | ||
}); | ||
} else { | ||
String.fromCodePoint = fromCodePoint; | ||
} | ||
}()); | ||
} | ||
})(typeof exports === "undefined" ? sax = {} : exports) |
@@ -5,3 +5,3 @@ { | ||
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)", | ||
"version": "0.5.8", | ||
"version": "0.6.0", | ||
"main": "lib/sax.js", | ||
@@ -8,0 +8,0 @@ "license": "BSD", |
470810
62
2574
56