Firebase Update
This commit is contained in:
32
express-server/node_modules/ent/decode.js
generated
vendored
Normal file
32
express-server/node_modules/ent/decode.js
generated
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
var punycode = require('punycode');
|
||||
var entities = require('./entities.json');
|
||||
|
||||
module.exports = decode;
|
||||
|
||||
function decode (str) {
|
||||
if (typeof str !== 'string') {
|
||||
throw new TypeError('Expected a String');
|
||||
}
|
||||
|
||||
return str.replace(/&(#?[^;\W]+;?)/g, function (_, match) {
|
||||
var m;
|
||||
if (m = /^#(\d+);?$/.exec(match)) {
|
||||
return punycode.ucs2.encode([ parseInt(m[1], 10) ]);
|
||||
} else if (m = /^#[Xx]([A-Fa-f0-9]+);?/.exec(match)) {
|
||||
return punycode.ucs2.encode([ parseInt(m[1], 16) ]);
|
||||
} else {
|
||||
// named entity
|
||||
var hasSemi = /;$/.test(match);
|
||||
var withoutSemi = hasSemi ? match.replace(/;$/, '') : match;
|
||||
var target = entities[withoutSemi] || (hasSemi && entities[match]);
|
||||
|
||||
if (typeof target === 'number') {
|
||||
return punycode.ucs2.encode([ target ]);
|
||||
} else if (typeof target === 'string') {
|
||||
return target;
|
||||
} else {
|
||||
return '&' + match;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
Reference in New Issue
Block a user