@qrvey/utils 1.5.0-9 → 1.5.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 (292) hide show
  1. package/README.md +1 -1
  2. package/dist/charts/adapters/endpointData.js +27 -25
  3. package/dist/charts/adapters/endpointDataGet.js +15 -16
  4. package/dist/cjs/charts/adapters/endpointData.js +27 -25
  5. package/dist/cjs/charts/adapters/endpointDataGet.js +15 -16
  6. package/dist/cjs/column_format/helpers/columnTypeByChart.js +1 -2
  7. package/dist/cjs/column_format/helpers/defineTableChartFormat.js +3 -3
  8. package/dist/cjs/column_format/helpers/defineXYChartFormat.js +10 -17
  9. package/dist/cjs/columns/constants/COLUMN.js +1 -1
  10. package/dist/cjs/columns/constants/COLUMN_PROPERTY.js +2 -2
  11. package/dist/cjs/columns/helpers/getDatasetColumn.d.ts +9 -1
  12. package/dist/cjs/columns/helpers/getDatasetColumn.js +31 -4
  13. package/dist/cjs/columns/helpers/getDatasetColumnByDatasets.d.ts +6 -5
  14. package/dist/cjs/columns/helpers/getDatasetColumnByDatasets.js +22 -8
  15. package/dist/cjs/columns/helpers/getModelColumn.d.ts +4 -4
  16. package/dist/cjs/columns/helpers/getModelColumn.js +9 -19
  17. package/dist/cjs/columns/helpers/isComplexColumn.d.ts +5 -0
  18. package/dist/cjs/columns/helpers/isComplexColumn.js +5 -0
  19. package/dist/cjs/columns/helpers/isDateColumn.d.ts +5 -0
  20. package/dist/cjs/columns/helpers/isDateColumn.js +8 -1
  21. package/dist/cjs/columns/helpers/isNumericalColumn.d.ts +5 -0
  22. package/dist/cjs/columns/helpers/isNumericalColumn.js +7 -1
  23. package/dist/cjs/dates/adapters/dateToHms.d.ts +1 -1
  24. package/dist/cjs/dates/adapters/dateToHms.js +6 -8
  25. package/dist/cjs/dates/adapters/dateToMdyDate.js +6 -9
  26. package/dist/cjs/dates/adapters/dateToMonthYear.js +6 -4
  27. package/dist/cjs/dates/adapters/dateToQuarterYear.d.ts +2 -2
  28. package/dist/cjs/dates/adapters/dateToQuarterYear.js +8 -6
  29. package/dist/cjs/dates/adapters/dateToWeekYear.js +5 -3
  30. package/dist/cjs/dates/adapters/dateToYear.d.ts +1 -1
  31. package/dist/cjs/dates/adapters/dateToYear.js +6 -4
  32. package/dist/cjs/dates/adapters/weekYearToDate.js +1 -6
  33. package/dist/cjs/dates/constants/DATE_DISTINCT_PROPERTY.js +1 -1
  34. package/dist/cjs/dates/constants/DATE_FORMAT.js +7 -7
  35. package/dist/cjs/dates/constants/DATE_FORMATS.d.ts +1 -0
  36. package/dist/cjs/dates/constants/DATE_FORMATS.js +22 -0
  37. package/dist/cjs/dates/constants/DATE_GROUPING_ALL_PROPERTIES.d.ts +1 -0
  38. package/dist/cjs/dates/constants/DATE_GROUPING_ALL_PROPERTIES.js +9 -0
  39. package/dist/cjs/dates/constants/DATE_REGULAR_EXPRESSIONS.d.ts +1 -0
  40. package/dist/cjs/dates/constants/DATE_REGULAR_EXPRESSIONS.js +23 -0
  41. package/dist/cjs/dates/constants/DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT.d.ts +3 -0
  42. package/dist/cjs/dates/constants/DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT.js +40 -0
  43. package/dist/cjs/dates/constants/index.d.ts +4 -0
  44. package/dist/cjs/dates/constants/index.js +4 -0
  45. package/dist/cjs/dates/helpers/{includeDateTokens.d.ts → areIncludedDateTokens.d.ts} +1 -1
  46. package/dist/cjs/dates/helpers/{includeDateTokens.js → areIncludedDateTokens.js} +5 -4
  47. package/dist/cjs/dates/helpers/getDateFormatRegularExpressionInArray.d.ts +2 -2
  48. package/dist/cjs/dates/helpers/getDateFormatRegularExpressionInArray.js +9 -42
  49. package/dist/{dates/range → cjs/dates/helpers}/getDateRange.d.ts +3 -3
  50. package/dist/cjs/dates/{range → helpers}/getDateRange.js +73 -69
  51. package/dist/cjs/dates/helpers/getFormattedDateByFormat.d.ts +1 -0
  52. package/dist/cjs/dates/helpers/getFormattedDateByFormat.js +17 -17
  53. package/dist/cjs/dates/helpers/getSeparatorByDateFormat.d.ts +1 -1
  54. package/dist/cjs/dates/helpers/getSeparatorByDateFormat.js +1 -1
  55. package/dist/cjs/dates/helpers/getWeek.d.ts +6 -4
  56. package/dist/cjs/dates/helpers/getWeek.js +6 -3
  57. package/dist/cjs/dates/helpers/index.d.ts +4 -1
  58. package/dist/cjs/dates/helpers/index.js +4 -1
  59. package/dist/cjs/dates/helpers/isValidPotentialDate.d.ts +6 -0
  60. package/dist/cjs/dates/helpers/isValidPotentialDate.js +18 -0
  61. package/dist/cjs/dates/index.d.ts +0 -1
  62. package/dist/cjs/dates/index.js +0 -1
  63. package/dist/cjs/dates/relative/constants/RELATIVE_UNIT_INFO_LIST.js +5 -5
  64. package/dist/cjs/filters/adapters/FDToFlatUI.js +4 -4
  65. package/dist/cjs/filters/adapters/FDToUI.js +3 -3
  66. package/dist/cjs/filters/adapters/UIToFD.js +3 -3
  67. package/dist/cjs/filters/adapters/UIToFlatUI.js +3 -3
  68. package/dist/cjs/filters/adapters/UIToOldLogic.js +6 -6
  69. package/dist/cjs/filters/adapters/adaptFilterData.js +7 -7
  70. package/dist/cjs/filters/adapters/flatUIToFD.js +24 -24
  71. package/dist/cjs/filters/adapters/flatUIToOldLogic.js +42 -49
  72. package/dist/cjs/filters/adapters/flatUIToUI.js +29 -29
  73. package/dist/cjs/filters/adapters/index.d.ts +0 -1
  74. package/dist/cjs/filters/adapters/index.js +0 -1
  75. package/dist/cjs/filters/adapters/logicToFlatUI.js +6 -8
  76. package/dist/cjs/filters/constants/common/FILTER_TOKENS_STRUCTURE_TYPE.d.ts +2 -1
  77. package/dist/cjs/filters/constants/common/FILTER_TOKENS_STRUCTURE_TYPE.js +1 -0
  78. package/dist/cjs/filters/helpers/OLD_getAggFilters.js +5 -4
  79. package/dist/cjs/filters/helpers/backend/buildExpression.js +1 -1
  80. package/dist/cjs/filters/helpers/backend/buildFilters.js +6 -16
  81. package/dist/cjs/filters/helpers/backend/getBackendValidator.js +1 -1
  82. package/dist/cjs/filters/helpers/backend/getBackendValues.js +1 -3
  83. package/dist/cjs/filters/helpers/backend/getLogicByDatasets.js +2 -2
  84. package/dist/cjs/filters/helpers/backend/getLogicByDatasetsColumns.js +2 -2
  85. package/dist/cjs/filters/helpers/backend/getLogicByScopes.js +2 -2
  86. package/dist/cjs/filters/helpers/backend/getLogicByScopesHierarchy.js +0 -2
  87. package/dist/cjs/filters/helpers/common/excludeFiltersByAggregateColumn.js +3 -3
  88. package/dist/cjs/filters/helpers/common/excludeFiltersByParams.js +7 -9
  89. package/dist/cjs/filters/helpers/common/excludeFiltersByScopes.js +3 -3
  90. package/dist/cjs/filters/helpers/common/getFilterLabel.js +1 -1
  91. package/dist/cjs/filters/helpers/common/getFiltersByAggregateColumn.js +3 -3
  92. package/dist/cjs/filters/helpers/common/getFiltersByParams.js +15 -17
  93. package/dist/cjs/filters/helpers/common/getFiltersByScopes.js +3 -3
  94. package/dist/cjs/filters/helpers/common/getFiltersByScopesIds.js +4 -4
  95. package/dist/cjs/filters/helpers/common/getFiltersByVisibility.js +4 -4
  96. package/dist/cjs/filters/helpers/common/mergeFilters.js +23 -19
  97. package/dist/cjs/filters/helpers/common/mergeValues.js +2 -2
  98. package/dist/cjs/filters/helpers/filtersTokensToString.js +4 -1
  99. package/dist/cjs/filters/helpers/getAggFiltersFromFilterData.js +2 -2
  100. package/dist/cjs/filters/helpers/getTokensFromFilters.js +17 -3
  101. package/dist/cjs/filters/helpers/ui/excludeUIFiltersByAggregate.js +2 -2
  102. package/dist/cjs/filters/helpers/ui/excludeUIFlatFiltersByScopes.js +2 -2
  103. package/dist/cjs/filters/helpers/ui/getUIFlatFilterByParams.js +3 -3
  104. package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByParams.js +2 -2
  105. package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByScopes.js +2 -2
  106. package/dist/cjs/filters/helpers/ui/getUIValues.js +9 -11
  107. package/dist/cjs/filters/helpers/ui/transformFilterValues.js +1 -3
  108. package/dist/cjs/filters/services/Filters.api.d.ts +4 -4
  109. package/dist/cjs/filters/services/Filters.api.js +7 -7
  110. package/dist/cjs/filters/services/UChartApi.d.ts +11 -11
  111. package/dist/cjs/filters/services/UChartApi.js +176 -185
  112. package/dist/cjs/filters/services/UChartPaginationApi.d.ts +13 -13
  113. package/dist/cjs/filters/services/UChartPaginationApi.js +198 -212
  114. package/dist/cjs/format/duration/addDurationFormat.d.ts +1 -1
  115. package/dist/cjs/format/duration/addDurationFormat.js +2 -2
  116. package/dist/cjs/format/duration/durationFormatter.d.ts +1 -1
  117. package/dist/cjs/format/duration/durationFormatter.js +7 -6
  118. package/dist/cjs/format/format.js +38 -33
  119. package/dist/cjs/format/localization.js +1 -2
  120. package/dist/cjs/general/mix/importScripts.js +8 -14
  121. package/dist/cjs/general/mix/randomId.js +11 -10
  122. package/dist/cjs/general/object/get.js +4 -4
  123. package/dist/cjs/general/object/getAttribute.js +1 -1
  124. package/dist/cjs/general/object/mapValues.js +2 -2
  125. package/dist/cjs/general/object/mergeDeep.js +6 -4
  126. package/dist/cjs/general/object/serialize.js +3 -3
  127. package/dist/cjs/general/string/padLeadingZeros.js +2 -2
  128. package/dist/cjs/globalization/helpers/getI18nDateGroupLabel.js +13 -10
  129. package/dist/cjs/globalization/helpers/getReverseI18nGroupLabel.js +12 -9
  130. package/dist/cjs/globalization/interfaces/II18nResource.d.ts +1 -1
  131. package/dist/cjs/globalization/interfaces/chart_builder/II18nChartBuilderAxisStyle.d.ts +9 -0
  132. package/dist/cjs/globalization/interfaces/chart_builder/II18nChartBuilderDurationParts.d.ts +1 -0
  133. package/dist/cjs/globalization/interfaces/common/II18nCommon.d.ts +2 -0
  134. package/dist/cjs/globalization/interfaces/filters/II18nTokenBox.d.ts +1 -0
  135. package/dist/cjs/globalization/labels/I18N_DEFAULT.js +1 -1
  136. package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER.js +1 -0
  137. package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER_STYLE_OPTIONS.js +13 -4
  138. package/dist/cjs/globalization/labels/common/I18N_COMMON.js +4 -0
  139. package/dist/cjs/qrvey/helpers/getLookupAnswers.js +4 -6
  140. package/dist/cjs/qrvey/helpers/getValueWithSuffixes.js +1 -1
  141. package/dist/cjs/services/adapters/index.d.ts +2 -1
  142. package/dist/cjs/services/adapters/index.js +2 -1
  143. package/dist/cjs/services/api/getAllDatasets.api.js +6 -8
  144. package/dist/cjs/services/helpers/Request.js +5 -4
  145. package/dist/column_format/helpers/columnTypeByChart.js +1 -2
  146. package/dist/column_format/helpers/defineTableChartFormat.js +4 -4
  147. package/dist/column_format/helpers/defineXYChartFormat.js +10 -17
  148. package/dist/columns/constants/COLUMN.js +1 -1
  149. package/dist/columns/constants/COLUMN_PROPERTY.js +2 -2
  150. package/dist/columns/helpers/getDatasetColumn.d.ts +9 -1
  151. package/dist/columns/helpers/getDatasetColumn.js +31 -4
  152. package/dist/columns/helpers/getDatasetColumnByDatasets.d.ts +6 -5
  153. package/dist/columns/helpers/getDatasetColumnByDatasets.js +22 -8
  154. package/dist/columns/helpers/getModelColumn.d.ts +4 -4
  155. package/dist/columns/helpers/getModelColumn.js +9 -19
  156. package/dist/columns/helpers/isComplexColumn.d.ts +5 -0
  157. package/dist/columns/helpers/isComplexColumn.js +5 -0
  158. package/dist/columns/helpers/isDateColumn.d.ts +5 -0
  159. package/dist/columns/helpers/isDateColumn.js +8 -1
  160. package/dist/columns/helpers/isNumericalColumn.d.ts +5 -0
  161. package/dist/columns/helpers/isNumericalColumn.js +7 -1
  162. package/dist/dates/adapters/dateToHms.d.ts +1 -1
  163. package/dist/dates/adapters/dateToHms.js +6 -8
  164. package/dist/dates/adapters/dateToMdyDate.js +6 -9
  165. package/dist/dates/adapters/dateToMonthYear.js +6 -4
  166. package/dist/dates/adapters/dateToQuarterYear.d.ts +2 -2
  167. package/dist/dates/adapters/dateToQuarterYear.js +8 -6
  168. package/dist/dates/adapters/dateToWeekYear.js +5 -3
  169. package/dist/dates/adapters/dateToYear.d.ts +1 -1
  170. package/dist/dates/adapters/dateToYear.js +6 -4
  171. package/dist/dates/adapters/weekYearToDate.js +1 -6
  172. package/dist/dates/constants/DATE_DISTINCT_PROPERTY.js +1 -1
  173. package/dist/dates/constants/DATE_FORMAT.js +7 -7
  174. package/dist/dates/constants/DATE_FORMATS.d.ts +1 -0
  175. package/dist/dates/constants/DATE_FORMATS.js +19 -0
  176. package/dist/dates/constants/DATE_GROUPING_ALL_PROPERTIES.d.ts +1 -0
  177. package/dist/dates/constants/DATE_GROUPING_ALL_PROPERTIES.js +6 -0
  178. package/dist/dates/constants/DATE_REGULAR_EXPRESSIONS.d.ts +1 -0
  179. package/dist/dates/constants/DATE_REGULAR_EXPRESSIONS.js +20 -0
  180. package/dist/dates/constants/DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT.d.ts +3 -0
  181. package/dist/dates/constants/DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT.js +37 -0
  182. package/dist/dates/constants/index.d.ts +4 -0
  183. package/dist/dates/constants/index.js +4 -0
  184. package/dist/dates/helpers/{includeDateTokens.d.ts → areIncludedDateTokens.d.ts} +1 -1
  185. package/dist/dates/helpers/{includeDateTokens.js → areIncludedDateTokens.js} +3 -2
  186. package/dist/dates/helpers/getDateFormatRegularExpressionInArray.d.ts +2 -2
  187. package/dist/dates/helpers/getDateFormatRegularExpressionInArray.js +9 -42
  188. package/dist/{cjs/dates/range → dates/helpers}/getDateRange.d.ts +3 -3
  189. package/dist/dates/{range → helpers}/getDateRange.js +73 -69
  190. package/dist/dates/helpers/getFormattedDateByFormat.d.ts +1 -0
  191. package/dist/dates/helpers/getFormattedDateByFormat.js +17 -17
  192. package/dist/dates/helpers/getSeparatorByDateFormat.d.ts +1 -1
  193. package/dist/dates/helpers/getSeparatorByDateFormat.js +1 -1
  194. package/dist/dates/helpers/getWeek.d.ts +6 -4
  195. package/dist/dates/helpers/getWeek.js +6 -3
  196. package/dist/dates/helpers/index.d.ts +4 -1
  197. package/dist/dates/helpers/index.js +4 -1
  198. package/dist/dates/helpers/isValidPotentialDate.d.ts +6 -0
  199. package/dist/dates/helpers/isValidPotentialDate.js +14 -0
  200. package/dist/dates/index.d.ts +0 -1
  201. package/dist/dates/index.js +0 -1
  202. package/dist/dates/relative/constants/RELATIVE_UNIT_INFO_LIST.js +5 -5
  203. package/dist/filters/adapters/FDToFlatUI.js +4 -4
  204. package/dist/filters/adapters/FDToUI.js +3 -3
  205. package/dist/filters/adapters/UIToFD.js +3 -3
  206. package/dist/filters/adapters/UIToFlatUI.js +3 -3
  207. package/dist/filters/adapters/UIToOldLogic.js +6 -6
  208. package/dist/filters/adapters/adaptFilterData.js +7 -7
  209. package/dist/filters/adapters/flatUIToFD.js +24 -24
  210. package/dist/filters/adapters/flatUIToOldLogic.js +42 -49
  211. package/dist/filters/adapters/flatUIToUI.js +29 -29
  212. package/dist/filters/adapters/index.d.ts +0 -1
  213. package/dist/filters/adapters/index.js +0 -1
  214. package/dist/filters/adapters/logicToFlatUI.js +6 -8
  215. package/dist/filters/constants/common/FILTER_TOKENS_STRUCTURE_TYPE.d.ts +2 -1
  216. package/dist/filters/constants/common/FILTER_TOKENS_STRUCTURE_TYPE.js +1 -0
  217. package/dist/filters/helpers/OLD_getAggFilters.js +5 -4
  218. package/dist/filters/helpers/backend/buildExpression.js +1 -1
  219. package/dist/filters/helpers/backend/buildFilters.js +6 -16
  220. package/dist/filters/helpers/backend/getBackendValidator.js +1 -1
  221. package/dist/filters/helpers/backend/getBackendValues.js +1 -3
  222. package/dist/filters/helpers/backend/getLogicByDatasets.js +2 -2
  223. package/dist/filters/helpers/backend/getLogicByDatasetsColumns.js +2 -2
  224. package/dist/filters/helpers/backend/getLogicByScopes.js +2 -2
  225. package/dist/filters/helpers/backend/getLogicByScopesHierarchy.js +0 -2
  226. package/dist/filters/helpers/common/excludeFiltersByAggregateColumn.js +3 -3
  227. package/dist/filters/helpers/common/excludeFiltersByParams.js +7 -9
  228. package/dist/filters/helpers/common/excludeFiltersByScopes.js +3 -3
  229. package/dist/filters/helpers/common/getFilterLabel.js +1 -1
  230. package/dist/filters/helpers/common/getFiltersByAggregateColumn.js +3 -3
  231. package/dist/filters/helpers/common/getFiltersByParams.js +15 -17
  232. package/dist/filters/helpers/common/getFiltersByScopes.js +3 -3
  233. package/dist/filters/helpers/common/getFiltersByScopesIds.js +4 -4
  234. package/dist/filters/helpers/common/getFiltersByVisibility.js +4 -4
  235. package/dist/filters/helpers/common/mergeFilters.js +23 -19
  236. package/dist/filters/helpers/common/mergeValues.js +2 -2
  237. package/dist/filters/helpers/filtersTokensToString.js +4 -1
  238. package/dist/filters/helpers/getAggFiltersFromFilterData.js +2 -2
  239. package/dist/filters/helpers/getTokensFromFilters.js +17 -3
  240. package/dist/filters/helpers/ui/excludeUIFiltersByAggregate.js +2 -2
  241. package/dist/filters/helpers/ui/excludeUIFlatFiltersByScopes.js +2 -2
  242. package/dist/filters/helpers/ui/getUIFlatFilterByParams.js +3 -3
  243. package/dist/filters/helpers/ui/getUIFlatFiltersByParams.js +2 -2
  244. package/dist/filters/helpers/ui/getUIFlatFiltersByScopes.js +2 -2
  245. package/dist/filters/helpers/ui/getUIValues.js +9 -11
  246. package/dist/filters/helpers/ui/transformFilterValues.js +1 -3
  247. package/dist/filters/services/Filters.api.d.ts +4 -4
  248. package/dist/filters/services/Filters.api.js +7 -7
  249. package/dist/filters/services/UChartApi.d.ts +11 -11
  250. package/dist/filters/services/UChartApi.js +176 -185
  251. package/dist/filters/services/UChartPaginationApi.d.ts +13 -13
  252. package/dist/filters/services/UChartPaginationApi.js +198 -212
  253. package/dist/format/duration/addDurationFormat.d.ts +1 -1
  254. package/dist/format/duration/addDurationFormat.js +2 -2
  255. package/dist/format/duration/durationFormatter.d.ts +1 -1
  256. package/dist/format/duration/durationFormatter.js +7 -6
  257. package/dist/format/format.js +38 -33
  258. package/dist/format/localization.js +1 -2
  259. package/dist/general/mix/importScripts.js +8 -14
  260. package/dist/general/mix/randomId.js +11 -10
  261. package/dist/general/object/get.js +4 -4
  262. package/dist/general/object/getAttribute.js +1 -1
  263. package/dist/general/object/mapValues.js +2 -2
  264. package/dist/general/object/mergeDeep.js +6 -4
  265. package/dist/general/object/serialize.js +3 -3
  266. package/dist/general/string/padLeadingZeros.js +2 -2
  267. package/dist/globalization/helpers/getI18nDateGroupLabel.js +13 -10
  268. package/dist/globalization/helpers/getReverseI18nGroupLabel.js +12 -9
  269. package/dist/globalization/interfaces/II18nResource.d.ts +1 -1
  270. package/dist/globalization/interfaces/chart_builder/II18nChartBuilderAxisStyle.d.ts +9 -0
  271. package/dist/globalization/interfaces/chart_builder/II18nChartBuilderDurationParts.d.ts +1 -0
  272. package/dist/globalization/interfaces/common/II18nCommon.d.ts +2 -0
  273. package/dist/globalization/interfaces/filters/II18nTokenBox.d.ts +1 -0
  274. package/dist/globalization/labels/I18N_DEFAULT.js +2 -2
  275. package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER.js +1 -0
  276. package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER_STYLE_OPTIONS.js +13 -4
  277. package/dist/globalization/labels/common/I18N_COMMON.js +4 -0
  278. package/dist/qrvey/helpers/getLookupAnswers.js +4 -6
  279. package/dist/qrvey/helpers/getValueWithSuffixes.js +1 -1
  280. package/dist/services/adapters/index.d.ts +2 -1
  281. package/dist/services/adapters/index.js +2 -1
  282. package/dist/services/api/getAllDatasets.api.js +6 -8
  283. package/dist/services/helpers/Request.js +5 -4
  284. package/package.json +5 -5
  285. package/dist/cjs/dates/range/index.d.ts +0 -1
  286. package/dist/cjs/dates/range/index.js +0 -17
  287. package/dist/cjs/filters/adapters/transformFilters.d.ts +0 -60
  288. package/dist/cjs/filters/adapters/transformFilters.js +0 -427
  289. package/dist/dates/range/index.d.ts +0 -1
  290. package/dist/dates/range/index.js +0 -1
  291. package/dist/filters/adapters/transformFilters.d.ts +0 -60
  292. package/dist/filters/adapters/transformFilters.js +0 -423
@@ -0,0 +1,19 @@
1
+ import { DATE_FORMAT } from "./DATE_FORMAT";
2
+ export const DATE_FORMATS = [
3
+ DATE_FORMAT.YEAR,
4
+ DATE_FORMAT.MONTH,
5
+ DATE_FORMAT.QUARTER,
6
+ DATE_FORMAT.WEEK,
7
+ DATE_FORMAT.DAY,
8
+ DATE_FORMAT.DAY_TIME,
9
+ DATE_FORMAT.HOUR,
10
+ DATE_FORMAT.MINUTE,
11
+ DATE_FORMAT.SECOND,
12
+ DATE_FORMAT.MONTH_DAY,
13
+ DATE_FORMAT.YEAR_MONTH,
14
+ DATE_FORMAT.YEAR_QUARTER,
15
+ DATE_FORMAT.YEAR_WEEK,
16
+ DATE_FORMAT.DAY_HOUR,
17
+ DATE_FORMAT.HOUR_MINUTE,
18
+ DATE_FORMAT.MINUTE_SECOND,
19
+ ];
@@ -0,0 +1 @@
1
+ export declare const DATE_GROUPING_ALL_PROPERTIES: (import("./DATE_GROUPING_TIME_PROPERTY").DATE_GROUPING_TIME_PROPERTY | import("./DATE_GROUPING_PROPERTY").DATE_GROUPING_PROPERTY)[];
@@ -0,0 +1,6 @@
1
+ import { DATE_GROUPING_PROPERTIES } from "./DATE_GROUPING_PROPERTIES";
2
+ import { DATE_GROUPING_TIME_PROPERTIES } from "./DATE_GROUPING_TIME_PROPERTIES";
3
+ export const DATE_GROUPING_ALL_PROPERTIES = [
4
+ ...DATE_GROUPING_PROPERTIES,
5
+ ...DATE_GROUPING_TIME_PROPERTIES,
6
+ ];
@@ -0,0 +1 @@
1
+ export declare const DATE_REGULAR_EXPRESSIONS: string[];
@@ -0,0 +1,20 @@
1
+ import { DATE_REGULAR_EXPRESSION } from "./DATE_REGULAR_EXPRESSION";
2
+ export const DATE_REGULAR_EXPRESSIONS = [
3
+ DATE_REGULAR_EXPRESSION.YEAR,
4
+ DATE_REGULAR_EXPRESSION.MONTH,
5
+ DATE_REGULAR_EXPRESSION.QUARTER,
6
+ DATE_REGULAR_EXPRESSION.WEEK,
7
+ DATE_REGULAR_EXPRESSION.DAY,
8
+ DATE_REGULAR_EXPRESSION.DAY_TIME,
9
+ DATE_REGULAR_EXPRESSION.HOUR,
10
+ DATE_REGULAR_EXPRESSION.MINUTE,
11
+ DATE_REGULAR_EXPRESSION.SECOND,
12
+ DATE_REGULAR_EXPRESSION.MONTH_DAY,
13
+ DATE_REGULAR_EXPRESSION.YEAR_MONTH,
14
+ DATE_REGULAR_EXPRESSION.YEAR_MONTH_NUMBER,
15
+ DATE_REGULAR_EXPRESSION.YEAR_QUARTER,
16
+ DATE_REGULAR_EXPRESSION.YEAR_WEEK,
17
+ DATE_REGULAR_EXPRESSION.DAY_HOUR,
18
+ DATE_REGULAR_EXPRESSION.HOUR_MINUTE,
19
+ DATE_REGULAR_EXPRESSION.MINUTE_SECOND,
20
+ ];
@@ -0,0 +1,3 @@
1
+ export declare const DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT: {
2
+ [x: string]: string[];
3
+ };
@@ -0,0 +1,37 @@
1
+ import { DATE_FORMAT } from "./DATE_FORMAT";
2
+ import { DATE_REGULAR_EXPRESSION } from "./DATE_REGULAR_EXPRESSION";
3
+ const DATE_TIME_REGULAR_EXPRESSION = [
4
+ DATE_REGULAR_EXPRESSION.DAY,
5
+ DATE_REGULAR_EXPRESSION.DAY_TIME,
6
+ ];
7
+ export const DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT = {
8
+ [DATE_FORMAT.YEAR]: [DATE_REGULAR_EXPRESSION.YEAR],
9
+ [DATE_FORMAT.MONTH]: [
10
+ DATE_REGULAR_EXPRESSION.YEAR_MONTH,
11
+ DATE_REGULAR_EXPRESSION.YEAR,
12
+ ],
13
+ [DATE_FORMAT.QUARTER]: [
14
+ DATE_REGULAR_EXPRESSION.YEAR_QUARTER,
15
+ DATE_REGULAR_EXPRESSION.YEAR,
16
+ ],
17
+ [DATE_FORMAT.WEEK]: [
18
+ DATE_REGULAR_EXPRESSION.YEAR_WEEK,
19
+ DATE_REGULAR_EXPRESSION.YEAR,
20
+ ],
21
+ [DATE_FORMAT.DAY_TIME]: [DATE_REGULAR_EXPRESSION.DAY_TIME],
22
+ [DATE_FORMAT.HOUR]: DATE_TIME_REGULAR_EXPRESSION,
23
+ [DATE_FORMAT.MINUTE]: DATE_TIME_REGULAR_EXPRESSION,
24
+ [DATE_FORMAT.SECOND]: DATE_TIME_REGULAR_EXPRESSION,
25
+ [DATE_FORMAT.MONTH_DAY]: [DATE_REGULAR_EXPRESSION.MONTH_DAY],
26
+ [DATE_FORMAT.YEAR_MONTH]: [DATE_REGULAR_EXPRESSION.YEAR_MONTH],
27
+ [DATE_FORMAT.YEAR_QUARTER]: [DATE_REGULAR_EXPRESSION.YEAR_QUARTER],
28
+ [DATE_FORMAT.YEAR_WEEK]: [DATE_REGULAR_EXPRESSION.YEAR_WEEK],
29
+ [DATE_FORMAT.DAY_HOUR]: [DATE_REGULAR_EXPRESSION.DAY_HOUR],
30
+ [DATE_FORMAT.HOUR_MINUTE]: [DATE_REGULAR_EXPRESSION.HOUR_MINUTE],
31
+ [DATE_FORMAT.MINUTE_SECOND]: [DATE_REGULAR_EXPRESSION.MINUTE_SECOND],
32
+ [DATE_FORMAT.DAY]: [
33
+ DATE_REGULAR_EXPRESSION.YEAR_MONTH_NUMBER,
34
+ DATE_REGULAR_EXPRESSION.MONTH_DAY,
35
+ DATE_REGULAR_EXPRESSION.YEAR,
36
+ ],
37
+ };
@@ -12,6 +12,8 @@ export * from "./DATE_DISTINCT_TIME_PROPERTY_INFO";
12
12
  export * from "./DATE_DISTINCT_TIME_PROPERTY_LABEL";
13
13
  export * from "./DATE_DISTINCT_TIME_PROPERTY";
14
14
  export * from "./DATE_FORMAT";
15
+ export * from "./DATE_FORMATS";
16
+ export * from "./DATE_GROUPING_ALL_PROPERTIES";
15
17
  export * from "./DATE_GROUPING_PROPERTIES";
16
18
  export * from "./DATE_GROUPING_PROPERTY_INFO_LIST";
17
19
  export * from "./DATE_GROUPING_PROPERTY_INFO";
@@ -25,7 +27,9 @@ export * from "./DATE_GROUPING_TIME_PROPERTY";
25
27
  export * from "./DATE_HOUR_MINUTES";
26
28
  export * from "./DATE_MINUTE_SECONDS";
27
29
  export * from "./DATE_MONTH_DAYS";
30
+ export * from "./DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT";
28
31
  export * from "./DATE_REGULAR_EXPRESSION";
32
+ export * from "./DATE_REGULAR_EXPRESSIONS";
29
33
  export * from "./DATE_WEEK_DAYS_DDDD";
30
34
  export * from "./DATE_WEEK_DAYS";
31
35
  export * from "./DATE_YEAR_DAYS";
@@ -12,6 +12,8 @@ export * from "./DATE_DISTINCT_TIME_PROPERTY_INFO";
12
12
  export * from "./DATE_DISTINCT_TIME_PROPERTY_LABEL";
13
13
  export * from "./DATE_DISTINCT_TIME_PROPERTY";
14
14
  export * from "./DATE_FORMAT";
15
+ export * from "./DATE_FORMATS";
16
+ export * from "./DATE_GROUPING_ALL_PROPERTIES";
15
17
  export * from "./DATE_GROUPING_PROPERTIES";
16
18
  export * from "./DATE_GROUPING_PROPERTY_INFO_LIST";
17
19
  export * from "./DATE_GROUPING_PROPERTY_INFO";
@@ -25,7 +27,9 @@ export * from "./DATE_GROUPING_TIME_PROPERTY";
25
27
  export * from "./DATE_HOUR_MINUTES";
26
28
  export * from "./DATE_MINUTE_SECONDS";
27
29
  export * from "./DATE_MONTH_DAYS";
30
+ export * from "./DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT";
28
31
  export * from "./DATE_REGULAR_EXPRESSION";
32
+ export * from "./DATE_REGULAR_EXPRESSIONS";
29
33
  export * from "./DATE_WEEK_DAYS_DDDD";
30
34
  export * from "./DATE_WEEK_DAYS";
31
35
  export * from "./DATE_YEAR_DAYS";
@@ -6,4 +6,4 @@ import { IDateFormat } from "../interfaces/IDateFormat";
6
6
  * @param format The date format
7
7
  * @returns true: include tokens; false: otherwise
8
8
  */
9
- export declare function includeDateTokens(date: string, format: IDateFormat): boolean;
9
+ export declare function areIncludedDateTokens(date: string, format?: IDateFormat): boolean;
@@ -1,5 +1,6 @@
1
1
  import { isEmpty } from "../../general/mix/isEmpty";
2
2
  import { isTokenLabel } from "../../tokens/isTokenLabel";
3
+ import { DATE_FORMAT } from "../constants/DATE_FORMAT";
3
4
  import { getSeparatorByDateFormat } from "./getSeparatorByDateFormat";
4
5
  /**
5
6
  * Determines if the given date has tokens. The date is splitted depending on date format.
@@ -8,9 +9,9 @@ import { getSeparatorByDateFormat } from "./getSeparatorByDateFormat";
8
9
  * @param format The date format
9
10
  * @returns true: include tokens; false: otherwise
10
11
  */
11
- export function includeDateTokens(date, format) {
12
+ export function areIncludedDateTokens(date, format = DATE_FORMAT.DAY) {
12
13
  let hasTokens = false;
13
- if (!isEmpty(date)) {
14
+ if (!isEmpty(date) && typeof date === "string") {
14
15
  if (isTokenLabel(date))
15
16
  hasTokens = true;
16
17
  else {
@@ -1,8 +1,8 @@
1
1
  import { IDateFormat } from "../interfaces/IDateFormat";
2
2
  /**
3
3
  * Gets an array of regular expressions by the given date format.
4
- * Day date format is the default
5
- * @param dateFormat the date format
4
+ * Day format is the default date format
5
+ * @param {IDateFormat} dateFormat an string of the format
6
6
  * @returns an array of regular expressions
7
7
  */
8
8
  export declare function getDateFormatRegularExpressionInArray(dateFormat?: IDateFormat): string[];
@@ -1,49 +1,16 @@
1
+ import { isEmpty } from "../../general/mix/isEmpty";
1
2
  import { DATE_FORMAT } from "../constants/DATE_FORMAT";
2
- import { DATE_REGULAR_EXPRESSION } from "../constants/DATE_REGULAR_EXPRESSION";
3
+ import { DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT } from "../constants/DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT";
3
4
  /**
4
5
  * Gets an array of regular expressions by the given date format.
5
- * Day date format is the default
6
- * @param dateFormat the date format
6
+ * Day format is the default date format
7
+ * @param {IDateFormat} dateFormat an string of the format
7
8
  * @returns an array of regular expressions
8
9
  */
9
10
  export function getDateFormatRegularExpressionInArray(dateFormat = DATE_FORMAT.DAY) {
10
- switch (dateFormat) {
11
- case DATE_FORMAT.YEAR:
12
- return [DATE_REGULAR_EXPRESSION.YEAR];
13
- case DATE_FORMAT.MONTH:
14
- return [DATE_REGULAR_EXPRESSION.YEAR_MONTH, DATE_REGULAR_EXPRESSION.YEAR];
15
- case DATE_FORMAT.QUARTER:
16
- return [
17
- DATE_REGULAR_EXPRESSION.YEAR_QUARTER,
18
- DATE_REGULAR_EXPRESSION.YEAR,
19
- ];
20
- case DATE_FORMAT.WEEK:
21
- return [DATE_REGULAR_EXPRESSION.YEAR_WEEK, DATE_REGULAR_EXPRESSION.YEAR];
22
- case DATE_FORMAT.DAY_TIME:
23
- return [DATE_REGULAR_EXPRESSION.DAY_TIME];
24
- case DATE_FORMAT.HOUR:
25
- case DATE_FORMAT.MINUTE:
26
- case DATE_FORMAT.SECOND:
27
- return [DATE_REGULAR_EXPRESSION.DAY, DATE_REGULAR_EXPRESSION.DAY_TIME];
28
- case DATE_FORMAT.MONTH_DAY:
29
- return [DATE_REGULAR_EXPRESSION.MONTH_DAY];
30
- case DATE_FORMAT.YEAR_MONTH:
31
- return [DATE_REGULAR_EXPRESSION.YEAR_MONTH];
32
- case DATE_FORMAT.YEAR_QUARTER:
33
- return [DATE_REGULAR_EXPRESSION.YEAR_QUARTER];
34
- case DATE_FORMAT.YEAR_WEEK:
35
- return [DATE_REGULAR_EXPRESSION.YEAR_WEEK];
36
- case DATE_FORMAT.DAY_HOUR:
37
- return [DATE_REGULAR_EXPRESSION.DAY_HOUR];
38
- case DATE_FORMAT.HOUR_MINUTE:
39
- return [DATE_REGULAR_EXPRESSION.HOUR_MINUTE];
40
- case DATE_FORMAT.MINUTE_SECOND:
41
- return [DATE_REGULAR_EXPRESSION.MINUTE_SECOND];
42
- default:
43
- return [
44
- DATE_REGULAR_EXPRESSION.YEAR_MONTH_NUMBER,
45
- DATE_REGULAR_EXPRESSION.MONTH_DAY,
46
- DATE_REGULAR_EXPRESSION.YEAR,
47
- ];
48
- }
11
+ const defaultRegularExpression = DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT[DATE_FORMAT.DAY];
12
+ if (isEmpty(dateFormat))
13
+ return defaultRegularExpression;
14
+ return (DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT[dateFormat] ||
15
+ defaultRegularExpression);
49
16
  }
@@ -1,10 +1,10 @@
1
+ import { IDateGroupingProperty } from "../interfaces/IDateGroupingProperty";
1
2
  /**
2
3
  * Get date range object from a string date value
3
4
  *
4
5
  * @param {String} value string date value
5
- * @param {String} dateGroupLabel could be 'YEAR', 'QUARTER', 'MONTH' or 'DAY'. Deafult is 'DAY'
6
+ * @param {String} dateGroupProperty could be 'YEAR', 'QUARTER', 'MONTH' or 'DAY'. Deafult is 'DAY'
6
7
  * @param {Boolean} withTime determines if the date range will include time. Default is true
7
- *
8
8
  * @returns {Object} an object with the date range with two string date properties: from and to
9
9
  *
10
10
  * @example
@@ -32,7 +32,7 @@
32
32
  * to: '10/31/2020 23:59:59'
33
33
  * }
34
34
  */
35
- export declare function getDateRange(value: string, dateGroupLabel?: string, withTime?: boolean): {
35
+ export declare function getDateRange(value: string, dateGroupProperty?: IDateGroupingProperty, withTime?: boolean): {
36
36
  from?: string;
37
37
  to?: string;
38
38
  };
@@ -1,13 +1,15 @@
1
1
  import { capitalize } from "../../general/string/capitalize";
2
2
  import { isTokenLabel } from "../../tokens/isTokenLabel";
3
- import { isValidDateObject } from "../helpers/isValidDateObject";
3
+ import { DATE_GROUPING_PROPERTY } from "../constants/DATE_GROUPING_PROPERTY";
4
+ import { DATE_GROUPING_TIME_PROPERTY } from "../constants/DATE_GROUPING_TIME_PROPERTY";
5
+ import { getWeek } from "./getWeek";
6
+ import { isValidDateObject } from "./isValidDateObject";
4
7
  /**
5
8
  * Get date range object from a string date value
6
9
  *
7
10
  * @param {String} value string date value
8
- * @param {String} dateGroupLabel could be 'YEAR', 'QUARTER', 'MONTH' or 'DAY'. Deafult is 'DAY'
11
+ * @param {String} dateGroupProperty could be 'YEAR', 'QUARTER', 'MONTH' or 'DAY'. Deafult is 'DAY'
9
12
  * @param {Boolean} withTime determines if the date range will include time. Default is true
10
- *
11
13
  * @returns {Object} an object with the date range with two string date properties: from and to
12
14
  *
13
15
  * @example
@@ -35,57 +37,29 @@ import { isValidDateObject } from "../helpers/isValidDateObject";
35
37
  * to: '10/31/2020 23:59:59'
36
38
  * }
37
39
  */
38
- export function getDateRange(value, dateGroupLabel = "DAY", withTime = true) {
39
- const upperCaseDateGroup = dateGroupLabel.toUpperCase();
40
- const [timeFrom, timeTo] = withTime
41
- ? getStringTimeRange(value, upperCaseDateGroup)
42
- : ["", ""];
40
+ export function getDateRange(value, dateGroupProperty = DATE_GROUPING_PROPERTY.DAY, withTime = true) {
41
+ const timeRange = getTimeRange(value, dateGroupProperty, withTime);
43
42
  const isToken = isTokenLabel(value);
44
- switch (upperCaseDateGroup) {
45
- case "YEAR": {
46
- const yearRange = !isToken
47
- ? getYearRange(value)
48
- : { from: `01/01/${value}`, to: `12/31/${value}` };
49
- return getRange(`${yearRange.from}${timeFrom}`, `${yearRange.to}${timeTo}`);
50
- }
51
- case "QUARTER": {
52
- const quarterRange = !isToken
53
- ? getQuarterRange(value)
54
- : { from: value, to: value };
55
- return getRange(`${quarterRange.from}${timeFrom}`, `${quarterRange.to}${timeTo}`);
56
- }
57
- case "MONTH": {
58
- const monthRange = monthIncludeTokens(value)
59
- ? getMonthRangeWithToken(value)
60
- : getMonthRange(value);
61
- return getRange(`${monthRange.from}${timeFrom}`, `${monthRange.to}${timeTo}`);
62
- }
63
- case "WEEK": {
64
- const weekRange = !isToken
65
- ? getWeekRange(value)
66
- : { from: value, to: value };
67
- return getRange(`${weekRange.from}${timeFrom}`, `${weekRange.to}${timeTo}`);
68
- }
69
- case "HOUR": {
70
- const hourRange = !isToken
71
- ? getHourRange(value)
72
- : { from: value, to: value };
73
- return getRange(hourRange.from, hourRange.to);
74
- }
75
- case "MINUTE": {
76
- const minuteRange = !isToken
77
- ? getMinuteRange(value)
78
- : { from: value, to: value };
79
- return getRange(minuteRange.from, minuteRange.to);
80
- }
81
- default: {
82
- const dayFrom = new Date(value);
83
- const dayTo = new Date(value);
84
- const includTokens = includeTokens(value, "/");
85
- return getRange(`${!includTokens ? getStringDate(dayFrom) : value}${timeFrom}`, `${!includTokens ? getStringDate(dayTo) : value}${timeTo}`);
86
- }
43
+ switch (dateGroupProperty) {
44
+ case DATE_GROUPING_PROPERTY.YEAR:
45
+ return getFullYearRange(value, timeRange, isToken);
46
+ case DATE_GROUPING_PROPERTY.QUARTER:
47
+ return getFullQuarterRange(value, timeRange, isToken);
48
+ case DATE_GROUPING_PROPERTY.MONTH:
49
+ return getFullMonthRange(value, timeRange);
50
+ case DATE_GROUPING_PROPERTY.WEEK:
51
+ return getFullWeekRange(value, timeRange, isToken);
52
+ case DATE_GROUPING_TIME_PROPERTY.HOUR:
53
+ return getFullHourRange(value, isToken);
54
+ case DATE_GROUPING_TIME_PROPERTY.MINUTE:
55
+ return getFullMinuteRange(value, isToken);
56
+ default:
57
+ return getFullDayRange(value, timeRange);
87
58
  }
88
59
  }
60
+ function getTimeRange(value, dateGroupProperty = DATE_GROUPING_PROPERTY.DAY, withTime = true) {
61
+ return withTime ? getStringTimeRange(value, dateGroupProperty) : ["", ""];
62
+ }
89
63
  function getRange(from, to) {
90
64
  return {
91
65
  from,
@@ -98,9 +72,9 @@ function getStringTimeRange(value, dateGroupLabel) {
98
72
  const hours = addLeadingZero(dateValue.getHours());
99
73
  const minutes = addLeadingZero(dateValue.getMinutes());
100
74
  switch (dateGroupLabel) {
101
- case "HOUR":
75
+ case DATE_GROUPING_TIME_PROPERTY.HOUR:
102
76
  return [` ${hours}:00:00`, ` ${hours}:59:59`];
103
- case "MINUTE":
77
+ case DATE_GROUPING_TIME_PROPERTY.MINUTE:
104
78
  return [` ${hours}:${minutes}:00`, ` ${hours}:${minutes}:59`];
105
79
  default:
106
80
  return [" 00:00:00", " 23:59:59"];
@@ -113,10 +87,19 @@ function getStringTimeRange(value, dateGroupLabel) {
113
87
  */
114
88
  function getStringDate(dt) {
115
89
  if (isValidDateObject(dt)) {
116
- return `${("0" + (dt.getMonth() + 1)).slice(-2)}/${("0" + dt.getDate()).slice(-2)}/${dt.getFullYear()}`;
90
+ const month = `0${dt.getMonth() + 1}`.slice(-2);
91
+ const day = `0${dt.getDate()}`.slice(-2);
92
+ const year = dt.getFullYear();
93
+ return `${month}/${day}/${year}`;
117
94
  }
118
95
  return "01/01/0000";
119
96
  }
97
+ function getFullYearRange(value, timeRange, isToken) {
98
+ const yearRange = !isToken
99
+ ? getYearRange(value)
100
+ : { from: `01/01/${value}`, to: `12/31/${value}` };
101
+ return getRange(`${yearRange.from}${timeRange[0]}`, `${yearRange.to}${timeRange[1]}`);
102
+ }
120
103
  function getYearRange(value) {
121
104
  const dateFrom = new Date(Number(value), 0, 1);
122
105
  const dateTo = new Date(Number(value), 11, 31);
@@ -125,6 +108,12 @@ function getYearRange(value) {
125
108
  to: getStringDate(dateTo),
126
109
  };
127
110
  }
111
+ function getFullQuarterRange(value, timeRange, isToken) {
112
+ const quarterRange = !isToken
113
+ ? getQuarterRange(value)
114
+ : { from: value, to: value };
115
+ return getRange(`${quarterRange.from}${timeRange[0]}`, `${quarterRange.to}${timeRange[1]}`);
116
+ }
128
117
  function getQuarterRange(value) {
129
118
  const [quarter, year] = value.toUpperCase().split(" ");
130
119
  const quarterStartMonths = [0, 3, 6, 9];
@@ -137,6 +126,12 @@ function getQuarterRange(value) {
137
126
  to: getStringDate(dateTo),
138
127
  };
139
128
  }
129
+ function getFullMonthRange(value, timeRange) {
130
+ const monthRange = monthIncludeTokens(value)
131
+ ? getMonthRangeWithToken(value)
132
+ : getMonthRange(value);
133
+ return getRange(`${monthRange.from}${timeRange[0]}`, `${monthRange.to}${timeRange[1]}`);
134
+ }
140
135
  function getMonthRange(value) {
141
136
  const [month, year] = value.split(" ");
142
137
  const months = [
@@ -163,43 +158,52 @@ function getMonthRange(value) {
163
158
  to: getStringDate(dateTo),
164
159
  };
165
160
  }
161
+ function getFullWeekRange(value, timeRange, isToken) {
162
+ const weekRange = !isToken ? getWeekRange(value) : { from: value, to: value };
163
+ return getRange(`${weekRange.from}${timeRange[0]}`, `${weekRange.to}${timeRange[1]}`);
164
+ }
166
165
  function getWeekRange(value) {
167
166
  const [week, year] = value.split(" ");
168
167
  const weekNo = Number(capitalize(week).replace("W", "")) - 1;
169
168
  const d1 = year ? new Date(Number(year), 1, 1) : new Date();
170
169
  const numOfdaysPastSinceLastSunday = d1.getDay();
171
170
  d1.setDate(d1.getDate() - numOfdaysPastSinceLastSunday);
172
- const weekNoToday = getWeek(d1);
171
+ const weekNoToday = getWeek(d1).week;
173
172
  const weeksInTheFuture = weekNo - weekNoToday;
174
173
  d1.setDate(d1.getDate() + 7 * weeksInTheFuture);
175
- const from = new Date(d1.getMonth() + 1 + "/" + d1.getDate() + "/" + d1.getFullYear());
174
+ const from = new Date(`${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`);
176
175
  d1.setDate(d1.getDate() + 6);
177
- const to = new Date(d1.getMonth() + 1 + "/" + d1.getDate() + "/" + d1.getFullYear());
176
+ const to = new Date(`${d1.getMonth() + 1}/${d1.getDate()}/${d1.getFullYear()}`);
178
177
  return { from: getStringDate(from), to: getStringDate(to) };
179
178
  }
180
- function getWeek(date) {
181
- const target = new Date(date.valueOf());
182
- const dayNr = (date.getDay() + 6) % 7;
183
- target.setDate(target.getDate() - dayNr + 3);
184
- const firstThursday = target.valueOf();
185
- target.setMonth(0, 1);
186
- if (target.getDay() !== 4) {
187
- target.setMonth(0, 1 + ((4 - target.getDay() + 7) % 7));
188
- }
189
- return 1 + Math.ceil((firstThursday - +target) / 604800000);
179
+ function getFullHourRange(value, isToken) {
180
+ const hourRange = !isToken ? getHourRange(value) : { from: value, to: value };
181
+ return getRange(hourRange.from, hourRange.to);
190
182
  }
191
183
  function getHourRange(date) {
192
184
  const target = new Date(date.valueOf());
193
185
  const stringDate = getStringDate(target);
194
- const [timeFrom, timeTo] = getStringTimeRange(date, "HOUR");
186
+ const [timeFrom, timeTo] = getStringTimeRange(date, DATE_GROUPING_TIME_PROPERTY.HOUR);
195
187
  return { from: `${stringDate}${timeFrom}`, to: `${stringDate}${timeTo}` };
196
188
  }
189
+ function getFullMinuteRange(value, isToken) {
190
+ const minuteRange = !isToken
191
+ ? getMinuteRange(value)
192
+ : { from: value, to: value };
193
+ return getRange(minuteRange.from, minuteRange.to);
194
+ }
197
195
  function getMinuteRange(date) {
198
196
  const target = new Date(date.valueOf());
199
197
  const stringDate = getStringDate(target);
200
- const [timeFrom, timeTo] = getStringTimeRange(date, "MINUTE");
198
+ const [timeFrom, timeTo] = getStringTimeRange(date, DATE_GROUPING_TIME_PROPERTY.MINUTE);
201
199
  return { from: `${stringDate}${timeFrom}`, to: `${stringDate}${timeTo}` };
202
200
  }
201
+ function getFullDayRange(value, timeRange) {
202
+ const dayFrom = new Date(value);
203
+ const dayTo = new Date(value);
204
+ const includingToken = includeTokens(value, "/");
205
+ return getRange(`${!includingToken ? getStringDate(dayFrom) : value}${timeRange[0]}`, `${!includingToken ? getStringDate(dayTo) : value}${timeRange[1]}`);
206
+ }
203
207
  function getMonthRangeWithToken(value) {
204
208
  const [month, year] = value.split(" ");
205
209
  let monthToReturn = month;
@@ -1,6 +1,7 @@
1
1
  import { IDateFormat } from "../interfaces/IDateFormat";
2
2
  /**
3
3
  * A Date object, string or millisecond number are gotten in order to convert it in an formatted string date
4
+ * - Some strings are valid
4
5
  * @param date String with a formatted date
5
6
  * @param format The date format
6
7
  * @returns a formmatted date or the same value if format does not match
@@ -6,27 +6,27 @@ import { dateToYear } from "../adapters/dateToYear";
6
6
  import { DATE_FORMAT } from "../constants/DATE_FORMAT";
7
7
  /**
8
8
  * A Date object, string or millisecond number are gotten in order to convert it in an formatted string date
9
+ * - Some strings are valid
9
10
  * @param date String with a formatted date
10
11
  * @param format The date format
11
12
  * @returns a formmatted date or the same value if format does not match
12
13
  */
13
14
  export function getFormattedDateByFormat(date, format) {
14
- if (format === DATE_FORMAT.QUARTER) {
15
- return dateToQuarterYear(date);
16
- }
17
- else if (format === DATE_FORMAT.MONTH) {
18
- return dateToMonthYear(date);
19
- }
20
- else if (format === DATE_FORMAT.YEAR) {
21
- return dateToYear(date);
22
- }
23
- else if (format === DATE_FORMAT.WEEK) {
24
- return dateToWeekYear(date);
25
- }
26
- else if (format === DATE_FORMAT.DAY) {
27
- return dateToMdyDate(date);
28
- }
29
- else {
30
- return date;
15
+ switch (format) {
16
+ case DATE_FORMAT.YEAR:
17
+ return dateToYear(date);
18
+ case DATE_FORMAT.MONTH:
19
+ return dateToMonthYear(date);
20
+ case DATE_FORMAT.QUARTER:
21
+ return dateToQuarterYear(date);
22
+ case DATE_FORMAT.WEEK:
23
+ return dateToWeekYear(date);
24
+ case DATE_FORMAT.DAY:
25
+ case DATE_FORMAT.HOUR:
26
+ case DATE_FORMAT.MINUTE:
27
+ case DATE_FORMAT.SECOND:
28
+ return dateToMdyDate(date);
29
+ default:
30
+ return date;
31
31
  }
32
32
  }
@@ -1,7 +1,7 @@
1
1
  import { IDateFormat } from "../interfaces/IDateFormat";
2
2
  /**
3
3
  * Gets the separator of the date format
4
- * @param format the date format
4
+ * @param {IDateFormat} format the date format
5
5
  * @returns a separator string
6
6
  */
7
7
  export declare function getSeparatorByDateFormat(format?: IDateFormat): string;
@@ -1,7 +1,7 @@
1
1
  import { DATE_FORMAT } from "../constants/DATE_FORMAT";
2
2
  /**
3
3
  * Gets the separator of the date format
4
- * @param format the date format
4
+ * @param {IDateFormat} format the date format
5
5
  * @returns a separator string
6
6
  */
7
7
  export function getSeparatorByDateFormat(format = DATE_FORMAT.DAY) {
@@ -1,11 +1,13 @@
1
1
  /**
2
2
  * Gets the week number of the year
3
3
  * Additionally, the month and the year
4
- * @param date the date object
5
- * @returns an object with the week, month and year.
4
+ * @param {Date} date the date object
5
+ * @returns an object with the week, month and year or undefined if the date is not valid.
6
6
  */
7
- export declare function getWeek(date: Date): {
7
+ export declare function getWeek(date: Date): IDateWeek;
8
+ interface IDateWeek {
8
9
  week: number;
9
10
  month: number;
10
11
  year: number;
11
- };
12
+ }
13
+ export {};
@@ -1,10 +1,13 @@
1
+ import { isValidDateObject } from "./isValidDateObject";
1
2
  /**
2
3
  * Gets the week number of the year
3
4
  * Additionally, the month and the year
4
- * @param date the date object
5
- * @returns an object with the week, month and year.
5
+ * @param {Date} date the date object
6
+ * @returns an object with the week, month and year or undefined if the date is not valid.
6
7
  */
7
8
  export function getWeek(date) {
9
+ if (!isValidDateObject(date))
10
+ return;
8
11
  const target = new Date(date.valueOf());
9
12
  const dayNr = (date.getDay() + 6) % 7;
10
13
  target.setDate(target.getDate() - dayNr + 3);
@@ -15,7 +18,7 @@ export function getWeek(date) {
15
18
  }
16
19
  return {
17
20
  week: 1 + Math.ceil((firstThursday - +target) / 604800000),
18
- month: target.getMonth() + 1,
21
+ month: date.getMonth() + 1,
19
22
  year: target.getFullYear(),
20
23
  };
21
24
  }
@@ -1,9 +1,12 @@
1
+ export * from "./areIncludedDateTokens";
1
2
  export * from "./getDateByDateFormat";
2
3
  export * from "./getDateFormatByProperty";
3
4
  export * from "./getDateFormatRegularExpressionInArray";
4
5
  export * from "./getDatePickerPickLevel";
6
+ export * from "./getDateRange";
5
7
  export * from "./getFormattedDateByFormat";
6
8
  export * from "./getSeparatorByDateFormat";
7
- export * from "./includeDateTokens";
8
9
  export * from "./getWeek";
10
+ export * from "./isValidDateObject";
11
+ export * from "./isValidPotentialDate";
9
12
  export * from "./validateDate";
@@ -1,9 +1,12 @@
1
+ export * from "./areIncludedDateTokens";
1
2
  export * from "./getDateByDateFormat";
2
3
  export * from "./getDateFormatByProperty";
3
4
  export * from "./getDateFormatRegularExpressionInArray";
4
5
  export * from "./getDatePickerPickLevel";
6
+ export * from "./getDateRange";
5
7
  export * from "./getFormattedDateByFormat";
6
8
  export * from "./getSeparatorByDateFormat";
7
- export * from "./includeDateTokens";
8
9
  export * from "./getWeek";
10
+ export * from "./isValidDateObject";
11
+ export * from "./isValidPotentialDate";
9
12
  export * from "./validateDate";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Checks if the given date is allowed to continue the process for adapting dates
3
+ * @param {string | Date | number} date String, object or millisencond number of the date
4
+ * @returns true: the date is valid.
5
+ */
6
+ export declare function isValidPotentialDate(date: string | Date | number): boolean;