fromYamlMapAndKey static method
Danger<List<ObjectDefinition> , BpriverYamlException>
fromYamlMapAndKey(
- YamlMap yamlMap,
- String key
Implementation
static Danger<List<ObjectDefinition>, BpriverYamlException> fromYamlMapAndKey(YamlMap yamlMap, String key) {
final log = Log(classLocation: ObjectDefinition, functionLocation: 'fromYamlMap');
final getResult = BpriverYaml.getByKeyFromYamlMapAsTWithDefault<YamlMap>(yamlMap, key, YamlMap());
log.add(getResult);
if (getResult is! Success<YamlMap, BpriverYamlExceptionE>) return Failure(getResult.asException, log);
final List<ObjectDefinition> list = [];
for (final entry in getResult.wrapped.entries) {
final key = entry.key as String;
final valueResult = BpriverYaml.parseDynamicAsT<YamlMap>(entry.value);
log.add(valueResult);
if (valueResult is! Success<YamlMap, BpriverYamlExceptionF>) return Failure(valueResult.asException, log);
final unitResult = ObjectDefinitionUnit.fromYamlMap(valueResult.wrapped);
log.add(unitResult);
if (unitResult is! Success<List<ObjectDefinitionUnit>, BpriverYamlException>) return Failure(unitResult.asException, log);
final result = ObjectDefinition(key, unitResult.wrapped);
list.add(result);
}
return Success(list, log);
}