resolveClientGeneratorOptions function

ClientGeneratorOptions resolveClientGeneratorOptions({
  1. required SchemaDocument schema,
  2. String? schemaPath,
  3. required Directory anchorDirectory,
})

Resolves generator options for a concrete output location.

Implementation

ClientGeneratorOptions resolveClientGeneratorOptions({
  required SchemaDocument schema,
  String? schemaPath,
  required Directory anchorDirectory,
}) {
  final providers = schema.datasources
      .map((datasource) => datasource.properties['provider'])
      .whereType<String>()
      .map(
        (provider) => provider.trim().replaceAll('"', '').replaceAll("'", ''),
      )
      .toSet();
  if (providers.isEmpty) {
    return const ClientGeneratorOptions();
  }

  if (schemaPath != null) {
    return _resolveClientGeneratorOptionsFromProviderCli(
      providers: providers,
      schemaPath: schemaPath,
      anchorDirectory: anchorDirectory,
    );
  }

  return _resolveClientGeneratorOptionsFallback(
    providers: providers,
    anchorDirectory: anchorDirectory,
  );
}