@qrvey/utils 1.1.2-0 → 1.1.4

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 (167) hide show
  1. package/README.md +458 -378
  2. package/dist/cjs/constants/COLUMN_PROPERTY.d.ts +6 -6
  3. package/dist/cjs/constants/COLUMN_PROPERTY_VALUE.d.ts +1 -2
  4. package/dist/cjs/constants/COLUMN_PROPERTY_VALUE.js +3 -8
  5. package/dist/cjs/date/constants/DATE_PROPERTY_VALUE.d.ts +6 -6
  6. package/dist/cjs/date/constants/DATE_PROPERTY_VALUE.js +6 -6
  7. package/dist/cjs/date/constants/DATE_P_PROPERTIES.js +6 -6
  8. package/dist/cjs/date/constants/DATE_P_VALUES.js +3 -3
  9. package/dist/cjs/date/constants/DATE_TIME_P_VALUES.js +3 -3
  10. package/dist/cjs/date/constants/DATE_TIME_VALUES.js +3 -3
  11. package/dist/cjs/date/constants/DATE_VALUES.d.ts +6 -0
  12. package/dist/cjs/date/constants/DATE_VALUES.js +10 -0
  13. package/dist/cjs/filters/adapters/FDToFlatUI.js +3 -1
  14. package/dist/cjs/filters/adapters/FDToUI.js +3 -1
  15. package/dist/cjs/filters/adapters/UIToFlatUI.js +3 -1
  16. package/dist/cjs/filters/adapters/UIToOldLogic.js +3 -1
  17. package/dist/cjs/filters/adapters/adaptDateGroupingProperty.d.ts +8 -0
  18. package/dist/cjs/filters/adapters/adaptDateGroupingProperty.js +19 -0
  19. package/dist/cjs/filters/adapters/adaptFilterData.js +1 -1
  20. package/dist/cjs/filters/adapters/flatUIToFD.js +3 -1
  21. package/dist/cjs/filters/adapters/flatUIToOldLogic.js +1 -5
  22. package/dist/cjs/filters/adapters/flatUIToUI.js +3 -1
  23. package/dist/cjs/filters/adapters/index.d.ts +1 -0
  24. package/dist/cjs/filters/adapters/index.js +1 -0
  25. package/dist/cjs/filters/adapters/logicToFlatUI.js +77 -63
  26. package/dist/cjs/filters/helpers/backend/getBackendGroupValue.js +4 -3
  27. package/dist/cjs/filters/helpers/backend/getBackendProperty.js +1 -5
  28. package/dist/cjs/filters/helpers/ui/getFilterPropertyLabel.d.ts +7 -0
  29. package/dist/cjs/filters/helpers/ui/getFilterPropertyLabel.js +13 -0
  30. package/dist/cjs/filters/helpers/ui/index.d.ts +1 -0
  31. package/dist/cjs/filters/helpers/ui/index.js +1 -0
  32. package/dist/cjs/general/array/filterNestedTree.d.ts +5 -2
  33. package/dist/cjs/general/array/filterNestedTree.js +13 -5
  34. package/dist/cjs/general/mix/getTag.d.ts +7 -0
  35. package/dist/cjs/general/mix/getTag.js +16 -0
  36. package/dist/cjs/general/mix/index.d.ts +1 -0
  37. package/dist/cjs/general/mix/index.js +1 -0
  38. package/dist/cjs/general/mix/isEmpty.js +8 -4
  39. package/dist/cjs/general/mix/isNull.js +1 -1
  40. package/dist/cjs/general/mix/randomId.d.ts +6 -3
  41. package/dist/cjs/general/mix/randomId.js +24 -7
  42. package/dist/cjs/general/mix/size.d.ts +5 -5
  43. package/dist/cjs/general/mix/size.js +9 -6
  44. package/dist/cjs/general/object/get.d.ts +1 -1
  45. package/dist/cjs/general/object/getAttribute.d.ts +9 -2
  46. package/dist/cjs/general/object/getAttribute.js +39 -8
  47. package/dist/cjs/general/object/hasProperty.d.ts +1 -1
  48. package/dist/cjs/general/object/hasProperty.js +10 -2
  49. package/dist/cjs/general/object/index.d.ts +1 -0
  50. package/dist/cjs/general/object/index.js +1 -0
  51. package/dist/cjs/general/object/isObject.js +2 -1
  52. package/dist/cjs/general/object/objectCopy.d.ts +7 -0
  53. package/dist/cjs/general/object/objectCopy.js +32 -0
  54. package/dist/cjs/general/string/capitalize.d.ts +3 -3
  55. package/dist/cjs/general/string/capitalize.js +6 -3
  56. package/dist/cjs/qrvey/getPropertyLabel.d.ts +2 -0
  57. package/dist/cjs/qrvey/getPropertyLabel.js +14 -0
  58. package/dist/cjs/qrvey/index.d.ts +1 -0
  59. package/dist/cjs/qrvey/index.js +1 -0
  60. package/dist/constants/COLUMN_PROPERTY.d.ts +6 -6
  61. package/dist/constants/COLUMN_PROPERTY_VALUE.d.ts +1 -2
  62. package/dist/constants/COLUMN_PROPERTY_VALUE.js +4 -9
  63. package/dist/date/constants/DATE_PROPERTY_VALUE.d.ts +6 -6
  64. package/dist/date/constants/DATE_PROPERTY_VALUE.js +6 -6
  65. package/dist/date/constants/DATE_P_PROPERTIES.js +6 -6
  66. package/dist/date/constants/DATE_P_VALUES.js +3 -3
  67. package/dist/date/constants/DATE_TIME_P_VALUES.js +3 -3
  68. package/dist/date/constants/DATE_TIME_VALUES.js +3 -3
  69. package/dist/date/constants/DATE_VALUES.d.ts +6 -0
  70. package/dist/date/constants/DATE_VALUES.js +7 -0
  71. package/dist/filters/adapters/FDToFlatUI.js +3 -1
  72. package/dist/filters/adapters/FDToUI.js +3 -1
  73. package/dist/filters/adapters/UIToFlatUI.js +3 -1
  74. package/dist/filters/adapters/UIToOldLogic.js +3 -1
  75. package/dist/filters/adapters/adaptDateGroupingProperty.d.ts +8 -0
  76. package/dist/filters/adapters/adaptDateGroupingProperty.js +15 -0
  77. package/dist/filters/adapters/adaptFilterData.js +1 -1
  78. package/dist/filters/adapters/flatUIToFD.js +3 -1
  79. package/dist/filters/adapters/flatUIToOldLogic.js +1 -5
  80. package/dist/filters/adapters/flatUIToUI.js +3 -1
  81. package/dist/filters/adapters/index.d.ts +1 -0
  82. package/dist/filters/adapters/index.js +1 -0
  83. package/dist/filters/adapters/logicToFlatUI.js +79 -65
  84. package/dist/filters/helpers/backend/getBackendGroupValue.js +4 -3
  85. package/dist/filters/helpers/backend/getBackendProperty.js +2 -6
  86. package/dist/filters/helpers/ui/getFilterPropertyLabel.d.ts +7 -0
  87. package/dist/filters/helpers/ui/getFilterPropertyLabel.js +9 -0
  88. package/dist/filters/helpers/ui/index.d.ts +1 -0
  89. package/dist/filters/helpers/ui/index.js +1 -0
  90. package/dist/general/array/filterNestedTree.d.ts +5 -2
  91. package/dist/general/array/filterNestedTree.js +13 -5
  92. package/dist/general/mix/getTag.d.ts +7 -0
  93. package/dist/general/mix/getTag.js +12 -0
  94. package/dist/general/mix/index.d.ts +1 -0
  95. package/dist/general/mix/index.js +1 -0
  96. package/dist/general/mix/isEmpty.js +8 -4
  97. package/dist/general/mix/isNull.js +1 -1
  98. package/dist/general/mix/randomId.d.ts +6 -3
  99. package/dist/general/mix/randomId.js +24 -7
  100. package/dist/general/mix/size.d.ts +5 -5
  101. package/dist/general/mix/size.js +9 -6
  102. package/dist/general/object/get.d.ts +1 -1
  103. package/dist/general/object/getAttribute.d.ts +9 -2
  104. package/dist/general/object/getAttribute.js +39 -8
  105. package/dist/general/object/hasProperty.d.ts +1 -1
  106. package/dist/general/object/hasProperty.js +8 -0
  107. package/dist/general/object/index.d.ts +1 -0
  108. package/dist/general/object/index.js +1 -0
  109. package/dist/general/object/isObject.js +2 -1
  110. package/dist/general/object/objectCopy.d.ts +7 -0
  111. package/dist/general/object/objectCopy.js +28 -0
  112. package/dist/general/string/capitalize.d.ts +3 -3
  113. package/dist/general/string/capitalize.js +6 -3
  114. package/dist/qrvey/getPropertyLabel.d.ts +2 -0
  115. package/dist/qrvey/getPropertyLabel.js +10 -0
  116. package/dist/qrvey/index.d.ts +1 -0
  117. package/dist/qrvey/index.js +1 -0
  118. package/package.json +1 -1
  119. package/src/constants/COLUMN_PROPERTY.ts +7 -7
  120. package/src/constants/COLUMN_PROPERTY_VALUE.ts +4 -10
  121. package/src/date/constants/DATE_P_VALUES.ts +3 -3
  122. package/src/date/constants/DATE_TIME_P_VALUES.ts +3 -3
  123. package/src/date/constants/DATE_TIME_VALUES.ts +3 -3
  124. package/src/date/constants/DATE_VALUES.ts +9 -0
  125. package/src/filters/adapters/FDToFlatUI.ts +3 -1
  126. package/src/filters/adapters/FDToUI.ts +4 -0
  127. package/src/filters/adapters/UIToFlatUI.ts +3 -1
  128. package/src/filters/adapters/UIToOldLogic.ts +4 -1
  129. package/src/filters/adapters/adaptDateGroupingProperty.ts +18 -0
  130. package/src/filters/adapters/adaptFilterData.ts +1 -1
  131. package/src/filters/adapters/flatUIToFD.ts +4 -1
  132. package/src/filters/adapters/flatUIToOldLogic.ts +1 -3
  133. package/src/filters/adapters/flatUIToUI.ts +4 -1
  134. package/src/filters/adapters/index.ts +1 -0
  135. package/src/filters/adapters/logicToFlatUI.ts +87 -70
  136. package/src/filters/helpers/backend/getAggFiltersBySummaryIndex.ts +1 -1
  137. package/src/filters/helpers/backend/getBackendGroupValue.ts +4 -3
  138. package/src/filters/helpers/backend/getBackendProperty.ts +2 -4
  139. package/src/filters/helpers/ui/getFilterPropertyLabel.ts +11 -0
  140. package/src/filters/helpers/ui/index.ts +1 -0
  141. package/src/general/array/filterNestedTree.ts +13 -4
  142. package/src/general/mix/getTag.ts +12 -0
  143. package/src/general/mix/index.ts +1 -0
  144. package/src/general/mix/isEmpty.ts +9 -4
  145. package/src/general/mix/isNull.ts +1 -1
  146. package/src/general/mix/randomId.ts +24 -7
  147. package/src/general/mix/size.ts +10 -6
  148. package/src/general/object/get.ts +1 -1
  149. package/src/general/object/getAttribute.ts +47 -9
  150. package/src/general/object/hasProperty.ts +10 -1
  151. package/src/general/object/index.ts +1 -0
  152. package/src/general/object/isObject.ts +3 -1
  153. package/src/general/object/objectCopy.ts +35 -0
  154. package/src/general/string/capitalize.ts +7 -3
  155. package/src/qrvey/getPropertyLabel.ts +9 -0
  156. package/src/qrvey/index.ts +1 -0
  157. package/test/general/array/filterNestedTree.test.js +115 -0
  158. package/test/general/mix/getTag.test.js +101 -0
  159. package/test/general/mix/isEmpty.test.js +30 -24
  160. package/test/general/mix/isNull.test.js +72 -0
  161. package/test/general/mix/randomId.test.js +134 -0
  162. package/test/general/mix/size.test.js +87 -0
  163. package/test/general/object/cloneDeep.test.js +8 -16
  164. package/test/general/object/getAttribute.test.js +316 -0
  165. package/test/general/object/hasProperty.test.js +103 -0
  166. package/test/general/object/objectCopy.test.js +105 -0
  167. package/test/general/string/capitalize.test.js +87 -0
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # [@qrvey/utils](https://bitbucket.org/qrvey/qrvey_utils/wiki/Home) *1.1.2-0*
1
+ # [@qrvey/utils](https://bitbucket.org/qrvey/qrvey_utils/wiki/Home) *1.1.4*
2
2
 
3
3
  > Helper, Utils for all Qrvey Projects
4
4
 
@@ -365,6 +365,34 @@ Generates a Flattened UI Filter Structure from the UI Filter Data structure v2.1
365
365
 
366
366
 
367
367
 
368
+ ### dist/filters/adapters/adaptDateGroupingProperty.js
369
+
370
+
371
+ #### adaptDateGroupingProperty(property)
372
+
373
+ [TODO: For 2022, eliminate this adapter]
374
+ Get the new property base on the old date grouping properties
375
+
376
+
377
+
378
+
379
+ ##### Parameters
380
+
381
+ | Name | Type | Description | |
382
+ | ---- | ---- | ----------- | -------- |
383
+ | property | | |   |
384
+
385
+
386
+
387
+
388
+ ##### Returns
389
+
390
+
391
+ -
392
+
393
+
394
+
395
+
368
396
  ### dist/filters/adapters/adaptFilterData.js
369
397
 
370
398
 
@@ -1012,12 +1040,12 @@ Gets the Scopes IDS for the Available Scope function by any config
1012
1040
 
1013
1041
 
1014
1042
 
1015
- ### dist/general/array/filterNestedTree.js
1043
+ ### dist/date/range/getDateRange.js
1016
1044
 
1017
1045
 
1018
- #### filterNestedTree(arr, childArrKey, condition)
1046
+ #### getDateRange(value, dateGroupLabel, withTime)
1019
1047
 
1020
- Filters a nested tree array by a custom condition on the las child node
1048
+ Get date range object from a string date value
1021
1049
 
1022
1050
 
1023
1051
 
@@ -1026,37 +1054,58 @@ Filters a nested tree array by a custom condition on the las child node
1026
1054
 
1027
1055
  | Name | Type | Description | |
1028
1056
  | ---- | ---- | ----------- | -------- |
1029
- | arr | | nested tree array |   |
1030
- | childArrKey | | property representing the children array on the nested tree |   |
1031
- | condition | | function callback that determines if the filter is applied on the last child node of the nested tree |   |
1057
+ | value | `String` | string date value |   |
1058
+ | dateGroupLabel | `String` | could be 'YEAR', 'QUARTER', 'MONTH' or 'DAY'. Deafult is 'DAY' |   |
1059
+ | withTime | `Boolean` | determines if the date range will include time. Default is true |   |
1032
1060
 
1033
1061
 
1034
1062
 
1035
1063
 
1036
- ##### Returns
1064
+ ##### Examples
1037
1065
 
1066
+ ```javascript
1067
+ // 1) Year:
1068
+ getDateRange('2020', 'YEAR');
1069
+ // Will return:
1070
+ {
1071
+ from: '01/01/2020 00:00:00',
1072
+ to: '12/31/2020 23:59:59'
1073
+ }
1038
1074
 
1039
- - array filtered
1075
+ // 2) Quarter:
1076
+ getDateRange('Q3 2020', 'QUARTER');
1077
+ // Will return:
1078
+ {
1079
+ from: '07/01/2020 00:00:00',
1080
+ to: '09/30/2020 23:59:59'
1081
+ }
1040
1082
 
1083
+ // 3) Month:
1084
+ getDateRange('Oct 2020', 'MONTH');
1085
+ // Will return:
1086
+ {
1087
+ from: '10/01/2020 00:00:00',
1088
+ to: '10/31/2020 23:59:59'
1089
+ }
1090
+ ```
1041
1091
 
1042
1092
 
1093
+ ##### Returns
1043
1094
 
1044
- ### dist/general/array/delete.js
1045
1095
 
1096
+ - `Object` an object with the date range with two string date properties: from and to
1046
1097
 
1047
- #### ArrayDelete(array, index)
1048
1098
 
1049
- Inmutable Array Item deletion
1050
1099
 
1051
1100
 
1101
+ ### dist/date/relative/Adapter.js
1052
1102
 
1053
1103
 
1054
- ##### Parameters
1104
+ #### value()
1105
+
1106
+ Resolves statement and returns statement value
1107
+
1055
1108
 
1056
- | Name | Type | Description | |
1057
- | ---- | ---- | ----------- | -------- |
1058
- | array | `Array` | a collection of items to delete |   |
1059
- | index | `Number` | the position of the item to delete |   |
1060
1109
 
1061
1110
 
1062
1111
 
@@ -1064,54 +1113,47 @@ Inmutable Array Item deletion
1064
1113
  ##### Returns
1065
1114
 
1066
1115
 
1067
- - a new Array or the given parameter when is empty or not an array
1116
+ - `AbsoluteRange` `string`
1068
1117
 
1069
1118
 
1070
1119
 
1120
+ #### valueAsAnchor()
1071
1121
 
1072
- ### dist/general/array/flattenDeep.js
1122
+ Resolves statement as an anchor
1073
1123
 
1074
1124
 
1075
- #### flattenDeep(arr)
1076
1125
 
1077
- Flat deeply an array
1078
1126
 
1079
1127
 
1080
1128
 
1129
+ ##### Returns
1081
1130
 
1082
- ##### Parameters
1083
1131
 
1084
- | Name | Type | Description | |
1085
- | ---- | ---- | ----------- | -------- |
1086
- | arr | | Array to flat deeply |   |
1132
+ - `string`
1087
1133
 
1088
1134
 
1089
1135
 
1136
+ #### _statementToRange() *private method*
1090
1137
 
1091
- ##### Returns
1138
+ Convert verbal statement to range value
1092
1139
 
1093
1140
 
1094
- - flatten array
1095
1141
 
1096
1142
 
1097
1143
 
1098
1144
 
1099
- ### dist/general/array/getFirstIndexFromArray.js
1145
+ ##### Returns
1100
1146
 
1101
1147
 
1102
- #### getFirstIndexFromArray(array, callback)
1148
+ - `AbsoluteRange`
1103
1149
 
1104
- Gets the first index from the array by a callback condition
1105
1150
 
1106
1151
 
1152
+ #### _resolveAsThis() *private method*
1107
1153
 
1154
+ Apply 'this' cursor logic to statement
1108
1155
 
1109
- ##### Parameters
1110
1156
 
1111
- | Name | Type | Description | |
1112
- | ---- | ---- | ----------- | -------- |
1113
- | array | | |   |
1114
- | callback | | function callback |   |
1115
1157
 
1116
1158
 
1117
1159
 
@@ -1119,45 +1161,45 @@ Gets the first index from the array by a callback condition
1119
1161
  ##### Returns
1120
1162
 
1121
1163
 
1122
- - the first index of the array. -1 when the condition is not satisfied
1164
+ - `AbsoluteStatement`
1123
1165
 
1124
1166
 
1125
1167
 
1168
+ #### _resolveAsTheLast() *private method*
1169
+
1170
+ Apply 'the last' cursor logic to statement
1126
1171
 
1127
- ### dist/general/array/getLastIndexFromArray.js
1128
1172
 
1129
1173
 
1130
- #### getLastIndexFromArray(array, callback)
1131
1174
 
1132
- Gets the last index from the array by a callback condition
1133
1175
 
1134
1176
 
1177
+ ##### Returns
1135
1178
 
1136
1179
 
1137
- ##### Parameters
1180
+ - `AbsoluteStatement`
1138
1181
 
1139
- | Name | Type | Description | |
1140
- | ---- | ---- | ----------- | -------- |
1141
- | array | | |   |
1142
- | callback | | function callback |   |
1143
1182
 
1144
1183
 
1184
+ #### _resolveAsTheNext() *private method*
1145
1185
 
1186
+ Apply 'the next' cursor logic to statement
1146
1187
 
1147
- ##### Returns
1148
1188
 
1149
1189
 
1150
- - the last index of the array. -1 when the condition is not satisfied
1151
1190
 
1152
1191
 
1153
1192
 
1193
+ ##### Returns
1154
1194
 
1155
- ### dist/general/function/debounce.js
1156
1195
 
1196
+ - `AbsoluteStatement`
1157
1197
 
1158
- #### debounce(fn, time)
1159
1198
 
1160
- Delays invoking _fn_ until after _time_ milliseconds have elapsed since the last time the debounced function was invoked.
1199
+
1200
+ #### replaceNowToken(value, now)
1201
+
1202
+ Replace '@now' token inside a string
1161
1203
 
1162
1204
 
1163
1205
 
@@ -1166,8 +1208,8 @@ Delays invoking _fn_ until after _time_ milliseconds have elapsed since the last
1166
1208
 
1167
1209
  | Name | Type | Description | |
1168
1210
  | ---- | ---- | ----------- | -------- |
1169
- | fn | `Function` | original Function |   |
1170
- | time | `Number` | default 500ms |   |
1211
+ | value | `string` | |   |
1212
+ | now | `Date` | |   |
1171
1213
 
1172
1214
 
1173
1215
 
@@ -1175,17 +1217,13 @@ Delays invoking _fn_ until after _time_ milliseconds have elapsed since the last
1175
1217
  ##### Returns
1176
1218
 
1177
1219
 
1178
- - `Function` debounced functions
1179
-
1180
-
1181
-
1220
+ - `string`
1182
1221
 
1183
- ### dist/general/function/throttled.js
1184
1222
 
1185
1223
 
1186
- #### throttled(fn, time)
1224
+ #### convertRelativeToAbsolute(args)
1187
1225
 
1188
- Make sure to only invokes _fn_ at most once per every _time_ milliseconds
1226
+ Returns a range object (date) from a group of statement params
1189
1227
 
1190
1228
 
1191
1229
 
@@ -1194,26 +1232,45 @@ Make sure to only invokes _fn_ at most once per every _time_ milliseconds
1194
1232
 
1195
1233
  | Name | Type | Description | |
1196
1234
  | ---- | ---- | ----------- | -------- |
1197
- | fn | `Function` | original Function |   |
1198
- | time | `Number` | default 500ms |   |
1235
+ | args | `RelativeToAbsoluteStruct` | |   |
1236
+
1237
+
1238
+
1199
1239
 
1240
+ ##### Examples
1200
1241
 
1242
+ ```javascript
1243
+ pivot = '2021-03-03T12:30:40'
1244
+ unit = month
1245
+ steps = 2
1246
+ setTo = END
1247
+ resolverAsCalendar: true
1248
+ => Returns '2021-05-31T23:59:59'
1249
+ ```
1250
+ ```javascript
1251
+ pivot = '2021-03-03T12:30:40'
1252
+ unit = month
1253
+ steps = -2
1254
+ setTo = START
1255
+ resolverAsCalendar: false
1256
+ => Returns '2021-01-03T00:00:00'
1257
+ ```
1201
1258
 
1202
1259
 
1203
1260
  ##### Returns
1204
1261
 
1205
1262
 
1206
- - `Function` throttled function
1263
+ - `string`
1207
1264
 
1208
1265
 
1209
1266
 
1210
1267
 
1211
- ### dist/general/mix/importScripts.js
1268
+ ### dist/date/relative/relative.js
1212
1269
 
1213
1270
 
1214
- #### importScripts(scripts)
1271
+ #### resolveRelative(statements, clock)
1215
1272
 
1216
- Import a set of external Scripts given the URL in both serie and cascade way
1273
+ Resolve a list of relative statements according to operator
1217
1274
 
1218
1275
 
1219
1276
 
@@ -1222,12 +1279,8 @@ Import a set of external Scripts given the URL in both serie and cascade way
1222
1279
 
1223
1280
  | Name | Type | Description | |
1224
1281
  | ---- | ---- | ----------- | -------- |
1225
- | scripts | `Array.<String>` `Array.<Object>` | can be an array of string or an array of object with the follow structure: | &nbsp; |
1226
- | scripts.url | `String` | CDN URL | &nbsp; |
1227
- | scripts.namespace | `String` `Function` | (Optional) if is a String, that name is evaluated on Window[namespace] object otherwise the Function is invoked expecting a Thrutly value | &nbsp; |
1228
- | scripts.type | `String` | (Optional) it could be `module` of `text/javascript`. Default `text/javascript` | &nbsp; |
1229
- | scripts.noModule | `Boolean` | (Optional) add `momodule` attribute to script tag. Default `false` | &nbsp; |
1230
- | scripts.dependencies | `Array.<Object>` | an array with the same structure to load in cascade mode | &nbsp; |
1282
+ | statements | `Array.<RelativeStatement>` `Array.<string>` | - Raw statements/values | &nbsp; |
1283
+ | clock | `Date` | - Clock/time reference for relative date resolution | &nbsp; |
1231
1284
 
1232
1285
 
1233
1286
 
@@ -1235,41 +1288,35 @@ Import a set of external Scripts given the URL in both serie and cascade way
1235
1288
  ##### Examples
1236
1289
 
1237
1290
  ```javascript
1238
- // 1) Simple script (paralell loading)
1239
- importScripts(['http://myscript.js', 'http://another.js']);
1240
-
1241
- // 2) Loading `.js` and `.esm.js` script (parallel loading)
1242
- importScripts([
1243
- { url: 'http://myscript.esm.js', type: 'module' },
1244
- { url: 'http://myscript.js', noModule: true }
1245
- ]);
1246
-
1247
- // 3) import dependent scripts (cascade)
1248
- importScripts([
1249
- { url: 'http://myscript.js', dependencies: ['http://myscript.plugin.js'] }
1250
- ]);
1291
+ Input:
1292
+ {
1293
+ "cursor": "the_next",
1294
+ "unit": "year",
1295
+ "number": 1,
1296
+ "includeCurrent": false,
1297
+ "isCalendarDate": false,
1298
+ "anchor": "03/05/2021"
1299
+ }
1251
1300
 
1252
- // 4) mix
1253
- importScripts([
1254
- { url: 'http://myscript.js', dependencies: ['http://myscript.plugin.js'] },
1255
- { url: 'http://another.esm.js', type: 'module' },
1256
- { url: 'http://another.js', noModule: true },
1257
- 'http://simplescript.js'
1258
- ]);
1301
+ Output:
1302
+ { gte: "03/06/2021 00:00:00", lte: "03/05/2022 23:59:59" }
1259
1303
  ```
1260
1304
 
1261
1305
 
1262
1306
  ##### Returns
1263
1307
 
1264
1308
 
1265
- - `Promise` Promise when all script have been loaded
1309
+ - `Array.&lt;AbsoluteRange&gt;` `Array.&lt;string&gt;`
1266
1310
 
1267
1311
 
1268
1312
 
1269
- #### loadScript(url, type, noModule)
1270
1313
 
1271
- Creates the script element and appends to document.head
1272
- return a Promise that is resolved when the script is loaded
1314
+ ### dist/general/array/delete.js
1315
+
1316
+
1317
+ #### ArrayDelete(array, index)
1318
+
1319
+ Inmutable Array Item deletion
1273
1320
 
1274
1321
 
1275
1322
 
@@ -1278,9 +1325,8 @@ return a Promise that is resolved when the script is loaded
1278
1325
 
1279
1326
  | Name | Type | Description | |
1280
1327
  | ---- | ---- | ----------- | -------- |
1281
- | url | `String` | Cdn Url | &nbsp; |
1282
- | type | `String` | (Optional) it could be `module` of `text/javascript`. Default `text/javascript` | &nbsp; |
1283
- | noModule | `boolean` | (Optional) add `momodule` attribute to script tag. Default `false` | &nbsp; |
1328
+ | array | `Array` | a collection of items to delete | &nbsp; |
1329
+ | index | `Number` | the position of the item to delete | &nbsp; |
1284
1330
 
1285
1331
 
1286
1332
 
@@ -1288,17 +1334,17 @@ return a Promise that is resolved when the script is loaded
1288
1334
  ##### Returns
1289
1335
 
1290
1336
 
1291
- - `Void`
1337
+ - a new Array or the given parameter when is empty or not an array
1292
1338
 
1293
1339
 
1294
1340
 
1295
1341
 
1296
- ### dist/general/mix/isEmpty.js
1342
+ ### dist/general/array/flattenDeep.js
1297
1343
 
1298
1344
 
1299
- #### isEmpty(variable, includeFalsy)
1345
+ #### flattenDeep(arr)
1300
1346
 
1301
- Validates if the given argument is empty
1347
+ Flat deeply an array
1302
1348
 
1303
1349
 
1304
1350
 
@@ -1307,8 +1353,7 @@ Validates if the given argument is empty
1307
1353
 
1308
1354
  | Name | Type | Description | |
1309
1355
  | ---- | ---- | ----------- | -------- |
1310
- | variable | | the given variable | &nbsp; |
1311
- | includeFalsy | | flag to determine include the falsy variables into the validation | &nbsp; |
1356
+ | arr | | Array to flat deeply | &nbsp; |
1312
1357
 
1313
1358
 
1314
1359
 
@@ -1316,18 +1361,20 @@ Validates if the given argument is empty
1316
1361
  ##### Returns
1317
1362
 
1318
1363
 
1319
- - true: the given argument is empty; false: is not.
1364
+ - flatten array
1320
1365
 
1321
1366
 
1322
1367
 
1323
1368
 
1324
- ### dist/general/mix/isNull.js
1369
+ ### dist/general/array/filterNestedTree.js
1325
1370
 
1326
1371
 
1327
- #### isNull(arg)
1372
+ #### filterNestedTree(arr, childArrKey, condition)
1328
1373
 
1329
- return if a given variable is either `null` or `undefined`
1330
- useful to avoid falsify validating Number Zero (0)
1374
+ Filters a nested tree array by a custom condition on the last child node
1375
+ - If the given arguments are not valid, the function returns the first argument.
1376
+ - If the childArrKey is not matched in the object, the condition tries to resolve the filter anyway and returns an empty array.
1377
+ - If the condition is not fulfilled, the function returns a filtered array, probably a empty array inside of the child array
1331
1378
 
1332
1379
 
1333
1380
 
@@ -1336,7 +1383,9 @@ useful to avoid falsify validating Number Zero (0)
1336
1383
 
1337
1384
  | Name | Type | Description | |
1338
1385
  | ---- | ---- | ----------- | -------- |
1339
- | arg | `any` | | &nbsp; |
1386
+ | arr | | nested tree array | &nbsp; |
1387
+ | childArrKey | | property representing the children array on the nested tree | &nbsp; |
1388
+ | condition | | function callback that determines if the filter is applied on the last child node of the nested tree | &nbsp; |
1340
1389
 
1341
1390
 
1342
1391
 
@@ -1344,19 +1393,17 @@ useful to avoid falsify validating Number Zero (0)
1344
1393
  ##### Returns
1345
1394
 
1346
1395
 
1347
- - `Boolean`
1396
+ - array filtered
1348
1397
 
1349
1398
 
1350
1399
 
1351
1400
 
1352
- ### dist/general/mix/size.js
1401
+ ### dist/general/array/getFirstIndexFromArray.js
1353
1402
 
1354
1403
 
1355
- #### size(obj)
1404
+ #### getFirstIndexFromArray(array, callback)
1356
1405
 
1357
- get the length of an Array or String and also the number of first level attributes
1358
- in an Object.
1359
- For `null` or `undefined` argument the returned value will be 0.
1406
+ Gets the first index from the array by a callback condition
1360
1407
 
1361
1408
 
1362
1409
 
@@ -1365,7 +1412,8 @@ For `null` or `undefined` argument the returned value will be 0.
1365
1412
 
1366
1413
  | Name | Type | Description | |
1367
1414
  | ---- | ---- | ----------- | -------- |
1368
- | obj | `Any` | | &nbsp; |
1415
+ | array | | | &nbsp; |
1416
+ | callback | | function callback | &nbsp; |
1369
1417
 
1370
1418
 
1371
1419
 
@@ -1373,17 +1421,17 @@ For `null` or `undefined` argument the returned value will be 0.
1373
1421
  ##### Returns
1374
1422
 
1375
1423
 
1376
- - `Number`
1424
+ - the first index of the array. -1 when the condition is not satisfied
1377
1425
 
1378
1426
 
1379
1427
 
1380
1428
 
1381
- ### dist/general/mix/randomId.js
1429
+ ### dist/general/array/getLastIndexFromArray.js
1382
1430
 
1383
1431
 
1384
- #### randomId(length)
1432
+ #### getLastIndexFromArray(array, callback)
1385
1433
 
1386
- create random unique string
1434
+ Gets the last index from the array by a callback condition
1387
1435
 
1388
1436
 
1389
1437
 
@@ -1392,7 +1440,8 @@ create random unique string
1392
1440
 
1393
1441
  | Name | Type | Description | |
1394
1442
  | ---- | ---- | ----------- | -------- |
1395
- | length | `Number` | size of the generated string. Default 8 | &nbsp; |
1443
+ | array | | | &nbsp; |
1444
+ | callback | | function callback | &nbsp; |
1396
1445
 
1397
1446
 
1398
1447
 
@@ -1400,17 +1449,17 @@ create random unique string
1400
1449
  ##### Returns
1401
1450
 
1402
1451
 
1403
- - `String`
1452
+ - the last index of the array. -1 when the condition is not satisfied
1404
1453
 
1405
1454
 
1406
1455
 
1407
1456
 
1408
- ### dist/general/string/capitalize.js
1457
+ ### dist/general/function/debounce.js
1409
1458
 
1410
1459
 
1411
- #### capitalize(text)
1460
+ #### debounce(fn, time)
1412
1461
 
1413
- Upper case teh first letter of a given text
1462
+ Delays invoking _fn_ until after _time_ milliseconds have elapsed since the last time the debounced function was invoked.
1414
1463
 
1415
1464
 
1416
1465
 
@@ -1419,7 +1468,8 @@ Upper case teh first letter of a given text
1419
1468
 
1420
1469
  | Name | Type | Description | |
1421
1470
  | ---- | ---- | ----------- | -------- |
1422
- | text | `String` | | &nbsp; |
1471
+ | fn | `Function` | original Function | &nbsp; |
1472
+ | time | `Number` | default 500ms | &nbsp; |
1423
1473
 
1424
1474
 
1425
1475
 
@@ -1427,21 +1477,17 @@ Upper case teh first letter of a given text
1427
1477
  ##### Returns
1428
1478
 
1429
1479
 
1430
- - `String`
1431
-
1480
+ - `Function` debounced functions
1432
1481
 
1433
1482
 
1434
1483
 
1435
- ### dist/general/object/get.js
1436
1484
 
1485
+ ### dist/general/function/throttled.js
1437
1486
 
1438
- #### _get(baseObject, path, defaultValue)
1439
1487
 
1440
- Like lodash _.get.
1441
- Gets the value at path of object. If the resolved value is undefined, the defaultValue is returned in its place.
1488
+ #### throttled(fn, time)
1442
1489
 
1443
- Empty arrays and empty objects are returned but the defaultValue is not
1444
- Undefined and null values will return the defaultValue.
1490
+ Make sure to only invokes _fn_ at most once per every _time_ milliseconds
1445
1491
 
1446
1492
 
1447
1493
 
@@ -1450,52 +1496,26 @@ Undefined and null values will return the defaultValue.
1450
1496
 
1451
1497
  | Name | Type | Description | |
1452
1498
  | ---- | ---- | ----------- | -------- |
1453
- | baseObject | | The object to query | &nbsp; |
1454
- | path | | The string path or collection of string paths of the property to get. | &nbsp; |
1455
- | defaultValue | | The value returned for undefined resolved values. | &nbsp; |
1456
-
1499
+ | fn | `Function` | original Function | &nbsp; |
1500
+ | time | `Number` | default 500ms | &nbsp; |
1457
1501
 
1458
1502
 
1459
1503
 
1460
- ##### Examples
1461
-
1462
- ```javascript
1463
- // returns 'Hello'
1464
- _get({ item1: 'Hello', item2: 'World' }, 'item1')
1465
- ```
1466
- ```javascript
1467
- // returns 'A simple Hello'
1468
- _get({ item1: 'Hello', item2: 'World' }, 'item3', 'A simple Hello')
1469
- ```
1470
- ```javascript
1471
- // returns 'Hello Again'
1472
- _get({ item1: { item11: 'Hello Again' }, item2: {} }, 'item1.item11')
1473
- ```
1474
- ```javascript
1475
- // returns 'Hello 2'
1476
- _get({ item1: ['Hello 1', 'Hello 2' }, item2: [] }, 'item1[1]')
1477
- ```
1478
- ```javascript
1479
- // returns 'Hello Again'
1480
- _get({ item1: { item11: 'Hello Again' }, item2: {} }, ['item1', 'item11'])
1481
- ```
1482
-
1483
1504
 
1484
1505
  ##### Returns
1485
1506
 
1486
1507
 
1487
- - the resolved value.
1508
+ - `Function` throttled function
1488
1509
 
1489
1510
 
1490
1511
 
1491
1512
 
1492
- ### dist/general/object/cloneDeep.js
1513
+ ### dist/general/mix/getTag.js
1493
1514
 
1494
1515
 
1495
- #### cloneDeep(obj)
1516
+ #### getTag(value)
1496
1517
 
1497
- A simple Deep Cloning function. Valid only for primivite values and object with primitive values.
1498
- Not to use this function with inner objects and functions
1518
+ Gets the `toStringTag` of `value`.
1499
1519
 
1500
1520
 
1501
1521
 
@@ -1504,7 +1524,7 @@ Not to use this function with inner objects and functions
1504
1524
 
1505
1525
  | Name | Type | Description | |
1506
1526
  | ---- | ---- | ----------- | -------- |
1507
- | obj | | The object | &nbsp; |
1527
+ | value | | The value to query. | &nbsp; |
1508
1528
 
1509
1529
 
1510
1530
 
@@ -1512,18 +1532,17 @@ Not to use this function with inner objects and functions
1512
1532
  ##### Returns
1513
1533
 
1514
1534
 
1515
- - The new reference object or the given object if the parsing is incorrect or empty
1535
+ - `string` Returns the `toStringTag`.
1516
1536
 
1517
1537
 
1518
1538
 
1519
1539
 
1520
- ### dist/general/object/getAttribute.js
1540
+ ### dist/general/mix/importScripts.js
1521
1541
 
1522
1542
 
1523
- #### getAttribute(obj, key)
1543
+ #### importScripts(scripts)
1524
1544
 
1525
- search for properties in different case styles such as: lower, upper, camel and pascal
1526
- But for this, is required ask for a property in snake_case style
1545
+ Import a set of external Scripts given the URL in both serie and cascade way
1527
1546
 
1528
1547
 
1529
1548
 
@@ -1532,8 +1551,12 @@ But for this, is required ask for a property in snake_case style
1532
1551
 
1533
1552
  | Name | Type | Description | |
1534
1553
  | ---- | ---- | ----------- | -------- |
1535
- | obj | `object` | object to look for | &nbsp; |
1536
- | key | `string` | String attribute in snake_case style | &nbsp; |
1554
+ | scripts | `Array.<String>` `Array.<Object>` | can be an array of string or an array of object with the follow structure: | &nbsp; |
1555
+ | scripts.url | `String` | CDN URL | &nbsp; |
1556
+ | scripts.namespace | `String` `Function` | (Optional) if is a String, that name is evaluated on Window[namespace] object otherwise the Function is invoked expecting a Thrutly value | &nbsp; |
1557
+ | scripts.type | `String` | (Optional) it could be `module` of `text/javascript`. Default `text/javascript` | &nbsp; |
1558
+ | scripts.noModule | `Boolean` | (Optional) add `momodule` attribute to script tag. Default `false` | &nbsp; |
1559
+ | scripts.dependencies | `Array.<Object>` | an array with the same structure to load in cascade mode | &nbsp; |
1537
1560
 
1538
1561
 
1539
1562
 
@@ -1541,24 +1564,41 @@ But for this, is required ask for a property in snake_case style
1541
1564
  ##### Examples
1542
1565
 
1543
1566
  ```javascript
1544
- getAttribute(obj, 'snake_case') //it search for: obj.snake_case || obj.snakeCase || obj.SnakeCase || obj.snakecase || obj.SNAKECASE
1545
- ```
1567
+ // 1) Simple script (paralell loading)
1568
+ importScripts(['http://myscript.js', 'http://another.js']);
1546
1569
 
1570
+ // 2) Loading `.js` and `.esm.js` script (parallel loading)
1571
+ importScripts([
1572
+ { url: 'http://myscript.esm.js', type: 'module' },
1573
+ { url: 'http://myscript.js', noModule: true }
1574
+ ]);
1547
1575
 
1548
- ##### Returns
1576
+ // 3) import dependent scripts (cascade)
1577
+ importScripts([
1578
+ { url: 'http://myscript.js', dependencies: ['http://myscript.plugin.js'] }
1579
+ ]);
1549
1580
 
1581
+ // 4) mix
1582
+ importScripts([
1583
+ { url: 'http://myscript.js', dependencies: ['http://myscript.plugin.js'] },
1584
+ { url: 'http://another.esm.js', type: 'module' },
1585
+ { url: 'http://another.js', noModule: true },
1586
+ 'http://simplescript.js'
1587
+ ]);
1588
+ ```
1550
1589
 
1551
- - `Void`
1552
1590
 
1591
+ ##### Returns
1553
1592
 
1554
1593
 
1594
+ - `Promise` Promise when all script have been loaded
1555
1595
 
1556
- ### dist/general/object/hasProperty.js
1557
1596
 
1558
1597
 
1559
- #### _hasProperty(obj, property)
1598
+ #### loadScript(url, type, noModule)
1560
1599
 
1561
- Use the hasOwnProperty in order to verify if the given property exists in the object.
1600
+ Creates the script element and appends to document.head
1601
+ return a Promise that is resolved when the script is loaded
1562
1602
 
1563
1603
 
1564
1604
 
@@ -1567,38 +1607,55 @@ Use the hasOwnProperty in order to verify if the given property exists in the ob
1567
1607
 
1568
1608
  | Name | Type | Description | |
1569
1609
  | ---- | ---- | ----------- | -------- |
1570
- | obj | `object` | an object | &nbsp; |
1571
- | property | `string` | String to verify if exists in the object as property | &nbsp; |
1610
+ | url | `String` | Cdn Url | &nbsp; |
1611
+ | type | `String` | (Optional) it could be `module` of `text/javascript`. Default `text/javascript` | &nbsp; |
1612
+ | noModule | `boolean` | (Optional) add `momodule` attribute to script tag. Default `false` | &nbsp; |
1572
1613
 
1573
1614
 
1574
1615
 
1575
1616
 
1576
- ##### Examples
1617
+ ##### Returns
1618
+
1619
+
1620
+ - `Void`
1621
+
1622
+
1623
+
1624
+
1625
+ ### dist/general/mix/isNull.js
1626
+
1627
+
1628
+ #### isNull(arg)
1629
+
1630
+ return if a given variable is either `null` or `undefined`
1631
+ useful to avoid falsify validating Number Zero (0)
1632
+
1633
+
1634
+
1635
+
1636
+ ##### Parameters
1637
+
1638
+ | Name | Type | Description | |
1639
+ | ---- | ---- | ----------- | -------- |
1640
+ | arg | `any` | | &nbsp; |
1577
1641
 
1578
- ```javascript
1579
- const prop = 'prop2'
1580
- const obj1 = { prop1: 'hello', prop2: 'world'}
1581
- _hasProperty(ob1, prop1) // true
1582
1642
 
1583
- const obj2 = { prop1: 'hello world' }
1584
- _hasProperty(ob1, prop2) // false
1585
- ```
1586
1643
 
1587
1644
 
1588
1645
  ##### Returns
1589
1646
 
1590
1647
 
1591
- - True if the object has the given property; otherwise, false.
1648
+ - `Boolean`
1592
1649
 
1593
1650
 
1594
1651
 
1595
1652
 
1596
- ### dist/general/object/isObject.js
1653
+ ### dist/general/mix/isEmpty.js
1597
1654
 
1598
1655
 
1599
- #### isObject(obj)
1656
+ #### isEmpty(variable, includeFalsy)
1600
1657
 
1601
- Checks if the given argument is an object type
1658
+ Validates if the given argument is empty
1602
1659
 
1603
1660
 
1604
1661
 
@@ -1607,7 +1664,8 @@ Checks if the given argument is an object type
1607
1664
 
1608
1665
  | Name | Type | Description | |
1609
1666
  | ---- | ---- | ----------- | -------- |
1610
- | obj | | the variable to check | &nbsp; |
1667
+ | variable | | the given variable | &nbsp; |
1668
+ | includeFalsy | | flag to determine include the falsy variables into the validation | &nbsp; |
1611
1669
 
1612
1670
 
1613
1671
 
@@ -1615,18 +1673,19 @@ Checks if the given argument is an object type
1615
1673
  ##### Returns
1616
1674
 
1617
1675
 
1618
- - True: It is an object; False: It is not.
1676
+ - true: the given argument is empty; false: is not.
1619
1677
 
1620
1678
 
1621
1679
 
1622
1680
 
1623
- ### dist/general/object/mapValues.js
1681
+ ### dist/general/mix/randomId.js
1624
1682
 
1625
1683
 
1626
- #### mapValues(baseObject, iteratee)
1684
+ #### randomId(length, exclude)
1627
1685
 
1628
- Invoke iteratee (function) for each object key-value pair
1629
- and return a mapped object
1686
+ Creates a random string
1687
+ - If the first given argument is different than a length number, the variable is replaced by a default number
1688
+ - If the optional second given argument is passed the random string is permutated.
1630
1689
 
1631
1690
 
1632
1691
 
@@ -1635,8 +1694,8 @@ and return a mapped object
1635
1694
 
1636
1695
  | Name | Type | Description | |
1637
1696
  | ---- | ---- | ----------- | -------- |
1638
- | baseObject | `Object` | Base object. | &nbsp; |
1639
- | iteratee | `Function` | The executed per iteration. | &nbsp; |
1697
+ | length | `Number` | size of the generated string. Default 8 | &nbsp; |
1698
+ | exclude | `Array` | collection of strings that is going to be excluded of the random string. | &nbsp; |
1640
1699
 
1641
1700
 
1642
1701
 
@@ -1644,17 +1703,19 @@ and return a mapped object
1644
1703
  ##### Returns
1645
1704
 
1646
1705
 
1647
- - `Object` New mapped object.
1706
+ - `String` Random string
1648
1707
 
1649
1708
 
1650
1709
 
1651
1710
 
1652
- ### dist/general/object/omit.js
1711
+ ### dist/general/mix/size.js
1653
1712
 
1654
1713
 
1655
- #### omit(obj, props)
1714
+ #### size(obj)
1656
1715
 
1657
- return a nwe Object excluding attributes in _props_ list
1716
+ Gets the length of the given array.
1717
+ - Useful for Object, Array and string type.
1718
+ - For `null` or `undefined` or else argument the returned value will be 0.
1658
1719
 
1659
1720
 
1660
1721
 
@@ -1663,8 +1724,7 @@ return a nwe Object excluding attributes in _props_ list
1663
1724
 
1664
1725
  | Name | Type | Description | |
1665
1726
  | ---- | ---- | ----------- | -------- |
1666
- | obj | `Object` | base object | &nbsp; |
1667
- | props | `Array.<String>` | list of attribute to exclude | &nbsp; |
1727
+ | obj | `Any` | Any object-type variable | &nbsp; |
1668
1728
 
1669
1729
 
1670
1730
 
@@ -1672,17 +1732,17 @@ return a nwe Object excluding attributes in _props_ list
1672
1732
  ##### Returns
1673
1733
 
1674
1734
 
1675
- - `Object` clean object
1735
+ - `Number` the size of the given variable
1676
1736
 
1677
1737
 
1678
1738
 
1679
1739
 
1680
- ### dist/general/object/pick.js
1740
+ ### dist/general/string/capitalize.js
1681
1741
 
1682
1742
 
1683
- #### pick(baseObject, keys)
1743
+ #### capitalize(text)
1684
1744
 
1685
- return a new object just with attributes in _keys_ list
1745
+ Upper case the first letter of a given text
1686
1746
 
1687
1747
 
1688
1748
 
@@ -1691,8 +1751,7 @@ return a new object just with attributes in _keys_ list
1691
1751
 
1692
1752
  | Name | Type | Description | |
1693
1753
  | ---- | ---- | ----------- | -------- |
1694
- | baseObject | `Object` | base object | &nbsp; |
1695
- | keys | `Array.<String>` | list of attributes to preserve | &nbsp; |
1754
+ | text | `String` | | &nbsp; |
1696
1755
 
1697
1756
 
1698
1757
 
@@ -1700,17 +1759,18 @@ return a new object just with attributes in _keys_ list
1700
1759
  ##### Returns
1701
1760
 
1702
1761
 
1703
- - `Object` new object just with desired attributes
1762
+ - `String` a capitalized text
1704
1763
 
1705
1764
 
1706
1765
 
1707
1766
 
1708
- ### dist/date/range/getDateRange.js
1767
+ ### dist/general/object/cloneDeep.js
1709
1768
 
1710
1769
 
1711
- #### getDateRange(value, dateGroupLabel, withTime)
1770
+ #### cloneDeep(obj)
1712
1771
 
1713
- Get date range object from a string date value
1772
+ A simple Deep Cloning function. Valid only for primivite values and object with primitive values.
1773
+ Not to use this function with inner objects and functions
1714
1774
 
1715
1775
 
1716
1776
 
@@ -1719,106 +1779,131 @@ Get date range object from a string date value
1719
1779
 
1720
1780
  | Name | Type | Description | |
1721
1781
  | ---- | ---- | ----------- | -------- |
1722
- | value | `String` | string date value | &nbsp; |
1723
- | dateGroupLabel | `String` | could be 'YEAR', 'QUARTER', 'MONTH' or 'DAY'. Deafult is 'DAY' | &nbsp; |
1724
- | withTime | `Boolean` | determines if the date range will include time. Default is true | &nbsp; |
1782
+ | obj | | The object | &nbsp; |
1725
1783
 
1726
1784
 
1727
1785
 
1728
1786
 
1729
- ##### Examples
1787
+ ##### Returns
1730
1788
 
1731
- ```javascript
1732
- // 1) Year:
1733
- getDateRange('2020', 'YEAR');
1734
- // Will return:
1735
- {
1736
- from: '01/01/2020 00:00:00',
1737
- to: '12/31/2020 23:59:59'
1738
- }
1739
1789
 
1740
- // 2) Quarter:
1741
- getDateRange('Q3 2020', 'QUARTER');
1742
- // Will return:
1743
- {
1744
- from: '07/01/2020 00:00:00',
1745
- to: '09/30/2020 23:59:59'
1746
- }
1790
+ - The new reference object or the given object if the parsing is incorrect or empty
1747
1791
 
1748
- // 3) Month:
1749
- getDateRange('Oct 2020', 'MONTH');
1750
- // Will return:
1751
- {
1752
- from: '10/01/2020 00:00:00',
1753
- to: '10/31/2020 23:59:59'
1754
- }
1755
- ```
1756
1792
 
1757
1793
 
1758
- ##### Returns
1794
+
1795
+ ### dist/general/object/get.js
1759
1796
 
1760
1797
 
1761
- - `Object` an object with the date range with two string date properties: from and to
1798
+ #### _get(baseObject, path, defaultValue)
1799
+
1800
+ Like lodash _.get.
1801
+ Gets the value at path of object. If the resolved value is undefined, the defaultValue is returned in its place.
1762
1802
 
1803
+ Empty arrays and empty objects are returned but the defaultValue is not
1804
+ Undefined and null values will return the defaultValue.
1763
1805
 
1764
1806
 
1765
1807
 
1766
- ### dist/date/relative/Adapter.js
1767
1808
 
1809
+ ##### Parameters
1768
1810
 
1769
- #### value()
1811
+ | Name | Type | Description | |
1812
+ | ---- | ---- | ----------- | -------- |
1813
+ | baseObject | | The object to query | &nbsp; |
1814
+ | path | | The string path or collection of string paths of the property to get. | &nbsp; |
1815
+ | defaultValue | | The value returned for undefined resolved values. | &nbsp; |
1770
1816
 
1771
- Resolves statement and returns statement value
1772
1817
 
1773
1818
 
1774
1819
 
1820
+ ##### Examples
1821
+
1822
+ ```javascript
1823
+ // returns 'Hello'
1824
+ _get({ item1: 'Hello', item2: 'World' }, 'item1')
1825
+ ```
1826
+ ```javascript
1827
+ // returns 'A simple Hello'
1828
+ _get({ item1: 'Hello', item2: 'World' }, 'item3', 'A simple Hello')
1829
+ ```
1830
+ ```javascript
1831
+ // returns 'Hello Again'
1832
+ _get({ item1: { item11: 'Hello Again' }, item2: {} }, 'item1.item11')
1833
+ ```
1834
+ ```javascript
1835
+ // returns 'Hello 2'
1836
+ _get({ item1: ['Hello 1', 'Hello 2' }, item2: [] }, 'item1[1]')
1837
+ ```
1838
+ ```javascript
1839
+ // returns 'Hello Again'
1840
+ _get({ item1: { item11: 'Hello Again' }, item2: {} }, ['item1', 'item11'])
1841
+ ```
1842
+
1843
+
1844
+ ##### Returns
1845
+
1775
1846
 
1847
+ - the resolved value.
1776
1848
 
1777
1849
 
1778
- ##### Returns
1779
1850
 
1780
1851
 
1781
- - `AbsoluteRange` `string`
1852
+ ### dist/general/object/hasProperty.js
1782
1853
 
1783
1854
 
1855
+ #### _hasProperty(obj, property)
1784
1856
 
1785
- #### valueAsAnchor()
1857
+ Use the hasOwnProperty in order to verify if the given property exists in the object.
1786
1858
 
1787
- Resolves statement as an anchor
1788
1859
 
1789
1860
 
1790
1861
 
1862
+ ##### Parameters
1791
1863
 
1864
+ | Name | Type | Description | |
1865
+ | ---- | ---- | ----------- | -------- |
1866
+ | obj | `object` | an object | &nbsp; |
1867
+ | property | `string` | String to verify if exists in the object as property | &nbsp; |
1792
1868
 
1793
1869
 
1794
- ##### Returns
1795
1870
 
1796
1871
 
1797
- - `string`
1872
+ ##### Examples
1798
1873
 
1874
+ ```javascript
1875
+ const prop = 'prop2'
1876
+ const obj1 = { prop1: 'hello', prop2: 'world'}
1877
+ _hasProperty(ob1, prop1) // true
1799
1878
 
1879
+ const obj2 = { prop1: 'hello world' }
1880
+ _hasProperty(ob1, prop2) // false
1881
+ ```
1800
1882
 
1801
- #### _statementToRange() *private method*
1802
1883
 
1803
- Convert verbal statement to range value
1884
+ ##### Returns
1804
1885
 
1805
1886
 
1887
+ - True if the object has the given property; otherwise, false.
1806
1888
 
1807
1889
 
1808
1890
 
1809
1891
 
1810
- ##### Returns
1892
+ ### dist/general/object/isObject.js
1811
1893
 
1812
1894
 
1813
- - `AbsoluteRange`
1895
+ #### isObject(obj)
1814
1896
 
1897
+ Checks if the given argument is an object type
1815
1898
 
1816
1899
 
1817
- #### _resolveAsThis() *private method*
1818
1900
 
1819
- Apply 'this' cursor logic to statement
1820
1901
 
1902
+ ##### Parameters
1821
1903
 
1904
+ | Name | Type | Description | |
1905
+ | ---- | ---- | ----------- | -------- |
1906
+ | obj | | the variable to check | &nbsp; |
1822
1907
 
1823
1908
 
1824
1909
 
@@ -1826,45 +1911,46 @@ Apply 'this' cursor logic to statement
1826
1911
  ##### Returns
1827
1912
 
1828
1913
 
1829
- - `AbsoluteStatement`
1830
-
1831
-
1832
-
1833
- #### _resolveAsTheLast() *private method*
1914
+ - True: It is an object; False: It is not.
1834
1915
 
1835
- Apply 'the last' cursor logic to statement
1836
1916
 
1837
1917
 
1838
1918
 
1919
+ ### dist/general/object/mapValues.js
1839
1920
 
1840
1921
 
1922
+ #### mapValues(baseObject, iteratee)
1841
1923
 
1842
- ##### Returns
1924
+ Invoke iteratee (function) for each object key-value pair
1925
+ and return a mapped object
1843
1926
 
1844
1927
 
1845
- - `AbsoluteStatement`
1846
1928
 
1847
1929
 
1930
+ ##### Parameters
1848
1931
 
1849
- #### _resolveAsTheNext() *private method*
1932
+ | Name | Type | Description | |
1933
+ | ---- | ---- | ----------- | -------- |
1934
+ | baseObject | `Object` | Base object. | &nbsp; |
1935
+ | iteratee | `Function` | The executed per iteration. | &nbsp; |
1850
1936
 
1851
- Apply 'the next' cursor logic to statement
1852
1937
 
1853
1938
 
1854
1939
 
1940
+ ##### Returns
1855
1941
 
1856
1942
 
1943
+ - `Object` New mapped object.
1857
1944
 
1858
- ##### Returns
1859
1945
 
1860
1946
 
1861
- - `AbsoluteStatement`
1862
1947
 
1948
+ ### dist/general/object/objectCopy.js
1863
1949
 
1864
1950
 
1865
- #### replaceNowToken(value, now)
1951
+ #### objectCopy(entity, cache)
1866
1952
 
1867
- Replace '@now' token inside a string
1953
+ Created a new reference of the given argument
1868
1954
 
1869
1955
 
1870
1956
 
@@ -1873,8 +1959,8 @@ Replace '@now' token inside a string
1873
1959
 
1874
1960
  | Name | Type | Description | |
1875
1961
  | ---- | ---- | ----------- | -------- |
1876
- | value | `string` | | &nbsp; |
1877
- | now | `Date` | | &nbsp; |
1962
+ | entity | | The variable to be copied | &nbsp; |
1963
+ | cache | | | &nbsp; |
1878
1964
 
1879
1965
 
1880
1966
 
@@ -1882,60 +1968,45 @@ Replace '@now' token inside a string
1882
1968
  ##### Returns
1883
1969
 
1884
1970
 
1885
- - `string`
1971
+ - A new reference of the given argument
1886
1972
 
1887
1973
 
1888
1974
 
1889
- #### convertRelativeToAbsolute(args)
1890
1975
 
1891
- Returns a range object (date) from a group of statement params
1976
+ ### dist/general/object/omit.js
1892
1977
 
1893
1978
 
1979
+ #### omit(obj, props)
1894
1980
 
1981
+ return a nwe Object excluding attributes in _props_ list
1895
1982
 
1896
- ##### Parameters
1897
1983
 
1898
- | Name | Type | Description | |
1899
- | ---- | ---- | ----------- | -------- |
1900
- | args | `RelativeToAbsoluteStruct` | | &nbsp; |
1901
1984
 
1902
1985
 
1986
+ ##### Parameters
1903
1987
 
1988
+ | Name | Type | Description | |
1989
+ | ---- | ---- | ----------- | -------- |
1990
+ | obj | `Object` | base object | &nbsp; |
1991
+ | props | `Array.<String>` | list of attribute to exclude | &nbsp; |
1904
1992
 
1905
- ##### Examples
1906
1993
 
1907
- ```javascript
1908
- pivot = '2021-03-03T12:30:40'
1909
- unit = month
1910
- steps = 2
1911
- setTo = END
1912
- resolverAsCalendar: true
1913
- => Returns '2021-05-31T23:59:59'
1914
- ```
1915
- ```javascript
1916
- pivot = '2021-03-03T12:30:40'
1917
- unit = month
1918
- steps = -2
1919
- setTo = START
1920
- resolverAsCalendar: false
1921
- => Returns '2021-01-03T00:00:00'
1922
- ```
1923
1994
 
1924
1995
 
1925
1996
  ##### Returns
1926
1997
 
1927
1998
 
1928
- - `string`
1999
+ - `Object` clean object
1929
2000
 
1930
2001
 
1931
2002
 
1932
2003
 
1933
- ### dist/date/relative/relative.js
2004
+ ### dist/general/object/pick.js
1934
2005
 
1935
2006
 
1936
- #### resolveRelative(statements, clock)
2007
+ #### pick(baseObject, keys)
1937
2008
 
1938
- Resolve a list of relative statements according to operator
2009
+ return a new object just with attributes in _keys_ list
1939
2010
 
1940
2011
 
1941
2012
 
@@ -1944,34 +2015,16 @@ Resolve a list of relative statements according to operator
1944
2015
 
1945
2016
  | Name | Type | Description | |
1946
2017
  | ---- | ---- | ----------- | -------- |
1947
- | statements | `Array.<RelativeStatement>` `Array.<string>` | - Raw statements/values | &nbsp; |
1948
- | clock | `Date` | - Clock/time reference for relative date resolution | &nbsp; |
1949
-
1950
-
1951
-
1952
-
1953
- ##### Examples
2018
+ | baseObject | `Object` | base object | &nbsp; |
2019
+ | keys | `Array.<String>` | list of attributes to preserve | &nbsp; |
1954
2020
 
1955
- ```javascript
1956
- Input:
1957
- {
1958
- "cursor": "the_next",
1959
- "unit": "year",
1960
- "number": 1,
1961
- "includeCurrent": false,
1962
- "isCalendarDate": false,
1963
- "anchor": "03/05/2021"
1964
- }
1965
2021
 
1966
- Output:
1967
- { gte: "03/06/2021 00:00:00", lte: "03/05/2022 23:59:59" }
1968
- ```
1969
2022
 
1970
2023
 
1971
2024
  ##### Returns
1972
2025
 
1973
2026
 
1974
- - `Array.&lt;AbsoluteRange&gt;` `Array.&lt;string&gt;`
2027
+ - `Object` new object just with desired attributes
1975
2028
 
1976
2029
 
1977
2030
 
@@ -2009,6 +2062,26 @@ someMethod() {
2009
2062
 
2010
2063
 
2011
2064
 
2065
+ ### dist/stencil/util/createRef.js
2066
+
2067
+
2068
+ #### createRef()
2069
+
2070
+ lit implementation of React createRef (https://reactjs.org/docs/refs-and-the-dom.html)
2071
+
2072
+
2073
+
2074
+
2075
+
2076
+
2077
+ ##### Returns
2078
+
2079
+
2080
+ - function - Function to use in ref prop in html elements
2081
+
2082
+
2083
+
2084
+
2012
2085
  ### dist/stencil/util/getConfig.js
2013
2086
 
2014
2087
 
@@ -2040,32 +2113,39 @@ try to find this string as a variable on Windows object
2040
2113
 
2041
2114
 
2042
2115
 
2043
- ### dist/stencil/util/createRef.js
2116
+ ### dist/typescript/decorators/Debounce.js
2044
2117
 
2045
2118
 
2046
- #### createRef()
2119
+ #### Debounce(time)
2047
2120
 
2048
- lit implementation of React createRef (https://reactjs.org/docs/refs-and-the-dom.html)
2121
+ (Method Decorator) Debounce Class Method
2049
2122
 
2050
2123
 
2051
2124
 
2052
2125
 
2126
+ ##### Parameters
2127
+
2128
+ | Name | Type | Description | |
2129
+ | ---- | ---- | ----------- | -------- |
2130
+ | time | | (optional) deafult 500 | &nbsp; |
2131
+
2132
+
2053
2133
 
2054
2134
 
2055
2135
  ##### Returns
2056
2136
 
2057
2137
 
2058
- - function - Function to use in ref prop in html elements
2138
+ - `Void`
2059
2139
 
2060
2140
 
2061
2141
 
2062
2142
 
2063
- ### dist/typescript/decorators/Debounce.js
2143
+ ### dist/typescript/decorators/Throttled.js
2064
2144
 
2065
2145
 
2066
- #### Debounce(time)
2146
+ #### Throttled(time)
2067
2147
 
2068
- (Method Decorator) Debounce Class Method
2148
+ (Method Decorator) Throttled Class Method
2069
2149
 
2070
2150
 
2071
2151
 
@@ -2087,12 +2167,12 @@ lit implementation of React createRef (https://reactjs.org/docs/refs-and-the-dom
2087
2167
 
2088
2168
 
2089
2169
 
2090
- ### dist/typescript/decorators/Throttled.js
2170
+ ### dist/filters/helpers/builder/getFilterBuilderGeneralConfig.js
2091
2171
 
2092
2172
 
2093
- #### Throttled(time)
2173
+ #### getFilterBuilderGeneralConfig(config)
2094
2174
 
2095
- (Method Decorator) Throttled Class Method
2175
+ Returns a filter builder config object by a any given config
2096
2176
 
2097
2177
 
2098
2178
 
@@ -2101,7 +2181,7 @@ lit implementation of React createRef (https://reactjs.org/docs/refs-and-the-dom
2101
2181
 
2102
2182
  | Name | Type | Description | |
2103
2183
  | ---- | ---- | ----------- | -------- |
2104
- | time | | (optional) deafult 500 | &nbsp; |
2184
+ | config | | any config object | &nbsp; |
2105
2185
 
2106
2186
 
2107
2187
 
@@ -2109,7 +2189,7 @@ lit implementation of React createRef (https://reactjs.org/docs/refs-and-the-dom
2109
2189
  ##### Returns
2110
2190
 
2111
2191
 
2112
- - `Void`
2192
+ - The filter builder config object
2113
2193
 
2114
2194
 
2115
2195
 
@@ -2410,33 +2490,6 @@ Gets filters from the logic by the scopes hierarchy.
2410
2490
 
2411
2491
 
2412
2492
 
2413
- ### dist/filters/helpers/builder/getFilterBuilderGeneralConfig.js
2414
-
2415
-
2416
- #### getFilterBuilderGeneralConfig(config)
2417
-
2418
- Returns a filter builder config object by a any given config
2419
-
2420
-
2421
-
2422
-
2423
- ##### Parameters
2424
-
2425
- | Name | Type | Description | |
2426
- | ---- | ---- | ----------- | -------- |
2427
- | config | | any config object | &nbsp; |
2428
-
2429
-
2430
-
2431
-
2432
- ##### Returns
2433
-
2434
-
2435
- - The filter builder config object
2436
-
2437
-
2438
-
2439
-
2440
2493
  ### dist/filters/helpers/common/arePropertiesDateP.js
2441
2494
 
2442
2495
 
@@ -2797,12 +2850,12 @@ Gets filters from Filter Data by Scopes/Scope IDs.
2797
2850
 
2798
2851
 
2799
2852
 
2800
- ### dist/filters/helpers/common/getMergeFiltersSettings.js
2853
+ ### dist/filters/helpers/common/getFiltersByVisibility.js
2801
2854
 
2802
2855
 
2803
- #### getMergeFiltersSettings(settings)
2856
+ #### getFiltersByVisibility(filterData, scopes)
2804
2857
 
2805
- Transforms the given MergeFilters settings object. Adds the missing properties if they do not exist.
2858
+ Get a new Filter Data by filtering scopes/scope IDs and enabled flags
2806
2859
 
2807
2860
 
2808
2861
 
@@ -2811,7 +2864,8 @@ Transforms the given MergeFilters settings object. Adds the missing properties i
2811
2864
 
2812
2865
  | Name | Type | Description | |
2813
2866
  | ---- | ---- | ----------- | -------- |
2814
- | settings | | an object to the MergeFilters settings | &nbsp; |
2867
+ | filterData | | a Filter Data or UI Filter Data | &nbsp; |
2868
+ | scopes | | a Scopes/Scope IDs array | &nbsp; |
2815
2869
 
2816
2870
 
2817
2871
 
@@ -2819,17 +2873,17 @@ Transforms the given MergeFilters settings object. Adds the missing properties i
2819
2873
  ##### Returns
2820
2874
 
2821
2875
 
2822
- - a new MergeFilters settings object.
2876
+ - a new Filter Data
2823
2877
 
2824
2878
 
2825
2879
 
2826
2880
 
2827
- ### dist/filters/helpers/common/getFiltersByVisibility.js
2881
+ ### dist/filters/helpers/common/getMergeFiltersSettings.js
2828
2882
 
2829
2883
 
2830
- #### getFiltersByVisibility(filterData, scopes)
2884
+ #### getMergeFiltersSettings(settings)
2831
2885
 
2832
- Get a new Filter Data by filtering scopes/scope IDs and enabled flags
2886
+ Transforms the given MergeFilters settings object. Adds the missing properties if they do not exist.
2833
2887
 
2834
2888
 
2835
2889
 
@@ -2838,8 +2892,7 @@ Get a new Filter Data by filtering scopes/scope IDs and enabled flags
2838
2892
 
2839
2893
  | Name | Type | Description | |
2840
2894
  | ---- | ---- | ----------- | -------- |
2841
- | filterData | | a Filter Data or UI Filter Data | &nbsp; |
2842
- | scopes | | a Scopes/Scope IDs array | &nbsp; |
2895
+ | settings | | an object to the MergeFilters settings | &nbsp; |
2843
2896
 
2844
2897
 
2845
2898
 
@@ -2847,7 +2900,7 @@ Get a new Filter Data by filtering scopes/scope IDs and enabled flags
2847
2900
  ##### Returns
2848
2901
 
2849
2902
 
2850
- - a new Filter Data
2903
+ - a new MergeFilters settings object.
2851
2904
 
2852
2905
 
2853
2906
 
@@ -3316,6 +3369,33 @@ Excludes and returns a UI Flat Filters without filters by the given scopes
3316
3369
 
3317
3370
 
3318
3371
 
3372
+ ### dist/filters/helpers/ui/getFilterPropertyLabel.js
3373
+
3374
+
3375
+ #### getFilterPropertyLabel(filter)
3376
+
3377
+ Gets the label of the filter property
3378
+
3379
+
3380
+
3381
+
3382
+ ##### Parameters
3383
+
3384
+ | Name | Type | Description | |
3385
+ | ---- | ---- | ----------- | -------- |
3386
+ | filter | | The UI Filter | &nbsp; |
3387
+
3388
+
3389
+
3390
+
3391
+ ##### Returns
3392
+
3393
+
3394
+ - a string of the filter property label
3395
+
3396
+
3397
+
3398
+
3319
3399
  ### dist/filters/helpers/ui/getOutputFormatByColumn.js
3320
3400
 
3321
3401