fix(forms): Fix a typing bug in FormBuilder.#45684
Closed
dylhunn wants to merge 1 commit intoangular:masterfrom
Closed
fix(forms): Fix a typing bug in FormBuilder.#45684dylhunn wants to merge 1 commit intoangular:masterfrom
dylhunn wants to merge 1 commit intoangular:masterfrom
Conversation
737cca5 to
b7b5b97
Compare
atscott
approved these changes
Apr 19, 2022
Contributor
atscott
left a comment
There was a problem hiding this comment.
reviewed-for: public-api
AndrewKushnir
approved these changes
Apr 19, 2022
Contributor
AndrewKushnir
left a comment
There was a problem hiding this comment.
Looks good, just some minor comments 👍
AndrewKushnir
approved these changes
Apr 19, 2022
Contributor
AndrewKushnir
left a comment
There was a problem hiding this comment.
Reviewed-for: public-api
Contributor
Author
|
@cexbrayat Just FYI, this fixes the issue you reported. Thanks! |
Previously, the following code would fail to compile:
```
let form: FormGroup<{email: FormControl<string | null>}>;
form = fb.group({
email: ['', Validators.required]
});
```
This is because the compiler was unable to properly infer the inner type of `ControlConfig` arrays in some cases. The same issue applies to `FormArray` as well under certain circumstances.
This change cleans up the `FormBuilder` type signatures to always use the explicit Element type, and to catch `ControlConfig` types that might fall through.
jessicajaniuk
approved these changes
Apr 20, 2022
Contributor
jessicajaniuk
left a comment
There was a problem hiding this comment.
reviewed-for: public-api
Contributor
Author
|
This PR was merged into the repository by commit ff3f5a8. |
atscott
pushed a commit
to atscott/angular
that referenced
this pull request
Apr 20, 2022
Previously, the following code would fail to compile:
```
let form: FormGroup<{email: FormControl<string | null>}>;
form = fb.group({
email: ['', Validators.required]
});
```
This is because the compiler was unable to properly infer the inner type of `ControlConfig` arrays in some cases. The same issue applies to `FormArray` as well under certain circumstances.
This change cleans up the `FormBuilder` type signatures to always use the explicit Element type, and to catch `ControlConfig` types that might fall through.
PR Close angular#45684
|
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Previously, the following code would fail to compile:
This is because the compiler was unable to properly infer the inner type of
ControlConfigarrays in some cases, so the inference would instead returnFormControl<Array<string|ValidatorFn>>. The same issue applies toFormArrayas well under certain circumstances.This change cleans up the
FormBuildertype signatures to always use the explicitElementtype, and to catchControlConfigtypes that might fall through.