constructor(
        x,
        y,
        scope = globalScope,
        dir = 'RIGHT',
        bitWidth = undefined,
        bitWidthSplit = undefined,
    ) {
        super(x, y, scope, dir, bitWidth);
        /* this is done in this.baseSetup() now
        this.scope['Splitter'].push(this);
        */
        this.rectangleObject = false;

        this.bitWidthSplit = bitWidthSplit || (prompt('Enter bitWidth Split') || `${'1 '.repeat((this.bitWidth || 1) - 1)}1`).split(' ').filter((lambda) => lambda !== '').map((lambda) => parseInt(lambda, 10) || 1);
        this.splitCount = this.bitWidthSplit.length;

        this.setDimensions(10, (this.splitCount - 1) * 10 + 10);
        this.yOffset = (this.splitCount / 2 - 1) * 20;

        this.inp1 = new Node(-10, 10 + this.yOffset, 0, this, this.bitWidth);

        this.outputs = [];
        // this.prevOutValues=new Array(this.splitCount)
        for (let i = 0; i < this.splitCount; i++) { this.outputs.push(new Node(20, i * 20 - this.yOffset - 20, 0, this, this.bitWidthSplit[i])); }

        this.prevInpValue = undefined;
    }
@class
Splitter
@extends CircuitElement
@param {number} x - x coordinate of element.
@param {number} y - y coordinate of element.
@param {Scope=} scope - Cirucit on which element is drawn
@param {string=} dir - direction of element
@param {number=} bitWidth - bit width per node.
@param {number=} bitWidthSplit - number of input nodes
@category modules