/// <reference path="../../../util/ArrayUtils.ts" />
/// <reference path="../../ITouchpoint.ts" />
/// <reference path="../../Session.ts" />
/// <reference path="./IConstructorArgument.ts" />
var econda;
(function (econda) {
    var tpm;
    (function (tpm) {
        var provisioning;
        (function (provisioning) {
            var partials;
            (function (partials) {
                var Session = econda.tpm.Session;
                var ArrayUtils = econda.util.ArrayUtils;
                /**
                 * Use only touchpoints from current session.
                 *
                 * @class econda.tpm.provisioning.partials.OnlyCurrentSession
                 */
                var OnlyCurrentSession = (function () {
                    function OnlyCurrentSession(data) {
                        this.touchpoints = data.touchpoints;
                    }
                    OnlyCurrentSession.prototype.apply = function () {
                        var sessionId = Session.getStartTimestamp();
                        ArrayUtils.remove(this.touchpoints, function (item) { return item.session != sessionId; });
                    };
                    OnlyCurrentSession.FUNCTION_NAME = 'ofCurrentSession';
                    return OnlyCurrentSession;
                }());
                partials.OnlyCurrentSession = OnlyCurrentSession;
            })(partials = provisioning.partials || (provisioning.partials = {}));
        })(provisioning = tpm.provisioning || (tpm.provisioning = {}));
    })(tpm = econda.tpm || (econda.tpm = {}));
})(econda || (econda = {}));