///<reference path="./IOutputFormatter.ts" />
var econda;
(function (econda) {
    var tagmanager;
    (function (tagmanager) {
        var macro;
        (function (macro) {
            var output;
            (function (output) {
                /**
                 * Returns two configurable values for false / true input values
                 * @class econda.tagmanager.macro.output.RawFormatter
                 */
                var BooleanFormatter = (function () {
                    function BooleanFormatter() {
                    }
                    BooleanFormatter.prototype.format = function (macroName, value, params) {
                        if (params === void 0) { params = []; }
                        var trueValue = (typeof params[0] !== 'undefined' ? params[0] : '1');
                        var falseValue = (typeof params[1] !== 'undefined' ? params[1] : '0');
                        if (typeof value === 'string') {
                            return (['', "no", "false", "0", "null", "undefined"].indexOf(value.toLowerCase()) === -1) ? trueValue : falseValue;
                        }
                        return value ? trueValue : falseValue;
                    };
                    return BooleanFormatter;
                }());
                output.BooleanFormatter = BooleanFormatter;
            })(output = macro.output || (macro.output = {}));
        })(macro = tagmanager.macro || (tagmanager.macro = {}));
    })(tagmanager = econda.tagmanager || (econda.tagmanager = {}));
})(econda || (econda = {}));