--- /dev/null
+var makeString = require('./helper/makeString');
+var htmlEntities = require('./helper/htmlEntities');
+
+module.exports = function unescapeHTML(str) {
+ return makeString(str).replace(/\&([^;]+);/g, function(entity, entityCode) {
+ var match;
+
+ if (entityCode in htmlEntities) {
+ return htmlEntities[entityCode];
+ /*eslint no-cond-assign: 0*/
+ } else if (match = entityCode.match(/^#x([\da-fA-F]+)$/)) {
+ return String.fromCharCode(parseInt(match[1], 16));
+ /*eslint no-cond-assign: 0*/
+ } else if (match = entityCode.match(/^#(\d+)$/)) {
+ return String.fromCharCode(~~match[1]);
+ } else {
+ return entity;
+ }
+ });
+};