fromDynamic static method

Danger<CitrusObject, BpriverYamlException> fromDynamic(
  1. dynamic dynamic
)

Implementation

static Danger<CitrusObject, BpriverYamlException> fromDynamic(dynamic) {

    final log = Log(classLocation: CitrusObject, functionLocation: 'fromDynamic');

    final yamlMapResult = BpriverYaml.parseDynamicAsT<YamlMap>(dynamic);
    log.add(yamlMapResult);
    if (yamlMapResult is! Success<YamlMap, BpriverYamlExceptionF>) return Failure(yamlMapResult.asException, log);
    final yamlMap = yamlMapResult.wrapped;

    final List<CitrusObjectUnit> list = [];

    for (final i in yamlMap.entries) {

        final name = i.key as String;

        final valueResult = ObjectValuable.fromYamlMapAndKey(yamlMap, name);
        log.add(valueResult);
        if (valueResult is! Success<ObjectValuable, BpriverYamlException>) return Failure(valueResult.asException, log);

        final result = CitrusObjectUnit(name, valueResult.wrapped);

        list.add(result);

    }

    final result = CitrusObject(list);

    return Success(result, log);

}