fromAccesserableCollection static method

Danger<Accesser, AccesserException> fromAccesserableCollection(
  1. AccesserableCollection accesserableCollection
)

keywrod が末尾に存在する場合 exception.

Implementation

static Danger<Accesser, AccesserException> fromAccesserableCollection(AccesserableCollection accesserableCollection) {

    final log = Log(classLocation: Accesser, functionLocation: 'fromAccesserableCollection');

    final keywordResult = accesserableCollection.changeCaseKeyword;
    log.add(keywordResult);

    switch (keywordResult) {
    case Success(): return Failure(AccesserExceptionF(), log.monitor({
        'identifiers': accesserableCollection.identifiers,
        'keyword': keywordResult.wrapped.runtimeType,
    }));
    case Failure():

        final exception = keywordResult.wrapped;

        switch (exception) {
        case AccesserableCollectionExceptionA(): Result.panic(AccesserErrorA(), log);
        case AccesserableCollectionExceptionB(): break; // keyword が無いのが expected.
        }
    }

    final identifiers = accesserableCollection.identifiers;

    final Accesser result = Accesser.fromIdentifiers(identifiers);

    return Success(result, log);

}