build method

  1. @override
Future<void> build(
  1. BuildStep buildStep
)

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 = GLParser(
    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);
  g.parse(schema);
  await generateDartClientClasses(
      g,
      GeneratorConfig(
          schemaPaths: [],
          mode: "client",
          identityFields: g.identityFields,
          typeMappings: map,
          outputDir: outputDir),
      now);
}