Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 6c9abd3

Browse files
JeanMechepkozlowski-opensource
authored andcommitted
refactor(forms): lift circular deps (#55881)
`import type` to the rescue. PR Close #55881
1 parent 9f4063b commit 6c9abd3

File tree

9 files changed

+22
-154
lines changed

9 files changed

+22
-154
lines changed

‎goldens/circular-deps/packages.json

Lines changed: 0 additions & 133 deletions
Original file line numberDiff line numberDiff line change
@@ -59,139 +59,6 @@
5959
"packages/core/src/render3/interfaces/container.ts",
6060
"packages/core/src/render3/interfaces/view.ts"
6161
],
62-
[
63-
"packages/forms/src/directives.ts",
64-
"packages/forms/src/directives/ng_control_status.ts",
65-
"packages/forms/src/directives/abstract_control_directive.ts",
66-
"packages/forms/src/model/abstract_model.ts",
67-
"packages/forms/src/forms.ts"
68-
],
69-
[
70-
"packages/forms/src/directives/abstract_form_group_directive.ts",
71-
"packages/forms/src/directives/control_container.ts",
72-
"packages/forms/src/directives/form_interface.ts"
73-
],
74-
[
75-
"packages/forms/src/directives/abstract_form_group_directive.ts",
76-
"packages/forms/src/directives/form_interface.ts"
77-
],
78-
[
79-
"packages/forms/src/directives/abstract_form_group_directive.ts",
80-
"packages/forms/src/directives/shared.ts"
81-
],
82-
[
83-
"packages/forms/src/directives/abstract_form_group_directive.ts",
84-
"packages/forms/src/directives/shared.ts",
85-
"packages/forms/src/directives/control_container.ts",
86-
"packages/forms/src/directives/form_interface.ts"
87-
],
88-
[
89-
"packages/forms/src/directives/abstract_form_group_directive.ts",
90-
"packages/forms/src/directives/shared.ts",
91-
"packages/forms/src/directives/ng_control.ts",
92-
"packages/forms/src/directives/control_container.ts",
93-
"packages/forms/src/directives/form_interface.ts"
94-
],
95-
[
96-
"packages/forms/src/directives/abstract_form_group_directive.ts",
97-
"packages/forms/src/directives/shared.ts",
98-
"packages/forms/src/directives/reactive_directives/form_group_name.ts"
99-
],
100-
[
101-
"packages/forms/src/directives/abstract_form_group_directive.ts",
102-
"packages/forms/src/directives/shared.ts",
103-
"packages/forms/src/directives/reactive_directives/form_group_name.ts",
104-
"packages/forms/src/directives/control_container.ts",
105-
"packages/forms/src/directives/form_interface.ts"
106-
],
107-
[
108-
"packages/forms/src/directives/abstract_form_group_directive.ts",
109-
"packages/forms/src/directives/shared.ts",
110-
"packages/forms/src/directives/reactive_directives/form_group_name.ts",
111-
"packages/forms/src/directives/reactive_directives/form_group_directive.ts",
112-
"packages/forms/src/directives/control_container.ts",
113-
"packages/forms/src/directives/form_interface.ts"
114-
],
115-
[
116-
"packages/forms/src/directives/abstract_form_group_directive.ts",
117-
"packages/forms/src/directives/shared.ts",
118-
"packages/forms/src/directives/reactive_directives/form_group_name.ts",
119-
"packages/forms/src/directives/reactive_directives/form_group_directive.ts",
120-
"packages/forms/src/directives/form_interface.ts"
121-
],
122-
[
123-
"packages/forms/src/directives/abstract_form_group_directive.ts",
124-
"packages/forms/src/directives/shared.ts",
125-
"packages/forms/src/directives/reactive_directives/form_group_name.ts",
126-
"packages/forms/src/directives/reactive_directives/form_group_directive.ts",
127-
"packages/forms/src/directives/reactive_directives/form_control_name.ts"
128-
],
129-
[
130-
"packages/forms/src/directives/abstract_form_group_directive.ts",
131-
"packages/forms/src/directives/shared.ts",
132-
"packages/forms/src/directives/reactive_directives/form_group_name.ts",
133-
"packages/forms/src/directives/reactive_directives/form_group_directive.ts",
134-
"packages/forms/src/directives/reactive_directives/form_control_name.ts",
135-
"packages/forms/src/directives/control_container.ts",
136-
"packages/forms/src/directives/form_interface.ts"
137-
],
138-
[
139-
"packages/forms/src/directives/ng_form.ts",
140-
"packages/forms/src/directives/ng_model.ts"
141-
],
142-
[
143-
"packages/forms/src/directives/ng_form.ts",
144-
"packages/forms/src/directives/ng_model.ts",
145-
"packages/forms/src/directives/ng_model_group.ts"
146-
],
147-
[
148-
"packages/forms/src/directives/reactive_directives/form_control_directive.ts",
149-
"packages/forms/src/directives/shared.ts",
150-
"packages/forms/src/directives/reactive_directives/form_group_name.ts",
151-
"packages/forms/src/directives/reactive_directives/form_group_directive.ts",
152-
"packages/forms/src/directives/reactive_directives/form_control_name.ts"
153-
],
154-
[
155-
"packages/forms/src/directives/reactive_directives/form_control_name.ts",
156-
"packages/forms/src/directives/reactive_directives/form_group_directive.ts"
157-
],
158-
[
159-
"packages/forms/src/directives/reactive_directives/form_control_name.ts",
160-
"packages/forms/src/directives/reactive_directives/form_group_name.ts",
161-
"packages/forms/src/directives/reactive_directives/form_group_directive.ts"
162-
],
163-
[
164-
"packages/forms/src/directives/reactive_directives/form_control_name.ts",
165-
"packages/forms/src/directives/shared.ts",
166-
"packages/forms/src/directives/reactive_directives/form_group_name.ts",
167-
"packages/forms/src/directives/reactive_directives/form_group_directive.ts"
168-
],
169-
[
170-
"packages/forms/src/directives/reactive_directives/form_group_directive.ts",
171-
"packages/forms/src/directives/reactive_directives/form_group_name.ts"
172-
],
173-
[
174-
"packages/forms/src/directives/reactive_directives/form_group_directive.ts",
175-
"packages/forms/src/directives/shared.ts",
176-
"packages/forms/src/directives/reactive_directives/form_group_name.ts"
177-
],
178-
[
179-
"packages/forms/src/directives/reactive_directives/form_group_name.ts",
180-
"packages/forms/src/directives/shared.ts"
181-
],
182-
[
183-
"packages/forms/src/directives/validators.ts",
184-
"packages/forms/src/model/abstract_model.ts"
185-
],
186-
[
187-
"packages/forms/src/directives/validators.ts",
188-
"packages/forms/src/validators.ts"
189-
],
190-
[
191-
"packages/forms/src/directives/validators.ts",
192-
"packages/forms/src/validators.ts",
193-
"packages/forms/src/model/abstract_model.ts"
194-
],
19562
[
19663
"packages/router/src/directives/router_outlet.ts",
19764
"packages/router/src/router_outlet_context.ts"

‎packages/forms/src/directives/abstract_form_group_directive.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {Directive, OnDestroy, OnInit} from '@angular/core';
1111
import {FormGroup} from '../model/form_group';
1212

1313
import {ControlContainer} from './control_container';
14-
import {Form} from './form_interface';
14+
import type {Form} from './form_interface';
1515
import {controlPath} from './shared';
1616

1717
/**

‎packages/forms/src/directives/control_container.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*/
88

99
import {AbstractControlDirective} from './abstract_control_directive';
10-
import {Form} from './form_interface';
10+
import type {Form} from './form_interface';
1111

1212
/**
1313
* @description

‎packages/forms/src/directives/ng_form.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ import {
3535
import {ControlContainer} from './control_container';
3636
import {Form} from './form_interface';
3737
import {NgControl} from './ng_control';
38-
import {NgModel} from './ng_model';
39-
import {NgModelGroup} from './ng_model_group';
38+
import type {NgModel} from './ng_model';
39+
import type {NgModelGroup} from './ng_model_group';
4040
import {
4141
CALL_SET_DISABLED_STATE,
4242
SetDisabledStateOption,

‎packages/forms/src/directives/reactive_directives/form_group_directive.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ import {
4646
} from '../shared';
4747
import {AsyncValidator, AsyncValidatorFn, Validator, ValidatorFn} from '../validators';
4848

49-
import {FormControlName} from './form_control_name';
50-
import {FormArrayName, FormGroupName} from './form_group_name';
49+
import type {FormControlName} from './form_control_name';
50+
import type {FormArrayName, FormGroupName} from './form_group_name';
5151
import {FormResetEvent, FormSubmittedEvent} from '../../model/abstract_model';
5252

5353
const formDirectiveProvider: Provider = {

‎packages/forms/src/directives/shared.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,22 @@
66
* found in the LICENSE file at https://angular.io/license
77
*/
88

9-
import {Inject, InjectionToken, ɵRuntimeError as RuntimeError} from '@angular/core';
9+
import {InjectionToken, ɵRuntimeError as RuntimeError} from '@angular/core';
1010

1111
import {RuntimeErrorCode} from '../errors';
12-
import {AbstractControl} from '../model/abstract_model';
13-
import {FormArray} from '../model/form_array';
14-
import {FormControl} from '../model/form_control';
15-
import {FormGroup} from '../model/form_group';
12+
import type {AbstractControl} from '../model/abstract_model';
13+
import type {FormArray} from '../model/form_array';
14+
import type {FormControl} from '../model/form_control';
15+
import type {FormGroup} from '../model/form_group';
1616
import {getControlAsyncValidators, getControlValidators, mergeValidators} from '../validators';
1717

18-
import {AbstractControlDirective} from './abstract_control_directive';
19-
import {AbstractFormGroupDirective} from './abstract_form_group_directive';
20-
import {ControlContainer} from './control_container';
18+
import type {AbstractControlDirective} from './abstract_control_directive';
19+
import type {AbstractFormGroupDirective} from './abstract_form_group_directive';
20+
import type {ControlContainer} from './control_container';
2121
import {BuiltInControlValueAccessor, ControlValueAccessor} from './control_value_accessor';
2222
import {DefaultValueAccessor} from './default_value_accessor';
23-
import {NgControl} from './ng_control';
24-
import {FormArrayName} from './reactive_directives/form_group_name';
23+
import type {NgControl} from './ng_control';
24+
import type {FormArrayName} from './reactive_directives/form_group_name';
2525
import {ngModelWarning} from './reactive_errors';
2626
import {AsyncValidatorFn, Validator, ValidatorFn} from './validators';
2727

‎packages/forms/src/directives/validators.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import {
1717
} from '@angular/core';
1818
import {Observable} from 'rxjs';
1919

20-
import {AbstractControl} from '../model/abstract_model';
20+
import type {AbstractControl} from '../model/abstract_model';
2121
import {
2222
emailValidator,
2323
maxLengthValidator,

‎packages/forms/src/model/abstract_model.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,8 @@ import {
2222
missingControlValueError,
2323
noControlsError,
2424
} from '../directives/reactive_errors';
25-
import {AsyncValidatorFn, ValidationErrors, ValidatorFn} from '../directives/validators';
25+
import type {AsyncValidatorFn, ValidationErrors, ValidatorFn} from '../directives/validators';
2626
import {RuntimeErrorCode} from '../errors';
27-
import {FormArray, FormGroup} from '../forms';
2827
import {
2928
addValidators,
3029
composeAsyncValidators,
@@ -33,6 +32,8 @@ import {
3332
removeValidators,
3433
toObservable,
3534
} from '../validators';
35+
import type {FormArray} from './form_array';
36+
import type {FormGroup} from './form_group';
3637

3738
/**
3839
* Reports that a control is valid, meaning that no errors exist in the input value.

‎packages/forms/src/validators.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ import {
1515
import {forkJoin, from, Observable} from 'rxjs';
1616
import {map} from 'rxjs/operators';
1717

18-
import {
18+
import type {
1919
AsyncValidator,
2020
AsyncValidatorFn,
2121
ValidationErrors,
2222
Validator,
2323
ValidatorFn,
2424
} from './directives/validators';
2525
import {RuntimeErrorCode} from './errors';
26-
import {AbstractControl} from './model/abstract_model';
26+
import type {AbstractControl} from './model/abstract_model';
2727

2828
function isEmptyInputValue(value: any): boolean {
2929
/**

0 commit comments

Comments
 (0)