getCurrentValue method

Danger<CitrusArrayable, TemporarySymbolException> getCurrentValue()

laps に対応した値を返す,
over lap だった場合 lap ÷ length の剰余を laps として取得する.

TemporarySymbolExceptionA Unable to get current value then length is zero.

Implementation

Danger<CitrusArrayable, TemporarySymbolException> getCurrentValue() {

    final log = Log(classLocation: runtimeType, functionLocation: 'getCurrentValue');

    final length = value.value.length;

    if (length == 0) return Failure(TemporarySymbolExceptionA(), log);

    late final int index;

    // 1
    switch (overLaps) {
    case true:

        final remainder = laps.value % value.value.length;

        index = remainder;

    case false:

        index = laps.value;

    }

    // 1 より必ず return.
    final result = value.value.elementAt(index);

    return Success(result, log);

}