fromExpressionCollection static method

Danger<Box<JoinSetting>, AccesserException> fromExpressionCollection(
  1. ExpressionCollection expressionCollection
)

Implementation

static Danger<Box<JoinSetting>, AccesserException> fromExpressionCollection(ExpressionCollection expressionCollection) {

    final log = Log(classLocation: JoinSetting, functionLocation: 'fromExpressionCollection');

    // 最初の一つだけを参照する.
    final whereTypeResult = expressionCollection.first.whereType<JoinExpression>();

    // 1.
    switch (whereTypeResult.isEmpty) {
    case true:

        return Success(None(), log);

    case false:

        // 1 より必ず return.
        final result = JoinSetting.fromJoinExpression(whereTypeResult.first);
        log.add(result);
        if (result is! Success<JoinSetting, AccesserException>) return Failure(result.asException, log);

        return Success(Some(result.wrapped), log);

    }

}