@rolster/forms 2.7.2 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/cjs/arguments.js +46 -46
  2. package/dist/cjs/arguments.js.map +1 -1
  3. package/dist/cjs/helpers.js +53 -53
  4. package/dist/cjs/helpers.js.map +1 -1
  5. package/dist/cjs/index.js +518 -510
  6. package/dist/cjs/index.js.map +1 -1
  7. package/dist/es/arguments.js +46 -46
  8. package/dist/es/arguments.js.map +1 -1
  9. package/dist/es/helpers.js +53 -53
  10. package/dist/es/helpers.js.map +1 -1
  11. package/dist/es/index.js +518 -510
  12. package/dist/es/index.js.map +1 -1
  13. package/dist/esm/arguments.d.ts +18 -18
  14. package/dist/esm/arguments.js +47 -47
  15. package/dist/esm/arguments.js.map +1 -1
  16. package/dist/esm/form-array/arguments.d.ts +6 -6
  17. package/dist/esm/form-array/arguments.js +1 -1
  18. package/dist/esm/form-array/form-array-control.d.ts +20 -20
  19. package/dist/esm/form-array/form-array-control.js +13 -13
  20. package/dist/esm/form-array/form-array-group.d.ts +13 -13
  21. package/dist/esm/form-array/form-array-group.js +14 -14
  22. package/dist/esm/form-array/form-array-list.d.ts +20 -20
  23. package/dist/esm/form-array/form-array-list.js +51 -51
  24. package/dist/esm/form-array/form-array.d.ts +55 -54
  25. package/dist/esm/form-array/form-array.js +149 -145
  26. package/dist/esm/form-array/form-array.js.map +1 -1
  27. package/dist/esm/form-array/index.d.ts +5 -5
  28. package/dist/esm/form-array/index.js +5 -5
  29. package/dist/esm/form-array/types.d.ts +2 -2
  30. package/dist/esm/form-array/types.js +1 -1
  31. package/dist/esm/form-control.d.ts +53 -52
  32. package/dist/esm/form-control.js +123 -119
  33. package/dist/esm/form-control.js.map +1 -1
  34. package/dist/esm/form-group.d.ts +34 -34
  35. package/dist/esm/form-group.js +93 -93
  36. package/dist/esm/form-group.js.map +1 -1
  37. package/dist/esm/helpers.d.ts +25 -25
  38. package/dist/esm/helpers.js +55 -55
  39. package/dist/esm/helpers.js.map +1 -1
  40. package/dist/esm/index.d.ts +4 -4
  41. package/dist/esm/index.js +4 -4
  42. package/dist/esm/types.d.ts +141 -139
  43. package/dist/esm/types.js +1 -1
  44. package/package.json +5 -5
  45. package/readme.md +2 -2
@@ -1,120 +1,124 @@
1
- import { observable } from '@rolster/commons';
2
- import { createFormControlOptions } from './arguments';
3
- import { controlIsValid, hasError, someErrors } from './helpers';
4
- export class FormControl {
5
- constructor(controlOptions, controlValidators) {
6
- this.currentFocused = false;
7
- this.currentTouched = false;
8
- this.currentDirty = false;
9
- this.currentDisabled = false;
10
- this.currentValid = true;
11
- this.currentErrors = [];
12
- const { value, validators } = createFormControlOptions(controlOptions, controlValidators);
13
- this.observable = observable(value);
14
- this.initialValue = value;
15
- this.validators = validators;
16
- this.currentValue = value;
17
- this.updateValueAndValidity(value, validators);
18
- }
19
- get focused() {
20
- return this.currentFocused;
21
- }
22
- get unfocused() {
23
- return !this.currentFocused;
24
- }
25
- get touched() {
26
- return this.currentTouched;
27
- }
28
- get untouched() {
29
- return !this.currentTouched;
30
- }
31
- get dirty() {
32
- return this.currentDirty;
33
- }
34
- get pristine() {
35
- return !this.currentDirty;
36
- }
37
- get disabled() {
38
- return this.currentDisabled;
39
- }
40
- get enabled() {
41
- return !this.currentDisabled;
42
- }
43
- get valid() {
44
- return this.currentValid;
45
- }
46
- get invalid() {
47
- return !this.currentValid;
48
- }
49
- get value() {
50
- return this.currentValue;
51
- }
52
- get errors() {
53
- return this.currentErrors;
54
- }
55
- get error() {
56
- return this.currentError;
57
- }
58
- get wrong() {
59
- return this.touched && this.invalid;
60
- }
61
- hasError(key) {
62
- return hasError(this.errors, key);
63
- }
64
- someErrors(keys) {
65
- return someErrors(this.errors, keys);
66
- }
67
- reset() {
68
- this.setValue(this.initialValue);
69
- this.currentDirty = false;
70
- this.currentTouched = false;
71
- }
72
- focus() {
73
- this.currentFocused = true;
74
- }
75
- blur() {
76
- this.currentFocused = false;
77
- this.currentTouched = true;
78
- }
79
- disable() {
80
- this.currentDisabled = true;
81
- }
82
- enable() {
83
- this.currentDisabled = false;
84
- }
85
- touch() {
86
- this.currentTouched = true;
87
- }
88
- setValue(value) {
89
- if (this.enabled) {
90
- this.currentValue = value;
91
- this.currentDirty = true;
92
- this.updateValueAndValidity(value, this.validators);
93
- this.observable.next(value);
94
- }
95
- }
96
- setValidators(validators = []) {
97
- this.validators = validators;
98
- this.updateValueAndValidity(this.value, validators);
99
- }
100
- subscribe(subscriber) {
101
- return this.observable.subscribe(subscriber);
102
- }
103
- updateValueAndValidity(value, validators) {
104
- if (validators) {
105
- const errors = controlIsValid({ value, validators });
106
- this.currentError = errors[0];
107
- this.currentErrors = errors;
108
- this.currentValid = errors.length === 0;
109
- }
110
- else {
111
- this.currentValid = true;
112
- this.currentError = undefined;
113
- this.currentErrors = [];
114
- }
115
- }
116
- }
117
- export function formControl(options, validators) {
118
- return new FormControl(createFormControlOptions(options, validators));
119
- }
1
+ import { observable } from '@rolster/commons';
2
+ import { createFormControlOptions } from './arguments';
3
+ import { controlIsValid, hasError, someErrors } from './helpers';
4
+ export class FormControl {
5
+ constructor(controlOptions, controlValidators) {
6
+ this.currentFocused = false;
7
+ this.currentTouched = false;
8
+ this.currentDirty = false;
9
+ this.currentDisabled = false;
10
+ this.currentValid = true;
11
+ this.currentErrors = [];
12
+ const { value, validators } = createFormControlOptions(controlOptions, controlValidators);
13
+ this.observable = observable(value);
14
+ this.initialValue = value;
15
+ this.validators = validators;
16
+ this.currentValue = value;
17
+ this.updateValueAndValidity(value, validators);
18
+ }
19
+ get focused() {
20
+ return this.currentFocused;
21
+ }
22
+ get unfocused() {
23
+ return !this.currentFocused;
24
+ }
25
+ get touched() {
26
+ return this.currentTouched;
27
+ }
28
+ get untouched() {
29
+ return !this.currentTouched;
30
+ }
31
+ get dirty() {
32
+ return this.currentDirty;
33
+ }
34
+ get pristine() {
35
+ return !this.currentDirty;
36
+ }
37
+ get disabled() {
38
+ return this.currentDisabled;
39
+ }
40
+ get enabled() {
41
+ return !this.currentDisabled;
42
+ }
43
+ get valid() {
44
+ return this.currentValid;
45
+ }
46
+ get invalid() {
47
+ return !this.currentValid;
48
+ }
49
+ get value() {
50
+ return this.currentValue;
51
+ }
52
+ get errors() {
53
+ return this.currentErrors;
54
+ }
55
+ get error() {
56
+ return this.currentError;
57
+ }
58
+ get wrong() {
59
+ return this.touched && this.invalid;
60
+ }
61
+ hasError(key) {
62
+ return hasError(this.errors, key);
63
+ }
64
+ someErrors(keys) {
65
+ return someErrors(this.errors, keys);
66
+ }
67
+ reset() {
68
+ this.setValue(this.initialValue);
69
+ this.currentDirty = false;
70
+ this.currentTouched = false;
71
+ }
72
+ focus() {
73
+ this.currentFocused = true;
74
+ }
75
+ blur() {
76
+ this.currentFocused = false;
77
+ this.currentTouched = true;
78
+ }
79
+ disable() {
80
+ this.currentDisabled = true;
81
+ }
82
+ enable() {
83
+ this.currentDisabled = false;
84
+ }
85
+ touch() {
86
+ this.currentTouched = true;
87
+ }
88
+ setInitialValue(value) {
89
+ this.initialValue = value;
90
+ this.setValue(value);
91
+ }
92
+ setValue(value) {
93
+ if (this.enabled) {
94
+ this.currentValue = value;
95
+ this.currentDirty = true;
96
+ this.updateValueAndValidity(value, this.validators);
97
+ this.observable.next(value);
98
+ }
99
+ }
100
+ setValidators(validators = []) {
101
+ this.validators = validators;
102
+ this.updateValueAndValidity(this.value, validators);
103
+ }
104
+ subscribe(subscriber) {
105
+ return this.observable.subscribe(subscriber);
106
+ }
107
+ updateValueAndValidity(value, validators) {
108
+ if (validators) {
109
+ const errors = controlIsValid({ value, validators });
110
+ this.currentError = errors[0];
111
+ this.currentErrors = errors;
112
+ this.currentValid = errors.length === 0;
113
+ }
114
+ else {
115
+ this.currentValid = true;
116
+ this.currentError = undefined;
117
+ this.currentErrors = [];
118
+ }
119
+ }
120
+ }
121
+ export function formControl(options, validators) {
122
+ return new FormControl(createFormControlOptions(options, validators));
123
+ }
120
124
  //# sourceMappingURL=form-control.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-control.js","sourceRoot":"","sources":["../../src/form-control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-control.js","sourceRoot":"","sources":["../../src/form-control.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,34 @@
1
- import { ValidatorError } from '@rolster/validators';
2
- import { AbstractControls, AbstractReactiveControl, AbstractReactiveGroup, ControlsValue, FormGroupOptions, SubscriberGroup, ValidatorGroupFn } from './types';
3
- export type FormControls<T extends AbstractReactiveControl = AbstractReactiveControl> = AbstractControls<T>;
4
- export declare class FormGroup<C extends FormControls = FormControls> implements AbstractReactiveGroup<C> {
5
- protected currentControls: C;
6
- private currentError?;
7
- private currentErrors;
8
- private currentValid;
9
- private validators?;
10
- private observable;
11
- constructor(options: FormGroupOptions<C>);
12
- constructor(controls: C, validators?: ValidatorGroupFn<C>[]);
13
- get controls(): C;
14
- get touched(): boolean;
15
- get touchedAll(): boolean;
16
- get untouched(): boolean;
17
- get untouchedAll(): boolean;
18
- get dirty(): boolean;
19
- get dirtyAll(): boolean;
20
- get pristine(): boolean;
21
- get pristineAll(): boolean;
22
- get valid(): boolean;
23
- get invalid(): boolean;
24
- get value(): ControlsValue<C>;
25
- get errors(): ValidatorError[];
26
- get error(): ValidatorError | undefined;
27
- get wrong(): boolean;
28
- reset(): void;
29
- setValidators(validators: ValidatorGroupFn<C>[]): void;
30
- subscribe(subscriber: SubscriberGroup<C>): Unsubscription;
31
- private updateValueAndValidity;
32
- }
33
- export declare function formGroup<C extends FormControls = FormControls>(options: FormGroupOptions<C>): FormGroup<C>;
34
- export declare function formGroup<C extends FormControls = FormControls>(controls: C, validators?: ValidatorGroupFn<C>[]): FormGroup<C>;
1
+ import { ValidatorError } from '@rolster/validators';
2
+ import { AbstractControls, AbstractReactiveControl, AbstractReactiveGroup, ControlsValue, FormGroupOptions, SubscriberGroup, ValidatorGroupFn } from './types';
3
+ export type FormControls<T extends AbstractReactiveControl = AbstractReactiveControl> = AbstractControls<T>;
4
+ export declare class FormGroup<C extends FormControls = FormControls> implements AbstractReactiveGroup<C> {
5
+ protected currentControls: C;
6
+ private currentError?;
7
+ private currentErrors;
8
+ private currentValid;
9
+ private validators?;
10
+ private observable;
11
+ constructor(options: FormGroupOptions<C>);
12
+ constructor(controls: C, validators?: ValidatorGroupFn<C>[]);
13
+ get controls(): C;
14
+ get touched(): boolean;
15
+ get touchedAll(): boolean;
16
+ get untouched(): boolean;
17
+ get untouchedAll(): boolean;
18
+ get dirty(): boolean;
19
+ get dirtyAll(): boolean;
20
+ get pristine(): boolean;
21
+ get pristineAll(): boolean;
22
+ get valid(): boolean;
23
+ get invalid(): boolean;
24
+ get value(): ControlsValue<C>;
25
+ get errors(): ValidatorError[];
26
+ get error(): ValidatorError | undefined;
27
+ get wrong(): boolean;
28
+ reset(): void;
29
+ setValidators(validators: ValidatorGroupFn<C>[]): void;
30
+ subscribe(subscriber: SubscriberGroup<C>): Unsubscription;
31
+ private updateValueAndValidity;
32
+ }
33
+ export declare function formGroup<C extends FormControls = FormControls>(options: FormGroupOptions<C>): FormGroup<C>;
34
+ export declare function formGroup<C extends FormControls = FormControls>(controls: C, validators?: ValidatorGroupFn<C>[]): FormGroup<C>;
@@ -1,94 +1,94 @@
1
- import { observable } from '@rolster/commons';
2
- import { createFormGroupOptions } from './arguments';
3
- import { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from './helpers';
4
- export class FormGroup {
5
- constructor(groupOptions, groupValidators) {
6
- this.currentErrors = [];
7
- this.currentValid = true;
8
- const { controls, validators } = createFormGroupOptions(groupOptions, groupValidators);
9
- this.currentControls = controls;
10
- this.validators = validators;
11
- this.updateValueAndValidity(controls, validators);
12
- this.observable = observable(this.value);
13
- Object.values(controls).forEach((control) => {
14
- control.subscribe(() => {
15
- this.updateValueAndValidity(this.controls, this.validators);
16
- this.observable.next(this.value);
17
- });
18
- });
19
- }
20
- get controls() {
21
- return this.currentControls;
22
- }
23
- get touched() {
24
- return controlsPartialChecked(this.controls, 'touched');
25
- }
26
- get touchedAll() {
27
- return controlsAllChecked(this.controls, 'touched');
28
- }
29
- get untouched() {
30
- return !this.touched;
31
- }
32
- get untouchedAll() {
33
- return !this.touchedAll;
34
- }
35
- get dirty() {
36
- return controlsPartialChecked(this.controls, 'dirty');
37
- }
38
- get dirtyAll() {
39
- return controlsAllChecked(this.controls, 'dirty');
40
- }
41
- get pristine() {
42
- return !this.dirty;
43
- }
44
- get pristineAll() {
45
- return this.dirtyAll;
46
- }
47
- get valid() {
48
- return this.currentValid && controlsAllChecked(this.controls, 'valid');
49
- }
50
- get invalid() {
51
- return !this.valid;
52
- }
53
- get value() {
54
- return controlsToValue(this.controls);
55
- }
56
- get errors() {
57
- return this.currentErrors;
58
- }
59
- get error() {
60
- return this.currentError;
61
- }
62
- get wrong() {
63
- return this.touched && this.invalid;
64
- }
65
- reset() {
66
- Object.values(this.controls).forEach((control) => {
67
- control.reset();
68
- });
69
- }
70
- setValidators(validators) {
71
- this.validators = validators;
72
- this.updateValueAndValidity(this.controls, validators);
73
- }
74
- subscribe(subscriber) {
75
- return this.observable.subscribe(subscriber);
76
- }
77
- updateValueAndValidity(controls, validators) {
78
- if (validators) {
79
- const errors = groupIsValid({ controls, validators });
80
- this.currentErrors = errors;
81
- this.currentError = errors[0];
82
- this.currentValid = errors.length === 0;
83
- }
84
- else {
85
- this.currentErrors = [];
86
- this.currentError = undefined;
87
- this.currentValid = true;
88
- }
89
- }
90
- }
91
- export function formGroup(options, validators) {
92
- return new FormGroup(createFormGroupOptions(options, validators));
93
- }
1
+ import { observable } from '@rolster/commons';
2
+ import { createFormGroupOptions } from './arguments';
3
+ import { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from './helpers';
4
+ export class FormGroup {
5
+ constructor(groupOptions, groupValidators) {
6
+ this.currentErrors = [];
7
+ this.currentValid = true;
8
+ const { controls, validators } = createFormGroupOptions(groupOptions, groupValidators);
9
+ this.currentControls = controls;
10
+ this.validators = validators;
11
+ this.updateValueAndValidity(controls, validators);
12
+ this.observable = observable(this.value);
13
+ Object.values(controls).forEach((control) => {
14
+ control.subscribe(() => {
15
+ this.updateValueAndValidity(this.controls, this.validators);
16
+ this.observable.next(this.value);
17
+ });
18
+ });
19
+ }
20
+ get controls() {
21
+ return this.currentControls;
22
+ }
23
+ get touched() {
24
+ return controlsPartialChecked(this.controls, 'touched');
25
+ }
26
+ get touchedAll() {
27
+ return controlsAllChecked(this.controls, 'touched');
28
+ }
29
+ get untouched() {
30
+ return !this.touched;
31
+ }
32
+ get untouchedAll() {
33
+ return !this.touchedAll;
34
+ }
35
+ get dirty() {
36
+ return controlsPartialChecked(this.controls, 'dirty');
37
+ }
38
+ get dirtyAll() {
39
+ return controlsAllChecked(this.controls, 'dirty');
40
+ }
41
+ get pristine() {
42
+ return !this.dirty;
43
+ }
44
+ get pristineAll() {
45
+ return this.dirtyAll;
46
+ }
47
+ get valid() {
48
+ return this.currentValid && controlsAllChecked(this.controls, 'valid');
49
+ }
50
+ get invalid() {
51
+ return !this.valid;
52
+ }
53
+ get value() {
54
+ return controlsToValue(this.controls);
55
+ }
56
+ get errors() {
57
+ return this.currentErrors;
58
+ }
59
+ get error() {
60
+ return this.currentError;
61
+ }
62
+ get wrong() {
63
+ return this.touched && this.invalid;
64
+ }
65
+ reset() {
66
+ Object.values(this.controls).forEach((control) => {
67
+ control.reset();
68
+ });
69
+ }
70
+ setValidators(validators) {
71
+ this.validators = validators;
72
+ this.updateValueAndValidity(this.controls, validators);
73
+ }
74
+ subscribe(subscriber) {
75
+ return this.observable.subscribe(subscriber);
76
+ }
77
+ updateValueAndValidity(controls, validators) {
78
+ if (validators) {
79
+ const errors = groupIsValid({ controls, validators });
80
+ this.currentErrors = errors;
81
+ this.currentError = errors[0];
82
+ this.currentValid = errors.length === 0;
83
+ }
84
+ else {
85
+ this.currentErrors = [];
86
+ this.currentError = undefined;
87
+ this.currentValid = true;
88
+ }
89
+ }
90
+ }
91
+ export function formGroup(options, validators) {
92
+ return new FormGroup(createFormGroupOptions(options, validators));
93
+ }
94
94
  //# sourceMappingURL=form-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-group.js","sourceRoot":"","sources":["../../src/form-group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-group.js","sourceRoot":"","sources":["../../src/form-group.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,25 @@
1
- import { ValidatorError, ValidatorFn } from '@rolster/validators';
2
- import { AbstractControl, AbstractArrayGroup, AbstractArrayControls, AbstractGroup, AbstractControls, ControlsValue, ValidatorArrayFn, ValidatorGroupFn } from './types';
3
- interface ControlValidOptions<T> {
4
- value: T;
5
- validators: ValidatorFn<T>[];
6
- }
7
- interface GroupValidOptions<T extends AbstractControls> {
8
- controls: T;
9
- validators: ValidatorGroupFn<T>[];
10
- }
11
- interface ArrayValidOptions<T extends AbstractArrayControls = AbstractArrayControls, R = any, G extends AbstractArrayGroup<T, R> = AbstractArrayGroup<T, R>> {
12
- groups: G[];
13
- validators: ValidatorArrayFn<T, R>[];
14
- }
15
- export declare const controlIsValid: <T>({ value, validators }: ControlValidOptions<T>) => ValidatorError[];
16
- export declare const controlsAllChecked: <T extends AbstractControl<any>>(controls: AbstractControls<T>, key: keyof T) => boolean;
17
- export declare const controlsPartialChecked: <T extends AbstractControl<any>>(controls: AbstractControls<T>, key: keyof T) => boolean;
18
- export declare const controlsToValue: <C extends AbstractControls<AbstractControl<any>>>(controls: C) => ControlsValue<C>;
19
- export declare const groupIsValid: <C extends AbstractControls<AbstractControl<any>>>({ controls, validators }: GroupValidOptions<C>) => ValidatorError[];
20
- export declare function groupAllChecked<C extends AbstractControls>(groups: AbstractGroup<C>[], key: keyof AbstractGroup<C>): boolean;
21
- export declare function groupPartialChecked<C extends AbstractControls>(groups: AbstractGroup<C>[], key: keyof AbstractGroup<C>): boolean;
22
- export declare const arrayIsValid: <C extends AbstractArrayControls<import("./types").AbstractArrayControl<any>> = AbstractArrayControls<import("./types").AbstractArrayControl<any>>, R = any>({ groups, validators }: ArrayValidOptions<C, R, AbstractArrayGroup<C, R>>) => ValidatorError[];
23
- export declare function hasError(errors: ValidatorError[], key: string): boolean;
24
- export declare function someErrors(errors: ValidatorError[], keys: string[]): boolean;
25
- export {};
1
+ import { ValidatorError, ValidatorFn } from '@rolster/validators';
2
+ import { AbstractControl, AbstractArrayGroup, AbstractArrayControls, AbstractGroup, AbstractControls, ControlsValue, ValidatorArrayFn, ValidatorGroupFn } from './types';
3
+ interface ControlValidOptions<T> {
4
+ value: T;
5
+ validators: ValidatorFn<T>[];
6
+ }
7
+ interface GroupValidOptions<T extends AbstractControls> {
8
+ controls: T;
9
+ validators: ValidatorGroupFn<T>[];
10
+ }
11
+ interface ArrayValidOptions<T extends AbstractArrayControls = AbstractArrayControls, R = any, G extends AbstractArrayGroup<T, R> = AbstractArrayGroup<T, R>> {
12
+ groups: G[];
13
+ validators: ValidatorArrayFn<T, R>[];
14
+ }
15
+ export declare const controlIsValid: <T>({ value, validators }: ControlValidOptions<T>) => ValidatorError[];
16
+ export declare const controlsAllChecked: <T extends AbstractControl>(controls: AbstractControls<T>, key: keyof T) => boolean;
17
+ export declare const controlsPartialChecked: <T extends AbstractControl>(controls: AbstractControls<T>, key: keyof T) => boolean;
18
+ export declare const controlsToValue: <C extends AbstractControls>(controls: C) => ControlsValue<C>;
19
+ export declare const groupIsValid: <C extends AbstractControls>({ controls, validators }: GroupValidOptions<C>) => ValidatorError[];
20
+ export declare function groupAllChecked<C extends AbstractControls>(groups: AbstractGroup<C>[], key: keyof AbstractGroup<C>): boolean;
21
+ export declare function groupPartialChecked<C extends AbstractControls>(groups: AbstractGroup<C>[], key: keyof AbstractGroup<C>): boolean;
22
+ export declare const arrayIsValid: <C extends AbstractArrayControls = AbstractArrayControls, R = any>({ groups, validators }: ArrayValidOptions<C, R>) => ValidatorError[];
23
+ export declare function hasError(errors: ValidatorError[], key: string): boolean;
24
+ export declare function someErrors(errors: ValidatorError[], keys: string[]): boolean;
25
+ export {};