generateBinding method

String generateBinding(
  1. String name
)

Implementation

String generateBinding(String name) {
  final className = toPascalCase(name);

  if (config.defaultStateManager == 'bloc') {
    return generateBlocBinding(name);
  }

  return '''
import 'package:get/get.dart';
import '../../data/datasources/${toSnakeCase(name)}_remote_data_source.dart';
import '../../data/repositories/${toSnakeCase(name)}_repository_impl.dart';
import '../../domain/repositories/${toSnakeCase(name)}_repository.dart';
import '../../domain/usecases/${toSnakeCase(name)}_usecase.dart';
import '../controllers/${toSnakeCase(name)}_controller.dart';

class ${className}Binding extends Bindings {
@override
void dependencies() {
  Get.lazyPut<${className}RemoteDataSource>(
    () => ${className}RemoteDataSourceImpl(),
  );

  Get.lazyPut<${className}Repository>(
    () => ${className}RepositoryImpl(Get.find()),
  );

  Get.lazyPut<${className}UseCase>(
    () => ${className}UseCase(Get.find()),
  );

  Get.lazyPut<${className}Controller>(
    () => ${className}Controller(Get.find()),
  );
}
}
''';
}