@rolster/forms 2.0.1 → 2.2.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 (37) hide show
  1. package/dist/cjs/helpers.js +20 -21
  2. package/dist/cjs/helpers.js.map +1 -1
  3. package/dist/cjs/index.js +76 -56
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/es/helpers.js +21 -21
  6. package/dist/es/helpers.js.map +1 -1
  7. package/dist/es/index.js +69 -54
  8. package/dist/es/index.js.map +1 -1
  9. package/dist/esm/arguments.d.ts +10 -10
  10. package/dist/esm/arguments.js +21 -12
  11. package/dist/esm/arguments.js.map +1 -1
  12. package/dist/esm/form-array/form-array-control.d.ts +10 -4
  13. package/dist/esm/form-array/form-array-control.js +6 -3
  14. package/dist/esm/form-array/form-array-control.js.map +1 -1
  15. package/dist/esm/form-array/form-array-group.d.ts +6 -4
  16. package/dist/esm/form-array/form-array-group.js +6 -3
  17. package/dist/esm/form-array/form-array-group.js.map +1 -1
  18. package/dist/esm/form-array/form-array.d.ts +7 -5
  19. package/dist/esm/form-array/form-array.js +6 -6
  20. package/dist/esm/form-array/form-array.js.map +1 -1
  21. package/dist/esm/form-array/index.d.ts +3 -3
  22. package/dist/esm/form-array/index.js +3 -3
  23. package/dist/esm/form-array/index.js.map +1 -1
  24. package/dist/esm/form-control.d.ts +10 -7
  25. package/dist/esm/form-control.js +5 -5
  26. package/dist/esm/form-control.js.map +1 -1
  27. package/dist/esm/form-group.d.ts +4 -3
  28. package/dist/esm/form-group.js +7 -7
  29. package/dist/esm/form-group.js.map +1 -1
  30. package/dist/esm/helpers.d.ts +13 -14
  31. package/dist/esm/helpers.js +11 -23
  32. package/dist/esm/helpers.js.map +1 -1
  33. package/dist/esm/index.d.ts +4 -4
  34. package/dist/esm/index.js +4 -4
  35. package/dist/esm/index.js.map +1 -1
  36. package/dist/esm/types.d.ts +23 -36
  37. package/package.json +1 -1
@@ -1,12 +1,15 @@
1
1
  import { v4 as uuid } from 'uuid';
2
- import { createFormGroupProps } from '../arguments';
2
+ import { createFormGroupOptions } from '../arguments';
3
3
  import { FormGroup } from '../form-group';
4
4
  export class FormArrayGroup extends FormGroup {
5
- constructor(groupProps, groupValidators) {
6
- const { controls, resource, validators } = createFormGroupProps(groupProps, groupValidators);
5
+ constructor(groupOptions, groupValidators) {
6
+ const { controls, resource, validators } = createFormGroupOptions(groupOptions, groupValidators);
7
7
  super(controls, validators);
8
8
  this.uuid = uuid();
9
9
  this.resource = resource;
10
10
  }
11
11
  }
12
+ export function formArrayGroup(options, validators) {
13
+ return new FormArrayGroup(createFormGroupOptions(options, validators));
14
+ }
12
15
  //# sourceMappingURL=form-array-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-array-group.js","sourceRoot":"","sources":["../../../src/form-array/form-array-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAkB1C,MAAM,OAAO,cAIX,SAAQ,SAAY;IASpB,YACE,UAAkC,EAClC,eAAuC;QAEvC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,oBAAoB,CAG7D,UAAU,EAAE,eAAe,CAAC,CAAC;QAE/B,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE5B,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"form-array-group.js","sourceRoot":"","sources":["../../../src/form-array/form-array-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAkB1C,MAAM,OAAO,cAIX,SAAQ,SAAY;IASpB,YACE,YAAsC,EACtC,eAAuC;QAEvC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,sBAAsB,CAG/D,YAAY,EAAE,eAAe,CAAC,CAAC;QAEjC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE5B,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AASD,MAAM,UAAU,cAAc,CAC5B,OAAiC,EACjC,UAAkC;IAElC,OAAO,IAAI,cAAc,CAAC,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AACzE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { ValidatorError } from '@rolster/validators';
2
- import { AbstractArray, AbstractArrayControl, AbstractArrayGroup, AbstractControls, ArrayStateGroup, ArrayValueGroup, FormArrayProps, SubscriberControl, ValidatorArrayFn } from '../types';
3
- type FormControls<T extends AbstractArrayControl = AbstractArrayControl> = AbstractControls<T>;
4
- type ArrayProps<G extends FormControls, R> = FormArrayProps<G, R, AbstractArrayGroup<G, R>>;
2
+ import { AbstractArray, AbstractArrayControl, AbstractArrayGroup, AbstractArrayControls, ArrayStateGroup, FormArrayOptions, SubscriberControl, ValidatorArrayFn } from '../types';
3
+ type FormControls<T extends AbstractArrayControl = AbstractArrayControl> = AbstractArrayControls<T>;
4
+ type ArrayOptions<G extends FormControls, R> = FormArrayOptions<G, R, AbstractArrayGroup<G, R>>;
5
5
  type SubscriberArray<G extends FormControls> = SubscriberControl<ArrayStateGroup<G>[]>;
6
6
  export declare class FormArray<G extends FormControls = FormControls, R = any> implements AbstractArray<G, R> {
7
7
  private currentGroups;
@@ -13,7 +13,7 @@ export declare class FormArray<G extends FormControls = FormControls, R = any> i
13
13
  private observable;
14
14
  private unsusbcriptions;
15
15
  constructor();
16
- constructor(props: ArrayProps<G, R>);
16
+ constructor(options: ArrayOptions<G, R>);
17
17
  constructor(groups: AbstractArrayGroup<G, R>[], validators?: ValidatorArrayFn<G, R>[]);
18
18
  get groups(): AbstractArrayGroup<G, R>[];
19
19
  get controls(): G[];
@@ -28,7 +28,6 @@ export declare class FormArray<G extends FormControls = FormControls, R = any> i
28
28
  get valid(): boolean;
29
29
  get invalid(): boolean;
30
30
  get state(): ArrayStateGroup<G>[];
31
- get value(): ArrayValueGroup<G>[];
32
31
  get error(): ValidatorError | undefined;
33
32
  get errors(): ValidatorError[];
34
33
  get wrong(): boolean;
@@ -43,4 +42,7 @@ export declare class FormArray<G extends FormControls = FormControls, R = any> i
43
42
  private updateValidityStatus;
44
43
  private refresh;
45
44
  }
45
+ export declare function formArray<G extends FormControls = FormControls, R = any>(): FormArray<G, R>;
46
+ export declare function formArray<G extends FormControls = FormControls, R = any>(options: ArrayOptions<G, R>): FormArray<G, R>;
47
+ export declare function formArray<G extends FormControls = FormControls, R = any>(groups: AbstractArrayGroup<G, R>[], validators?: ValidatorArrayFn<G, R>[]): FormArray<G, R>;
46
48
  export {};
@@ -1,12 +1,12 @@
1
1
  import { observable } from '@rolster/commons';
2
- import { createFormArrayProps } from '../arguments';
2
+ import { createFormArrayOptions } from '../arguments';
3
3
  import { arrayIsValid, groupAllChecked, groupPartialChecked } from '../helpers';
4
4
  export class FormArray {
5
- constructor(arrayProps, arrayValidators) {
5
+ constructor(arrayOptions, arrayValidators) {
6
6
  this.currentGroups = [];
7
7
  this.currentValid = true;
8
8
  this.currentErrors = [];
9
- const { groups, validators } = createFormArrayProps(arrayProps, arrayValidators);
9
+ const { groups, validators } = createFormArrayOptions(arrayOptions, arrayValidators);
10
10
  this.unsusbcriptions = new Map();
11
11
  this.initialState = groups;
12
12
  this.validators = validators;
@@ -55,9 +55,6 @@ export class FormArray {
55
55
  get state() {
56
56
  return this.groups.map(({ state }) => state);
57
57
  }
58
- get value() {
59
- return this.groups.map(({ value }) => value);
60
- }
61
58
  get error() {
62
59
  return this.currentError;
63
60
  }
@@ -124,4 +121,7 @@ export class FormArray {
124
121
  this.updateValidityStatus(groups, this.validators);
125
122
  }
126
123
  }
124
+ export function formArray(options, validators) {
125
+ return new FormArray(createFormArrayOptions(options, validators));
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":"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"}
1
+ {"version":3,"file":"form-array.js","sourceRoot":"","sources":["../../../src/form-array/form-array.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { FormArray } from './form-array';
2
- export { FormArrayControl } from './form-array-control';
3
- export { FormArrayControls, FormArrayGroup } from './form-array-group';
1
+ export { FormArray, formArray } from './form-array';
2
+ export { FormArrayControl, formArrayControl } from './form-array-control';
3
+ export { FormArrayControls, FormArrayGroup, formArrayGroup } from './form-array-group';
@@ -1,4 +1,4 @@
1
- export { FormArray } from './form-array';
2
- export { FormArrayControl } from './form-array-control';
3
- export { FormArrayGroup } from './form-array-group';
1
+ export { FormArray, formArray } from './form-array';
2
+ export { FormArrayControl, formArrayControl } from './form-array-control';
3
+ export { FormArrayGroup, formArrayGroup } from './form-array-group';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/form-array/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAqB,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/form-array/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAEL,cAAc,EACd,cAAc,EACf,MAAM,oBAAoB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ValidatorError, ValidatorFn } from '@rolster/validators';
2
- import { AbstractControl, FormControlProps, FormState, SubscriberControl } from './types';
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;
@@ -7,14 +7,14 @@ export declare class FormControl<T = any> implements AbstractControl<T> {
7
7
  private currentDisabled;
8
8
  private currentValid;
9
9
  private initialState;
10
- private currentState?;
10
+ private currentState;
11
11
  private currentError?;
12
12
  private currentErrors;
13
13
  private validators?;
14
14
  private observable;
15
15
  constructor();
16
- constructor(props: FormControlProps<T>);
17
- constructor(state: FormState<T>, validators?: ValidatorFn<T>[]);
16
+ constructor(props: FormControlOptions<T>);
17
+ constructor(state: T, validators?: ValidatorFn<T>[]);
18
18
  get focused(): boolean;
19
19
  get unfocused(): boolean;
20
20
  get touched(): boolean;
@@ -25,8 +25,7 @@ export declare class FormControl<T = any> implements AbstractControl<T> {
25
25
  get enabled(): boolean;
26
26
  get valid(): boolean;
27
27
  get invalid(): boolean;
28
- get state(): FormState<T>;
29
- get value(): T;
28
+ get state(): T;
30
29
  get errors(): ValidatorError[];
31
30
  get error(): ValidatorError | undefined;
32
31
  get wrong(): boolean;
@@ -37,8 +36,12 @@ export declare class FormControl<T = any> implements AbstractControl<T> {
37
36
  untouch(): void;
38
37
  disable(): void;
39
38
  enable(): void;
40
- setState(state?: FormState<T>): void;
39
+ setState(state: T): void;
41
40
  setValidators(validators?: ValidatorFn<T>[]): void;
42
41
  subscribe(subscriber: SubscriberControl<T>): Unsubscription;
43
42
  private updateValueAndValidity;
44
43
  }
44
+ export declare function formControl<T>(): FormControl<T | undefined>;
45
+ export declare function formControl<T>(options: FormStateOptions<T>): FormControl<T>;
46
+ export declare function formControl<T>(options: FormValidatorsOptions<T>): FormControl<T | undefined>;
47
+ export declare function formControl<T>(state: T, validators?: ValidatorFn<T>[]): FormControl<T>;
@@ -1,5 +1,5 @@
1
1
  import { observable } from '@rolster/commons';
2
- import { createFormControlProps } from './arguments';
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 } = createFormControlProps(controlProps, controlValidators);
12
+ const { state, validators } = createFormControlOptions(controlProps, controlValidators);
13
13
  this.observable = observable(state);
14
14
  this.initialState = state;
15
15
  this.validators = validators;
@@ -49,9 +49,6 @@ export class FormControl {
49
49
  get state() {
50
50
  return this.currentState;
51
51
  }
52
- get value() {
53
- return this.currentState;
54
- }
55
52
  get errors() {
56
53
  return this.currentErrors;
57
54
  }
@@ -111,4 +108,7 @@ export class FormControl {
111
108
  }
112
109
  }
113
110
  }
111
+ export function formControl(options, validators) {
112
+ return new FormControl(createFormControlOptions(options, validators));
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":"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"}
1
+ {"version":3,"file":"form-control.js","sourceRoot":"","sources":["../../src/form-control.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ValidatorError } from '@rolster/validators';
2
- import { AbstractControl, AbstractControls, AbstractFormGroup, FormGroupProps, StateGroup, SubscriberGroup, ValidatorGroupFn, ValueGroup } from './types';
2
+ import { AbstractControl, AbstractFormGroup, AbstractControls, FormGroupOptions, StateGroup, SubscriberGroup, ValidatorGroupFn } from './types';
3
3
  export type FormControls<T extends AbstractControl = AbstractControl> = AbstractControls<T>;
4
4
  export declare class FormGroup<C extends FormControls = FormControls> implements AbstractFormGroup<C> {
5
5
  protected currentControls: C;
@@ -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(props: FormGroupProps<C>);
11
+ constructor(options: FormGroupOptions<C>);
12
12
  constructor(controls: C, validators?: ValidatorGroupFn<C>[]);
13
13
  get controls(): C;
14
14
  get touched(): boolean;
@@ -22,7 +22,6 @@ export declare class FormGroup<C extends FormControls = FormControls> implements
22
22
  get valid(): boolean;
23
23
  get invalid(): boolean;
24
24
  get state(): StateGroup<C>;
25
- get value(): ValueGroup<C>;
26
25
  get errors(): ValidatorError[];
27
26
  get error(): ValidatorError | undefined;
28
27
  get wrong(): boolean;
@@ -31,3 +30,5 @@ export declare class FormGroup<C extends FormControls = FormControls> implements
31
30
  subscribe(subscriber: SubscriberGroup<C>): Unsubscription;
32
31
  private updateValueAndValidity;
33
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,11 +1,11 @@
1
1
  import { observable } from '@rolster/commons';
2
- import { createFormGroupProps } from './arguments';
3
- import { controlsAllChecked, controlsPartialChecked, controlsToState, controlsToValue, groupIsValid } from './helpers';
2
+ import { createFormGroupOptions } from './arguments';
3
+ import { controlsAllChecked, controlsPartialChecked, controlsToState, groupIsValid } from './helpers';
4
4
  export class FormGroup {
5
- constructor(groupProps, groupValidators) {
5
+ constructor(groupOptions, groupValidators) {
6
6
  this.currentErrors = [];
7
7
  this.currentValid = true;
8
- const { controls, validators } = createFormGroupProps(groupProps, groupValidators);
8
+ const { controls, validators } = createFormGroupOptions(groupOptions, groupValidators);
9
9
  this.currentControls = controls;
10
10
  this.validators = validators;
11
11
  this.updateValueAndValidity(controls, validators);
@@ -53,9 +53,6 @@ export class FormGroup {
53
53
  get state() {
54
54
  return controlsToState(this.controls);
55
55
  }
56
- get value() {
57
- return controlsToValue(this.controls);
58
- }
59
56
  get errors() {
60
57
  return this.currentErrors;
61
58
  }
@@ -91,4 +88,7 @@ export class FormGroup {
91
88
  }
92
89
  }
93
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,24 +1,23 @@
1
1
  import { ValidatorError, ValidatorFn } from '@rolster/validators';
2
- import { AbstractArrayGroupControls, AbstractArrayGroup, AbstractBaseControl, AbstractControls, AbstractGroup, AbstractGroupControls, FormState, StateGroup, ValidatorArrayFn, ValidatorGroupFn, ValueGroup } from './types';
3
- interface ControlValidProps<T> {
4
- state: FormState<T>;
2
+ import { AbstractControl, AbstractArrayGroup, AbstractArrayControls, AbstractGroup, AbstractControls, StateGroup, ValidatorArrayFn, ValidatorGroupFn } from './types';
3
+ interface ControlValidOptions<T> {
4
+ state: T;
5
5
  validators: ValidatorFn<T>[];
6
6
  }
7
- interface GroupValidProps<T extends AbstractGroupControls> {
7
+ interface GroupValidOptions<T extends AbstractControls> {
8
8
  controls: T;
9
9
  validators: ValidatorGroupFn<T>[];
10
10
  }
11
- interface ArrayValidProps<T extends AbstractArrayGroupControls = AbstractArrayGroupControls, R = any, G extends AbstractArrayGroup<T, R> = AbstractArrayGroup<T, R>> {
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>(props: ControlValidProps<T>) => ValidatorError[];
16
- export declare const controlsAllChecked: <T extends AbstractBaseControl<any>>(controls: AbstractControls<T>, props: keyof T) => boolean;
17
- export declare const controlsPartialChecked: <T extends AbstractBaseControl<any>>(controls: AbstractControls<T>, props: keyof T) => boolean;
18
- export declare const controlsToState: <C extends AbstractGroupControls<import("./types").AbstractControl<any>>>(controls: C) => StateGroup<C>;
19
- export declare const controlsToValue: <C extends AbstractGroupControls<import("./types").AbstractControl<any>>>(controls: C) => ValueGroup<C>;
20
- export declare const groupIsValid: <C extends AbstractGroupControls<import("./types").AbstractControl<any>>>({ controls, validators }: GroupValidProps<C>) => ValidatorError[];
21
- export declare function groupAllChecked<C extends AbstractGroupControls>(groups: AbstractGroup<C>[], key: keyof AbstractGroup<C>): boolean;
22
- export declare function groupPartialChecked<C extends AbstractGroupControls>(groups: AbstractGroup<C>[], key: keyof AbstractGroup<C>): boolean;
23
- export declare const arrayIsValid: <C extends AbstractArrayGroupControls<import("./types").AbstractArrayControl<any>> = AbstractArrayGroupControls<import("./types").AbstractArrayControl<any>>, R = any>({ groups, validators }: ArrayValidProps<C, R, AbstractArrayGroup<C, R>>) => ValidatorError[];
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[];
24
23
  export {};
@@ -1,11 +1,5 @@
1
- const FALSY_VALUE = ['false', 'undefined', '0', 0];
2
- function toBoolean(value) {
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,22 +8,16 @@ export const controlIsValid = (props) => {
14
8
  return errors;
15
9
  }, []);
16
10
  };
17
- export const controlsAllChecked = (controls, props) => {
18
- return Object.values(controls).reduce((value, control) => value && toBoolean(control[props]), true);
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, props) => {
21
- return Object.values(controls).reduce((value, control) => value || toBoolean(control[props]), false);
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
- return Object.entries(controls).reduce((json, [key, { state }]) => {
25
- json[key] = state;
26
- return json;
27
- }, {});
28
- };
29
- export const controlsToValue = (controls) => {
30
- return Object.entries(controls).reduce((json, [key, { value }]) => {
31
- json[key] = value;
32
- return json;
18
+ return Object.entries(controls).reduce((result, [key, { state }]) => {
19
+ result[key] = state;
20
+ return result;
33
21
  }, {});
34
22
  };
35
23
  export const groupIsValid = ({ controls, validators }) => {
@@ -42,10 +30,10 @@ export const groupIsValid = ({ controls, validators }) => {
42
30
  }, []);
43
31
  };
44
32
  export function groupAllChecked(groups, key) {
45
- return groups.reduce((value, group) => value && toBoolean(group[key]), true);
33
+ return groups.reduce((value, group) => value && parseBoolean(group[key]), true);
46
34
  }
47
35
  export function groupPartialChecked(groups, key) {
48
- return groups.reduce((value, group) => value || toBoolean(group[key]), false);
36
+ return groups.reduce((value, group) => value || parseBoolean(group[key]), false);
49
37
  }
50
38
  export const arrayIsValid = ({ groups, validators }) => {
51
39
  return validators.reduce((errors, validator) => {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- export { createFormArrayProps, createFormControlProps, createFormGroupProps } from './arguments';
2
- export { FormArray, FormArrayControl, FormArrayControls, FormArrayGroup } from './form-array';
3
- export { FormControl } from './form-control';
4
- export { FormControls, FormGroup } from './form-group';
1
+ export { createFormArrayOptions, createFormControlOptions, createFormGroupOptions } from './arguments';
2
+ export { FormArray, FormArrayControl, FormArrayControls, FormArrayGroup, formArray, formArrayControl, formArrayGroup } from './form-array';
3
+ export { FormControl, formControl } from './form-control';
4
+ export { FormControls, FormGroup, formGroup } from './form-group';
5
5
  export * from './types';
package/dist/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
- export { createFormArrayProps, createFormControlProps, createFormGroupProps } from './arguments';
2
- export { FormArray, FormArrayControl, FormArrayGroup } from './form-array';
3
- export { FormControl } from './form-control';
4
- export { FormGroup } from './form-group';
1
+ export { createFormArrayOptions, createFormControlOptions, createFormGroupOptions } from './arguments';
2
+ export { FormArray, FormArrayControl, FormArrayGroup, formArray, formArrayControl, formArrayGroup } from './form-array';
3
+ export { FormControl, formControl } from './form-control';
4
+ export { FormGroup, formGroup } from './form-group';
5
5
  export * from './types';
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,SAAS,EACT,gBAAgB,EAEhB,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAgB,SAAS,EAAE,MAAM,cAAc,CAAC;AACvD,cAAc,SAAS,CAAC"}
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"}
@@ -1,10 +1,9 @@
1
1
  import { ValidatorError, ValidatorFn, ValidatorResult } from '@rolster/validators';
2
- export type FormState<T = any> = T | undefined | null;
3
2
  export type ValidationFormType = 'control' | 'group' | 'array';
4
3
  export interface ValidationFormError<T = any> extends ValidatorError<T> {
5
4
  type: ValidationFormType;
6
5
  }
7
- export type SubscriberControl<T> = (state?: FormState<T>) => void;
6
+ export type SubscriberControl<T> = (state: T) => void;
8
7
  export interface AbstractBaseControl<T = any> {
9
8
  dirty: boolean;
10
9
  errors: ValidatorError[];
@@ -13,17 +12,15 @@ export interface AbstractBaseControl<T = any> {
13
12
  touched: boolean;
14
13
  untouched: boolean;
15
14
  valid: boolean;
16
- value: T;
17
15
  wrong: boolean;
18
16
  error?: ValidatorError;
19
- state?: FormState<T>;
17
+ state?: T;
20
18
  }
21
- export type AbstractControls<T extends AbstractBaseControl = AbstractBaseControl> = Record<string, T>;
22
19
  export interface AbstractControl<T = any> extends AbstractBaseControl<T> {
23
20
  reset: () => void;
24
21
  subscribe: (subscriber: SubscriberControl<T>) => Unsubscription;
25
22
  }
26
- export interface AbstractFunctionalControl<T = any> extends AbstractControl<T> {
23
+ export interface AbstractFormControl<T = any> extends AbstractControl<T> {
27
24
  blur: () => void;
28
25
  disable: () => void;
29
26
  disabled: boolean;
@@ -31,16 +28,14 @@ export interface AbstractFunctionalControl<T = any> extends AbstractControl<T> {
31
28
  enabled: boolean;
32
29
  focus: () => void;
33
30
  focused: boolean;
34
- setState: (state?: FormState<T>) => void;
31
+ setState: (state: T) => void;
35
32
  touch: () => void;
36
33
  unfocused: boolean;
37
34
  untouch: () => void;
38
- }
39
- export interface AbstractFormControl<T = any> extends AbstractFunctionalControl<T> {
40
35
  setValidators: (validators?: ValidatorFn<T>[]) => void;
41
36
  }
42
- export type AbstractGroupControls<T extends AbstractControl = AbstractControl> = Record<string, T>;
43
- export interface AbstractGroup<T extends AbstractGroupControls = AbstractGroupControls> {
37
+ export type AbstractControls<T extends AbstractControl = AbstractControl> = Record<string, T>;
38
+ export interface AbstractGroup<T extends AbstractControls = AbstractControls> {
44
39
  controls: T;
45
40
  dirty: boolean;
46
41
  dirties: boolean;
@@ -56,41 +51,33 @@ export interface AbstractGroup<T extends AbstractGroupControls = AbstractGroupCo
56
51
  wrong: boolean;
57
52
  error?: ValidatorError;
58
53
  }
59
- export type StateGroup<C extends AbstractGroupControls = AbstractGroupControls> = {
54
+ export type StateGroup<C extends AbstractControls = AbstractControls> = {
60
55
  [K in keyof C]: C[K]['state'];
61
56
  };
62
- export type ValueGroup<C extends AbstractGroupControls = AbstractGroupControls> = {
63
- [K in keyof C]: C[K]['value'];
64
- };
65
- export type ValidatorGroupFn<C extends AbstractGroupControls = AbstractGroupControls, V = any> = (controls: C) => ValidatorResult<V>;
66
- export type SubscriberGroup<C extends AbstractGroupControls = AbstractGroupControls> = (state: StateGroup<C>) => void;
67
- export interface AbstractFormGroup<C extends AbstractGroupControls = AbstractGroupControls> extends AbstractGroup<C> {
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> {
68
60
  reset: () => void;
69
61
  setValidators: (validators: ValidatorGroupFn<C>[]) => void;
70
62
  state: StateGroup<C>;
71
63
  subscribe: (subscriber: SubscriberGroup<C>) => Unsubscription;
72
- value: ValueGroup<C>;
73
64
  }
74
65
  export interface AbstractArrayControl<T = any> extends AbstractFormControl<T> {
75
66
  uuid: string;
76
67
  }
77
- export type AbstractArrayGroupControls<T extends AbstractArrayControl = AbstractArrayControl> = AbstractControls<T>;
78
- export interface AbstractArrayGroup<C extends AbstractArrayGroupControls, R = any> extends AbstractGroup<C> {
68
+ export type AbstractArrayControls<T extends AbstractArrayControl = AbstractArrayControl> = AbstractControls<T>;
69
+ export interface AbstractArrayGroup<C extends AbstractArrayControls, R = any> extends AbstractGroup<C> {
79
70
  setValidators: (validators: ValidatorGroupFn<C>[]) => void;
80
71
  state: ArrayStateGroup<C>;
81
72
  subscribe: (subscriber: SubscriberGroup<C>) => Unsubscription;
82
73
  uuid: string;
83
- value: ArrayValueGroup<C>;
84
74
  resource?: R;
85
75
  }
86
- export type ArrayStateGroup<C extends AbstractArrayGroupControls> = {
76
+ export type ArrayStateGroup<C extends AbstractArrayControls> = {
87
77
  [K in keyof C]: C[K]['state'];
88
78
  };
89
- export type ArrayValueGroup<C extends AbstractArrayGroupControls> = {
90
- [K in keyof C]: C[K]['value'];
91
- };
92
- export type ValidatorArrayFn<T extends AbstractArrayGroupControls = AbstractArrayGroupControls, R = any, G extends AbstractArrayGroup<T, R> = AbstractArrayGroup<T, R>, V = any> = (groups: G[]) => ValidatorResult<V>;
93
- export interface AbstractArray<T extends AbstractArrayGroupControls = AbstractArrayGroupControls, R = any, G extends AbstractArrayGroup<T, R> = AbstractArrayGroup<T, R>> extends AbstractControl<ArrayStateGroup<T>[]> {
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 interface AbstractArray<T extends AbstractArrayControls = AbstractArrayControls, R = any, G extends AbstractArrayGroup<T, R> = AbstractArrayGroup<T, R>> extends AbstractControl<ArrayStateGroup<T>[]> {
94
81
  controls: T[];
95
82
  dirties: boolean;
96
83
  groups: G[];
@@ -100,28 +87,28 @@ export interface AbstractArray<T extends AbstractArrayGroupControls = AbstractAr
100
87
  remove: (group: G) => void;
101
88
  set: (groups: G[]) => void;
102
89
  setValidators: (validators: ValidatorArrayFn<T, R>[]) => void;
103
- state: ArrayStateGroup<T>[];
104
90
  toucheds: boolean;
105
91
  untoucheds: boolean;
106
- value: ArrayValueGroup<T>[];
107
92
  wrong: boolean;
108
93
  }
109
- export interface FormControlProps<T = any> {
110
- state?: FormState<T>;
94
+ export interface FormControlOptions<T = any> {
95
+ state: T;
111
96
  validators?: ValidatorFn<T>[];
112
97
  }
113
- export interface FormGroupProps<C extends AbstractGroupControls = AbstractGroupControls> {
98
+ export type FormStateOptions<T> = Omit<FormControlOptions<T>, 'validators'>;
99
+ export type FormValidatorsOptions<T> = Omit<FormControlOptions<T>, 'state'>;
100
+ export interface FormGroupOptions<C extends AbstractControls = AbstractControls> {
114
101
  controls: C;
115
102
  validators?: ValidatorGroupFn<C>[];
116
103
  }
117
- export interface FormArrayControlProps<T = any> extends FormControlProps<T> {
104
+ export interface FormArrayControlOptions<T = any> extends FormControlOptions<T> {
118
105
  uuid: string;
119
106
  }
120
- export interface FormArrayGroupProps<C extends AbstractArrayGroupControls = AbstractArrayGroupControls, R = any> extends FormGroupProps<C> {
107
+ export interface FormArrayGroupOptions<C extends AbstractArrayControls = AbstractArrayControls, R = any> extends FormGroupOptions<C> {
121
108
  uuid: string;
122
109
  resource?: R;
123
110
  }
124
- export interface FormArrayProps<C extends AbstractArrayGroupControls = AbstractArrayGroupControls, R = any, G extends AbstractArrayGroup<C, R> = AbstractArrayGroup<C, R>> {
111
+ export interface FormArrayOptions<C extends AbstractArrayControls = AbstractArrayControls, R = any, G extends AbstractArrayGroup<C, R> = AbstractArrayGroup<C, R>> {
125
112
  groups?: G[];
126
113
  validators?: ValidatorArrayFn<C, R>[];
127
114
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rolster/forms",
3
- "version": "2.0.1",
3
+ "version": "2.2.0",
4
4
  "description": "It implements a set of classes that allow managing the control of states of the input components of the UI.",
5
5
  "module": "dist/esm/index.js",
6
6
  "main": "dist/cjs/index.js",