fromYamlMap static method
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);
}