form-payload 1.6.0 → 1.7.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 (116) hide show
  1. package/package.json +1 -1
  2. package/readme.md +191 -60
  3. package/src/index.d.ts +1 -1
  4. package/src/index.js +1 -1
  5. package/src/libs/constants/banned-control-element-types.constant.d.ts +2 -0
  6. package/src/libs/constants/banned-control-element-types.constant.d.ts.map +1 -0
  7. package/src/libs/constants/banned-control-element-types.constant.js +10 -0
  8. package/src/libs/constants/constants.d.ts +2 -2
  9. package/src/libs/constants/constants.js +2 -2
  10. package/src/libs/constants/value-as-array-custom-control-element-types.constant.d.ts +2 -0
  11. package/src/libs/constants/value-as-array-custom-control-element-types.constant.d.ts.map +1 -0
  12. package/src/libs/constants/value-as-array-custom-control-element-types.constant.js +8 -0
  13. package/src/libs/constants/value-as-array-identifier.constant.d.ts.map +1 -1
  14. package/src/libs/constants/value-as-array-identifier.constant.js +1 -1
  15. package/src/libs/enums/{control-type.enum.d.ts → control-element-type.enum.d.ts} +2 -2
  16. package/src/libs/enums/control-element-type.enum.d.ts.map +1 -0
  17. package/src/libs/enums/{control-type.enum.js → control-element-type.enum.js} +2 -2
  18. package/src/libs/enums/enums.d.ts +1 -1
  19. package/src/libs/enums/enums.js +1 -1
  20. package/src/packages/get-form-control-payload/get-form-control-payload.d.ts +3 -3
  21. package/src/packages/get-form-control-payload/get-form-control-payload.d.ts.map +1 -1
  22. package/src/packages/get-form-control-payload/get-form-control-payload.js +60 -54
  23. package/src/packages/get-form-control-payload/helpers/check-has-value-as-array/check-has-value-as-array.helper.d.ts.map +1 -1
  24. package/src/packages/get-form-control-payload/helpers/check-has-value-as-array/check-has-value-as-array.helper.js +9 -6
  25. package/src/packages/get-form-control-payload/helpers/check-is-refer-to-another-element/check-is-refer-to-another-element.helper.d.ts +9 -0
  26. package/src/packages/get-form-control-payload/helpers/check-is-refer-to-another-element/check-is-refer-to-another-element.helper.d.ts.map +1 -0
  27. package/src/packages/get-form-control-payload/helpers/check-is-refer-to-another-element/check-is-refer-to-another-element.helper.js +23 -0
  28. package/src/packages/get-form-control-payload/helpers/get-checkbox-control-element-value/get-checkbox-control-element-value.helper.d.ts +6 -0
  29. package/src/packages/get-form-control-payload/helpers/get-checkbox-control-element-value/get-checkbox-control-element-value.helper.d.ts.map +1 -0
  30. package/src/packages/get-form-control-payload/helpers/{get-checkbox-value/get-checkbox-value.helper.js → get-checkbox-control-element-value/get-checkbox-control-element-value.helper.js} +2 -2
  31. package/src/packages/get-form-control-payload/helpers/get-control-element-value/get-control-element-value.helper.d.ts +9 -0
  32. package/src/packages/get-form-control-payload/helpers/get-control-element-value/get-control-element-value.helper.d.ts.map +1 -0
  33. package/src/packages/get-form-control-payload/helpers/{get-control-value/get-control-value.helper.js → get-control-element-value/get-control-element-value.helper.js} +2 -2
  34. package/src/packages/get-form-control-payload/helpers/get-datatime-local-control-element-value/get-datatime-local-control-element-value.helper.d.ts +6 -0
  35. package/src/packages/get-form-control-payload/helpers/get-datatime-local-control-element-value/get-datatime-local-control-element-value.helper.d.ts.map +1 -0
  36. package/src/packages/get-form-control-payload/helpers/get-datatime-local-control-element-value/get-datatime-local-control-element-value.helper.js +9 -0
  37. package/src/packages/get-form-control-payload/helpers/get-date-control-element-value/get-date-value-control-element.helper.d.ts +6 -0
  38. package/src/packages/get-form-control-payload/helpers/get-date-control-element-value/get-date-value-control-element.helper.d.ts.map +1 -0
  39. package/src/packages/get-form-control-payload/helpers/{get-input-date-value/get-input-date-value.helper.js → get-date-control-element-value/get-date-value-control-element.helper.js} +2 -2
  40. package/src/packages/get-form-control-payload/helpers/get-email-control-element-value/get-email-control-element-value.helper.d.ts +6 -0
  41. package/src/packages/get-form-control-payload/helpers/get-email-control-element-value/get-email-control-element-value.helper.d.ts.map +1 -0
  42. package/src/packages/get-form-control-payload/helpers/get-email-control-element-value/get-email-control-element-value.helper.js +20 -0
  43. package/src/packages/get-form-control-payload/helpers/{get-fieldset-value/get-fieldset-value.helper.d.ts → get-fieldset-control-element-value/get-fieldset-control-element-value.helper.d.ts} +3 -3
  44. package/src/packages/get-form-control-payload/helpers/get-fieldset-control-element-value/get-fieldset-control-element-value.helper.d.ts.map +1 -0
  45. package/src/packages/get-form-control-payload/helpers/{get-fieldset-value/get-fieldset-value.helper.js → get-fieldset-control-element-value/get-fieldset-control-element-value.helper.js} +9 -6
  46. package/src/packages/get-form-control-payload/helpers/get-file-control-element-value/get-file-control-element-value.helper.d.ts +6 -0
  47. package/src/packages/get-form-control-payload/helpers/get-file-control-element-value/get-file-control-element-value.helper.d.ts.map +1 -0
  48. package/src/packages/get-form-control-payload/helpers/get-file-control-element-value/get-file-control-element-value.helper.js +16 -0
  49. package/src/packages/get-form-control-payload/helpers/{get-form-controls-payload/get-form-controls-payload.d.ts → get-form-control-elements-payload/get-form-control-elements-payload.d.ts} +3 -3
  50. package/src/packages/get-form-control-payload/helpers/get-form-control-elements-payload/get-form-control-elements-payload.d.ts.map +1 -0
  51. package/src/packages/get-form-control-payload/helpers/get-form-control-elements-payload/get-form-control-elements-payload.js +69 -0
  52. package/src/packages/get-form-control-payload/helpers/get-multiselect-control-type-value/get-multiselect-control-type-value.helper.d.ts +6 -0
  53. package/src/packages/get-form-control-payload/helpers/get-multiselect-control-type-value/get-multiselect-control-type-value.helper.d.ts.map +1 -0
  54. package/src/packages/get-form-control-payload/helpers/get-multiselect-control-type-value/get-multiselect-control-type-value.helper.js +9 -0
  55. package/src/packages/get-form-control-payload/helpers/get-numeric-control-element-value/get-numeric-control-element-value.helper.d.ts +6 -0
  56. package/src/packages/get-form-control-payload/helpers/get-numeric-control-element-value/get-numeric-control-element-value.helper.d.ts.map +1 -0
  57. package/src/packages/get-form-control-payload/helpers/{get-input-numeric-value/get-input-numeric-value.helper.js → get-numeric-control-element-value/get-numeric-control-element-value.helper.js} +2 -2
  58. package/src/packages/get-form-control-payload/helpers/{get-allowed-elements/get-allowed-elements.helper.d.ts → get-operational-control-elements/get-operational-control-elements.helper.d.ts} +2 -2
  59. package/src/packages/get-form-control-payload/helpers/get-operational-control-elements/get-operational-control-elements.helper.d.ts.map +1 -0
  60. package/src/packages/get-form-control-payload/helpers/get-operational-control-elements/get-operational-control-elements.helper.js +36 -0
  61. package/src/packages/get-form-control-payload/helpers/get-operational-control-elements/helpers/check-has-control-element-name/check-has-control-element-name.helper.d.ts +8 -0
  62. package/src/packages/get-form-control-payload/helpers/get-operational-control-elements/helpers/check-has-control-element-name/check-has-control-element-name.helper.d.ts.map +1 -0
  63. package/src/packages/get-form-control-payload/helpers/get-operational-control-elements/helpers/check-has-control-element-name/check-has-control-element-name.helper.js +11 -0
  64. package/src/packages/get-form-control-payload/helpers/get-operational-control-elements/helpers/check-is-allowed-control-element/check-is-allowed-control-element.helper.d.ts +8 -0
  65. package/src/packages/get-form-control-payload/helpers/get-operational-control-elements/helpers/check-is-allowed-control-element/check-is-allowed-control-element.helper.d.ts.map +1 -0
  66. package/src/packages/get-form-control-payload/helpers/get-operational-control-elements/helpers/check-is-allowed-control-element/check-is-allowed-control-element.helper.js +19 -0
  67. package/src/packages/get-form-control-payload/helpers/get-operational-control-elements/helpers/check-is-allowed-control-element-type/check-is-allowed-control-element-type.helper.d.ts +8 -0
  68. package/src/packages/get-form-control-payload/helpers/get-operational-control-elements/helpers/check-is-allowed-control-element-type/check-is-allowed-control-element-type.helper.d.ts.map +1 -0
  69. package/src/packages/get-form-control-payload/helpers/get-operational-control-elements/helpers/check-is-allowed-control-element-type/check-is-allowed-control-element-type.helper.js +17 -0
  70. package/src/packages/get-form-control-payload/helpers/get-operational-control-elements/helpers/helpers.d.ts +4 -0
  71. package/src/packages/get-form-control-payload/helpers/get-operational-control-elements/helpers/helpers.d.ts.map +1 -0
  72. package/src/packages/get-form-control-payload/helpers/get-operational-control-elements/helpers/helpers.js +3 -0
  73. package/src/packages/get-form-control-payload/helpers/helpers.d.ts +13 -13
  74. package/src/packages/get-form-control-payload/helpers/helpers.js +13 -13
  75. package/src/packages/get-form-control-payload/helpers/{get-cleaned-value-as-array-control-name/get-cleaned-value-as-array-control-name.helper.d.ts → normalize-value-as-array-control-element-name/normalize-value-as-array-control-element-name.helper.d.ts} +2 -2
  76. package/src/packages/get-form-control-payload/helpers/normalize-value-as-array-control-element-name/normalize-value-as-array-control-element-name.helper.d.ts.map +1 -0
  77. package/src/packages/get-form-control-payload/helpers/{get-cleaned-value-as-array-control-name/get-cleaned-value-as-array-control-name.helper.js → normalize-value-as-array-control-element-name/normalize-value-as-array-control-element-name.helper.js} +2 -2
  78. package/src/packages/get-form-payload/get-form-payload.d.ts +2 -2
  79. package/src/packages/get-form-payload/get-form-payload.d.ts.map +1 -1
  80. package/src/packages/get-form-payload/get-form-payload.js +5 -5
  81. package/src/libs/constants/banned-control-types.constant.d.ts +0 -2
  82. package/src/libs/constants/banned-control-types.constant.d.ts.map +0 -1
  83. package/src/libs/constants/banned-control-types.constant.js +0 -10
  84. package/src/libs/constants/value-as-array-custom-control-types.constant.d.ts +0 -2
  85. package/src/libs/constants/value-as-array-custom-control-types.constant.d.ts.map +0 -1
  86. package/src/libs/constants/value-as-array-custom-control-types.constant.js +0 -8
  87. package/src/libs/enums/control-type.enum.d.ts.map +0 -1
  88. package/src/packages/get-form-control-payload/helpers/check-is-refer-to-another-node/check-is-refer-to-another-node.helper.d.ts +0 -10
  89. package/src/packages/get-form-control-payload/helpers/check-is-refer-to-another-node/check-is-refer-to-another-node.helper.d.ts.map +0 -1
  90. package/src/packages/get-form-control-payload/helpers/check-is-refer-to-another-node/check-is-refer-to-another-node.helper.js +0 -24
  91. package/src/packages/get-form-control-payload/helpers/get-allowed-elements/get-allowed-elements.helper.d.ts.map +0 -1
  92. package/src/packages/get-form-control-payload/helpers/get-allowed-elements/get-allowed-elements.helper.js +0 -61
  93. package/src/packages/get-form-control-payload/helpers/get-checkbox-value/get-checkbox-value.helper.d.ts +0 -6
  94. package/src/packages/get-form-control-payload/helpers/get-checkbox-value/get-checkbox-value.helper.d.ts.map +0 -1
  95. package/src/packages/get-form-control-payload/helpers/get-cleaned-value-as-array-control-name/get-cleaned-value-as-array-control-name.helper.d.ts.map +0 -1
  96. package/src/packages/get-form-control-payload/helpers/get-control-value/get-control-value.helper.d.ts +0 -9
  97. package/src/packages/get-form-control-payload/helpers/get-control-value/get-control-value.helper.d.ts.map +0 -1
  98. package/src/packages/get-form-control-payload/helpers/get-datatime-local-value/get-datatime-local-value.helper.d.ts +0 -6
  99. package/src/packages/get-form-control-payload/helpers/get-datatime-local-value/get-datatime-local-value.helper.d.ts.map +0 -1
  100. package/src/packages/get-form-control-payload/helpers/get-datatime-local-value/get-datatime-local-value.helper.js +0 -9
  101. package/src/packages/get-form-control-payload/helpers/get-fieldset-value/get-fieldset-value.helper.d.ts.map +0 -1
  102. package/src/packages/get-form-control-payload/helpers/get-form-controls-payload/get-form-controls-payload.d.ts.map +0 -1
  103. package/src/packages/get-form-control-payload/helpers/get-form-controls-payload/get-form-controls-payload.js +0 -64
  104. package/src/packages/get-form-control-payload/helpers/get-input-date-value/get-input-date-value.helper.d.ts +0 -6
  105. package/src/packages/get-form-control-payload/helpers/get-input-date-value/get-input-date-value.helper.d.ts.map +0 -1
  106. package/src/packages/get-form-control-payload/helpers/get-input-email-value/get-input-email-value.helper.d.ts +0 -6
  107. package/src/packages/get-form-control-payload/helpers/get-input-email-value/get-input-email-value.helper.d.ts.map +0 -1
  108. package/src/packages/get-form-control-payload/helpers/get-input-email-value/get-input-email-value.helper.js +0 -20
  109. package/src/packages/get-form-control-payload/helpers/get-input-file-value/get-input-file-value.helper.d.ts +0 -6
  110. package/src/packages/get-form-control-payload/helpers/get-input-file-value/get-input-file-value.helper.d.ts.map +0 -1
  111. package/src/packages/get-form-control-payload/helpers/get-input-file-value/get-input-file-value.helper.js +0 -16
  112. package/src/packages/get-form-control-payload/helpers/get-input-numeric-value/get-input-numeric-value.helper.d.ts +0 -6
  113. package/src/packages/get-form-control-payload/helpers/get-input-numeric-value/get-input-numeric-value.helper.d.ts.map +0 -1
  114. package/src/packages/get-form-control-payload/helpers/get-multi-select-values/get-multi-select-values.helper.d.ts +0 -6
  115. package/src/packages/get-form-control-payload/helpers/get-multi-select-values/get-multi-select-values.helper.d.ts.map +0 -1
  116. package/src/packages/get-form-control-payload/helpers/get-multi-select-values/get-multi-select-values.helper.js +0 -9
@@ -1,27 +1,27 @@
1
- import { ControlType } from '../../libs/enums/enums.js';
1
+ import { ControlElementType } from '../../libs/enums/enums.js';
2
2
  import { FormPayloadError } from '../../libs/exceptions/exceptions.js';
3
3
  import {
4
- getCheckboxValue,
5
- getDatetimeLocalValue,
6
- getFieldsetValue,
7
- getFormControlValue,
8
- getInputDateValue,
9
- getInputEmailValue,
10
- getInputFileValue,
11
- getInputNumericValue,
12
- getMultiSelectValues,
4
+ getCheckboxControlElementValue,
5
+ getControlElementValue,
6
+ getDateControlElementValue,
7
+ getDatetimeLocaControlElementValue,
8
+ getEmailControlElementValue,
9
+ getFieldsetControlElementValue,
10
+ getFileControlElementValue,
11
+ getMultiselectControlElementValue,
12
+ getNumericControlElementValue,
13
13
  } from './helpers/helpers.js';
14
14
 
15
15
  /** @typedef {import('../../libs/types/types.js').HTMLFormOperationalControlElement} HTMLFormOperationalControlElement */
16
16
 
17
17
  /**
18
18
  * @template {unknown} T
19
- * @param {HTMLFormOperationalControlElement} controlNode
19
+ * @param {HTMLFormOperationalControlElement} controlElement
20
20
  * @returns {T}
21
21
  * @throws {FormPayloadError}
22
22
  */
23
- const getFormControlPayload = (controlNode) => {
24
- const hasType = 'type' in controlNode;
23
+ const getFormControlPayload = (controlElement) => {
24
+ const hasType = 'type' in controlElement;
25
25
 
26
26
  if (!hasType) {
27
27
  throw new FormPayloadError({
@@ -29,90 +29,96 @@ const getFormControlPayload = (controlNode) => {
29
29
  });
30
30
  }
31
31
 
32
- switch (controlNode.type) {
33
- case ControlType.TEXT:
34
- case ControlType.PASSWORD:
35
- case ControlType.SEARCH:
36
- case ControlType.URL:
37
- case ControlType.TEL:
38
- case ControlType.COLOR:
39
- case ControlType.RADIO:
40
- case ControlType.HIDDEN:
41
- case ControlType.TEXTAREA:
42
- case ControlType.SELECT_ONE:
43
- case ControlType.OUTPUT: {
32
+ switch (controlElement.type) {
33
+ case ControlElementType.TEXT:
34
+ case ControlElementType.PASSWORD:
35
+ case ControlElementType.SEARCH:
36
+ case ControlElementType.URL:
37
+ case ControlElementType.TEL:
38
+ case ControlElementType.COLOR:
39
+ case ControlElementType.RADIO:
40
+ case ControlElementType.HIDDEN:
41
+ case ControlElementType.TEXTAREA:
42
+ case ControlElementType.SELECT_ONE:
43
+ case ControlElementType.OUTPUT: {
44
44
  return /** @type {T} */ (
45
- getFormControlValue(
45
+ getControlElementValue(
46
46
  /**
47
47
  * @type {HTMLInputElement
48
48
  * | HTMLOutputElement
49
49
  * | HTMLTextAreaElement
50
50
  * | HTMLSelectElement}
51
- */ (controlNode),
51
+ */ (controlElement),
52
52
  )
53
53
  );
54
54
  }
55
- case ControlType.EMAIL: {
55
+ case ControlElementType.EMAIL: {
56
56
  return /** @type {T} */ (
57
- getInputEmailValue(
58
- /** @type {HTMLInputElement} */ (controlNode),
57
+ getEmailControlElementValue(
58
+ /** @type {HTMLInputElement} */ (controlElement),
59
59
  )
60
60
  );
61
61
  }
62
- case ControlType.NUMBER:
63
- case ControlType.RANGE: {
62
+ case ControlElementType.NUMBER:
63
+ case ControlElementType.RANGE: {
64
64
  return /** @type {T} */ (
65
- getInputNumericValue(
66
- /** @type {HTMLInputElement} */ (controlNode),
65
+ getNumericControlElementValue(
66
+ /** @type {HTMLInputElement} */ (controlElement),
67
67
  )
68
68
  );
69
69
  }
70
- case ControlType.CHECKBOX: {
70
+ case ControlElementType.CHECKBOX: {
71
71
  return /** @type {T} */ (
72
- getCheckboxValue(/** @type {HTMLInputElement} */ (controlNode))
72
+ getCheckboxControlElementValue(
73
+ /** @type {HTMLInputElement} */ (controlElement),
74
+ )
73
75
  );
74
76
  }
75
- case ControlType.DATE:
76
- case ControlType.TIME:
77
- case ControlType.MONTH:
78
- case ControlType.WEEK: {
77
+ case ControlElementType.DATE:
78
+ case ControlElementType.TIME:
79
+ case ControlElementType.MONTH:
80
+ case ControlElementType.WEEK: {
79
81
  return /** @type {T} */ (
80
- getInputDateValue(/** @type {HTMLInputElement} */ (controlNode))
82
+ getDateControlElementValue(
83
+ /** @type {HTMLInputElement} */ (controlElement),
84
+ )
81
85
  );
82
86
  }
83
- case ControlType.DATETIME_LOCAL: {
87
+ case ControlElementType.DATETIME_LOCAL: {
84
88
  return /** @type {T} */ (
85
- getDatetimeLocalValue(
86
- /** @type {HTMLInputElement} */ (controlNode),
89
+ getDatetimeLocaControlElementValue(
90
+ /** @type {HTMLInputElement} */ (controlElement),
87
91
  )
88
92
  );
89
93
  }
90
- case ControlType.FILE: {
94
+ case ControlElementType.FILE: {
91
95
  return /** @type {T} */ (
92
- getInputFileValue(/** @type {HTMLInputElement} */ (controlNode))
96
+ getFileControlElementValue(
97
+ /** @type {HTMLInputElement} */ (controlElement),
98
+ )
93
99
  );
94
100
  }
95
- case ControlType.SELECT_MULTIPLE: {
101
+ case ControlElementType.SELECT_MULTIPLE: {
96
102
  return /** @type {T} */ (
97
- getMultiSelectValues(
98
- /** @type {HTMLSelectElement} */ (controlNode),
103
+ getMultiselectControlElementValue(
104
+ /** @type {HTMLSelectElement} */ (controlElement),
99
105
  )
100
106
  );
101
107
  }
102
- case ControlType.FIELDSET: {
108
+ case ControlElementType.FIELDSET: {
103
109
  return /** @type {T} */ (
104
- getFieldsetValue(
110
+ getFieldsetControlElementValue(
105
111
  getFormControlPayload,
106
- /** @type {HTMLFieldSetElement} */ (controlNode),
112
+ /** @type {HTMLFieldSetElement} */ (controlElement),
107
113
  )
108
114
  );
109
115
  }
110
116
  }
111
117
 
112
118
  throw new FormPayloadError({
113
- message: `Unsupported control element type – ${controlNode.type}.`,
119
+ message: `Unsupported control element type – ${controlElement.type}.`,
114
120
  });
115
121
  };
116
122
 
117
- export { getFormControlsPayload } from './helpers/helpers.js';
123
+ export { getFormControlElementsPayload } from './helpers/helpers.js';
118
124
  export { getFormControlPayload };
@@ -1 +1 @@
1
- {"version":3,"file":"check-has-value-as-array.helper.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/get-form-control-payload/helpers/check-has-value-as-array/check-has-value-as-array.helper.js"],"names":[],"mappings":"gDAKc,OAAO,iCAAiC,EAAE,iCAAiC;AAAzF,+HAA+H;AAE/H;;;GAGG;AACH,8CAHW,iCAAiC,GAC/B,OAAO,CASnB"}
1
+ {"version":3,"file":"check-has-value-as-array.helper.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/get-form-control-payload/helpers/check-has-value-as-array/check-has-value-as-array.helper.js"],"names":[],"mappings":"gDAKc,OAAO,iCAAiC,EAAE,iCAAiC;AAAzF,+HAA+H;AAE/H;;;GAGG;AACH,8CAHW,iCAAiC,GAC/B,OAAO,CAYnB"}
@@ -1,5 +1,5 @@
1
1
  import {
2
- VALUE_AS_ARRAY_CUSTOM_CONTROL_TYPES,
2
+ VALUE_AS_ARRAY_CUSTOM_CONTROL_ELEMENT_TYPES,
3
3
  VALUE_AS_ARRAY_IDENTIFIER,
4
4
  } from '../../../../libs/constants/constants.js';
5
5
 
@@ -10,12 +10,15 @@ import {
10
10
  * @returns {boolean}
11
11
  */
12
12
  const checkHasValueAsArray = (element) => {
13
- return (
14
- element.name.endsWith(VALUE_AS_ARRAY_IDENTIFIER) &&
15
- /** @type {readonly string[]} */ (
16
- VALUE_AS_ARRAY_CUSTOM_CONTROL_TYPES
17
- ).includes(element.type)
13
+ const hasValueAsArrayIdentifier = element.name.endsWith(
14
+ VALUE_AS_ARRAY_IDENTIFIER,
18
15
  );
16
+ const isValueAsArrayCustomControlElementType =
17
+ /** @type {readonly string[]} */ (
18
+ VALUE_AS_ARRAY_CUSTOM_CONTROL_ELEMENT_TYPES
19
+ ).includes(element.type);
20
+
21
+ return hasValueAsArrayIdentifier && isValueAsArrayCustomControlElementType;
19
22
  };
20
23
 
21
24
  export { checkHasValueAsArray };
@@ -0,0 +1,9 @@
1
+ export type HTMLFormOperationalControlElement = import('../../../../libs/types/types.js').HTMLFormOperationalControlElement;
2
+ /** @typedef {import('../../../../libs/types/types.js').HTMLFormOperationalControlElement} HTMLFormOperationalControlElement */
3
+ /**
4
+ * @param {HTMLFormOperationalControlElement} currentElement
5
+ * @param {HTMLFormOperationalControlElement[]} checkedElements
6
+ * @returns {boolean}
7
+ */
8
+ export function checkIsReferToAnotherElement(currentElement: HTMLFormOperationalControlElement, checkedElements: HTMLFormOperationalControlElement[]): boolean;
9
+ //# sourceMappingURL=check-is-refer-to-another-element.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-is-refer-to-another-element.helper.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/get-form-control-payload/helpers/check-is-refer-to-another-element/check-is-refer-to-another-element.helper.js"],"names":[],"mappings":"gDAAc,OAAO,iCAAiC,EAAE,iCAAiC;AAAzF,+HAA+H;AAE/H;;;;GAIG;AACH,6DAJW,iCAAiC,mBACjC,iCAAiC,EAAE,GACjC,OAAO,CAenB"}
@@ -0,0 +1,23 @@
1
+ /** @typedef {import('../../../../libs/types/types.js').HTMLFormOperationalControlElement} HTMLFormOperationalControlElement */
2
+
3
+ /**
4
+ * @param {HTMLFormOperationalControlElement} currentElement
5
+ * @param {HTMLFormOperationalControlElement[]} checkedElements
6
+ * @returns {boolean}
7
+ */
8
+ const checkIsReferToAnotherElement = (currentElement, checkedElements) => {
9
+ return checkedElements.some((checkedElement) => {
10
+ const hasElements =
11
+ 'elements' in checkedElement && checkedElement.elements.length > 0;
12
+
13
+ if (!hasElements) {
14
+ return false;
15
+ }
16
+
17
+ return [...checkedElement.elements].some((element) =>
18
+ element.contains(currentElement),
19
+ );
20
+ });
21
+ };
22
+
23
+ export { checkIsReferToAnotherElement };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @param {HTMLInputElement} element
3
+ * @returns {boolean | string[]}
4
+ */
5
+ export function getCheckboxControlElementValue(element: HTMLInputElement): boolean | string[];
6
+ //# sourceMappingURL=get-checkbox-control-element-value.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-checkbox-control-element-value.helper.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/get-form-control-payload/helpers/get-checkbox-control-element-value/get-checkbox-control-element-value.helper.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wDAHW,gBAAgB,GACd,OAAO,GAAG,MAAM,EAAE,CAU9B"}
@@ -4,7 +4,7 @@ import { VALUE_AS_ARRAY_IDENTIFIER } from '../../../../libs/constants/constants.
4
4
  * @param {HTMLInputElement} element
5
5
  * @returns {boolean | string[]}
6
6
  */
7
- const getCheckboxValue = (element) => {
7
+ const getCheckboxControlElementValue = (element) => {
8
8
  const hasArrayValue = element.name.endsWith(VALUE_AS_ARRAY_IDENTIFIER);
9
9
 
10
10
  if (hasArrayValue) {
@@ -14,4 +14,4 @@ const getCheckboxValue = (element) => {
14
14
  return element.checked;
15
15
  };
16
16
 
17
- export { getCheckboxValue };
17
+ export { getCheckboxControlElementValue };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @param {HTMLInputElement
3
+ * | HTMLOutputElement
4
+ * | HTMLTextAreaElement
5
+ * | HTMLSelectElement} element
6
+ * @returns {string}
7
+ */
8
+ export function getControlElementValue(element: HTMLInputElement | HTMLOutputElement | HTMLTextAreaElement | HTMLSelectElement): string;
9
+ //# sourceMappingURL=get-control-element-value.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-control-element-value.helper.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/get-form-control-payload/helpers/get-control-element-value/get-control-element-value.helper.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,gDANW,gBAAgB,GACrB,iBAAiB,GACjB,mBAAmB,GACnB,iBAAiB,GACV,MAAM,CAIlB"}
@@ -5,8 +5,8 @@
5
5
  * | HTMLSelectElement} element
6
6
  * @returns {string}
7
7
  */
8
- const getFormControlValue = (element) => {
8
+ const getControlElementValue = (element) => {
9
9
  return element.value;
10
10
  };
11
11
 
12
- export { getFormControlValue };
12
+ export { getControlElementValue };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @param {HTMLInputElement} element
3
+ * @returns {Date}
4
+ */
5
+ export function getDatetimeLocaControlElementValue(element: HTMLInputElement): Date;
6
+ //# sourceMappingURL=get-datatime-local-control-element-value.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-datatime-local-control-element-value.helper.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/get-form-control-payload/helpers/get-datatime-local-control-element-value/get-datatime-local-control-element-value.helper.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH,4DAHW,gBAAgB,GACd,IAAI,CAIhB"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @param {HTMLInputElement} element
3
+ * @returns {Date}
4
+ */
5
+ const getDatetimeLocaControlElementValue = (element) => {
6
+ return new Date(element.value);
7
+ };
8
+
9
+ export { getDatetimeLocaControlElementValue };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @param {HTMLInputElement} element
3
+ * @returns {Date | null}
4
+ */
5
+ export function getDateControlElementValue(element: HTMLInputElement): Date | null;
6
+ //# sourceMappingURL=get-date-value-control-element.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-date-value-control-element.helper.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/get-form-control-payload/helpers/get-date-control-element-value/get-date-value-control-element.helper.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oDAHW,gBAAgB,GACd,IAAI,GAAG,IAAI,CAIvB"}
@@ -2,8 +2,8 @@
2
2
  * @param {HTMLInputElement} element
3
3
  * @returns {Date | null}
4
4
  */
5
- const getInputDateValue = (element) => {
5
+ const getDateControlElementValue = (element) => {
6
6
  return element.valueAsDate;
7
7
  };
8
8
 
9
- export { getInputDateValue };
9
+ export { getDateControlElementValue };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @param {HTMLInputElement} element
3
+ * @returns {string | string[]}
4
+ */
5
+ export function getEmailControlElementValue(element: HTMLInputElement): string | string[];
6
+ //# sourceMappingURL=get-email-control-element-value.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-email-control-element-value.helper.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/get-form-control-payload/helpers/get-email-control-element-value/get-email-control-element-value.helper.js"],"names":[],"mappings":"AAIA;;;GAGG;AACH,qDAHW,gBAAgB,GACd,MAAM,GAAG,MAAM,EAAE,CAW7B"}
@@ -0,0 +1,20 @@
1
+ import { getControlElementValue } from '../get-control-element-value/get-control-element-value.helper.js';
2
+
3
+ const EMAIL_SEPARATOR = ',';
4
+
5
+ /**
6
+ * @param {HTMLInputElement} element
7
+ * @returns {string | string[]}
8
+ */
9
+ const getEmailControlElementValue = (element) => {
10
+ if (element.multiple) {
11
+ return element.value
12
+ .split(EMAIL_SEPARATOR)
13
+ .map((email) => email.trim())
14
+ .filter((email) => email !== '');
15
+ }
16
+
17
+ return getControlElementValue(element);
18
+ };
19
+
20
+ export { getEmailControlElementValue };
@@ -6,9 +6,9 @@ export type HTMLFormControlElement = import('../../../../libs/types/types.js').H
6
6
  * @template {Record<string, unknown>} T
7
7
  * @param {<T extends unknown>(
8
8
  * element: HTMLFormOperationalControlElement,
9
- * ) => T} getFormControlPayloadCallback
9
+ * ) => T} getFormControlElementPayloadCallback
10
10
  * @param {HTMLFieldSetElement} element
11
11
  * @returns {T | [T]}
12
12
  */
13
- export function getFieldsetValue<T extends Record<string, unknown>>(getFormControlPayloadCallback: <T_1 extends unknown>(element: HTMLFormOperationalControlElement) => T_1, element: HTMLFieldSetElement): T | [T];
14
- //# sourceMappingURL=get-fieldset-value.helper.d.ts.map
13
+ export function getFieldsetControlElementValue<T extends Record<string, unknown>>(getFormControlElementPayloadCallback: <T_1 extends unknown>(element: HTMLFormOperationalControlElement) => T_1, element: HTMLFieldSetElement): T | [T];
14
+ //# sourceMappingURL=get-fieldset-control-element-value.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-fieldset-control-element-value.helper.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/get-form-control-payload/helpers/get-fieldset-control-element-value/get-fieldset-control-element-value.helper.js"],"names":[],"mappings":"gDAGc,OAAO,iCAAiC,EAAE,iCAAiC;qCAC3E,OAAO,iCAAiC,EAAE,sBAAsB;AAD9E,+HAA+H;AAC/H,yGAAyG;AAEzG;;;;;;;GAOG;AACH,uJALa,iCAAiC,mBAEnC,mBAAmB,WAgB7B"}
@@ -1,5 +1,5 @@
1
1
  import { VALUE_AS_ARRAY_IDENTIFIER } from '../../../../libs/constants/constants.js';
2
- import { getFormControlsPayload } from '../get-form-controls-payload/get-form-controls-payload.js';
2
+ import { getFormControlElementsPayload } from '../get-form-control-elements-payload/get-form-control-elements-payload.js';
3
3
 
4
4
  /** @typedef {import('../../../../libs/types/types.js').HTMLFormOperationalControlElement} HTMLFormOperationalControlElement */
5
5
  /** @typedef {import('../../../../libs/types/types.js').HTMLFormControlElement} HTMLFormControlElement */
@@ -8,14 +8,17 @@ import { getFormControlsPayload } from '../get-form-controls-payload/get-form-co
8
8
  * @template {Record<string, unknown>} T
9
9
  * @param {<T extends unknown>(
10
10
  * element: HTMLFormOperationalControlElement,
11
- * ) => T} getFormControlPayloadCallback
11
+ * ) => T} getFormControlElementPayloadCallback
12
12
  * @param {HTMLFieldSetElement} element
13
13
  * @returns {T | [T]}
14
14
  */
15
- const getFieldsetValue = (getFormControlPayloadCallback, element) => {
15
+ const getFieldsetControlElementValue = (
16
+ getFormControlElementPayloadCallback,
17
+ element,
18
+ ) => {
16
19
  const elements = [.../** @type {HTMLFieldSetElement} */ (element).elements];
17
- const fieldsetValue = getFormControlsPayload(
18
- getFormControlPayloadCallback,
20
+ const fieldsetValue = getFormControlElementsPayload(
21
+ getFormControlElementPayloadCallback,
19
22
  .../** @type {HTMLFormControlElement[]} */ (elements),
20
23
  );
21
24
 
@@ -24,4 +27,4 @@ const getFieldsetValue = (getFormControlPayloadCallback, element) => {
24
27
  return /** @type {T} */ (hasArrayValue ? [fieldsetValue] : fieldsetValue);
25
28
  };
26
29
 
27
- export { getFieldsetValue };
30
+ export { getFieldsetControlElementValue };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @param {HTMLInputElement} element
3
+ * @returns {File[] | File | null}
4
+ */
5
+ export function getFileControlElementValue(element: HTMLInputElement): File[] | File | null;
6
+ //# sourceMappingURL=get-file-control-element-value.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-file-control-element-value.helper.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/get-form-control-payload/helpers/get-file-control-element-value/get-file-control-element-value.helper.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oDAHW,gBAAgB,GACd,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAWhC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @param {HTMLInputElement} element
3
+ * @returns {File[] | File | null}
4
+ */
5
+ const getFileControlElementValue = (element) => {
6
+ const inputFiles = element.files ?? [];
7
+
8
+ if (element.multiple) {
9
+ return [...inputFiles];
10
+ }
11
+ const [file] = inputFiles;
12
+
13
+ return file ?? null;
14
+ };
15
+
16
+ export { getFileControlElementValue };
@@ -6,9 +6,9 @@ export type HTMLFormControlElement = import('../../../../libs/types/types.js').H
6
6
  * @template {Record<string, unknown>} T
7
7
  * @param {<T extends unknown>(
8
8
  * element: HTMLFormOperationalControlElement,
9
- * ) => T} getFormControlPayloadCallback
9
+ * ) => T} getFormControlElementPayloadCallback
10
10
  * @param {...HTMLFormControlElement} controlElements
11
11
  * @returns {T}
12
12
  */
13
- export function getFormControlsPayload<T extends Record<string, unknown>>(getFormControlPayloadCallback: <T_1 extends unknown>(element: HTMLFormOperationalControlElement) => T_1, ...controlElements: HTMLFormControlElement[]): T;
14
- //# sourceMappingURL=get-form-controls-payload.d.ts.map
13
+ export function getFormControlElementsPayload<T extends Record<string, unknown>>(getFormControlElementPayloadCallback: <T_1 extends unknown>(element: HTMLFormOperationalControlElement) => T_1, ...controlElements: HTMLFormControlElement[]): T;
14
+ //# sourceMappingURL=get-form-control-elements-payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-form-control-elements-payload.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/get-form-control-payload/helpers/get-form-control-elements-payload/get-form-control-elements-payload.js"],"names":[],"mappings":"gDAKc,OAAO,iCAAiC,EAAE,iCAAiC;qCAC3E,OAAO,iCAAiC,EAAE,sBAAsB;AAD9E,+HAA+H;AAC/H,yGAAyG;AAEzG;;;;;;;GAOG;AACH,sJALa,iCAAiC,8BAEhC,sBAAsB,OAqDnC"}
@@ -0,0 +1,69 @@
1
+ import { checkHasValueAsArray } from '../check-has-value-as-array/check-has-value-as-array.helper.js';
2
+ import { checkIsReferToAnotherElement } from '../check-is-refer-to-another-element/check-is-refer-to-another-element.helper.js';
3
+ import { getOperationalControlElements } from '../get-operational-control-elements/get-operational-control-elements.helper.js';
4
+ import { normalizeValueAsArrayControlElementName } from '../normalize-value-as-array-control-element-name/normalize-value-as-array-control-element-name.helper.js';
5
+
6
+ /** @typedef {import('../../../../libs/types/types.js').HTMLFormOperationalControlElement} HTMLFormOperationalControlElement */
7
+ /** @typedef {import('../../../../libs/types/types.js').HTMLFormControlElement} HTMLFormControlElement */
8
+
9
+ /**
10
+ * @template {Record<string, unknown>} T
11
+ * @param {<T extends unknown>(
12
+ * element: HTMLFormOperationalControlElement,
13
+ * ) => T} getFormControlElementPayloadCallback
14
+ * @param {...HTMLFormControlElement} controlElements
15
+ * @returns {T}
16
+ */
17
+ const getFormControlElementsPayload = (
18
+ getFormControlElementPayloadCallback,
19
+ ...controlElements
20
+ ) => {
21
+ const operationalControlElements =
22
+ getOperationalControlElements(controlElements);
23
+
24
+ const elementsValues = /** @type {T} */ ({});
25
+
26
+ for (const operationalControlElement of operationalControlElements) {
27
+ const isReferToAnotherElement = checkIsReferToAnotherElement(
28
+ operationalControlElement,
29
+ operationalControlElements,
30
+ );
31
+
32
+ if (isReferToAnotherElement) {
33
+ continue;
34
+ }
35
+
36
+ const hasValueAsArray = checkHasValueAsArray(operationalControlElement);
37
+
38
+ if (hasValueAsArray) {
39
+ const key = /** @type {keyof T} */ (
40
+ normalizeValueAsArrayControlElementName(
41
+ operationalControlElement,
42
+ )
43
+ );
44
+ const value = /** @type {T[keyof T]} */ ([
45
+ .../** @type {unknown[]} */ (elementsValues[key] ?? []),
46
+ .../** @type {unknown[]} */ (
47
+ getFormControlElementPayloadCallback(
48
+ operationalControlElement,
49
+ )
50
+ ),
51
+ ]);
52
+
53
+ elementsValues[key] = value;
54
+
55
+ continue;
56
+ }
57
+
58
+ const key = /** @type {keyof T} */ (operationalControlElement.name);
59
+ const value = /** @type {T[keyof T]} */ (
60
+ getFormControlElementPayloadCallback(operationalControlElement)
61
+ );
62
+
63
+ elementsValues[key] = value;
64
+ }
65
+
66
+ return elementsValues;
67
+ };
68
+
69
+ export { getFormControlElementsPayload };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @param {HTMLSelectElement} element
3
+ * @returns {string[]}
4
+ */
5
+ export function getMultiselectControlElementValue(element: HTMLSelectElement): string[];
6
+ //# sourceMappingURL=get-multiselect-control-type-value.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-multiselect-control-type-value.helper.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/get-form-control-payload/helpers/get-multiselect-control-type-value/get-multiselect-control-type-value.helper.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH,2DAHW,iBAAiB,GACf,MAAM,EAAE,CAIpB"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @param {HTMLSelectElement} element
3
+ * @returns {string[]}
4
+ */
5
+ const getMultiselectControlElementValue = (element) => {
6
+ return Array.from(element.selectedOptions, (opt) => opt.value);
7
+ };
8
+
9
+ export { getMultiselectControlElementValue };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @param {HTMLInputElement} element
3
+ * @returns {number}
4
+ */
5
+ export function getNumericControlElementValue(element: HTMLInputElement): number;
6
+ //# sourceMappingURL=get-numeric-control-element-value.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-numeric-control-element-value.helper.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/get-form-control-payload/helpers/get-numeric-control-element-value/get-numeric-control-element-value.helper.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH,uDAHW,gBAAgB,GACd,MAAM,CAIlB"}
@@ -2,8 +2,8 @@
2
2
  * @param {HTMLInputElement} element
3
3
  * @returns {number}
4
4
  */
5
- const getInputNumericValue = (element) => {
5
+ const getNumericControlElementValue = (element) => {
6
6
  return element.valueAsNumber;
7
7
  };
8
8
 
9
- export { getInputNumericValue };
9
+ export { getNumericControlElementValue };
@@ -4,5 +4,5 @@ export type HTMLFormOperationalControlElement = import('../../../../libs/types/t
4
4
  * @param {HTMLFormControlElement[]} elements
5
5
  * @returns {HTMLFormOperationalControlElement[]}
6
6
  */
7
- export function getAllowedElements(elements: HTMLFormControlElement[]): HTMLFormOperationalControlElement[];
8
- //# sourceMappingURL=get-allowed-elements.helper.d.ts.map
7
+ export function getOperationalControlElements(elements: HTMLFormControlElement[]): HTMLFormOperationalControlElement[];
8
+ //# sourceMappingURL=get-operational-control-elements.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-operational-control-elements.helper.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/get-form-control-payload/helpers/get-operational-control-elements/get-operational-control-elements.helper.js"],"names":[],"mappings":"qCAMc,OAAO,iCAAiC,EAAE,sBAAsB;gDAChE,OAAO,iCAAiC,EAAE,iCAAiC;AAQzF;;;GAGG;AACH,wDAHW,sBAAsB,EAAE,GACtB,iCAAiC,EAAE,CAgB/C"}