fromYamlMap static method

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

Implementation

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

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

    final textSymbolNamesResult =  BpriverYaml.getByKeyFromYamlMapAsTListWithDefault<String>(yamlMap, 'text', []);
    log.add(textSymbolNamesResult);
    if (textSymbolNamesResult is! Success<List<String>, BpriverYamlExceptionEF>) return Failure(textSymbolNamesResult.asException, log);

    final textArraySymbolNamesResult =  BpriverYaml.getByKeyFromYamlMapAsTListWithDefault<String>(yamlMap, 'text_array', []);
    log.add(textArraySymbolNamesResult);
    if (textArraySymbolNamesResult is! Success<List<String>, BpriverYamlExceptionEF>) return Failure(textArraySymbolNamesResult.asException, log);

    final fragmentSymbolsResult =  FragmentSymbol.fromYamlMap(yamlMap);
    log.add(fragmentSymbolsResult);
    if (fragmentSymbolsResult is! Success<List<FragmentSymbol>, BpriverYamlException>) return Failure(fragmentSymbolsResult.asException, log);

    final flagSymbolNamesResult =  BpriverYaml.getByKeyFromYamlMapAsTListWithDefault<String>(yamlMap, 'flag', []);
    log.add(flagSymbolNamesResult);
    if (flagSymbolNamesResult is! Success<List<String>, BpriverYamlExceptionEF>) return Failure(flagSymbolNamesResult.asException, log);

    final objectDefinitionsResult =  ObjectDefinition.fromYamlMapAndKey(yamlMap, 'object');
    log.add(objectDefinitionsResult);
    if (objectDefinitionsResult is! Success<List<ObjectDefinition>, BpriverYamlException>) return Failure(objectDefinitionsResult.asException, log);

    final objectArrayDefinitionsResult =  ObjectDefinition.fromYamlMapAndKey(yamlMap, 'object_array');
    log.add(objectArrayDefinitionsResult);
    if (objectArrayDefinitionsResult is! Success<List<ObjectDefinition>, BpriverYamlException>) return Failure(objectArrayDefinitionsResult.asException, log);

    final constantTextSymbolsResult = TextSymbol.fromYamlMap(yamlMap, 'constant_text');
    log.add(constantTextSymbolsResult);
    if (constantTextSymbolsResult is! Success<List<TextSymbol>, BpriverYamlException>) return Failure(constantTextSymbolsResult.asException, log);

    final constantTextArraySymbolsResult = TextArraySymbol.fromYamlMap(yamlMap, 'constant_text_array');
    log.add(constantTextArraySymbolsResult);
    if (constantTextArraySymbolsResult is! Success<List<TextArraySymbol>, BpriverYamlException>) return Failure(constantTextArraySymbolsResult.asException, log);

    final constantFlagSymbolsResult = FlagSymbol.fromYamlMap(yamlMap, 'constant_flag');
    log.add(constantFlagSymbolsResult);
    if (constantFlagSymbolsResult is! Success<List<FlagSymbol>, BpriverYamlException>) return Failure(constantFlagSymbolsResult.asException, log);

    final constantObjectSymbolsResult = ObjectSymbol.fromYamlMap(yamlMap, 'constant_object');
    log.add(constantObjectSymbolsResult);
    if (constantObjectSymbolsResult is! Success<List<ObjectSymbol>, BpriverYamlException>) return Failure(constantObjectSymbolsResult.asException, log);

    final constantObjectArraySymbolsResult = ObjectArraySymbol.fromYamlMap(yamlMap, 'constant_object_array');
    log.add(constantObjectArraySymbolsResult);
    if (constantObjectArraySymbolsResult is! Success<List<ObjectArraySymbol>, BpriverYamlException>) return Failure(constantObjectArraySymbolsResult.asException, log);

    final templateKeyResult =  BpriverYaml.getByKeyFromYamlMapAsT<YamlMap>(yamlMap, 'template');
    log.add(templateKeyResult);
    if (templateKeyResult is! Success<YamlMap, BpriverYamlExceptionDE>) return Failure(templateKeyResult.asException, log);

    final templateResult =  FileSystemModelList.fromYamlMap(templateKeyResult.wrapped);
    log.add(templateResult);
    if (templateResult is! Success<FileSystemModelList<FileSystemModel>, BpriverYamlExceptionH>) return Failure(templateResult.asException, log);

    final result = TemplateFileSetting(
        textSymbolNamesResult.wrapped,
        textArraySymbolNamesResult.wrapped,
        fragmentSymbolsResult.wrapped,
        flagSymbolNamesResult.wrapped,
        objectDefinitionsResult.wrapped,
        objectArrayDefinitionsResult.wrapped,
        constantTextSymbolsResult.wrapped,
        constantTextArraySymbolsResult.wrapped,
        constantFlagSymbolsResult.wrapped,
        constantObjectSymbolsResult.wrapped,
        constantObjectArraySymbolsResult.wrapped,
        templateResult.wrapped,
    );

    return Success(result, log);

}