build method
Generates the outputs for a given BuildStep.
Implementation
@override
Future<void> build(BuildStep buildStep) async {
final now = DateTime.now();
await initAssets(buildStep);
options.config.entries.where((element) => element.value is String).forEach((e) {
map[e.key] = e.value as String;
});
var g = GLGrammar(
typeMap: map,
generateAllFieldsFragments: options.config["generateAllFieldsFragments"] as bool? ?? false,
nullableFieldsRequired: options.config["nullableFieldsRequired"] as bool? ?? false,
autoGenerateQueries: options.config["autoGenerateQueries"] as bool? ?? false,
defaultAlias: options.config["defaultAlias"],
operationNameAsParameter: options.config["operationNameAsParameter"] as bool? ?? false,
identityFields: (options.config["identityFields"] as YamlList?)?.cast<String>() ?? [],
);
var schema = await readSchema(buildStep);
var parsed = g.parse(schema);
if (parsed is Success) {
await generateDartClientClasses(
g,
GeneratorConfig(
schemaPaths: [],
mode: "client",
identityFields: g.identityFields,
typeMappings: map,
outputDir: outputDir),
now);
}
}