@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
@@ -3,13 +3,19 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const FALSY_VALUE = ['false', 'undefined', '0', 0];
6
- function toBoolean(value) {
7
- return !(!(typeof value !== 'undefined' && value !== null) ||
6
+ function itIsDefined(object) {
7
+ return typeof object !== 'undefined' && object !== null;
8
+ }
9
+ function itIsUndefined(object) {
10
+ return !itIsDefined(object);
11
+ }
12
+ function parseBoolean(value) {
13
+ return !(itIsUndefined(value) ||
8
14
  value === false ||
9
15
  FALSY_VALUE.includes(value));
10
- }
11
- const controlIsValid = (props) => {
12
- const { state, validators } = props;
16
+ }
17
+
18
+ const controlIsValid = ({ state, validators }) => {
13
19
  return validators.reduce((errors, validator) => {
14
20
  const error = validator(state);
15
21
  if (error) {
@@ -18,22 +24,16 @@ const controlIsValid = (props) => {
18
24
  return errors;
19
25
  }, []);
20
26
  };
21
- const controlsAllChecked = (controls, props) => {
22
- return Object.values(controls).reduce((value, control) => value && toBoolean(control[props]), true);
27
+ const controlsAllChecked = (controls, key) => {
28
+ return Object.values(controls).reduce((value, control) => value && parseBoolean(control[key]), true);
23
29
  };
24
- const controlsPartialChecked = (controls, props) => {
25
- return Object.values(controls).reduce((value, control) => value || toBoolean(control[props]), false);
30
+ const controlsPartialChecked = (controls, key) => {
31
+ return Object.values(controls).reduce((value, control) => value || parseBoolean(control[key]), false);
26
32
  };
27
33
  const controlsToState = (controls) => {
28
- return Object.entries(controls).reduce((json, [key, { state }]) => {
29
- json[key] = state;
30
- return json;
31
- }, {});
32
- };
33
- const controlsToValue = (controls) => {
34
- return Object.entries(controls).reduce((json, [key, { value }]) => {
35
- json[key] = value;
36
- return json;
34
+ return Object.entries(controls).reduce((result, [key, { state }]) => {
35
+ result[key] = state;
36
+ return result;
37
37
  }, {});
38
38
  };
39
39
  const groupIsValid = ({ controls, validators }) => {
@@ -46,10 +46,10 @@ const groupIsValid = ({ controls, validators }) => {
46
46
  }, []);
47
47
  };
48
48
  function groupAllChecked(groups, key) {
49
- return groups.reduce((value, group) => value && toBoolean(group[key]), true);
49
+ return groups.reduce((value, group) => value && parseBoolean(group[key]), true);
50
50
  }
51
51
  function groupPartialChecked(groups, key) {
52
- return groups.reduce((value, group) => value || toBoolean(group[key]), false);
52
+ return groups.reduce((value, group) => value || parseBoolean(group[key]), false);
53
53
  }
54
54
  const arrayIsValid = ({ groups, validators }) => {
55
55
  return validators.reduce((errors, validator) => {
@@ -66,7 +66,6 @@ exports.controlIsValid = controlIsValid;
66
66
  exports.controlsAllChecked = controlsAllChecked;
67
67
  exports.controlsPartialChecked = controlsPartialChecked;
68
68
  exports.controlsToState = controlsToState;
69
- exports.controlsToValue = controlsToValue;
70
69
  exports.groupAllChecked = groupAllChecked;
71
70
  exports.groupIsValid = groupIsValid;
72
71
  exports.groupPartialChecked = groupPartialChecked;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../esm/helpers.js"],"sourcesContent":["const FALSY_VALUE = ['false', 'undefined', '0', 0];\r\nfunction toBoolean(value) {\r\n return !(!(typeof value !== 'undefined' && value !== null) ||\r\n value === false ||\r\n FALSY_VALUE.includes(value));\r\n}\r\nexport const controlIsValid = (props) => {\r\n const { state, validators } = props;\r\n return validators.reduce((errors, validator) => {\r\n const error = validator(state);\r\n if (error) {\r\n errors.push(error);\r\n }\r\n return errors;\r\n }, []);\r\n};\r\nexport const controlsAllChecked = (controls, props) => {\r\n return Object.values(controls).reduce((value, control) => value && toBoolean(control[props]), true);\r\n};\r\nexport const controlsPartialChecked = (controls, props) => {\r\n return Object.values(controls).reduce((value, control) => value || toBoolean(control[props]), false);\r\n};\r\nexport const controlsToState = (controls) => {\r\n return Object.entries(controls).reduce((json, [key, { state }]) => {\r\n json[key] = state;\r\n return json;\r\n }, {});\r\n};\r\nexport const controlsToValue = (controls) => {\r\n return Object.entries(controls).reduce((json, [key, { value }]) => {\r\n json[key] = value;\r\n return json;\r\n }, {});\r\n};\r\nexport const groupIsValid = ({ controls, validators }) => {\r\n return validators.reduce((errors, validator) => {\r\n const error = validator(controls);\r\n if (error) {\r\n errors.push(error);\r\n }\r\n return errors;\r\n }, []);\r\n};\r\nexport function groupAllChecked(groups, key) {\r\n return groups.reduce((value, group) => value && toBoolean(group[key]), true);\r\n}\r\nexport function groupPartialChecked(groups, key) {\r\n return groups.reduce((value, group) => value || toBoolean(group[key]), false);\r\n}\r\nexport const arrayIsValid = ({ groups, validators }) => {\r\n return validators.reduce((errors, validator) => {\r\n const error = validator(groups);\r\n if (error) {\r\n errors.push(error);\r\n }\r\n return errors;\r\n }, []);\r\n};\r\n//# sourceMappingURL=helpers.js.map"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sources":["../../node_modules/@rolster/commons/dist/esm/helpers.js","../esm/helpers.js"],"sourcesContent":["const PRIMITIVES = [Date, RegExp, Function, String, Boolean, Number];\r\nconst SLICE_SIZE = 512;\r\nconst FALSY_VALUE = ['false', 'undefined', '0', 0];\r\nconst prototypeToString = Object.prototype.toString;\r\nfunction clone(object, caches) {\r\n if (typeof object !== 'object') {\r\n return object;\r\n }\r\n if (prototypeToString.call(object) === '[object Object]') {\r\n const [cacheObject] = caches.filter((cacheObject) => cacheObject === object);\r\n /* istanbul ignore if */\r\n if (cacheObject) {\r\n return cacheObject;\r\n }\r\n caches.push(object);\r\n }\r\n const prototypeObject = Object.getPrototypeOf(object);\r\n const ConstructorObject = prototypeObject.constructor;\r\n if (PRIMITIVES.includes(ConstructorObject)) {\r\n return new ConstructorObject(object);\r\n }\r\n const cloneObject = new ConstructorObject();\r\n for (const prop in object) {\r\n cloneObject[prop] = clone(object[prop], caches);\r\n }\r\n return cloneObject;\r\n}\r\nexport function itIsDefined(object) {\r\n return typeof object !== 'undefined' && object !== null;\r\n}\r\nexport function itIsUndefined(object) {\r\n return !itIsDefined(object);\r\n}\r\nexport function parseBoolean(value) {\r\n return !(itIsUndefined(value) ||\r\n value === false ||\r\n FALSY_VALUE.includes(value));\r\n}\r\nexport function parse(value) {\r\n try {\r\n return JSON.parse(value);\r\n }\r\n catch {\r\n return value;\r\n }\r\n}\r\nexport function evalValueOrFunction(value) {\r\n return typeof value === 'function' ? value() : value;\r\n}\r\nexport function deepClone(object) {\r\n return clone(object, []);\r\n}\r\nexport function deepFreeze(object) {\r\n for (const prop in object) {\r\n const value = object[prop];\r\n if (typeof value === 'object' && !Object.isFrozen(value)) {\r\n deepFreeze(value);\r\n }\r\n }\r\n return Object.freeze(object);\r\n}\r\nexport function callback(call, ...args) {\r\n return typeof call !== 'function' ? undefined : call.apply(call, args);\r\n}\r\n/* istanbul ignore next */\r\nexport function base64ToBlob(data64, mimeType) {\r\n const result64 = data64.replace(/^[^,]+,/, '').replace(/\\s/g, '');\r\n const byteCharacters = window.atob(result64);\r\n const byteArrays = [];\r\n for (let offset = 0; offset < byteCharacters.length; offset += SLICE_SIZE) {\r\n const slice = byteCharacters.slice(offset, offset + SLICE_SIZE);\r\n const byteNumbers = new Array(slice.length);\r\n for (let i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n const byteArray = new Uint8Array(byteNumbers);\r\n byteArrays.push(byteArray);\r\n }\r\n return new Blob(byteArrays, { type: mimeType });\r\n}\r\n//# sourceMappingURL=helpers.js.map","import { parseBoolean } from '@rolster/commons';\r\nexport const controlIsValid = ({ state, validators }) => {\r\n return validators.reduce((errors, validator) => {\r\n const error = validator(state);\r\n if (error) {\r\n errors.push(error);\r\n }\r\n return errors;\r\n }, []);\r\n};\r\nexport const controlsAllChecked = (controls, key) => {\r\n return Object.values(controls).reduce((value, control) => value && parseBoolean(control[key]), true);\r\n};\r\nexport const controlsPartialChecked = (controls, key) => {\r\n return Object.values(controls).reduce((value, control) => value || parseBoolean(control[key]), false);\r\n};\r\nexport const controlsToState = (controls) => {\r\n return Object.entries(controls).reduce((result, [key, { state }]) => {\r\n result[key] = state;\r\n return result;\r\n }, {});\r\n};\r\nexport const groupIsValid = ({ controls, validators }) => {\r\n return validators.reduce((errors, validator) => {\r\n const error = validator(controls);\r\n if (error) {\r\n errors.push(error);\r\n }\r\n return errors;\r\n }, []);\r\n};\r\nexport function groupAllChecked(groups, key) {\r\n return groups.reduce((value, group) => value && parseBoolean(group[key]), true);\r\n}\r\nexport function groupPartialChecked(groups, key) {\r\n return groups.reduce((value, group) => value || parseBoolean(group[key]), false);\r\n}\r\nexport const arrayIsValid = ({ groups, validators }) => {\r\n return validators.reduce((errors, validator) => {\r\n const error = validator(groups);\r\n if (error) {\r\n errors.push(error);\r\n }\r\n return errors;\r\n }, []);\r\n};\r\n//# sourceMappingURL=helpers.js.map"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -4,41 +4,63 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var uuid = require('uuid');
6
6
 
7
- function instanceOfFormControlProps(props) {
7
+ function itIsFormControlOptions(props) {
8
8
  return (typeof props === 'object' && ('state' in props || 'validators' in props));
9
9
  }
10
- function instanceOfFormGroupProps(props) {
10
+ function itIsFormGroupOptions(props) {
11
11
  return typeof props === 'object' && 'controls' in props;
12
12
  }
13
- function instanceOfFormArrayProps(props) {
13
+ function itIsFormArrayOptions(props) {
14
14
  return (typeof props === 'object' && ('groups' in props || 'validators' in props));
15
15
  }
16
- function createFormControlProps(...argsProps) {
16
+ function createFormControlOptions(...argsProps) {
17
17
  const [props, validators] = argsProps;
18
18
  if (!props) {
19
19
  return { state: props, validators };
20
20
  }
21
- if (!validators && instanceOfFormControlProps(props)) {
21
+ if (!validators && itIsFormControlOptions(props)) {
22
22
  return props;
23
23
  }
24
- return { state: props, validators };
24
+ return {
25
+ state: props,
26
+ validators
27
+ };
25
28
  }
26
- function createFormGroupProps(...argsProps) {
29
+ function createFormGroupOptions(...argsProps) {
27
30
  const [props, validators] = argsProps;
28
- if (!validators && instanceOfFormGroupProps(props)) {
31
+ if (!validators && itIsFormGroupOptions(props)) {
29
32
  return props;
30
33
  }
31
- return { controls: props, validators };
34
+ return {
35
+ controls: props,
36
+ validators
37
+ };
32
38
  }
33
- function createFormArrayProps(...argsProps) {
39
+ function createFormArrayOptions(...argsProps) {
34
40
  const [props, validators] = argsProps;
35
41
  if (!props) {
36
42
  return { groups: props, validators };
37
43
  }
38
- if (!validators && instanceOfFormArrayProps(props)) {
44
+ if (!validators && itIsFormArrayOptions(props)) {
39
45
  return props;
40
46
  }
41
- return { groups: props, validators };
47
+ return {
48
+ groups: props,
49
+ validators
50
+ };
51
+ }
52
+
53
+ const FALSY_VALUE = ['false', 'undefined', '0', 0];
54
+ function itIsDefined(object) {
55
+ return typeof object !== 'undefined' && object !== null;
56
+ }
57
+ function itIsUndefined(object) {
58
+ return !itIsDefined(object);
59
+ }
60
+ function parseBoolean(value) {
61
+ return !(itIsUndefined(value) ||
62
+ value === false ||
63
+ FALSY_VALUE.includes(value));
42
64
  }
43
65
 
44
66
  class RolsterObservable {
@@ -63,14 +85,7 @@ function observable(state) {
63
85
  return new RolsterObservable(state);
64
86
  }
65
87
 
66
- const FALSY_VALUE = ['false', 'undefined', '0', 0];
67
- function toBoolean(value) {
68
- return !(!(typeof value !== 'undefined' && value !== null) ||
69
- value === false ||
70
- FALSY_VALUE.includes(value));
71
- }
72
- const controlIsValid = (props) => {
73
- const { state, validators } = props;
88
+ const controlIsValid = ({ state, validators }) => {
74
89
  return validators.reduce((errors, validator) => {
75
90
  const error = validator(state);
76
91
  if (error) {
@@ -79,22 +94,16 @@ const controlIsValid = (props) => {
79
94
  return errors;
80
95
  }, []);
81
96
  };
82
- const controlsAllChecked = (controls, props) => {
83
- return Object.values(controls).reduce((value, control) => value && toBoolean(control[props]), true);
97
+ const controlsAllChecked = (controls, key) => {
98
+ return Object.values(controls).reduce((value, control) => value && parseBoolean(control[key]), true);
84
99
  };
85
- const controlsPartialChecked = (controls, props) => {
86
- return Object.values(controls).reduce((value, control) => value || toBoolean(control[props]), false);
100
+ const controlsPartialChecked = (controls, key) => {
101
+ return Object.values(controls).reduce((value, control) => value || parseBoolean(control[key]), false);
87
102
  };
88
103
  const controlsToState = (controls) => {
89
- return Object.entries(controls).reduce((json, [key, { state }]) => {
90
- json[key] = state;
91
- return json;
92
- }, {});
93
- };
94
- const controlsToValue = (controls) => {
95
- return Object.entries(controls).reduce((json, [key, { value }]) => {
96
- json[key] = value;
97
- return json;
104
+ return Object.entries(controls).reduce((result, [key, { state }]) => {
105
+ result[key] = state;
106
+ return result;
98
107
  }, {});
99
108
  };
100
109
  const groupIsValid = ({ controls, validators }) => {
@@ -107,10 +116,10 @@ const groupIsValid = ({ controls, validators }) => {
107
116
  }, []);
108
117
  };
109
118
  function groupAllChecked(groups, key) {
110
- return groups.reduce((value, group) => value && toBoolean(group[key]), true);
119
+ return groups.reduce((value, group) => value && parseBoolean(group[key]), true);
111
120
  }
112
121
  function groupPartialChecked(groups, key) {
113
- return groups.reduce((value, group) => value || toBoolean(group[key]), false);
122
+ return groups.reduce((value, group) => value || parseBoolean(group[key]), false);
114
123
  }
115
124
  const arrayIsValid = ({ groups, validators }) => {
116
125
  return validators.reduce((errors, validator) => {
@@ -123,11 +132,11 @@ const arrayIsValid = ({ groups, validators }) => {
123
132
  };
124
133
 
125
134
  class FormArray {
126
- constructor(arrayProps, arrayValidators) {
135
+ constructor(arrayOptions, arrayValidators) {
127
136
  this.currentGroups = [];
128
137
  this.currentValid = true;
129
138
  this.currentErrors = [];
130
- const { groups, validators } = createFormArrayProps(arrayProps, arrayValidators);
139
+ const { groups, validators } = createFormArrayOptions(arrayOptions, arrayValidators);
131
140
  this.unsusbcriptions = new Map();
132
141
  this.initialState = groups;
133
142
  this.validators = validators;
@@ -176,9 +185,6 @@ class FormArray {
176
185
  get state() {
177
186
  return this.groups.map(({ state }) => state);
178
187
  }
179
- get value() {
180
- return this.groups.map(({ value }) => value);
181
- }
182
188
  get error() {
183
189
  return this.currentError;
184
190
  }
@@ -244,6 +250,9 @@ class FormArray {
244
250
  this.currentGroups = groups;
245
251
  this.updateValidityStatus(groups, this.validators);
246
252
  }
253
+ }
254
+ function formArray(options, validators) {
255
+ return new FormArray(createFormArrayOptions(options, validators));
247
256
  }
248
257
 
249
258
  class FormControl {
@@ -254,7 +263,7 @@ class FormControl {
254
263
  this.currentDisabled = false;
255
264
  this.currentValid = true;
256
265
  this.currentErrors = [];
257
- const { state, validators } = createFormControlProps(controlProps, controlValidators);
266
+ const { state, validators } = createFormControlOptions(controlProps, controlValidators);
258
267
  this.observable = observable(state);
259
268
  this.initialState = state;
260
269
  this.validators = validators;
@@ -294,9 +303,6 @@ class FormControl {
294
303
  get state() {
295
304
  return this.currentState;
296
305
  }
297
- get value() {
298
- return this.currentState;
299
- }
300
306
  get errors() {
301
307
  return this.currentErrors;
302
308
  }
@@ -355,21 +361,27 @@ class FormControl {
355
361
  this.currentErrors = [];
356
362
  }
357
363
  }
364
+ }
365
+ function formControl(options, validators) {
366
+ return new FormControl(createFormControlOptions(options, validators));
358
367
  }
359
368
 
360
369
  class FormArrayControl extends FormControl {
361
- constructor(controlProps, controlValidators) {
362
- const { state, validators } = createFormControlProps(controlProps, controlValidators);
370
+ constructor(controlOptions, controlValidators) {
371
+ const { state, validators } = createFormControlOptions(controlOptions, controlValidators);
363
372
  super(state, validators);
364
373
  this.uuid = uuid.v4();
365
374
  }
375
+ }
376
+ function formArrayControl(options, validators) {
377
+ return new FormArrayControl(createFormControlOptions(options, validators));
366
378
  }
367
379
 
368
380
  class FormGroup {
369
- constructor(groupProps, groupValidators) {
381
+ constructor(groupOptions, groupValidators) {
370
382
  this.currentErrors = [];
371
383
  this.currentValid = true;
372
- const { controls, validators } = createFormGroupProps(groupProps, groupValidators);
384
+ const { controls, validators } = createFormGroupOptions(groupOptions, groupValidators);
373
385
  this.currentControls = controls;
374
386
  this.validators = validators;
375
387
  this.updateValueAndValidity(controls, validators);
@@ -417,9 +429,6 @@ class FormGroup {
417
429
  get state() {
418
430
  return controlsToState(this.controls);
419
431
  }
420
- get value() {
421
- return controlsToValue(this.controls);
422
- }
423
432
  get errors() {
424
433
  return this.currentErrors;
425
434
  }
@@ -454,15 +463,21 @@ class FormGroup {
454
463
  this.currentValid = true;
455
464
  }
456
465
  }
466
+ }
467
+ function formGroup(options, validators) {
468
+ return new FormGroup(createFormGroupOptions(options, validators));
457
469
  }
458
470
 
459
471
  class FormArrayGroup extends FormGroup {
460
- constructor(groupProps, groupValidators) {
461
- const { controls, resource, validators } = createFormGroupProps(groupProps, groupValidators);
472
+ constructor(groupOptions, groupValidators) {
473
+ const { controls, resource, validators } = createFormGroupOptions(groupOptions, groupValidators);
462
474
  super(controls, validators);
463
475
  this.uuid = uuid.v4();
464
476
  this.resource = resource;
465
477
  }
478
+ }
479
+ function formArrayGroup(options, validators) {
480
+ return new FormArrayGroup(createFormGroupOptions(options, validators));
466
481
  }
467
482
 
468
483
  exports.FormArray = FormArray;
@@ -470,7 +485,12 @@ exports.FormArrayControl = FormArrayControl;
470
485
  exports.FormArrayGroup = FormArrayGroup;
471
486
  exports.FormControl = FormControl;
472
487
  exports.FormGroup = FormGroup;
473
- exports.createFormArrayProps = createFormArrayProps;
474
- exports.createFormControlProps = createFormControlProps;
475
- exports.createFormGroupProps = createFormGroupProps;
488
+ exports.createFormArrayOptions = createFormArrayOptions;
489
+ exports.createFormControlOptions = createFormControlOptions;
490
+ exports.createFormGroupOptions = createFormGroupOptions;
491
+ exports.formArray = formArray;
492
+ exports.formArrayControl = formArrayControl;
493
+ exports.formArrayGroup = formArrayGroup;
494
+ exports.formControl = formControl;
495
+ exports.formGroup = formGroup;
476
496
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../esm/arguments.js","../../node_modules/@rolster/commons/dist/esm/observable.js","../esm/helpers.js","../esm/form-array/form-array.js","../esm/form-control.js","../esm/form-array/form-array-control.js","../esm/form-group.js","../esm/form-array/form-array-group.js"],"sourcesContent":["function instanceOfFormControlProps(props) {\r\n return (typeof props === 'object' && ('state' in props || 'validators' in props));\r\n}\r\nfunction instanceOfFormGroupProps(props) {\r\n return typeof props === 'object' && 'controls' in props;\r\n}\r\nfunction instanceOfFormArrayProps(props) {\r\n return (typeof props === 'object' && ('groups' in props || 'validators' in props));\r\n}\r\nexport function createFormControlProps(...argsProps) {\r\n const [props, validators] = argsProps;\r\n if (!props) {\r\n return { state: props, validators };\r\n }\r\n if (!validators && instanceOfFormControlProps(props)) {\r\n return props;\r\n }\r\n return { state: props, validators };\r\n}\r\nexport function createFormGroupProps(...argsProps) {\r\n const [props, validators] = argsProps;\r\n if (!validators && instanceOfFormGroupProps(props)) {\r\n return props;\r\n }\r\n return { controls: props, validators };\r\n}\r\nexport function createFormArrayProps(...argsProps) {\r\n const [props, validators] = argsProps;\r\n if (!props) {\r\n return { groups: props, validators };\r\n }\r\n if (!validators && instanceOfFormArrayProps(props)) {\r\n return props;\r\n }\r\n return { groups: props, validators };\r\n}\r\n//# sourceMappingURL=arguments.js.map","class RolsterObservable {\r\n constructor(state) {\r\n this.observers = [];\r\n this.currentState = state;\r\n }\r\n subscribe(observer) {\r\n this.observers.push(observer);\r\n observer(this.currentState);\r\n return () => {\r\n this.observers.filter((currentObserver) => currentObserver !== observer);\r\n };\r\n }\r\n next(state) {\r\n this.observers.forEach((observer) => {\r\n observer(state);\r\n });\r\n }\r\n}\r\nexport function observable(state) {\r\n return new RolsterObservable(state);\r\n}\r\n//# sourceMappingURL=observable.js.map","const FALSY_VALUE = ['false', 'undefined', '0', 0];\r\nfunction toBoolean(value) {\r\n return !(!(typeof value !== 'undefined' && value !== null) ||\r\n value === false ||\r\n FALSY_VALUE.includes(value));\r\n}\r\nexport const controlIsValid = (props) => {\r\n const { state, validators } = props;\r\n return validators.reduce((errors, validator) => {\r\n const error = validator(state);\r\n if (error) {\r\n errors.push(error);\r\n }\r\n return errors;\r\n }, []);\r\n};\r\nexport const controlsAllChecked = (controls, props) => {\r\n return Object.values(controls).reduce((value, control) => value && toBoolean(control[props]), true);\r\n};\r\nexport const controlsPartialChecked = (controls, props) => {\r\n return Object.values(controls).reduce((value, control) => value || toBoolean(control[props]), false);\r\n};\r\nexport const controlsToState = (controls) => {\r\n return Object.entries(controls).reduce((json, [key, { state }]) => {\r\n json[key] = state;\r\n return json;\r\n }, {});\r\n};\r\nexport const controlsToValue = (controls) => {\r\n return Object.entries(controls).reduce((json, [key, { value }]) => {\r\n json[key] = value;\r\n return json;\r\n }, {});\r\n};\r\nexport const groupIsValid = ({ controls, validators }) => {\r\n return validators.reduce((errors, validator) => {\r\n const error = validator(controls);\r\n if (error) {\r\n errors.push(error);\r\n }\r\n return errors;\r\n }, []);\r\n};\r\nexport function groupAllChecked(groups, key) {\r\n return groups.reduce((value, group) => value && toBoolean(group[key]), true);\r\n}\r\nexport function groupPartialChecked(groups, key) {\r\n return groups.reduce((value, group) => value || toBoolean(group[key]), false);\r\n}\r\nexport const arrayIsValid = ({ groups, validators }) => {\r\n return validators.reduce((errors, validator) => {\r\n const error = validator(groups);\r\n if (error) {\r\n errors.push(error);\r\n }\r\n return errors;\r\n }, []);\r\n};\r\n//# sourceMappingURL=helpers.js.map","import { observable } from '@rolster/commons';\r\nimport { createFormArrayProps } from '../arguments';\r\nimport { arrayIsValid, groupAllChecked, groupPartialChecked } from '../helpers';\r\nexport class FormArray {\r\n constructor(arrayProps, arrayValidators) {\r\n this.currentGroups = [];\r\n this.currentValid = true;\r\n this.currentErrors = [];\r\n const { groups, validators } = createFormArrayProps(arrayProps, arrayValidators);\r\n this.unsusbcriptions = new Map();\r\n this.initialState = groups;\r\n this.validators = validators;\r\n this.refresh(this.initialState);\r\n this.observable = observable(this.state);\r\n groups?.forEach((group) => {\r\n this.subscription(group);\r\n });\r\n }\r\n get groups() {\r\n return this.currentGroups;\r\n }\r\n get controls() {\r\n return this.groups.map(({ controls }) => controls);\r\n }\r\n get touched() {\r\n return groupPartialChecked(this.groups, 'touched');\r\n }\r\n get toucheds() {\r\n return groupAllChecked(this.groups, 'toucheds');\r\n }\r\n get untouched() {\r\n return !this.touched;\r\n }\r\n get untoucheds() {\r\n return !this.toucheds;\r\n }\r\n get dirty() {\r\n return groupPartialChecked(this.groups, 'dirty');\r\n }\r\n get dirties() {\r\n return groupAllChecked(this.groups, 'dirties');\r\n }\r\n get pristine() {\r\n return !this.dirty;\r\n }\r\n get pristines() {\r\n return !this.dirties;\r\n }\r\n get valid() {\r\n return this.currentValid && groupAllChecked(this.groups, 'valid');\r\n }\r\n get invalid() {\r\n return !this.currentValid;\r\n }\r\n get state() {\r\n return this.groups.map(({ state }) => state);\r\n }\r\n get value() {\r\n return this.groups.map(({ value }) => value);\r\n }\r\n get error() {\r\n return this.currentError;\r\n }\r\n get errors() {\r\n return this.currentErrors;\r\n }\r\n get wrong() {\r\n return this.touched && this.invalid;\r\n }\r\n reset() {\r\n this.refresh(this.initialState);\r\n }\r\n push(group) {\r\n this.subscription(group);\r\n this.refresh([...this.groups, group]);\r\n }\r\n merge(groups) {\r\n groups.forEach((group) => {\r\n this.subscription(group);\r\n });\r\n this.refresh([...this.groups, ...groups]);\r\n }\r\n set(groups) {\r\n this.currentGroups.forEach(({ uuid }) => {\r\n this.unsusbcriptions.delete(uuid);\r\n });\r\n groups.forEach((group) => {\r\n this.subscription(group);\r\n });\r\n this.refresh(groups); // Update groups\r\n }\r\n remove({ uuid }) {\r\n this.refresh(this.groups.filter((group) => group.uuid !== uuid));\r\n }\r\n setValidators(validators) {\r\n this.validators = validators;\r\n this.updateValidityStatus(this.groups, validators);\r\n }\r\n subscribe(subscriber) {\r\n return this.observable.subscribe(subscriber);\r\n }\r\n subscription(group) {\r\n const unsusbcription = group.subscribe(() => {\r\n this.updateValidityStatus(this.groups, this.validators);\r\n });\r\n this.unsusbcriptions.set(group.uuid, unsusbcription);\r\n }\r\n updateValidityStatus(groups, validators) {\r\n if (validators) {\r\n const errors = arrayIsValid({ groups, validators });\r\n this.currentErrors = errors;\r\n this.currentError = errors[0];\r\n this.currentValid = errors.length === 0;\r\n }\r\n else {\r\n this.currentValid = true;\r\n this.currentErrors = [];\r\n this.currentError = undefined;\r\n }\r\n }\r\n refresh(newGroups) {\r\n const groups = newGroups || [];\r\n this.currentGroups = groups;\r\n this.updateValidityStatus(groups, this.validators);\r\n }\r\n}\r\n//# sourceMappingURL=form-array.js.map","import { observable } from '@rolster/commons';\r\nimport { createFormControlProps } from './arguments';\r\nimport { controlIsValid } from './helpers';\r\nexport class FormControl {\r\n constructor(controlProps, controlValidators) {\r\n this.currentFocused = false;\r\n this.currentTouched = false;\r\n this.currentDirty = false;\r\n this.currentDisabled = false;\r\n this.currentValid = true;\r\n this.currentErrors = [];\r\n const { state, validators } = createFormControlProps(controlProps, controlValidators);\r\n this.observable = observable(state);\r\n this.initialState = state;\r\n this.validators = validators;\r\n this.currentState = state;\r\n this.updateValueAndValidity(state, validators);\r\n }\r\n get focused() {\r\n return this.currentFocused;\r\n }\r\n get unfocused() {\r\n return !this.currentFocused;\r\n }\r\n get touched() {\r\n return this.currentTouched;\r\n }\r\n get untouched() {\r\n return !this.currentTouched;\r\n }\r\n get dirty() {\r\n return this.currentDirty;\r\n }\r\n get pristine() {\r\n return !this.currentDirty;\r\n }\r\n get disabled() {\r\n return this.currentDisabled;\r\n }\r\n get enabled() {\r\n return !this.currentDisabled;\r\n }\r\n get valid() {\r\n return this.currentValid;\r\n }\r\n get invalid() {\r\n return !this.currentValid;\r\n }\r\n get state() {\r\n return this.currentState;\r\n }\r\n get value() {\r\n return this.currentState;\r\n }\r\n get errors() {\r\n return this.currentErrors;\r\n }\r\n get error() {\r\n return this.currentError;\r\n }\r\n get wrong() {\r\n return this.touched && this.invalid;\r\n }\r\n reset() {\r\n this.setState(this.initialState);\r\n this.untouch();\r\n this.currentDirty = false;\r\n }\r\n focus() {\r\n this.currentFocused = true;\r\n }\r\n blur() {\r\n this.currentFocused = false;\r\n }\r\n touch() {\r\n this.currentTouched = true;\r\n }\r\n untouch() {\r\n this.currentTouched = false;\r\n }\r\n disable() {\r\n this.currentDisabled = true;\r\n }\r\n enable() {\r\n this.currentDisabled = false;\r\n }\r\n setState(state) {\r\n this.currentState = state;\r\n this.currentDirty = true;\r\n this.updateValueAndValidity(state, this.validators);\r\n this.observable.next(state);\r\n }\r\n setValidators(validators = []) {\r\n this.validators = validators;\r\n this.updateValueAndValidity(this.state, validators);\r\n }\r\n subscribe(subscriber) {\r\n return this.observable.subscribe(subscriber);\r\n }\r\n updateValueAndValidity(state, validators) {\r\n if (validators) {\r\n const errors = controlIsValid({ state, validators });\r\n this.currentError = errors[0];\r\n this.currentErrors = errors;\r\n this.currentValid = errors.length === 0;\r\n }\r\n else {\r\n this.currentValid = true;\r\n this.currentError = undefined;\r\n this.currentErrors = [];\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=form-control.js.map","import { v4 as uuid } from 'uuid';\r\nimport { createFormControlProps } from '../arguments';\r\nimport { FormControl } from '../form-control';\r\nexport class FormArrayControl extends FormControl {\r\n constructor(controlProps, controlValidators) {\r\n const { state, validators } = createFormControlProps(controlProps, controlValidators);\r\n super(state, validators);\r\n this.uuid = uuid();\r\n }\r\n}\r\n//# sourceMappingURL=form-array-control.js.map","import { observable } from '@rolster/commons';\r\nimport { createFormGroupProps } from './arguments';\r\nimport { controlsAllChecked, controlsPartialChecked, controlsToState, controlsToValue, groupIsValid } from './helpers';\r\nexport class FormGroup {\r\n constructor(groupProps, groupValidators) {\r\n this.currentErrors = [];\r\n this.currentValid = true;\r\n const { controls, validators } = createFormGroupProps(groupProps, groupValidators);\r\n this.currentControls = controls;\r\n this.validators = validators;\r\n this.updateValueAndValidity(controls, validators);\r\n this.observable = observable(this.state);\r\n Object.values(controls).forEach((control) => {\r\n control.subscribe(() => {\r\n this.updateValueAndValidity(this.controls, this.validators);\r\n this.observable.next(this.state);\r\n });\r\n });\r\n }\r\n get controls() {\r\n return this.currentControls;\r\n }\r\n get touched() {\r\n return controlsPartialChecked(this.controls, 'touched');\r\n }\r\n get toucheds() {\r\n return controlsAllChecked(this.controls, 'touched');\r\n }\r\n get untouched() {\r\n return !this.touched;\r\n }\r\n get untoucheds() {\r\n return !this.toucheds;\r\n }\r\n get dirty() {\r\n return controlsPartialChecked(this.controls, 'dirty');\r\n }\r\n get dirties() {\r\n return controlsAllChecked(this.controls, 'dirty');\r\n }\r\n get pristine() {\r\n return !this.dirty;\r\n }\r\n get pristines() {\r\n return this.dirties;\r\n }\r\n get valid() {\r\n return this.currentValid && controlsAllChecked(this.controls, 'valid');\r\n }\r\n get invalid() {\r\n return !this.valid;\r\n }\r\n get state() {\r\n return controlsToState(this.controls);\r\n }\r\n get value() {\r\n return controlsToValue(this.controls);\r\n }\r\n get errors() {\r\n return this.currentErrors;\r\n }\r\n get error() {\r\n return this.currentError;\r\n }\r\n get wrong() {\r\n return this.touched && this.invalid;\r\n }\r\n reset() {\r\n Object.values(this.controls).forEach((control) => {\r\n control.reset();\r\n });\r\n }\r\n setValidators(validators) {\r\n this.validators = validators;\r\n this.updateValueAndValidity(this.controls, validators);\r\n }\r\n subscribe(subscriber) {\r\n return this.observable.subscribe(subscriber);\r\n }\r\n updateValueAndValidity(controls, validators) {\r\n if (validators) {\r\n const errors = groupIsValid({ controls, validators });\r\n this.currentErrors = errors;\r\n this.currentError = errors[0];\r\n this.currentValid = errors.length === 0;\r\n }\r\n else {\r\n this.currentErrors = [];\r\n this.currentError = undefined;\r\n this.currentValid = true;\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=form-group.js.map","import { v4 as uuid } from 'uuid';\r\nimport { createFormGroupProps } from '../arguments';\r\nimport { FormGroup } from '../form-group';\r\nexport class FormArrayGroup extends FormGroup {\r\n constructor(groupProps, groupValidators) {\r\n const { controls, resource, validators } = createFormGroupProps(groupProps, groupValidators);\r\n super(controls, validators);\r\n this.uuid = uuid();\r\n this.resource = resource;\r\n }\r\n}\r\n//# sourceMappingURL=form-array-group.js.map"],"names":["uuid"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../esm/arguments.js","../../node_modules/@rolster/commons/dist/esm/helpers.js","../../node_modules/@rolster/commons/dist/esm/observable.js","../esm/helpers.js","../esm/form-array/form-array.js","../esm/form-control.js","../esm/form-array/form-array-control.js","../esm/form-group.js","../esm/form-array/form-array-group.js"],"sourcesContent":["function itIsFormControlOptions(props) {\r\n return (typeof props === 'object' && ('state' in props || 'validators' in props));\r\n}\r\nfunction itIsFormGroupOptions(props) {\r\n return typeof props === 'object' && 'controls' in props;\r\n}\r\nfunction itIsFormArrayOptions(props) {\r\n return (typeof props === 'object' && ('groups' in props || 'validators' in props));\r\n}\r\nexport function createFormControlOptions(...argsProps) {\r\n const [props, validators] = argsProps;\r\n if (!props) {\r\n return { state: props, validators };\r\n }\r\n if (!validators && itIsFormControlOptions(props)) {\r\n return props;\r\n }\r\n return {\r\n state: props,\r\n validators\r\n };\r\n}\r\nexport function createFormGroupOptions(...argsProps) {\r\n const [props, validators] = argsProps;\r\n if (!validators && itIsFormGroupOptions(props)) {\r\n return props;\r\n }\r\n return {\r\n controls: props,\r\n validators\r\n };\r\n}\r\nexport function createFormArrayOptions(...argsProps) {\r\n const [props, validators] = argsProps;\r\n if (!props) {\r\n return { groups: props, validators };\r\n }\r\n if (!validators && itIsFormArrayOptions(props)) {\r\n return props;\r\n }\r\n return {\r\n groups: props,\r\n validators\r\n };\r\n}\r\n//# sourceMappingURL=arguments.js.map","const PRIMITIVES = [Date, RegExp, Function, String, Boolean, Number];\r\nconst SLICE_SIZE = 512;\r\nconst FALSY_VALUE = ['false', 'undefined', '0', 0];\r\nconst prototypeToString = Object.prototype.toString;\r\nfunction clone(object, caches) {\r\n if (typeof object !== 'object') {\r\n return object;\r\n }\r\n if (prototypeToString.call(object) === '[object Object]') {\r\n const [cacheObject] = caches.filter((cacheObject) => cacheObject === object);\r\n /* istanbul ignore if */\r\n if (cacheObject) {\r\n return cacheObject;\r\n }\r\n caches.push(object);\r\n }\r\n const prototypeObject = Object.getPrototypeOf(object);\r\n const ConstructorObject = prototypeObject.constructor;\r\n if (PRIMITIVES.includes(ConstructorObject)) {\r\n return new ConstructorObject(object);\r\n }\r\n const cloneObject = new ConstructorObject();\r\n for (const prop in object) {\r\n cloneObject[prop] = clone(object[prop], caches);\r\n }\r\n return cloneObject;\r\n}\r\nexport function itIsDefined(object) {\r\n return typeof object !== 'undefined' && object !== null;\r\n}\r\nexport function itIsUndefined(object) {\r\n return !itIsDefined(object);\r\n}\r\nexport function parseBoolean(value) {\r\n return !(itIsUndefined(value) ||\r\n value === false ||\r\n FALSY_VALUE.includes(value));\r\n}\r\nexport function parse(value) {\r\n try {\r\n return JSON.parse(value);\r\n }\r\n catch {\r\n return value;\r\n }\r\n}\r\nexport function evalValueOrFunction(value) {\r\n return typeof value === 'function' ? value() : value;\r\n}\r\nexport function deepClone(object) {\r\n return clone(object, []);\r\n}\r\nexport function deepFreeze(object) {\r\n for (const prop in object) {\r\n const value = object[prop];\r\n if (typeof value === 'object' && !Object.isFrozen(value)) {\r\n deepFreeze(value);\r\n }\r\n }\r\n return Object.freeze(object);\r\n}\r\nexport function callback(call, ...args) {\r\n return typeof call !== 'function' ? undefined : call.apply(call, args);\r\n}\r\n/* istanbul ignore next */\r\nexport function base64ToBlob(data64, mimeType) {\r\n const result64 = data64.replace(/^[^,]+,/, '').replace(/\\s/g, '');\r\n const byteCharacters = window.atob(result64);\r\n const byteArrays = [];\r\n for (let offset = 0; offset < byteCharacters.length; offset += SLICE_SIZE) {\r\n const slice = byteCharacters.slice(offset, offset + SLICE_SIZE);\r\n const byteNumbers = new Array(slice.length);\r\n for (let i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n const byteArray = new Uint8Array(byteNumbers);\r\n byteArrays.push(byteArray);\r\n }\r\n return new Blob(byteArrays, { type: mimeType });\r\n}\r\n//# sourceMappingURL=helpers.js.map","class RolsterObservable {\r\n constructor(state) {\r\n this.observers = [];\r\n this.currentState = state;\r\n }\r\n subscribe(observer) {\r\n this.observers.push(observer);\r\n observer(this.currentState);\r\n return () => {\r\n this.observers.filter((currentObserver) => currentObserver !== observer);\r\n };\r\n }\r\n next(state) {\r\n this.observers.forEach((observer) => {\r\n observer(state);\r\n });\r\n }\r\n}\r\nexport function observable(state) {\r\n return new RolsterObservable(state);\r\n}\r\n//# sourceMappingURL=observable.js.map","import { parseBoolean } from '@rolster/commons';\r\nexport const controlIsValid = ({ state, validators }) => {\r\n return validators.reduce((errors, validator) => {\r\n const error = validator(state);\r\n if (error) {\r\n errors.push(error);\r\n }\r\n return errors;\r\n }, []);\r\n};\r\nexport const controlsAllChecked = (controls, key) => {\r\n return Object.values(controls).reduce((value, control) => value && parseBoolean(control[key]), true);\r\n};\r\nexport const controlsPartialChecked = (controls, key) => {\r\n return Object.values(controls).reduce((value, control) => value || parseBoolean(control[key]), false);\r\n};\r\nexport const controlsToState = (controls) => {\r\n return Object.entries(controls).reduce((result, [key, { state }]) => {\r\n result[key] = state;\r\n return result;\r\n }, {});\r\n};\r\nexport const groupIsValid = ({ controls, validators }) => {\r\n return validators.reduce((errors, validator) => {\r\n const error = validator(controls);\r\n if (error) {\r\n errors.push(error);\r\n }\r\n return errors;\r\n }, []);\r\n};\r\nexport function groupAllChecked(groups, key) {\r\n return groups.reduce((value, group) => value && parseBoolean(group[key]), true);\r\n}\r\nexport function groupPartialChecked(groups, key) {\r\n return groups.reduce((value, group) => value || parseBoolean(group[key]), false);\r\n}\r\nexport const arrayIsValid = ({ groups, validators }) => {\r\n return validators.reduce((errors, validator) => {\r\n const error = validator(groups);\r\n if (error) {\r\n errors.push(error);\r\n }\r\n return errors;\r\n }, []);\r\n};\r\n//# sourceMappingURL=helpers.js.map","import { observable } from '@rolster/commons';\r\nimport { createFormArrayOptions } from '../arguments';\r\nimport { arrayIsValid, groupAllChecked, groupPartialChecked } from '../helpers';\r\nexport class FormArray {\r\n constructor(arrayOptions, arrayValidators) {\r\n this.currentGroups = [];\r\n this.currentValid = true;\r\n this.currentErrors = [];\r\n const { groups, validators } = createFormArrayOptions(arrayOptions, arrayValidators);\r\n this.unsusbcriptions = new Map();\r\n this.initialState = groups;\r\n this.validators = validators;\r\n this.refresh(this.initialState);\r\n this.observable = observable(this.state);\r\n groups?.forEach((group) => {\r\n this.subscription(group);\r\n });\r\n }\r\n get groups() {\r\n return this.currentGroups;\r\n }\r\n get controls() {\r\n return this.groups.map(({ controls }) => controls);\r\n }\r\n get touched() {\r\n return groupPartialChecked(this.groups, 'touched');\r\n }\r\n get toucheds() {\r\n return groupAllChecked(this.groups, 'toucheds');\r\n }\r\n get untouched() {\r\n return !this.touched;\r\n }\r\n get untoucheds() {\r\n return !this.toucheds;\r\n }\r\n get dirty() {\r\n return groupPartialChecked(this.groups, 'dirty');\r\n }\r\n get dirties() {\r\n return groupAllChecked(this.groups, 'dirties');\r\n }\r\n get pristine() {\r\n return !this.dirty;\r\n }\r\n get pristines() {\r\n return !this.dirties;\r\n }\r\n get valid() {\r\n return this.currentValid && groupAllChecked(this.groups, 'valid');\r\n }\r\n get invalid() {\r\n return !this.currentValid;\r\n }\r\n get state() {\r\n return this.groups.map(({ state }) => state);\r\n }\r\n get error() {\r\n return this.currentError;\r\n }\r\n get errors() {\r\n return this.currentErrors;\r\n }\r\n get wrong() {\r\n return this.touched && this.invalid;\r\n }\r\n reset() {\r\n this.refresh(this.initialState);\r\n }\r\n push(group) {\r\n this.subscription(group);\r\n this.refresh([...this.groups, group]);\r\n }\r\n merge(groups) {\r\n groups.forEach((group) => {\r\n this.subscription(group);\r\n });\r\n this.refresh([...this.groups, ...groups]);\r\n }\r\n set(groups) {\r\n this.currentGroups.forEach(({ uuid }) => {\r\n this.unsusbcriptions.delete(uuid);\r\n });\r\n groups.forEach((group) => {\r\n this.subscription(group);\r\n });\r\n this.refresh(groups); // Update groups\r\n }\r\n remove({ uuid }) {\r\n this.refresh(this.groups.filter((group) => group.uuid !== uuid));\r\n }\r\n setValidators(validators) {\r\n this.validators = validators;\r\n this.updateValidityStatus(this.groups, validators);\r\n }\r\n subscribe(subscriber) {\r\n return this.observable.subscribe(subscriber);\r\n }\r\n subscription(group) {\r\n const unsusbcription = group.subscribe(() => {\r\n this.updateValidityStatus(this.groups, this.validators);\r\n });\r\n this.unsusbcriptions.set(group.uuid, unsusbcription);\r\n }\r\n updateValidityStatus(groups, validators) {\r\n if (validators) {\r\n const errors = arrayIsValid({ groups, validators });\r\n this.currentErrors = errors;\r\n this.currentError = errors[0];\r\n this.currentValid = errors.length === 0;\r\n }\r\n else {\r\n this.currentValid = true;\r\n this.currentErrors = [];\r\n this.currentError = undefined;\r\n }\r\n }\r\n refresh(newGroups) {\r\n const groups = newGroups || [];\r\n this.currentGroups = groups;\r\n this.updateValidityStatus(groups, this.validators);\r\n }\r\n}\r\nexport function formArray(options, validators) {\r\n return new FormArray(createFormArrayOptions(options, validators));\r\n}\r\n//# sourceMappingURL=form-array.js.map","import { observable } from '@rolster/commons';\r\nimport { createFormControlOptions } from './arguments';\r\nimport { controlIsValid } from './helpers';\r\nexport class FormControl {\r\n constructor(controlProps, controlValidators) {\r\n this.currentFocused = false;\r\n this.currentTouched = false;\r\n this.currentDirty = false;\r\n this.currentDisabled = false;\r\n this.currentValid = true;\r\n this.currentErrors = [];\r\n const { state, validators } = createFormControlOptions(controlProps, controlValidators);\r\n this.observable = observable(state);\r\n this.initialState = state;\r\n this.validators = validators;\r\n this.currentState = state;\r\n this.updateValueAndValidity(state, validators);\r\n }\r\n get focused() {\r\n return this.currentFocused;\r\n }\r\n get unfocused() {\r\n return !this.currentFocused;\r\n }\r\n get touched() {\r\n return this.currentTouched;\r\n }\r\n get untouched() {\r\n return !this.currentTouched;\r\n }\r\n get dirty() {\r\n return this.currentDirty;\r\n }\r\n get pristine() {\r\n return !this.currentDirty;\r\n }\r\n get disabled() {\r\n return this.currentDisabled;\r\n }\r\n get enabled() {\r\n return !this.currentDisabled;\r\n }\r\n get valid() {\r\n return this.currentValid;\r\n }\r\n get invalid() {\r\n return !this.currentValid;\r\n }\r\n get state() {\r\n return this.currentState;\r\n }\r\n get errors() {\r\n return this.currentErrors;\r\n }\r\n get error() {\r\n return this.currentError;\r\n }\r\n get wrong() {\r\n return this.touched && this.invalid;\r\n }\r\n reset() {\r\n this.setState(this.initialState);\r\n this.untouch();\r\n this.currentDirty = false;\r\n }\r\n focus() {\r\n this.currentFocused = true;\r\n }\r\n blur() {\r\n this.currentFocused = false;\r\n }\r\n touch() {\r\n this.currentTouched = true;\r\n }\r\n untouch() {\r\n this.currentTouched = false;\r\n }\r\n disable() {\r\n this.currentDisabled = true;\r\n }\r\n enable() {\r\n this.currentDisabled = false;\r\n }\r\n setState(state) {\r\n this.currentState = state;\r\n this.currentDirty = true;\r\n this.updateValueAndValidity(state, this.validators);\r\n this.observable.next(state);\r\n }\r\n setValidators(validators = []) {\r\n this.validators = validators;\r\n this.updateValueAndValidity(this.state, validators);\r\n }\r\n subscribe(subscriber) {\r\n return this.observable.subscribe(subscriber);\r\n }\r\n updateValueAndValidity(state, validators) {\r\n if (validators) {\r\n const errors = controlIsValid({ state, validators });\r\n this.currentError = errors[0];\r\n this.currentErrors = errors;\r\n this.currentValid = errors.length === 0;\r\n }\r\n else {\r\n this.currentValid = true;\r\n this.currentError = undefined;\r\n this.currentErrors = [];\r\n }\r\n }\r\n}\r\nexport function formControl(options, validators) {\r\n return new FormControl(createFormControlOptions(options, validators));\r\n}\r\n//# sourceMappingURL=form-control.js.map","import { v4 as uuid } from 'uuid';\r\nimport { createFormControlOptions } from '../arguments';\r\nimport { FormControl } from '../form-control';\r\nexport class FormArrayControl extends FormControl {\r\n constructor(controlOptions, controlValidators) {\r\n const { state, validators } = createFormControlOptions(controlOptions, controlValidators);\r\n super(state, validators);\r\n this.uuid = uuid();\r\n }\r\n}\r\nexport function formArrayControl(options, validators) {\r\n return new FormArrayControl(createFormControlOptions(options, validators));\r\n}\r\n//# sourceMappingURL=form-array-control.js.map","import { observable } from '@rolster/commons';\r\nimport { createFormGroupOptions } from './arguments';\r\nimport { controlsAllChecked, controlsPartialChecked, controlsToState, groupIsValid } from './helpers';\r\nexport class FormGroup {\r\n constructor(groupOptions, groupValidators) {\r\n this.currentErrors = [];\r\n this.currentValid = true;\r\n const { controls, validators } = createFormGroupOptions(groupOptions, groupValidators);\r\n this.currentControls = controls;\r\n this.validators = validators;\r\n this.updateValueAndValidity(controls, validators);\r\n this.observable = observable(this.state);\r\n Object.values(controls).forEach((control) => {\r\n control.subscribe(() => {\r\n this.updateValueAndValidity(this.controls, this.validators);\r\n this.observable.next(this.state);\r\n });\r\n });\r\n }\r\n get controls() {\r\n return this.currentControls;\r\n }\r\n get touched() {\r\n return controlsPartialChecked(this.controls, 'touched');\r\n }\r\n get toucheds() {\r\n return controlsAllChecked(this.controls, 'touched');\r\n }\r\n get untouched() {\r\n return !this.touched;\r\n }\r\n get untoucheds() {\r\n return !this.toucheds;\r\n }\r\n get dirty() {\r\n return controlsPartialChecked(this.controls, 'dirty');\r\n }\r\n get dirties() {\r\n return controlsAllChecked(this.controls, 'dirty');\r\n }\r\n get pristine() {\r\n return !this.dirty;\r\n }\r\n get pristines() {\r\n return this.dirties;\r\n }\r\n get valid() {\r\n return this.currentValid && controlsAllChecked(this.controls, 'valid');\r\n }\r\n get invalid() {\r\n return !this.valid;\r\n }\r\n get state() {\r\n return controlsToState(this.controls);\r\n }\r\n get errors() {\r\n return this.currentErrors;\r\n }\r\n get error() {\r\n return this.currentError;\r\n }\r\n get wrong() {\r\n return this.touched && this.invalid;\r\n }\r\n reset() {\r\n Object.values(this.controls).forEach((control) => {\r\n control.reset();\r\n });\r\n }\r\n setValidators(validators) {\r\n this.validators = validators;\r\n this.updateValueAndValidity(this.controls, validators);\r\n }\r\n subscribe(subscriber) {\r\n return this.observable.subscribe(subscriber);\r\n }\r\n updateValueAndValidity(controls, validators) {\r\n if (validators) {\r\n const errors = groupIsValid({ controls, validators });\r\n this.currentErrors = errors;\r\n this.currentError = errors[0];\r\n this.currentValid = errors.length === 0;\r\n }\r\n else {\r\n this.currentErrors = [];\r\n this.currentError = undefined;\r\n this.currentValid = true;\r\n }\r\n }\r\n}\r\nexport function formGroup(options, validators) {\r\n return new FormGroup(createFormGroupOptions(options, validators));\r\n}\r\n//# sourceMappingURL=form-group.js.map","import { v4 as uuid } from 'uuid';\r\nimport { createFormGroupOptions } from '../arguments';\r\nimport { FormGroup } from '../form-group';\r\nexport class FormArrayGroup extends FormGroup {\r\n constructor(groupOptions, groupValidators) {\r\n const { controls, resource, validators } = createFormGroupOptions(groupOptions, groupValidators);\r\n super(controls, validators);\r\n this.uuid = uuid();\r\n this.resource = resource;\r\n }\r\n}\r\nexport function formArrayGroup(options, validators) {\r\n return new FormArrayGroup(createFormGroupOptions(options, validators));\r\n}\r\n//# sourceMappingURL=form-array-group.js.map"],"names":["uuid"],"mappings":"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"}
@@ -1,11 +1,17 @@
1
1
  const FALSY_VALUE = ['false', 'undefined', '0', 0];
2
- function toBoolean(value) {
3
- return !(!(typeof value !== 'undefined' && value !== null) ||
2
+ function itIsDefined(object) {
3
+ return typeof object !== 'undefined' && object !== null;
4
+ }
5
+ function itIsUndefined(object) {
6
+ return !itIsDefined(object);
7
+ }
8
+ function parseBoolean(value) {
9
+ return !(itIsUndefined(value) ||
4
10
  value === false ||
5
11
  FALSY_VALUE.includes(value));
6
- }
7
- const controlIsValid = (props) => {
8
- const { state, validators } = props;
12
+ }
13
+
14
+ const controlIsValid = ({ state, validators }) => {
9
15
  return validators.reduce((errors, validator) => {
10
16
  const error = validator(state);
11
17
  if (error) {
@@ -14,22 +20,16 @@ const controlIsValid = (props) => {
14
20
  return errors;
15
21
  }, []);
16
22
  };
17
- const controlsAllChecked = (controls, props) => {
18
- return Object.values(controls).reduce((value, control) => value && toBoolean(control[props]), true);
23
+ const controlsAllChecked = (controls, key) => {
24
+ return Object.values(controls).reduce((value, control) => value && parseBoolean(control[key]), true);
19
25
  };
20
- const controlsPartialChecked = (controls, props) => {
21
- return Object.values(controls).reduce((value, control) => value || toBoolean(control[props]), false);
26
+ const controlsPartialChecked = (controls, key) => {
27
+ return Object.values(controls).reduce((value, control) => value || parseBoolean(control[key]), false);
22
28
  };
23
29
  const controlsToState = (controls) => {
24
- return Object.entries(controls).reduce((json, [key, { state }]) => {
25
- json[key] = state;
26
- return json;
27
- }, {});
28
- };
29
- const controlsToValue = (controls) => {
30
- return Object.entries(controls).reduce((json, [key, { value }]) => {
31
- json[key] = value;
32
- return json;
30
+ return Object.entries(controls).reduce((result, [key, { state }]) => {
31
+ result[key] = state;
32
+ return result;
33
33
  }, {});
34
34
  };
35
35
  const groupIsValid = ({ controls, validators }) => {
@@ -42,10 +42,10 @@ const groupIsValid = ({ controls, validators }) => {
42
42
  }, []);
43
43
  };
44
44
  function groupAllChecked(groups, key) {
45
- return groups.reduce((value, group) => value && toBoolean(group[key]), true);
45
+ return groups.reduce((value, group) => value && parseBoolean(group[key]), true);
46
46
  }
47
47
  function groupPartialChecked(groups, key) {
48
- return groups.reduce((value, group) => value || toBoolean(group[key]), false);
48
+ return groups.reduce((value, group) => value || parseBoolean(group[key]), false);
49
49
  }
50
50
  const arrayIsValid = ({ groups, validators }) => {
51
51
  return validators.reduce((errors, validator) => {
@@ -57,5 +57,5 @@ const arrayIsValid = ({ groups, validators }) => {
57
57
  }, []);
58
58
  };
59
59
 
60
- export { arrayIsValid, controlIsValid, controlsAllChecked, controlsPartialChecked, controlsToState, controlsToValue, groupAllChecked, groupIsValid, groupPartialChecked };
60
+ export { arrayIsValid, controlIsValid, controlsAllChecked, controlsPartialChecked, controlsToState, groupAllChecked, groupIsValid, groupPartialChecked };
61
61
  //# sourceMappingURL=helpers.js.map