@rolster/forms 2.1.0 → 2.2.1
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.
- package/dist/cjs/helpers.js +17 -11
- package/dist/cjs/helpers.js.map +1 -1
- package/dist/cjs/index.js +63 -48
- package/dist/cjs/index.js.map +1 -1
- package/dist/es/helpers.js +17 -11
- package/dist/es/helpers.js.map +1 -1
- package/dist/es/index.js +61 -46
- package/dist/es/index.js.map +1 -1
- package/dist/esm/arguments.d.ts +10 -10
- package/dist/esm/arguments.js +21 -12
- package/dist/esm/arguments.js.map +1 -1
- package/dist/esm/form-array/form-array-control.d.ts +7 -7
- package/dist/esm/form-array/form-array-control.js +5 -5
- package/dist/esm/form-array/form-array-control.js.map +1 -1
- package/dist/esm/form-array/form-array-group.d.ts +5 -5
- package/dist/esm/form-array/form-array-group.js +5 -5
- package/dist/esm/form-array/form-array-group.js.map +1 -1
- package/dist/esm/form-array/form-array.d.ts +17 -19
- package/dist/esm/form-array/form-array.js +5 -5
- package/dist/esm/form-array/form-array.js.map +1 -1
- package/dist/esm/form-control.d.ts +4 -4
- package/dist/esm/form-control.js +4 -4
- package/dist/esm/form-control.js.map +1 -1
- package/dist/esm/form-group.d.ts +4 -4
- package/dist/esm/form-group.js +5 -5
- package/dist/esm/form-group.js.map +1 -1
- package/dist/esm/helpers.d.ts +12 -12
- package/dist/esm/helpers.js +8 -14
- package/dist/esm/helpers.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types.d.ts +30 -31
- package/package.json +1 -1
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { ValidatorError } from '@rolster/validators';
|
|
2
|
-
import { AbstractArray,
|
|
3
|
-
type
|
|
4
|
-
|
|
5
|
-
type SubscriberArray<G extends FormControls> = SubscriberControl<ArrayStateGroup<G>[]>;
|
|
6
|
-
export declare class FormArray<G extends FormControls = FormControls, R = any> implements AbstractArray<G, R> {
|
|
2
|
+
import { AbstractArray, AbstractArrayGroup, ArrayFormControls, ArrayStateGroup, FormArrayOptions, SubscriberArray, ValidatorArrayFn } from '../types';
|
|
3
|
+
type ArrayOptions<C extends ArrayFormControls, R> = FormArrayOptions<C, R, AbstractArrayGroup<C, R>>;
|
|
4
|
+
export declare class FormArray<C extends ArrayFormControls = ArrayFormControls, R = any> implements AbstractArray<C, R> {
|
|
7
5
|
private currentGroups;
|
|
8
6
|
private initialState?;
|
|
9
7
|
private currentValid;
|
|
@@ -13,10 +11,10 @@ export declare class FormArray<G extends FormControls = FormControls, R = any> i
|
|
|
13
11
|
private observable;
|
|
14
12
|
private unsusbcriptions;
|
|
15
13
|
constructor();
|
|
16
|
-
constructor(
|
|
17
|
-
constructor(groups: AbstractArrayGroup<
|
|
18
|
-
get groups(): AbstractArrayGroup<
|
|
19
|
-
get controls():
|
|
14
|
+
constructor(options: ArrayOptions<C, R>);
|
|
15
|
+
constructor(groups: AbstractArrayGroup<C, R>[], validators?: ValidatorArrayFn<C, R>[]);
|
|
16
|
+
get groups(): AbstractArrayGroup<C, R>[];
|
|
17
|
+
get controls(): C[];
|
|
20
18
|
get touched(): boolean;
|
|
21
19
|
get toucheds(): boolean;
|
|
22
20
|
get untouched(): boolean;
|
|
@@ -27,22 +25,22 @@ export declare class FormArray<G extends FormControls = FormControls, R = any> i
|
|
|
27
25
|
get pristines(): boolean;
|
|
28
26
|
get valid(): boolean;
|
|
29
27
|
get invalid(): boolean;
|
|
30
|
-
get state(): ArrayStateGroup<
|
|
28
|
+
get state(): ArrayStateGroup<C>[];
|
|
31
29
|
get error(): ValidatorError | undefined;
|
|
32
30
|
get errors(): ValidatorError[];
|
|
33
31
|
get wrong(): boolean;
|
|
34
32
|
reset(): void;
|
|
35
|
-
push(group: AbstractArrayGroup<
|
|
36
|
-
merge(groups: AbstractArrayGroup<
|
|
37
|
-
set(groups: AbstractArrayGroup<
|
|
38
|
-
remove({ uuid }: AbstractArrayGroup<
|
|
39
|
-
setValidators(validators: ValidatorArrayFn<
|
|
40
|
-
subscribe(subscriber: SubscriberArray<
|
|
33
|
+
push(group: AbstractArrayGroup<C, R>): void;
|
|
34
|
+
merge(groups: AbstractArrayGroup<C, R>[]): void;
|
|
35
|
+
set(groups: AbstractArrayGroup<C, R>[]): void;
|
|
36
|
+
remove({ uuid }: AbstractArrayGroup<C, R>): void;
|
|
37
|
+
setValidators(validators: ValidatorArrayFn<C, R>[]): void;
|
|
38
|
+
subscribe(subscriber: SubscriberArray<C>): Unsubscription;
|
|
41
39
|
private subscription;
|
|
42
40
|
private updateValidityStatus;
|
|
43
41
|
private refresh;
|
|
44
42
|
}
|
|
45
|
-
export declare function formArray<G extends
|
|
46
|
-
export declare function formArray<G extends
|
|
47
|
-
export declare function formArray<G extends
|
|
43
|
+
export declare function formArray<G extends ArrayFormControls = ArrayFormControls, R = any>(): FormArray<G, R>;
|
|
44
|
+
export declare function formArray<G extends ArrayFormControls = ArrayFormControls, R = any>(options: ArrayOptions<G, R>): FormArray<G, R>;
|
|
45
|
+
export declare function formArray<G extends ArrayFormControls = ArrayFormControls, R = any>(groups: AbstractArrayGroup<G, R>[], validators?: ValidatorArrayFn<G, R>[]): FormArray<G, R>;
|
|
48
46
|
export {};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { observable } from '@rolster/commons';
|
|
2
|
-
import {
|
|
2
|
+
import { createFormArrayOptions } from '../arguments';
|
|
3
3
|
import { arrayIsValid, groupAllChecked, groupPartialChecked } from '../helpers';
|
|
4
4
|
export class FormArray {
|
|
5
|
-
constructor(
|
|
5
|
+
constructor(arrayOptions, arrayValidators) {
|
|
6
6
|
this.currentGroups = [];
|
|
7
7
|
this.currentValid = true;
|
|
8
8
|
this.currentErrors = [];
|
|
9
|
-
const { groups, validators } =
|
|
9
|
+
const { groups, validators } = createFormArrayOptions(arrayOptions, arrayValidators);
|
|
10
10
|
this.unsusbcriptions = new Map();
|
|
11
11
|
this.initialState = groups;
|
|
12
12
|
this.validators = validators;
|
|
@@ -121,7 +121,7 @@ export class FormArray {
|
|
|
121
121
|
this.updateValidityStatus(groups, this.validators);
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
|
-
export function formArray(
|
|
125
|
-
return new FormArray(
|
|
124
|
+
export function formArray(options, validators) {
|
|
125
|
+
return new FormArray(createFormArrayOptions(options, validators));
|
|
126
126
|
}
|
|
127
127
|
//# sourceMappingURL=form-array.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-array.js","sourceRoot":"","sources":["../../../src/form-array/form-array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"form-array.js","sourceRoot":"","sources":["../../../src/form-array/form-array.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ValidatorError, ValidatorFn } from '@rolster/validators';
|
|
2
|
-
import { AbstractControl,
|
|
2
|
+
import { AbstractControl, FormControlOptions, FormStateOptions, FormValidatorsOptions, SubscriberControl } from './types';
|
|
3
3
|
export declare class FormControl<T = any> implements AbstractControl<T> {
|
|
4
4
|
private currentFocused;
|
|
5
5
|
private currentTouched;
|
|
@@ -13,7 +13,7 @@ export declare class FormControl<T = any> implements AbstractControl<T> {
|
|
|
13
13
|
private validators?;
|
|
14
14
|
private observable;
|
|
15
15
|
constructor();
|
|
16
|
-
constructor(props:
|
|
16
|
+
constructor(props: FormControlOptions<T>);
|
|
17
17
|
constructor(state: T, validators?: ValidatorFn<T>[]);
|
|
18
18
|
get focused(): boolean;
|
|
19
19
|
get unfocused(): boolean;
|
|
@@ -42,6 +42,6 @@ export declare class FormControl<T = any> implements AbstractControl<T> {
|
|
|
42
42
|
private updateValueAndValidity;
|
|
43
43
|
}
|
|
44
44
|
export declare function formControl<T>(): FormControl<T | undefined>;
|
|
45
|
-
export declare function formControl<T>(
|
|
46
|
-
export declare function formControl<T>(
|
|
45
|
+
export declare function formControl<T>(options: FormStateOptions<T>): FormControl<T>;
|
|
46
|
+
export declare function formControl<T>(options: FormValidatorsOptions<T>): FormControl<T | undefined>;
|
|
47
47
|
export declare function formControl<T>(state: T, validators?: ValidatorFn<T>[]): FormControl<T>;
|
package/dist/esm/form-control.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { observable } from '@rolster/commons';
|
|
2
|
-
import {
|
|
2
|
+
import { createFormControlOptions } from './arguments';
|
|
3
3
|
import { controlIsValid } from './helpers';
|
|
4
4
|
export class FormControl {
|
|
5
5
|
constructor(controlProps, controlValidators) {
|
|
@@ -9,7 +9,7 @@ export class FormControl {
|
|
|
9
9
|
this.currentDisabled = false;
|
|
10
10
|
this.currentValid = true;
|
|
11
11
|
this.currentErrors = [];
|
|
12
|
-
const { state, validators } =
|
|
12
|
+
const { state, validators } = createFormControlOptions(controlProps, controlValidators);
|
|
13
13
|
this.observable = observable(state);
|
|
14
14
|
this.initialState = state;
|
|
15
15
|
this.validators = validators;
|
|
@@ -108,7 +108,7 @@ export class FormControl {
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
|
-
export function formControl(
|
|
112
|
-
return new FormControl(
|
|
111
|
+
export function formControl(options, validators) {
|
|
112
|
+
return new FormControl(createFormControlOptions(options, validators));
|
|
113
113
|
}
|
|
114
114
|
//# sourceMappingURL=form-control.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-control.js","sourceRoot":"","sources":["../../src/form-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"form-control.js","sourceRoot":"","sources":["../../src/form-control.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/form-group.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ValidatorError } from '@rolster/validators';
|
|
2
|
-
import {
|
|
3
|
-
export type FormControls<T extends
|
|
2
|
+
import { AbstractFormGroup, AbstractControls, FormGroupOptions, StateGroup, SubscriberGroup, ValidatorGroupFn, AbstractReactiveControl } from './types';
|
|
3
|
+
export type FormControls<T extends AbstractReactiveControl = AbstractReactiveControl> = AbstractControls<T>;
|
|
4
4
|
export declare class FormGroup<C extends FormControls = FormControls> implements AbstractFormGroup<C> {
|
|
5
5
|
protected currentControls: C;
|
|
6
6
|
private currentError?;
|
|
@@ -8,7 +8,7 @@ export declare class FormGroup<C extends FormControls = FormControls> implements
|
|
|
8
8
|
private currentValid;
|
|
9
9
|
private validators?;
|
|
10
10
|
private observable;
|
|
11
|
-
constructor(
|
|
11
|
+
constructor(options: FormGroupOptions<C>);
|
|
12
12
|
constructor(controls: C, validators?: ValidatorGroupFn<C>[]);
|
|
13
13
|
get controls(): C;
|
|
14
14
|
get touched(): boolean;
|
|
@@ -30,5 +30,5 @@ export declare class FormGroup<C extends FormControls = FormControls> implements
|
|
|
30
30
|
subscribe(subscriber: SubscriberGroup<C>): Unsubscription;
|
|
31
31
|
private updateValueAndValidity;
|
|
32
32
|
}
|
|
33
|
-
export declare function formGroup<C extends FormControls = FormControls>(
|
|
33
|
+
export declare function formGroup<C extends FormControls = FormControls>(options: FormGroupOptions<C>): FormGroup<C>;
|
|
34
34
|
export declare function formGroup<C extends FormControls = FormControls>(controls: C, validators?: ValidatorGroupFn<C>[]): FormGroup<C>;
|
package/dist/esm/form-group.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { observable } from '@rolster/commons';
|
|
2
|
-
import {
|
|
2
|
+
import { createFormGroupOptions } from './arguments';
|
|
3
3
|
import { controlsAllChecked, controlsPartialChecked, controlsToState, groupIsValid } from './helpers';
|
|
4
4
|
export class FormGroup {
|
|
5
|
-
constructor(
|
|
5
|
+
constructor(groupOptions, groupValidators) {
|
|
6
6
|
this.currentErrors = [];
|
|
7
7
|
this.currentValid = true;
|
|
8
|
-
const { controls, validators } =
|
|
8
|
+
const { controls, validators } = createFormGroupOptions(groupOptions, groupValidators);
|
|
9
9
|
this.currentControls = controls;
|
|
10
10
|
this.validators = validators;
|
|
11
11
|
this.updateValueAndValidity(controls, validators);
|
|
@@ -88,7 +88,7 @@ export class FormGroup {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
export function formGroup(
|
|
92
|
-
return new FormGroup(
|
|
91
|
+
export function formGroup(options, validators) {
|
|
92
|
+
return new FormGroup(createFormGroupOptions(options, validators));
|
|
93
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":"AAAA,OAAO,EAAc,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"form-group.js","sourceRoot":"","sources":["../../src/form-group.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/helpers.d.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { ValidatorError, ValidatorFn } from '@rolster/validators';
|
|
2
|
-
import {
|
|
3
|
-
interface
|
|
2
|
+
import { AbstractControl, AbstractArrayGroup, AbstractArrayControls, AbstractGroup, AbstractControls, StateGroup, ValidatorArrayFn, ValidatorGroupFn } from './types';
|
|
3
|
+
interface ControlValidOptions<T> {
|
|
4
4
|
state: T;
|
|
5
5
|
validators: ValidatorFn<T>[];
|
|
6
6
|
}
|
|
7
|
-
interface
|
|
7
|
+
interface GroupValidOptions<T extends AbstractControls> {
|
|
8
8
|
controls: T;
|
|
9
9
|
validators: ValidatorGroupFn<T>[];
|
|
10
10
|
}
|
|
11
|
-
interface
|
|
11
|
+
interface ArrayValidOptions<T extends AbstractArrayControls = AbstractArrayControls, R = any, G extends AbstractArrayGroup<T, R> = AbstractArrayGroup<T, R>> {
|
|
12
12
|
groups: G[];
|
|
13
13
|
validators: ValidatorArrayFn<T, R>[];
|
|
14
14
|
}
|
|
15
|
-
export declare const controlIsValid: <T>(
|
|
16
|
-
export declare const controlsAllChecked: <T extends
|
|
17
|
-
export declare const controlsPartialChecked: <T extends
|
|
18
|
-
export declare const controlsToState: <C extends
|
|
19
|
-
export declare const groupIsValid: <C extends
|
|
20
|
-
export declare function groupAllChecked<C extends
|
|
21
|
-
export declare function groupPartialChecked<C extends
|
|
22
|
-
export declare const arrayIsValid: <C extends
|
|
15
|
+
export declare const controlIsValid: <T>({ state, 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 controlsToState: <C extends AbstractControls<AbstractControl<any>>>(controls: C) => StateGroup<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
23
|
export {};
|
package/dist/esm/helpers.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return !(!(typeof value !== 'undefined' && value !== null) ||
|
|
4
|
-
value === false ||
|
|
5
|
-
FALSY_VALUE.includes(value));
|
|
6
|
-
}
|
|
7
|
-
export const controlIsValid = (props) => {
|
|
8
|
-
const { state, validators } = props;
|
|
1
|
+
import { parseBoolean } from '@rolster/commons';
|
|
2
|
+
export const controlIsValid = ({ state, validators }) => {
|
|
9
3
|
return validators.reduce((errors, validator) => {
|
|
10
4
|
const error = validator(state);
|
|
11
5
|
if (error) {
|
|
@@ -14,11 +8,11 @@ export const controlIsValid = (props) => {
|
|
|
14
8
|
return errors;
|
|
15
9
|
}, []);
|
|
16
10
|
};
|
|
17
|
-
export const controlsAllChecked = (controls,
|
|
18
|
-
return Object.values(controls).reduce((value, control) => value &&
|
|
11
|
+
export const controlsAllChecked = (controls, key) => {
|
|
12
|
+
return Object.values(controls).reduce((value, control) => value && parseBoolean(control[key]), true);
|
|
19
13
|
};
|
|
20
|
-
export const controlsPartialChecked = (controls,
|
|
21
|
-
return Object.values(controls).reduce((value, control) => value ||
|
|
14
|
+
export const controlsPartialChecked = (controls, key) => {
|
|
15
|
+
return Object.values(controls).reduce((value, control) => value || parseBoolean(control[key]), false);
|
|
22
16
|
};
|
|
23
17
|
export const controlsToState = (controls) => {
|
|
24
18
|
return Object.entries(controls).reduce((result, [key, { state }]) => {
|
|
@@ -36,10 +30,10 @@ export const groupIsValid = ({ controls, validators }) => {
|
|
|
36
30
|
}, []);
|
|
37
31
|
};
|
|
38
32
|
export function groupAllChecked(groups, key) {
|
|
39
|
-
return groups.reduce((value, group) => value &&
|
|
33
|
+
return groups.reduce((value, group) => value && parseBoolean(group[key]), true);
|
|
40
34
|
}
|
|
41
35
|
export function groupPartialChecked(groups, key) {
|
|
42
|
-
return groups.reduce((value, group) => value ||
|
|
36
|
+
return groups.reduce((value, group) => value || parseBoolean(group[key]), false);
|
|
43
37
|
}
|
|
44
38
|
export const arrayIsValid = ({ groups, validators }) => {
|
|
45
39
|
return validators.reduce((errors, validator) => {
|
package/dist/esm/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { createFormArrayOptions, createFormControlOptions, createFormGroupOptions } from './arguments';
|
|
2
2
|
export { FormArray, FormArrayControl, FormArrayControls, FormArrayGroup, formArray, formArrayControl, formArrayGroup } from './form-array';
|
|
3
3
|
export { FormControl, formControl } from './form-control';
|
|
4
4
|
export { FormControls, FormGroup, formGroup } from './form-group';
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { createFormArrayOptions, createFormControlOptions, createFormGroupOptions } from './arguments';
|
|
2
2
|
export { FormArray, FormArrayControl, FormArrayGroup, formArray, formArrayControl, formArrayGroup } from './form-array';
|
|
3
3
|
export { FormControl, formControl } from './form-control';
|
|
4
4
|
export { FormGroup, formGroup } from './form-group';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,SAAS,EACT,gBAAgB,EAEhB,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAgB,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClE,cAAc,SAAS,CAAC"}
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -4,11 +4,12 @@ export interface ValidationFormError<T = any> extends ValidatorError<T> {
|
|
|
4
4
|
type: ValidationFormType;
|
|
5
5
|
}
|
|
6
6
|
export type SubscriberControl<T> = (state: T) => void;
|
|
7
|
-
export interface
|
|
7
|
+
export interface AbstractControl<T = any> {
|
|
8
8
|
dirty: boolean;
|
|
9
9
|
errors: ValidatorError[];
|
|
10
10
|
invalid: boolean;
|
|
11
11
|
pristine: boolean;
|
|
12
|
+
reset: () => void;
|
|
12
13
|
touched: boolean;
|
|
13
14
|
untouched: boolean;
|
|
14
15
|
valid: boolean;
|
|
@@ -16,12 +17,7 @@ export interface AbstractBaseControl<T = any> {
|
|
|
16
17
|
error?: ValidatorError;
|
|
17
18
|
state?: T;
|
|
18
19
|
}
|
|
19
|
-
export
|
|
20
|
-
export interface AbstractControl<T = any> extends AbstractBaseControl<T> {
|
|
21
|
-
reset: () => void;
|
|
22
|
-
subscribe: (subscriber: SubscriberControl<T>) => Unsubscription;
|
|
23
|
-
}
|
|
24
|
-
export interface AbstractFunctionalControl<T = any> extends AbstractControl<T> {
|
|
20
|
+
export interface AbstractFormControl<T = any> extends AbstractControl<T> {
|
|
25
21
|
blur: () => void;
|
|
26
22
|
disable: () => void;
|
|
27
23
|
disabled: boolean;
|
|
@@ -33,12 +29,13 @@ export interface AbstractFunctionalControl<T = any> extends AbstractControl<T> {
|
|
|
33
29
|
touch: () => void;
|
|
34
30
|
unfocused: boolean;
|
|
35
31
|
untouch: () => void;
|
|
36
|
-
}
|
|
37
|
-
export interface AbstractFormControl<T = any> extends AbstractFunctionalControl<T> {
|
|
38
32
|
setValidators: (validators?: ValidatorFn<T>[]) => void;
|
|
39
33
|
}
|
|
40
|
-
export
|
|
41
|
-
|
|
34
|
+
export interface AbstractReactiveControl<T = any> extends AbstractFormControl<T> {
|
|
35
|
+
subscribe: (subscriber: SubscriberControl<T>) => Unsubscription;
|
|
36
|
+
}
|
|
37
|
+
export type AbstractControls<T extends AbstractControl = AbstractControl> = Record<string, T>;
|
|
38
|
+
export interface AbstractGroup<T extends AbstractControls = AbstractControls> {
|
|
42
39
|
controls: T;
|
|
43
40
|
dirty: boolean;
|
|
44
41
|
dirties: boolean;
|
|
@@ -54,34 +51,36 @@ export interface AbstractGroup<T extends AbstractGroupControls = AbstractGroupCo
|
|
|
54
51
|
wrong: boolean;
|
|
55
52
|
error?: ValidatorError;
|
|
56
53
|
}
|
|
57
|
-
export type StateGroup<C extends
|
|
54
|
+
export type StateGroup<C extends AbstractControls = AbstractControls> = {
|
|
58
55
|
[K in keyof C]: C[K]['state'];
|
|
59
56
|
};
|
|
60
|
-
export type ValidatorGroupFn<C extends
|
|
61
|
-
export type SubscriberGroup<C extends
|
|
62
|
-
export interface AbstractFormGroup<C extends
|
|
57
|
+
export type ValidatorGroupFn<C extends AbstractControls = AbstractControls, V = any> = (controls: C) => ValidatorResult<V>;
|
|
58
|
+
export type SubscriberGroup<C extends AbstractControls = AbstractControls> = (state: StateGroup<C>) => void;
|
|
59
|
+
export interface AbstractFormGroup<C extends AbstractControls = AbstractControls> extends AbstractGroup<C> {
|
|
63
60
|
reset: () => void;
|
|
64
61
|
setValidators: (validators: ValidatorGroupFn<C>[]) => void;
|
|
65
62
|
state: StateGroup<C>;
|
|
66
63
|
subscribe: (subscriber: SubscriberGroup<C>) => Unsubscription;
|
|
67
64
|
}
|
|
68
|
-
export interface AbstractArrayControl<T = any> extends
|
|
65
|
+
export interface AbstractArrayControl<T = any> extends AbstractReactiveControl<T> {
|
|
69
66
|
uuid: string;
|
|
70
67
|
}
|
|
71
|
-
export type
|
|
72
|
-
export interface AbstractArrayGroup<C extends
|
|
68
|
+
export type AbstractArrayControls<T extends AbstractArrayControl = AbstractArrayControl> = AbstractControls<T>;
|
|
69
|
+
export interface AbstractArrayGroup<C extends AbstractArrayControls, R = any> extends AbstractGroup<C> {
|
|
73
70
|
setValidators: (validators: ValidatorGroupFn<C>[]) => void;
|
|
74
71
|
state: ArrayStateGroup<C>;
|
|
75
72
|
subscribe: (subscriber: SubscriberGroup<C>) => Unsubscription;
|
|
76
73
|
uuid: string;
|
|
77
74
|
resource?: R;
|
|
78
75
|
}
|
|
79
|
-
export type ArrayStateGroup<C extends
|
|
76
|
+
export type ArrayStateGroup<C extends AbstractArrayControls> = {
|
|
80
77
|
[K in keyof C]: C[K]['state'];
|
|
81
78
|
};
|
|
82
|
-
export type ValidatorArrayFn<T extends
|
|
83
|
-
export
|
|
84
|
-
|
|
79
|
+
export type ValidatorArrayFn<T extends AbstractArrayControls = AbstractArrayControls, R = any, G extends AbstractArrayGroup<T, R> = AbstractArrayGroup<T, R>, V = any> = (groups: G[]) => ValidatorResult<V>;
|
|
80
|
+
export type ArrayFormControls<T extends AbstractArrayControl = AbstractArrayControl> = AbstractArrayControls<T>;
|
|
81
|
+
export type SubscriberArray<C extends ArrayFormControls> = SubscriberControl<ArrayStateGroup<C>[]>;
|
|
82
|
+
export interface AbstractArray<C extends AbstractArrayControls = AbstractArrayControls, R = any, G extends AbstractArrayGroup<C, R> = AbstractArrayGroup<C, R>> extends AbstractControl<ArrayStateGroup<C>[]> {
|
|
83
|
+
controls: C[];
|
|
85
84
|
dirties: boolean;
|
|
86
85
|
groups: G[];
|
|
87
86
|
merge: (groups: G[]) => void;
|
|
@@ -89,30 +88,30 @@ export interface AbstractArray<T extends AbstractArrayGroupControls = AbstractAr
|
|
|
89
88
|
push: (group: G) => void;
|
|
90
89
|
remove: (group: G) => void;
|
|
91
90
|
set: (groups: G[]) => void;
|
|
92
|
-
setValidators: (validators: ValidatorArrayFn<
|
|
93
|
-
|
|
91
|
+
setValidators: (validators: ValidatorArrayFn<C, R>[]) => void;
|
|
92
|
+
subscribe: (subscriber: SubscriberArray<C>) => Unsubscription;
|
|
94
93
|
toucheds: boolean;
|
|
95
94
|
untoucheds: boolean;
|
|
96
95
|
wrong: boolean;
|
|
97
96
|
}
|
|
98
|
-
export interface
|
|
97
|
+
export interface FormControlOptions<T = any> {
|
|
99
98
|
state: T;
|
|
100
99
|
validators?: ValidatorFn<T>[];
|
|
101
100
|
}
|
|
102
|
-
export type
|
|
103
|
-
export type
|
|
104
|
-
export interface
|
|
101
|
+
export type FormStateOptions<T> = Omit<FormControlOptions<T>, 'validators'>;
|
|
102
|
+
export type FormValidatorsOptions<T> = Omit<FormControlOptions<T>, 'state'>;
|
|
103
|
+
export interface FormGroupOptions<C extends AbstractControls = AbstractControls> {
|
|
105
104
|
controls: C;
|
|
106
105
|
validators?: ValidatorGroupFn<C>[];
|
|
107
106
|
}
|
|
108
|
-
export interface
|
|
107
|
+
export interface FormArrayControlOptions<T = any> extends FormControlOptions<T> {
|
|
109
108
|
uuid: string;
|
|
110
109
|
}
|
|
111
|
-
export interface
|
|
110
|
+
export interface FormArrayGroupOptions<C extends AbstractArrayControls = AbstractArrayControls, R = any> extends FormGroupOptions<C> {
|
|
112
111
|
uuid: string;
|
|
113
112
|
resource?: R;
|
|
114
113
|
}
|
|
115
|
-
export interface
|
|
114
|
+
export interface FormArrayOptions<C extends AbstractArrayControls = AbstractArrayControls, R = any, G extends AbstractArrayGroup<C, R> = AbstractArrayGroup<C, R>> {
|
|
116
115
|
groups?: G[];
|
|
117
116
|
validators?: ValidatorArrayFn<C, R>[];
|
|
118
117
|
}
|
package/package.json
CHANGED