fromYamlMap static method

Danger<List<ObjectArraySymbol>, BpriverYamlException> fromYamlMap(
  1. YamlMap yamlMap,
  2. String key
)

constant_object_array: x: - a: 'AAA' b: 'B', 'BB', 'BBB' c: true - a: 'A' b: 'B', 'B', 'B' c: false

Implementation

static Danger<List<ObjectArraySymbol>, BpriverYamlException> fromYamlMap(YamlMap yamlMap, String key) {

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

    final List<ObjectArraySymbol> list = [];

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

    for (final i in childYamlMap.entries) {

        final name = i.key as String;

        final yamlListResult = BpriverYaml.parseDynamicAsT<YamlList>(i.value);
        log.add(yamlListResult);
        if (yamlListResult is! Success<YamlList, BpriverYamlExceptionF>) return Failure(yamlListResult.asException, log);

        final citrusObjectArrayResult = CitrusObjectArray.fromYamlList(yamlListResult.wrapped);
        log.add(citrusObjectArrayResult);
        if (citrusObjectArrayResult is! Success<CitrusObjectArray, BpriverYamlException>) return Failure(citrusObjectArrayResult.asException, log);

        final result = ObjectArraySymbol(name, citrusObjectArrayResult.wrapped);

        list.add(result);

    }

    return Success(list, log);

}