generate method
Implementation
@override
String generate(DependencyConfig dep) {
final initializer = generateInitializer(dep);
var constructor = initializer;
if (dep.registerAsInstance) {
constructor = generateAwaitSetup(dep, initializer);
}
final typeArg = '<${dep.type!.getDisplayName(prefixedTypes)}>';
if (dep.isAsync! && !dep.preResolve!) {
write('gh.singletonAsync$typeArg(()=> $constructor');
if (dep.dependsOn!.isNotEmpty) {
write(', dependsOn: ${dep.dependsOn}');
}
} else {
if (dep.dependsOn!.isEmpty) {
write("gh.singleton$typeArg($constructor");
} else {
write('gh.singletonWithDependencies$typeArg(()=> $constructor, dependsOn: ${dep.dependsOn}');
}
}
closeRegisterFunc(dep);
return buffer.toString();
}