    import Connector from './Connector';

    /** @module editorElements.OutputConnector */

    /**
     * Connector that takes a state defined by the {@link Box} it belongs to and passes it to all connected wire
     * @extends Connector
     */
    export default class OutputConnector extends Connector {
        /**
         * Call the constructor from the parent {@link Connector} class and set isOutputConnector to true.
         * @param {App} appInstance link to the [App](./module-App.html) instance that this connector will belong to
         * @param {number} left      horizontal position defined in grid units (SVG pixels divided by the grid size)
         * @param {number} top       vertical position defined in grid units (SVG pixels divided by the grid size)
         */
        constructor(appInstance, left, top) {
            super(appInstance, left, top);

            this.isOutputConnector = true;
        }

        /**
         * Call the setState method of {@link Connector} and than set the state of the connected {@link Wire}s
         * @param {Logic.state} state new {@link Logic.state} of the connector
         */
        setState(state) {
            super.setState(state);

            for (const wireId of this.wireIds) {
                this.appInstance.getWireById(wireId).setState(state);
            }
        }
    }