///<reference path="./IOutputFormatter.ts" />
var econda;
(function (econda) {
    var tagmanager;
    (function (tagmanager) {
        var macro;
        (function (macro) {
            var output;
            (function (output) {
                /**
                 * Formats value to be valid in HTML.
                 * @class econda.tagmanager.macro.output.HtmlFormatter
                 */
                var HtmlFormatter = (function () {
                    function HtmlFormatter() {
                        this._entityMap = {
                            "&": "&amp;",
                            "<": "&lt;",
                            ">": "&gt;",
                            '"': '&quot;',
                            "'": '&#39;',
                            "/": '&#x2F;'
                        };
                    }
                    HtmlFormatter.prototype.format = function (macroName, value) {
                        var _this = this;
                        if (value === undefined || value === null) {
                            return '\'\'';
                        }
                        return String(value).replace(/[&<>"'\/]/g, function (s) { return _this._entityMap[s]; });
                    };
                    return HtmlFormatter;
                }());
                output.HtmlFormatter = HtmlFormatter;
            })(output = macro.output || (macro.output = {}));
        })(macro = tagmanager.macro || (tagmanager.macro = {}));
    })(tagmanager = econda.tagmanager || (econda.tagmanager = {}));
})(econda || (econda = {}));