var econda;
(function (econda) {
    var tagmanager;
    (function (tagmanager) {
        var helper;
        (function (helper) {
            var RegExpValue = (function () {
                function RegExpValue(definition) {
                    this._pattern = null;
                    this._modifiers = null;
                    if (definition == null || typeof definition.pattern == 'undefined') {
                        return;
                    }
                    if (typeof definition === 'string') {
                        this._pattern = definition;
                        return;
                    }
                    this._pattern = definition.pattern;
                    this._modifiers = definition.modifiers || null;
                }
                RegExpValue.prototype.toRegExp = function () {
                    var regexp = null;
                    if (this._pattern !== null) {
                        try {
                            regexp = new RegExp(this._pattern, this._modifiers || '');
                        }
                        catch (e) {
                        }
                    }
                    return regexp;
                };
                RegExpValue.prototype.isEmpty = function () {
                    return this._pattern === null || this._pattern === '';
                };
                RegExpValue.prototype.isMatchAlways = function () {
                    return (this.isEmpty()) || (this._pattern.trim() == '.*');
                };
                return RegExpValue;
            }());
            helper.RegExpValue = RegExpValue;
        })(helper = tagmanager.helper || (tagmanager.helper = {}));
    })(tagmanager = econda.tagmanager || (econda.tagmanager = {}));
})(econda || (econda = {}));