fromYamlMap static method

Danger<List<FragmentSymbol>, BpriverYamlException> fromYamlMap(
  1. YamlMap yamlMap
)

Implementation

static Danger<List<FragmentSymbol>, BpriverYamlException> fromYamlMap(YamlMap yamlMap) {

    final log = Log(classLocation: FragmentSymbol, functionLocation: 'fromYamlMap');

    final getResult =  BpriverYaml.getByKeyFromYamlMapAsTWithDefault<YamlMap>(yamlMap, 'fragment', YamlMap());
    log.add(getResult);
    if (getResult is! Success<YamlMap, BpriverYamlExceptionE>) return Failure(getResult.asException, log);

    final List<FragmentSymbol> list = [];

    for (final entry in getResult.wrapped.entries) {

        final key = entry.key as String;

        final valueResult = BpriverYaml.parseDynamicAsT<String>(entry.value);
        log.add(valueResult);
        if (valueResult is! Success<String, BpriverYamlExceptionF>) return Failure(valueResult.asException, log);

        final result = FragmentSymbol.from(key, valueResult.wrapped);

        list.add(result);

    }

    return Success(list, log);

}