load static method
Implementation
static Future<DogsGeneratorSettings> load(BuildStep buildStep) async {
var settings = DogsGeneratorSettings();
try {
var pubspecString =
await buildStep.readAsString(AssetId(buildStep.inputId.package, "pubspec.yaml"));
var pubspec = PubSpec.fromYamlString(pubspecString);
var dogsRegion = pubspec.unParsedYaml?["dogs"];
if (dogsRegion != null) {
log.info("Using dogs generator options specified in the pubspec.yaml");
var map = dogsRegion as Map;
var isLibraryValue = map["library"];
if (isLibraryValue is bool) {
settings.isLibrary = isLibraryValue;
}
var casingValue = map["property_case"];
if (casingValue is String) {
settings.propertyCase = CasingType.fromString(casingValue);
}
var nameCasingValue = map["name_case"];
if (nameCasingValue is String) {
settings.nameCase = CasingType.fromString(nameCasingValue);
}
var enumCasingValue = map["enum_case"];
if (enumCasingValue is String) {
settings.enumCase = CasingType.fromString(enumCasingValue);
}
var nullableAccessorsValue = map["nullable_accessors"];
if (nullableAccessorsValue is bool) {
settings.nullableAccessors = nullableAccessorsValue;
}
}
} catch (ex) {
log.warning("Can't resolve package pubspec.yaml with error: $ex. Using default values.");
}
return settings;
}