


# AuthenticationRepositoryImpl&lt;Data extends Object> constructor




    *[<Null safety>](https://dart.dev/null-safety)*



AuthenticationRepositoryImpl&lt;Data extends Object>({required [AuthenticationRemoteDataSource](../../wyatt_authentication_bloc/AuthenticationRemoteDataSource-class.md)&lt;Data> authenticationRemoteDataSource, FormRepository? formRepository, [List](https://api.flutter.dev/flutter/dart-core/List-class.html)&lt;FormInput&lt;dynamic, FormInputValidator&lt;dynamic, ValidationError>, dynamic>>? extraSignUpInputs, [List](https://api.flutter.dev/flutter/dart-core/List-class.html)&lt;FormInput&lt;dynamic, FormInputValidator&lt;dynamic, ValidationError>, dynamic>>? extraEditAccountInputs, FormInputValidator&lt;[String](https://api.flutter.dev/flutter/dart-core/String-class.html)?, ValidationError>? customEmailValidator, FormInputValidator&lt;[String](https://api.flutter.dev/flutter/dart-core/String-class.html)?, ValidationError>? customPasswordValidator})





## Implementation

```dart
AuthenticationRepositoryImpl({
  required this.authenticationRemoteDataSource,
  FormRepository? formRepository,
  // ignore: strict_raw_type
  List<FormInput>? extraSignUpInputs,
  // ignore: strict_raw_type
  List<FormInput>? extraEditAccountInputs,
  FormInputValidator<String?, ValidationError>? customEmailValidator,
  FormInputValidator<String?, ValidationError>? customPasswordValidator,
}) {
  _formRepository = formRepository ?? FormRepositoryImpl();

  if (formRepository != null) {
    return;
  }
  _formRepository
    ..registerForm(
      Forms.buildSignUpForm(
        customEmailValidator,
        customPasswordValidator,
        extraSignUpInputs,
      ),
    )
    ..registerForm(
      Forms.buildSignInForm(
        customEmailValidator,
        customPasswordValidator,
      ),
    )
    ..registerForm(
      Forms.buildPasswordResetForm(customEmailValidator),
    )
    ..registerForm(
      Forms.buildEditAccountForm(
        customEmailValidator,
        customPasswordValidator,
        extraEditAccountInputs,
      ),
    );
}
```







