All files / sportident/src/SiStation CoupledSiStation.ts

100% Statements 8/8
100% Branches 0/0
100% Functions 3/3
100% Lines 8/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25    1x 1x 1x   1x       2x 2x           4x     2x        
import {ISiDevice, ISiDeviceDriverData} from '../SiDevice/ISiDevice';
import {ISiStation} from './ISiStation';
import {ISiTargetMultiplexer, SiTargetMultiplexerTarget} from './ISiTargetMultiplexer';
import {BaseSiStation} from './BaseSiStation';
import {SiTargetMultiplexer} from './SiTargetMultiplexer';
 
export class CoupledSiStation
    extends BaseSiStation<SiTargetMultiplexerTarget.Remote>
    implements ISiStation<SiTargetMultiplexerTarget.Remote> {
    static fromSiDevice(siDevice: ISiDevice<ISiDeviceDriverData<unknown>>): CoupledSiStation {
        const multiplexer = SiTargetMultiplexer.fromSiDevice(siDevice);
        return this.fromSiTargetMultiplexer(multiplexer);
    }
 
    static fromSiTargetMultiplexer(
        multiplexer: ISiTargetMultiplexer,
    ): CoupledSiStation {
        return this.fromSiTargetMultiplexerWithGivenTarget(
            multiplexer,
            SiTargetMultiplexerTarget.Remote,
            () => new this(multiplexer, SiTargetMultiplexerTarget.Remote),
        ) as CoupledSiStation;
    }
}