define("smashthepigComponentsLuckMeterPort", ["componentmodelComponentApi", "clientkernelEventbusApi"],
    function(componentmodelComponentApi, clientkernelEventbusApi) {
        "use strict";

        function $iterator(o) {
            if (o instanceof Array) return function() {
                return {
                    cur: 0,
                    arr: o,
                    hasNext: function() {
                        return this.cur < this.arr.length;
                    },
                    next: function() {
                        return this.arr[this.cur++];
                    }
                };
            };
            return typeof(o.iterator) == 'function' ? $bind(o, o.iterator) : o.iterator;
        };;
        var $fid = 0;

        function $bind(o, m) {
            if (m == null) return null;
            if (m.__id__ == null) m.__id__ = $fid++;
            var f;
            if (o.hx__closures__ == null) o.hx__closures__ = {};
            else f = o.hx__closures__[m.__id__];
            if (f == null) {
                f = function() {
                    return f.method.apply(f.scope, arguments);
                };
                f.scope = o;
                f.method = m;
                o.hx__closures__[m.__id__] = f;
            }
            return f;
        };
        var $_;
        var $estr = function() {
            return _hcmn_.js_Boot.__string_rec(this, '');
        };
        if (typeof haxe == 'undefined') {
            var haxe = {};
        };

        haxe.IMap = function() {}
        haxe.IMap.prototype = {

        };
        if (typeof smashthepigComponentsLuckMeterPort == 'undefined') {
            var smashthepigComponentsLuckMeterPort = {};
        };

        smashthepigComponentsLuckMeterPort.ILuckMeterImplementationPort = function() {}
        smashthepigComponentsLuckMeterPort.ILuckMeterImplementationPort.prototype = {

            getStartMeasure: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getOnStart: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getOnFinish: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShow: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHide: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        smashthepigComponentsLuckMeterPort.ILuckMeterPort = function() {}
        smashthepigComponentsLuckMeterPort.ILuckMeterPort.prototype = {

            getStartMeasure: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getOnStart: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getOnFinish: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShow: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHide: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };
        smashthepigComponentsLuckMeterPort.LuckMeterDeclaration = function() {};
        smashthepigComponentsLuckMeterPort.LuckMeterDeclaration = ck_implements(smashthepigComponentsLuckMeterPort.LuckMeterDeclaration, componentmodelComponentApi.IComponentDeclaration);
        smashthepigComponentsLuckMeterPort.LuckMeterDeclaration.__interfaces__ = [componentmodelComponentApi.IComponentDeclaration];
        smashthepigComponentsLuckMeterPort.LuckMeterDeclaration.__name__ = ["smashthepigComponentsLuckMeterPort", "LuckMeterDeclaration"];
        smashthepigComponentsLuckMeterPort.LuckMeterDeclaration.prototype.getChildComponents = function() {
            return null;
        };
        smashthepigComponentsLuckMeterPort.LuckMeterDeclaration.prototype.getReferredComponents = function() {
            return null;
        };
        smashthepigComponentsLuckMeterPort.LuckMeterDeclaration.prototype.getImplementedPorts = function() {
            return [smashthepigComponentsLuckMeterPort.ILuckMeterImplementationPort];
        };
        smashthepigComponentsLuckMeterPort.LuckMeterDeclaration.prototype.getUsedPorts = function() {
            return [smashthepigComponentsLuckMeterPort.ILuckMeterPort];
        };
        smashthepigComponentsLuckMeterPort.LuckMeterDeclaration.prototype.__class__ = smashthepigComponentsLuckMeterPort.LuckMeterDeclaration;
        smashthepigComponentsLuckMeterPort.LuckMeterPort = function(bus) {
            this.hide = new clientkernelEventbusApi.Topic("luckMeter:hide");
            this.show = new clientkernelEventbusApi.Topic("luckMeter:show");
            this.onFinish = new clientkernelEventbusApi.Topic("luckMeter:onFinish");
            this.onStart = new clientkernelEventbusApi.Topic("luckMeter:onStart");
            this.startMeasure = new clientkernelEventbusApi.Topic("luckMeter:startMeasure");
            this.startMeasure.connect(bus);
            this.onStart.connect(bus);
            this.onFinish.connect(bus);
            this.show.connect(bus);
            this.hide.connect(bus);
        };
        smashthepigComponentsLuckMeterPort.LuckMeterPort = ck_implements(smashthepigComponentsLuckMeterPort.LuckMeterPort, smashthepigComponentsLuckMeterPort.ILuckMeterPort);
        smashthepigComponentsLuckMeterPort.LuckMeterPort = ck_implements(smashthepigComponentsLuckMeterPort.LuckMeterPort, smashthepigComponentsLuckMeterPort.ILuckMeterImplementationPort);
        smashthepigComponentsLuckMeterPort.LuckMeterPort.__interfaces__ = [smashthepigComponentsLuckMeterPort.ILuckMeterPort, smashthepigComponentsLuckMeterPort.ILuckMeterImplementationPort];
        smashthepigComponentsLuckMeterPort.LuckMeterPort.__name__ = ["smashthepigComponentsLuckMeterPort", "LuckMeterPort"];
        smashthepigComponentsLuckMeterPort.LuckMeterPort.prototype.startMeasure = null;
        smashthepigComponentsLuckMeterPort.LuckMeterPort.prototype.onStart = null;
        smashthepigComponentsLuckMeterPort.LuckMeterPort.prototype.onFinish = null;
        smashthepigComponentsLuckMeterPort.LuckMeterPort.prototype.show = null;
        smashthepigComponentsLuckMeterPort.LuckMeterPort.prototype.hide = null;
        smashthepigComponentsLuckMeterPort.LuckMeterPort.prototype.getStartMeasure = function() {
            return this.startMeasure;
        };
        smashthepigComponentsLuckMeterPort.LuckMeterPort.prototype.getOnStart = function() {
            return this.onStart;
        };
        smashthepigComponentsLuckMeterPort.LuckMeterPort.prototype.getOnFinish = function() {
            return this.onFinish;
        };
        smashthepigComponentsLuckMeterPort.LuckMeterPort.prototype.getShow = function() {
            return this.show;
        };
        smashthepigComponentsLuckMeterPort.LuckMeterPort.prototype.getHide = function() {
            return this.hide;
        };
        smashthepigComponentsLuckMeterPort.LuckMeterPort.prototype.__class__ = smashthepigComponentsLuckMeterPort.LuckMeterPort;
        smashthepigComponentsLuckMeterPort.LuckMeterPortFactory = function() {};
        smashthepigComponentsLuckMeterPort.LuckMeterPortFactory = ck_implements(smashthepigComponentsLuckMeterPort.LuckMeterPortFactory, componentmodelComponentApi.IPortFactory);
        smashthepigComponentsLuckMeterPort.LuckMeterPortFactory.__interfaces__ = [componentmodelComponentApi.IPortFactory];
        smashthepigComponentsLuckMeterPort.LuckMeterPortFactory.__name__ = ["smashthepigComponentsLuckMeterPort", "LuckMeterPortFactory"];
        smashthepigComponentsLuckMeterPort.LuckMeterPortFactory.prototype.provide = function(channel) {
            return new smashthepigComponentsLuckMeterPort.LuckMeterPort(channel);
        };
        smashthepigComponentsLuckMeterPort.LuckMeterPortFactory.prototype["use"] = function(channel) {
            return new smashthepigComponentsLuckMeterPort.LuckMeterPort(channel);
        };
        smashthepigComponentsLuckMeterPort.LuckMeterPortFactory.prototype.__class__ = smashthepigComponentsLuckMeterPort.LuckMeterPortFactory;
        smashthepigComponentsLuckMeterPort.LuckMeterPayload = function(fillPercents) {
            this.fillPercents = fillPercents;
        };
        smashthepigComponentsLuckMeterPort.LuckMeterPayload.__name__ = ["smashthepigComponentsLuckMeterPort", "LuckMeterPayload"];
        smashthepigComponentsLuckMeterPort.LuckMeterPayload.prototype.fillPercents = null;
        smashthepigComponentsLuckMeterPort.LuckMeterPayload.prototype.getFillPercents = function() {
            return this.fillPercents;
        };
        smashthepigComponentsLuckMeterPort.LuckMeterPayload.prototype.__class__ = smashthepigComponentsLuckMeterPort.LuckMeterPayload;
        return {
            exports: smashthepigComponentsLuckMeterPort
        };
    });
//# sourceURL=smashThePigLuckMeterPort.js