File: /var/www/tana/frontend/node_modules/hoek/lib/escape.js
// Declare internals
var internals = {};
exports.escapeJavaScript = function (input) {
    if (!input) {
        return '';
    }
    var escaped = '';
    for (var i = 0, il = input.length; i < il; ++i) {
        var charCode = input.charCodeAt(i);
        if (internals.isSafe(charCode)) {
            escaped += input[i];
        }
        else {
            escaped += internals.escapeJavaScriptChar(charCode);
        }
    }
    return escaped;
};
exports.escapeHtml = function (input) {
    if (!input) {
        return '';
    }
    var escaped = '';
    for (var i = 0, il = input.length; i < il; ++i) {
        var charCode = input.charCodeAt(i);
        if (internals.isSafe(charCode)) {
            escaped += input[i];
        }
        else {
            escaped += internals.escapeHtmlChar(charCode);
        }
    }
    return escaped;
};
internals.escapeJavaScriptChar = function (charCode) {
    if (charCode >= 256) {
        return '\\u' + internals.padLeft('' + charCode, 4);
    }
    var hexValue = new Buffer(String.fromCharCode(charCode), 'ascii').toString('hex');
    return '\\x' + internals.padLeft(hexValue, 2);
};
internals.escapeHtmlChar = function (charCode) {
    var namedEscape = internals.namedHtml[charCode];
    if (typeof namedEscape !== 'undefined') {
        return namedEscape;
    }
    if (charCode >= 256) {
        return '&#' + charCode + ';';
    }
    var hexValue = new Buffer(String.fromCharCode(charCode), 'ascii').toString('hex');
    return '&#x' + internals.padLeft(hexValue, 2) + ';';
};
internals.padLeft = function (str, len) {
    while (str.length < len) {
        str = '0' + str;
    }
    return str;
};
internals.isSafe = function (charCode) {
    return (typeof internals.safeCharCodes[charCode] !== 'undefined');
};
internals.namedHtml = {
    '38': '&',
    '60': '<',
    '62': '>',
    '34': '"',
    '160': ' ',
    '162': '¢',
    '163': '£',
    '164': '¤',
    '169': '©',
    '174': '®'
};
internals.safeCharCodes = (function () {
    var safe = {};
    for (var i = 32; i < 123; ++i) {
        if ((i >= 97) ||                    // a-z
            (i >= 65 && i <= 90) ||         // A-Z
            (i >= 48 && i <= 57) ||         // 0-9
            i === 32 ||                     // space
            i === 46 ||                     // .
            i === 44 ||                     // ,
            i === 45 ||                     // -
            i === 58 ||                     // :
            i === 95) {                     // _
            safe[i] = null;
        }
    }
    return safe;
}());