MkGraphQLBuilder constructor
MkGraphQLBuilder([
- BuilderOptions? options
Implementation
factory MkGraphQLBuilder([BuilderOptions? options]) {
final config = MkGraphQLConfig.fromOptions(options ?? BuilderOptions.empty);
final extensions = <String, List<String>>{};
final schemaPath = config.schemaPath;
final sharedDir = config.sharedDir;
final libDir = Directory('lib');
if (libDir.existsSync()) {
final gqlFiles = libDir
.listSync(recursive: true)
.whereType<File>()
.where((f) => f.path.endsWith('.graphql') || f.path.endsWith('.gql'));
for (final file in gqlFiles) {
try {
final content = file.readAsStringSync();
final outputRels = GeneratorOrchestrator.computeOutputPaths(
content: content,
inputPath: file.path,
schemaPath: schemaPath,
sharedDir: sharedDir,
);
final outputs = outputRels
.map((k) => p.normalize(p.join(p.dirname(file.path), k)))
.toList();
extensions[file.path] = outputs;
} catch (_) {}
}
}
if (extensions.isEmpty) {
extensions['.graphql'] = ['.gql.dart'];
extensions['.gql'] = ['.gql.dart'];
}
return MkGraphQLBuilder._(config, extensions);
}