@qrvey/utils 1.10.1 → 1.11.0-1

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 (185) hide show
  1. package/dist/cjs/dates/adapters/ISOToNumericOffset.d.ts +1 -1
  2. package/dist/cjs/dates/adapters/ISOToNumericOffset.js +1 -1
  3. package/dist/cjs/dates/adapters/dateToHms.d.ts +5 -4
  4. package/dist/cjs/dates/adapters/dateToHms.js +14 -14
  5. package/dist/cjs/dates/adapters/dateToMdyDate.d.ts +5 -3
  6. package/dist/cjs/dates/adapters/dateToMdyDate.js +3 -2
  7. package/dist/cjs/dates/adapters/dateToMonthYear.d.ts +5 -3
  8. package/dist/cjs/dates/adapters/dateToMonthYear.js +3 -2
  9. package/dist/cjs/dates/adapters/dateToQuarterYear.d.ts +5 -3
  10. package/dist/cjs/dates/adapters/dateToQuarterYear.js +3 -2
  11. package/dist/cjs/dates/adapters/dateToWeekYear.d.ts +5 -3
  12. package/dist/cjs/dates/adapters/dateToWeekYear.js +3 -2
  13. package/dist/cjs/dates/adapters/dateToYear.d.ts +5 -3
  14. package/dist/cjs/dates/adapters/dateToYear.js +3 -2
  15. package/dist/cjs/dates/adapters/hmsToDate.d.ts +5 -4
  16. package/dist/cjs/dates/adapters/hmsToDate.js +3 -3
  17. package/dist/cjs/dates/adapters/mdyDateToDate.d.ts +5 -4
  18. package/dist/cjs/dates/adapters/mdyDateToDate.js +3 -3
  19. package/dist/cjs/dates/adapters/monthYearToDate.d.ts +5 -4
  20. package/dist/cjs/dates/adapters/monthYearToDate.js +3 -3
  21. package/dist/cjs/dates/adapters/numericOffsetToISO.d.ts +1 -1
  22. package/dist/cjs/dates/adapters/numericOffsetToISO.js +1 -3
  23. package/dist/cjs/dates/adapters/quarterYearToDate.d.ts +5 -4
  24. package/dist/cjs/dates/adapters/quarterYearToDate.js +3 -3
  25. package/dist/cjs/dates/adapters/weekYearToDate.d.ts +5 -4
  26. package/dist/cjs/dates/adapters/weekYearToDate.js +3 -3
  27. package/dist/cjs/dates/adapters/yearToDate.d.ts +5 -4
  28. package/dist/cjs/dates/adapters/yearToDate.js +3 -3
  29. package/dist/cjs/dates/constants/ISO_8601_REGEX.d.ts +11 -0
  30. package/dist/cjs/dates/constants/ISO_8601_REGEX.js +12 -1
  31. package/dist/cjs/dates/helpers/areIncludedDateTokens.d.ts +3 -3
  32. package/dist/cjs/dates/helpers/areIncludedDateTokens.js +3 -3
  33. package/dist/cjs/dates/helpers/getDateByDateFormat.d.ts +6 -5
  34. package/dist/cjs/dates/helpers/getDateByDateFormat.js +4 -4
  35. package/dist/cjs/dates/helpers/getDateByTimezone.d.ts +4 -3
  36. package/dist/cjs/dates/helpers/getDateByTimezone.js +2 -2
  37. package/dist/cjs/dates/helpers/getDateByTimezoneOffset.d.ts +6 -3
  38. package/dist/cjs/dates/helpers/getDateByTimezoneOffset.js +3 -2
  39. package/dist/cjs/dates/helpers/getDateFormatByProperty.d.ts +2 -2
  40. package/dist/cjs/dates/helpers/getDateFormatByProperty.js +2 -2
  41. package/dist/cjs/dates/helpers/getDateFormatRegularExpressionInArray.d.ts +1 -1
  42. package/dist/cjs/dates/helpers/getDateFormatRegularExpressionInArray.js +1 -1
  43. package/dist/cjs/dates/helpers/getDefaultDateSettings.d.ts +2 -2
  44. package/dist/cjs/dates/helpers/getDefaultDateSettings.js +2 -2
  45. package/dist/cjs/dates/helpers/getFormattedDateByFormat.d.ts +6 -4
  46. package/dist/cjs/dates/helpers/getFormattedDateByFormat.js +4 -3
  47. package/dist/cjs/dates/helpers/getSeparatorByDateFormat.d.ts +1 -1
  48. package/dist/cjs/dates/helpers/getSeparatorByDateFormat.js +1 -1
  49. package/dist/cjs/dates/helpers/getTimezoneObject.d.ts +1 -1
  50. package/dist/cjs/dates/helpers/getTimezoneObject.js +8 -5
  51. package/dist/cjs/dates/helpers/getTimezoneOffsetByType.js +1 -1
  52. package/dist/cjs/dates/helpers/getUTCFormatByOffset.d.ts +1 -0
  53. package/dist/cjs/dates/helpers/getUTCFormatByOffset.js +1 -0
  54. package/dist/cjs/dates/helpers/getWeek.d.ts +1 -1
  55. package/dist/cjs/dates/helpers/getWeek.js +1 -1
  56. package/dist/cjs/dates/helpers/index.d.ts +2 -0
  57. package/dist/cjs/dates/helpers/index.js +2 -0
  58. package/dist/cjs/dates/helpers/isValidDateObject.d.ts +1 -1
  59. package/dist/cjs/dates/helpers/isValidDateObject.js +1 -1
  60. package/dist/cjs/dates/helpers/isValidISOOffset.d.ts +3 -2
  61. package/dist/cjs/dates/helpers/isValidISOOffset.js +3 -2
  62. package/dist/cjs/dates/helpers/isValidPotentialDate.d.ts +3 -2
  63. package/dist/cjs/dates/helpers/isValidPotentialDate.js +16 -1
  64. package/dist/cjs/dates/helpers/isValidTimezoneOffset.d.ts +7 -0
  65. package/dist/cjs/dates/helpers/isValidTimezoneOffset.js +31 -0
  66. package/dist/cjs/dates/helpers/validateDate.d.ts +3 -3
  67. package/dist/cjs/dates/helpers/validateDate.js +3 -3
  68. package/dist/cjs/dates/interfaces/IDate.d.ts +1 -0
  69. package/dist/cjs/dates/interfaces/IDate.js +2 -0
  70. package/dist/cjs/filters/helpers/common/getVerboseFilterDatasets.d.ts +9 -0
  71. package/dist/cjs/filters/helpers/common/getVerboseFilterDatasets.js +94 -0
  72. package/dist/cjs/filters/helpers/common/getVerboseFilterFilters.d.ts +9 -0
  73. package/dist/cjs/filters/helpers/common/getVerboseFilterFilters.js +97 -0
  74. package/dist/cjs/filters/helpers/common/getVerboseFilterScopes.d.ts +9 -0
  75. package/dist/cjs/filters/helpers/common/getVerboseFilterScopes.js +100 -0
  76. package/dist/cjs/filters/helpers/common/getVerboseFilterValues.d.ts +9 -0
  77. package/dist/cjs/filters/helpers/common/getVerboseFilterValues.js +100 -0
  78. package/dist/cjs/filters/helpers/common/getVerboseFilters.d.ts +10 -0
  79. package/dist/cjs/filters/helpers/common/getVerboseFilters.js +91 -0
  80. package/dist/cjs/filters/helpers/common/index.d.ts +5 -0
  81. package/dist/cjs/filters/helpers/common/index.js +5 -0
  82. package/dist/cjs/filters/helpers/settings/getFilterSettings.js +1 -6
  83. package/dist/cjs/filters/helpers/ui/getUIValues.js +3 -1
  84. package/dist/cjs/filters/interfaces/functions/IFFGetVerboseFilters.d.ts +34 -0
  85. package/dist/cjs/filters/interfaces/functions/IFFGetVerboseFilters.js +2 -0
  86. package/dist/cjs/globalization/labels/bucket_builder/I18N_BUCKET_BUILDER.js +1 -1
  87. package/dist/cjs/globalization/labels/index.d.ts +0 -1
  88. package/dist/cjs/globalization/labels/index.js +0 -1
  89. package/dist/dates/adapters/ISOToNumericOffset.d.ts +1 -1
  90. package/dist/dates/adapters/ISOToNumericOffset.js +1 -1
  91. package/dist/dates/adapters/dateToHms.d.ts +5 -4
  92. package/dist/dates/adapters/dateToHms.js +14 -14
  93. package/dist/dates/adapters/dateToMdyDate.d.ts +5 -3
  94. package/dist/dates/adapters/dateToMdyDate.js +3 -2
  95. package/dist/dates/adapters/dateToMonthYear.d.ts +5 -3
  96. package/dist/dates/adapters/dateToMonthYear.js +3 -2
  97. package/dist/dates/adapters/dateToQuarterYear.d.ts +5 -3
  98. package/dist/dates/adapters/dateToQuarterYear.js +3 -2
  99. package/dist/dates/adapters/dateToWeekYear.d.ts +5 -3
  100. package/dist/dates/adapters/dateToWeekYear.js +3 -2
  101. package/dist/dates/adapters/dateToYear.d.ts +5 -3
  102. package/dist/dates/adapters/dateToYear.js +3 -2
  103. package/dist/dates/adapters/hmsToDate.d.ts +5 -4
  104. package/dist/dates/adapters/hmsToDate.js +3 -3
  105. package/dist/dates/adapters/mdyDateToDate.d.ts +5 -4
  106. package/dist/dates/adapters/mdyDateToDate.js +3 -3
  107. package/dist/dates/adapters/monthYearToDate.d.ts +5 -4
  108. package/dist/dates/adapters/monthYearToDate.js +3 -3
  109. package/dist/dates/adapters/numericOffsetToISO.d.ts +1 -1
  110. package/dist/dates/adapters/numericOffsetToISO.js +1 -3
  111. package/dist/dates/adapters/quarterYearToDate.d.ts +5 -4
  112. package/dist/dates/adapters/quarterYearToDate.js +3 -3
  113. package/dist/dates/adapters/weekYearToDate.d.ts +5 -4
  114. package/dist/dates/adapters/weekYearToDate.js +3 -3
  115. package/dist/dates/adapters/yearToDate.d.ts +5 -4
  116. package/dist/dates/adapters/yearToDate.js +3 -3
  117. package/dist/dates/constants/ISO_8601_REGEX.d.ts +11 -0
  118. package/dist/dates/constants/ISO_8601_REGEX.js +12 -1
  119. package/dist/dates/helpers/areIncludedDateTokens.d.ts +3 -3
  120. package/dist/dates/helpers/areIncludedDateTokens.js +3 -3
  121. package/dist/dates/helpers/getDateByDateFormat.d.ts +6 -5
  122. package/dist/dates/helpers/getDateByDateFormat.js +4 -4
  123. package/dist/dates/helpers/getDateByTimezone.d.ts +4 -3
  124. package/dist/dates/helpers/getDateByTimezone.js +2 -2
  125. package/dist/dates/helpers/getDateByTimezoneOffset.d.ts +6 -3
  126. package/dist/dates/helpers/getDateByTimezoneOffset.js +3 -2
  127. package/dist/dates/helpers/getDateFormatByProperty.d.ts +2 -2
  128. package/dist/dates/helpers/getDateFormatByProperty.js +2 -2
  129. package/dist/dates/helpers/getDateFormatRegularExpressionInArray.d.ts +1 -1
  130. package/dist/dates/helpers/getDateFormatRegularExpressionInArray.js +1 -1
  131. package/dist/dates/helpers/getDefaultDateSettings.d.ts +2 -2
  132. package/dist/dates/helpers/getDefaultDateSettings.js +2 -2
  133. package/dist/dates/helpers/getFormattedDateByFormat.d.ts +6 -4
  134. package/dist/dates/helpers/getFormattedDateByFormat.js +4 -3
  135. package/dist/dates/helpers/getSeparatorByDateFormat.d.ts +1 -1
  136. package/dist/dates/helpers/getSeparatorByDateFormat.js +1 -1
  137. package/dist/dates/helpers/getTimezoneObject.d.ts +1 -1
  138. package/dist/dates/helpers/getTimezoneObject.js +8 -5
  139. package/dist/dates/helpers/getTimezoneOffsetByType.js +1 -1
  140. package/dist/dates/helpers/getUTCFormatByOffset.d.ts +1 -0
  141. package/dist/dates/helpers/getUTCFormatByOffset.js +1 -0
  142. package/dist/dates/helpers/getWeek.d.ts +1 -1
  143. package/dist/dates/helpers/getWeek.js +1 -1
  144. package/dist/dates/helpers/index.d.ts +2 -0
  145. package/dist/dates/helpers/index.js +2 -0
  146. package/dist/dates/helpers/isValidDateObject.d.ts +1 -1
  147. package/dist/dates/helpers/isValidDateObject.js +1 -1
  148. package/dist/dates/helpers/isValidISOOffset.d.ts +3 -2
  149. package/dist/dates/helpers/isValidISOOffset.js +3 -2
  150. package/dist/dates/helpers/isValidPotentialDate.d.ts +3 -2
  151. package/dist/dates/helpers/isValidPotentialDate.js +16 -1
  152. package/dist/dates/helpers/isValidTimezoneOffset.d.ts +7 -0
  153. package/dist/dates/helpers/isValidTimezoneOffset.js +27 -0
  154. package/dist/dates/helpers/validateDate.d.ts +3 -3
  155. package/dist/dates/helpers/validateDate.js +3 -3
  156. package/dist/dates/interfaces/IDate.d.ts +1 -0
  157. package/dist/dates/interfaces/IDate.js +1 -0
  158. package/dist/filters/helpers/common/getVerboseFilterDatasets.d.ts +9 -0
  159. package/dist/filters/helpers/common/getVerboseFilterDatasets.js +90 -0
  160. package/dist/filters/helpers/common/getVerboseFilterFilters.d.ts +9 -0
  161. package/dist/filters/helpers/common/getVerboseFilterFilters.js +93 -0
  162. package/dist/filters/helpers/common/getVerboseFilterScopes.d.ts +9 -0
  163. package/dist/filters/helpers/common/getVerboseFilterScopes.js +96 -0
  164. package/dist/filters/helpers/common/getVerboseFilterValues.d.ts +9 -0
  165. package/dist/filters/helpers/common/getVerboseFilterValues.js +96 -0
  166. package/dist/filters/helpers/common/getVerboseFilters.d.ts +10 -0
  167. package/dist/filters/helpers/common/getVerboseFilters.js +86 -0
  168. package/dist/filters/helpers/common/index.d.ts +5 -0
  169. package/dist/filters/helpers/common/index.js +5 -0
  170. package/dist/filters/helpers/settings/getFilterSettings.js +1 -6
  171. package/dist/filters/helpers/ui/getUIValues.js +3 -1
  172. package/dist/filters/interfaces/functions/IFFGetVerboseFilters.d.ts +34 -0
  173. package/dist/filters/interfaces/functions/IFFGetVerboseFilters.js +1 -0
  174. package/dist/globalization/labels/bucket_builder/I18N_BUCKET_BUILDER.js +1 -1
  175. package/dist/globalization/labels/index.d.ts +0 -1
  176. package/dist/globalization/labels/index.js +0 -1
  177. package/package.json +1 -1
  178. package/dist/cjs/globalization/labels/columns/I18N_COLUMN.d.ts +0 -2
  179. package/dist/cjs/globalization/labels/columns/I18N_COLUMN.js +0 -8
  180. package/dist/cjs/globalization/labels/columns/index.d.ts +0 -1
  181. package/dist/cjs/globalization/labels/columns/index.js +0 -17
  182. package/dist/globalization/labels/columns/I18N_COLUMN.d.ts +0 -2
  183. package/dist/globalization/labels/columns/I18N_COLUMN.js +0 -5
  184. package/dist/globalization/labels/columns/index.d.ts +0 -1
  185. package/dist/globalization/labels/columns/index.js +0 -1
@@ -3,6 +3,6 @@ import { IDateFormat } from "../interfaces/IDateFormat";
3
3
  * Gets an array of regular expressions by the given date format.
4
4
  * Day format is the default date format
5
5
  * @param {IDateFormat} dateFormat an string of the format
6
- * @returns an array of regular expressions
6
+ * @returns {string[]} an array of regular expressions
7
7
  */
8
8
  export declare function getDateFormatRegularExpressionInArray(dateFormat?: IDateFormat): string[];
@@ -8,7 +8,7 @@ const DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT_1 = require("../constants/DATE_REG
8
8
  * Gets an array of regular expressions by the given date format.
9
9
  * Day format is the default date format
10
10
  * @param {IDateFormat} dateFormat an string of the format
11
- * @returns an array of regular expressions
11
+ * @returns {string[]} an array of regular expressions
12
12
  */
13
13
  function getDateFormatRegularExpressionInArray(dateFormat = DATE_FORMAT_1.DATE_FORMAT.DAY) {
14
14
  const defaultRegularExpression = DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT_1.DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT[DATE_FORMAT_1.DATE_FORMAT.DAY];
@@ -1,7 +1,7 @@
1
1
  import { IDateSettings } from "../interfaces/IDateSettings";
2
2
  /**
3
3
  * Gets the default properties for Date Settings object
4
- * @param settings the date settings
5
- * @returns a new object with the date settings.
4
+ * @param {IDateSettings} settings the configuration of dates
5
+ * @returns {IDateSettings} a new object with the date settings.
6
6
  */
7
7
  export declare function getDefaultDateSettings(settings: IDateSettings): IDateSettings;
@@ -4,8 +4,8 @@ exports.getDefaultDateSettings = void 0;
4
4
  const getTimezoneObject_1 = require("./getTimezoneObject");
5
5
  /**
6
6
  * Gets the default properties for Date Settings object
7
- * @param settings the date settings
8
- * @returns a new object with the date settings.
7
+ * @param {IDateSettings} settings the configuration of dates
8
+ * @returns {IDateSettings} a new object with the date settings.
9
9
  */
10
10
  function getDefaultDateSettings(settings) {
11
11
  var _a;
@@ -1,10 +1,12 @@
1
+ import { IDate } from "../interfaces/IDate";
1
2
  import { IDateFormat } from "../interfaces/IDateFormat";
2
3
  import { IDateSettings } from "../interfaces/IDateSettings";
3
4
  /**
4
5
  * A Date object, string or millisecond number are gotten in order to convert it in an formatted string date
5
6
  * - Some strings are valid
6
- * @param date String with a formatted date
7
- * @param format The date format
8
- * @returns a formmatted date or the same value if format does not match
7
+ * @param {IDate} date String with a formatted date
8
+ * @param {IDateFormat} format The date format
9
+ * @param {IDateSettings} settings the configuration of dates
10
+ * @returns {IDate} a formmatted date or the same value if format does not match
9
11
  */
10
- export declare function getFormattedDateByFormat(date: string | Date | number, format: IDateFormat, settings?: IDateSettings): string | Date | number;
12
+ export declare function getFormattedDateByFormat(date: IDate, format: IDateFormat, settings?: IDateSettings): IDate;
@@ -10,9 +10,10 @@ const DATE_FORMAT_1 = require("../constants/DATE_FORMAT");
10
10
  /**
11
11
  * A Date object, string or millisecond number are gotten in order to convert it in an formatted string date
12
12
  * - Some strings are valid
13
- * @param date String with a formatted date
14
- * @param format The date format
15
- * @returns a formmatted date or the same value if format does not match
13
+ * @param {IDate} date String with a formatted date
14
+ * @param {IDateFormat} format The date format
15
+ * @param {IDateSettings} settings the configuration of dates
16
+ * @returns {IDate} a formmatted date or the same value if format does not match
16
17
  */
17
18
  function getFormattedDateByFormat(date, format, settings) {
18
19
  switch (format) {
@@ -2,6 +2,6 @@ import { IDateFormat } from "../interfaces/IDateFormat";
2
2
  /**
3
3
  * Gets the separator of the date format
4
4
  * @param {IDateFormat} format the date format
5
- * @returns a separator string
5
+ * @returns {string} a separator string
6
6
  */
7
7
  export declare function getSeparatorByDateFormat(format?: IDateFormat): string;
@@ -5,7 +5,7 @@ const DATE_FORMAT_1 = require("../constants/DATE_FORMAT");
5
5
  /**
6
6
  * Gets the separator of the date format
7
7
  * @param {IDateFormat} format the date format
8
- * @returns a separator string
8
+ * @returns {string} a separator string
9
9
  */
10
10
  function getSeparatorByDateFormat(format = DATE_FORMAT_1.DATE_FORMAT.DAY) {
11
11
  return format === DATE_FORMAT_1.DATE_FORMAT.DAY ? "/" : " ";
@@ -6,6 +6,6 @@ import { IDTimezone } from "../interfaces/IDTimezone";
6
6
  * - In any case, the offset is prioritized to override other properties.
7
7
  * @param {IDTimezone} timezone the timezone object
8
8
  * @param {IModel | IDataset} model the info of the dataset (model)
9
- * @returns a new timezone object
9
+ * @returns {IDTimezone} a new timezone object
10
10
  */
11
11
  export declare function getTimezoneObject(timezone: IDTimezone, model?: IModel | IDataset): IDTimezone;
@@ -7,12 +7,13 @@ const TIMEZONE_TYPE_1 = require("../constants/TIMEZONE_TYPE");
7
7
  const getTimezoneOffsetByType_1 = require("./getTimezoneOffsetByType");
8
8
  const getUTCFormatByOffset_1 = require("./getUTCFormatByOffset");
9
9
  const isValidISOOffset_1 = require("./isValidISOOffset");
10
+ const isValidTimezoneOffset_1 = require("./isValidTimezoneOffset");
10
11
  /**
11
12
  * Gets the timezone object by the given argument or the model object
12
13
  * - In any case, the offset is prioritized to override other properties.
13
14
  * @param {IDTimezone} timezone the timezone object
14
15
  * @param {IModel | IDataset} model the info of the dataset (model)
15
- * @returns a new timezone object
16
+ * @returns {IDTimezone} a new timezone object
16
17
  */
17
18
  function getTimezoneObject(timezone, model) {
18
19
  const offset = getOffset(timezone, model);
@@ -38,10 +39,11 @@ exports.getTimezoneObject = getTimezoneObject;
38
39
  function getOffset(timezone, model) {
39
40
  var _a;
40
41
  let offset;
41
- if (!(0, isEmpty_1.isEmpty)(timezone === null || timezone === void 0 ? void 0 : timezone.offset)) {
42
+ if (!(0, isEmpty_1.isEmpty)(timezone === null || timezone === void 0 ? void 0 : timezone.offset) && (0, isValidTimezoneOffset_1.isValidTimezoneOffset)(timezone.offset)) {
42
43
  offset = timezone.offset;
43
44
  }
44
- else if (!(0, isEmpty_1.isEmpty)((_a = model === null || model === void 0 ? void 0 : model.timezone) === null || _a === void 0 ? void 0 : _a.offset)) {
45
+ else if (!(0, isEmpty_1.isEmpty)((_a = model === null || model === void 0 ? void 0 : model.timezone) === null || _a === void 0 ? void 0 : _a.offset) &&
46
+ (0, isValidTimezoneOffset_1.isValidTimezoneOffset)(model.timezone.offset)) {
45
47
  offset = model.timezone.offset;
46
48
  }
47
49
  else {
@@ -66,8 +68,9 @@ function getType(timezone, model, offset) {
66
68
  if (!(0, isEmpty_1.isEmpty)(timezone === null || timezone === void 0 ? void 0 : timezone.type)) {
67
69
  type = timezone.type;
68
70
  }
69
- else if (!(0, isEmpty_1.isEmpty)(timezone === null || timezone === void 0 ? void 0 : timezone.offset)) {
70
- type = getTypeByOffset(timezone === null || timezone === void 0 ? void 0 : timezone.offset);
71
+ else if (!(0, isEmpty_1.isEmpty)(timezone === null || timezone === void 0 ? void 0 : timezone.offset) &&
72
+ (0, isValidTimezoneOffset_1.isValidTimezoneOffset)(timezone.offset)) {
73
+ type = getTypeByOffset(timezone.offset);
71
74
  }
72
75
  else if (!(0, isEmpty_1.isEmpty)((_a = model === null || model === void 0 ? void 0 : model.timezone) === null || _a === void 0 ? void 0 : _a.type)) {
73
76
  type = model.timezone.type;
@@ -22,6 +22,6 @@ function getTimezoneOffsetByType(timezone) {
22
22
  else if (timezone.type === TIMEZONE_TYPE_1.TIMEZONE_TYPE.DEFAULT) {
23
23
  return "+00:00";
24
24
  }
25
- return timezone.offset || timezone.numericOffset || "+00:00";
25
+ return (0, numericOffsetToISO_1.numericOffsetToISO)(timezone.offset || timezone.numericOffset || "+00:00");
26
26
  }
27
27
  exports.getTimezoneOffsetByType = getTimezoneOffsetByType;
@@ -2,6 +2,7 @@ import { IDTimezone } from "../interfaces/IDTimezone";
2
2
  /**
3
3
  * Gets the UTC format dependeing on the given offset
4
4
  * @param {IDTimezone} timezone the timezone object
5
+ * @param {boolean} minified Flag to reduce the Zeros
5
6
  * @returns {string} an string with the UTC format
6
7
  */
7
8
  export declare function getUTCFormatByOffset(timezone: IDTimezone, minified?: boolean): string;
@@ -6,6 +6,7 @@ const numericOffsetToISO_1 = require("../adapters/numericOffsetToISO");
6
6
  /**
7
7
  * Gets the UTC format dependeing on the given offset
8
8
  * @param {IDTimezone} timezone the timezone object
9
+ * @param {boolean} minified Flag to reduce the Zeros
9
10
  * @returns {string} an string with the UTC format
10
11
  */
11
12
  function getUTCFormatByOffset(timezone, minified = false) {
@@ -2,7 +2,7 @@
2
2
  * Gets the week number of the year
3
3
  * Additionally, the month and the year
4
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.
5
+ * @returns {IDateWeek} an object with the week, month and year or undefined if the date is not valid.
6
6
  */
7
7
  export declare function getWeek(date: Date): IDateWeek;
8
8
  interface IDateWeek {
@@ -6,7 +6,7 @@ const isValidDateObject_1 = require("./isValidDateObject");
6
6
  * Gets the week number of the year
7
7
  * Additionally, the month and the year
8
8
  * @param {Date} date the date object
9
- * @returns an object with the week, month and year or undefined if the date is not valid.
9
+ * @returns {IDateWeek} an object with the week, month and year or undefined if the date is not valid.
10
10
  */
11
11
  function getWeek(date) {
12
12
  if (!(0, isValidDateObject_1.isValidDateObject)(date))
@@ -14,5 +14,7 @@ export * from "./getTimezoneOffsetByType";
14
14
  export * from "./getUTCFormatByOffset";
15
15
  export * from "./getWeek";
16
16
  export * from "./isValidDateObject";
17
+ export * from "./isValidISOOffset";
17
18
  export * from "./isValidPotentialDate";
19
+ export * from "./isValidTimezoneOffset";
18
20
  export * from "./validateDate";
@@ -30,5 +30,7 @@ __exportStar(require("./getTimezoneOffsetByType"), exports);
30
30
  __exportStar(require("./getUTCFormatByOffset"), exports);
31
31
  __exportStar(require("./getWeek"), exports);
32
32
  __exportStar(require("./isValidDateObject"), exports);
33
+ __exportStar(require("./isValidISOOffset"), exports);
33
34
  __exportStar(require("./isValidPotentialDate"), exports);
35
+ __exportStar(require("./isValidTimezoneOffset"), exports);
34
36
  __exportStar(require("./validateDate"), exports);
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * If the date is a valid Date object, return true, otherwise return false.
3
3
  * @param {Date} date - The date object to check.
4
- * @returns A boolean value.
4
+ * @returns {boolean} True: The Date object is valid
5
5
  */
6
6
  export declare function isValidDateObject(date: Date): boolean;
@@ -4,7 +4,7 @@ exports.isValidDateObject = void 0;
4
4
  /**
5
5
  * If the date is a valid Date object, return true, otherwise return false.
6
6
  * @param {Date} date - The date object to check.
7
- * @returns A boolean value.
7
+ * @returns {boolean} True: The Date object is valid
8
8
  */
9
9
  function isValidDateObject(date) {
10
10
  return date instanceof Date && !isNaN(date.getTime());
@@ -1,7 +1,8 @@
1
+ import { IDTimezoneOffset } from "../interfaces/IDTimezoneOffset";
1
2
  /**
2
3
  * Validate if offset uses a valid ISO 8601 offset specification
3
4
  * - If the given offset is a numeric, returns an invalid flag.
4
- * @param {string} offset the timezone offset
5
+ * @param {IDTimezoneOffset} offset the timezone offset
5
6
  * @returns {boolean} true if the given offset is valid
6
7
  */
7
- export declare function isValidISOOffset(offset: number | string): boolean;
8
+ export declare function isValidISOOffset(offset: IDTimezoneOffset): boolean;
@@ -1,15 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isValidISOOffset = void 0;
4
+ const isEmpty_1 = require("../../general/mix/isEmpty");
4
5
  const ISO_8601_REGEX_1 = require("../constants/ISO_8601_REGEX");
5
6
  /**
6
7
  * Validate if offset uses a valid ISO 8601 offset specification
7
8
  * - If the given offset is a numeric, returns an invalid flag.
8
- * @param {string} offset the timezone offset
9
+ * @param {IDTimezoneOffset} offset the timezone offset
9
10
  * @returns {boolean} true if the given offset is valid
10
11
  */
11
12
  function isValidISOOffset(offset) {
12
- if (typeof offset !== "string")
13
+ if ((0, isEmpty_1.isEmpty)(offset) || typeof offset !== "string")
13
14
  return false;
14
15
  const newOffset = (offset || "").trim();
15
16
  return ISO_8601_REGEX_1.ISO_8601_REGEX.test(newOffset);
@@ -1,7 +1,8 @@
1
+ import { IDate } from "../interfaces/IDate";
1
2
  /**
2
3
  * Checks if the given date is allowed to continue the process for adapting dates
3
4
  * - If the string is a token or a combination of tokens is not valid
4
- * @param {string | Date | number} date String, object or millisencond number of the date
5
+ * @param {IDate} date String, object or millisencond number of the date
5
6
  * @returns true: the date is valid.
6
7
  */
7
- export declare function isValidPotentialDate(date: string | Date | number): boolean;
8
+ export declare function isValidPotentialDate(date: IDate): boolean;
@@ -7,7 +7,7 @@ const areIncludedDateTokens_1 = require("./areIncludedDateTokens");
7
7
  /**
8
8
  * Checks if the given date is allowed to continue the process for adapting dates
9
9
  * - If the string is a token or a combination of tokens is not valid
10
- * @param {string | Date | number} date String, object or millisencond number of the date
10
+ * @param {IDate} date String, object or millisencond number of the date
11
11
  * @returns true: the date is valid.
12
12
  */
13
13
  function isValidPotentialDate(date) {
@@ -16,12 +16,27 @@ function isValidPotentialDate(date) {
16
16
  (isDateInstance(date) || isStringDate(date) || typeof date === "number"));
17
17
  }
18
18
  exports.isValidPotentialDate = isValidPotentialDate;
19
+ /**
20
+ * Validates if the given date has tokens
21
+ * @param {IDate} date String, object or millisencond number of the date
22
+ * @returns {boolean} true: the date has tokens
23
+ */
19
24
  function includingDateTokens(date) {
20
25
  return DATE_FORMATS_1.DATE_FORMATS.some((dateFormat) => (0, areIncludedDateTokens_1.areIncludedDateTokens)(date, dateFormat));
21
26
  }
27
+ /**
28
+ * Validates if the given date is a date instance
29
+ * @param {IDate} date String, object or millisencond number of the date
30
+ * @returns {boolean} true: the date is a date instance
31
+ */
22
32
  function isDateInstance(date) {
23
33
  return date instanceof Date && !isNaN(date);
24
34
  }
35
+ /**
36
+ * Validates if the given date is a string date
37
+ * @param {IDate} date String, object or millisencond number of the date
38
+ * @returns {boolean} true: the date is a string date
39
+ */
25
40
  function isStringDate(date) {
26
41
  return (typeof date === "string" && new Date(date).toString() !== "Invalid Date");
27
42
  }
@@ -0,0 +1,7 @@
1
+ import { IDTimezoneOffset } from "../interfaces/IDTimezoneOffset";
2
+ /**
3
+ * Validates if the given param is a valid timezone offset
4
+ * @param {IDTimezoneOffset} offset the timezone offset
5
+ * @returns {boolean} true: is valid timezone offset.
6
+ */
7
+ export declare function isValidTimezoneOffset(offset: IDTimezoneOffset): boolean;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isValidTimezoneOffset = void 0;
4
+ const isNaNV2_1 = require("../../general/mix/isNaNV2");
5
+ const ISOToNumericOffset_1 = require("../adapters/ISOToNumericOffset");
6
+ const isValidISOOffset_1 = require("./isValidISOOffset");
7
+ /**
8
+ * Validates if the given param is a valid timezone offset
9
+ * @param {IDTimezoneOffset} offset the timezone offset
10
+ * @returns {boolean} true: is valid timezone offset.
11
+ */
12
+ function isValidTimezoneOffset(offset) {
13
+ if (typeof offset === "string") {
14
+ return (offset === "browser" ||
15
+ ((0, isValidISOOffset_1.isValidISOOffset)(offset) && isValidOffsetRange(offset)));
16
+ }
17
+ if (typeof offset === "number") {
18
+ return !(0, isNaNV2_1.isNaNV2)(offset) && isValidOffsetRange(offset);
19
+ }
20
+ return false;
21
+ }
22
+ exports.isValidTimezoneOffset = isValidTimezoneOffset;
23
+ /**
24
+ * Validates if the given offset is in the timezone range
25
+ * @param {IDTimezoneOffset} offset the timezone offset
26
+ * @returns {boolean} true: the offset is in the timezone range
27
+ */
28
+ function isValidOffsetRange(offset) {
29
+ const numericOffset = (0, ISOToNumericOffset_1.ISOToNumericOffset)(offset);
30
+ return -720 <= numericOffset && numericOffset <= 840;
31
+ }
@@ -4,8 +4,8 @@ import { IDateFormat } from "../interfaces/IDateFormat";
4
4
  * - If the string is a token label, the function lets it pass.
5
5
  * - Otherwise depends of the format
6
6
  * - Some escenarios the string is a mix of token labels and dates
7
- * @param date String of date
8
- * @param format String of the format to validate
9
- * @returns True if it is valid or not. Undefined if date is undefined
7
+ * @param {string} date String of date
8
+ * @param {IDateFormat} format String of the format to validate
9
+ * @returns {boolean} True if it is valid or not. Undefined if date is undefined
10
10
  */
11
11
  export declare function validateDate(date: string, format?: IDateFormat): boolean;
@@ -11,9 +11,9 @@ const getSeparatorByDateFormat_1 = require("./getSeparatorByDateFormat");
11
11
  * - If the string is a token label, the function lets it pass.
12
12
  * - Otherwise depends of the format
13
13
  * - Some escenarios the string is a mix of token labels and dates
14
- * @param date String of date
15
- * @param format String of the format to validate
16
- * @returns True if it is valid or not. Undefined if date is undefined
14
+ * @param {string} date String of date
15
+ * @param {IDateFormat} format String of the format to validate
16
+ * @returns {boolean} True if it is valid or not. Undefined if date is undefined
17
17
  */
18
18
  function validateDate(date, format = DATE_FORMAT_1.DATE_FORMAT.DAY) {
19
19
  if ((0, isEmpty_1.isEmpty)(date) || typeof date !== "string")
@@ -0,0 +1 @@
1
+ export type IDate = Date | string | number;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import { IFFGetVerboseFilters } from "../../interfaces/functions/IFFGetVerboseFilters";
2
+ import { IFUDataset } from "../../interfaces/ui/IFUDataset";
3
+ /**
4
+ * Gets an string that describes the filter datasets content
5
+ * @param {IFUDataset[]} filters The filter datasets to verbose
6
+ * @param {IFFGetVerboseFilters} settings the settings to the function
7
+ * @returns the description of the datasets array
8
+ */
9
+ export declare function getVerboseFilterDatasets(datasets: IFUDataset[], settings?: IFFGetVerboseFilters): string;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getVerboseFilterDatasets = void 0;
4
+ const isEmpty_1 = require("../../../general/mix/isEmpty");
5
+ const isObject_1 = require("../../../general/object/isObject");
6
+ const I18N_FILTER_OPERATOR_1 = require("../../../globalization/labels/filters/I18N_FILTER_OPERATOR");
7
+ const FILTER_OPERATOR_1 = require("../../constants/common/FILTER_OPERATOR");
8
+ const getVerboseFilterFilters_1 = require("./getVerboseFilterFilters");
9
+ const getVerboseFilters_1 = require("./getVerboseFilters");
10
+ /**
11
+ * Gets an string that describes the filter datasets content
12
+ * @param {IFUDataset[]} filters The filter datasets to verbose
13
+ * @param {IFFGetVerboseFilters} settings the settings to the function
14
+ * @returns the description of the datasets array
15
+ */
16
+ function getVerboseFilterDatasets(datasets, settings) {
17
+ if ((0, isEmpty_1.isEmpty)(datasets) || !Array.isArray(datasets))
18
+ return "";
19
+ const defaultSettings = (0, getVerboseFilters_1.getVerboseFiltersSettings)(settings);
20
+ const filteredDatasets = getDatasets(datasets, defaultSettings);
21
+ return filteredDatasets.reduce((verbose, dataset, currentIndex, array) => {
22
+ let newVerbose = "";
23
+ const title = getTitle(dataset, defaultSettings);
24
+ const titleSeparator = getTitleSeparator(defaultSettings);
25
+ const filterVerbose = (0, getVerboseFilterFilters_1.getVerboseFilterFilters)(dataset.filters, defaultSettings);
26
+ const newSeparator = getSeparator(defaultSettings, currentIndex >= array.length - 1);
27
+ newVerbose += `${(0, isEmpty_1.isEmpty)(title) ? "" : `${title}${titleSeparator}`}${filterVerbose}${newSeparator}`;
28
+ return `${verbose}${newVerbose}`;
29
+ }, "");
30
+ }
31
+ exports.getVerboseFilterDatasets = getVerboseFilterDatasets;
32
+ /**
33
+ * Gets the datasets by some conditions
34
+ * @param {IFUDataset[]} filters The filtered datasets to verbose
35
+ * @param {IFFGetVerboseFilters} settings the settings to the function
36
+ * @returns {IFUDataset[]} the collection of the datasets
37
+ */
38
+ function getDatasets(datasets, settings) {
39
+ return datasets.filter((dataset) => (0, isObject_1.isObject)(dataset) &&
40
+ (settings.datasetDisplayDisplayed || dataset.displayed) &&
41
+ (settings.datasetEnableDisplayed || dataset.enabled));
42
+ }
43
+ /**
44
+ * Gets the title of the filter dataset
45
+ * @param {IFUDataset} dataset the filter dataset object
46
+ * @param {IFFGetVerboseFilters} settings the settings to the function
47
+ * @returns {string} the title of the filter dataset
48
+ */
49
+ function getTitle(dataset, settings) {
50
+ return settings.datasetTitleDisplayed ? dataset.label || "" : "";
51
+ }
52
+ /**
53
+ * Gets the separators for the title. It would be
54
+ * - New Line
55
+ * - An string from argument
56
+ * @param {IFFGetVerboseFilters} settings the settings of the module
57
+ * @returns {string} the string of the separator
58
+ */
59
+ function getTitleSeparator(settings) {
60
+ let newLine = "";
61
+ if (settings.datasetTitleNewLine) {
62
+ newLine = "\n";
63
+ }
64
+ else if (!(0, isEmpty_1.isEmpty)(settings.datasetTitleSeparator)) {
65
+ newLine = settings.datasetTitleSeparator;
66
+ }
67
+ return newLine;
68
+ }
69
+ /**
70
+ * Gets the separators of each filter. It would be
71
+ * - New Line
72
+ * - The operator
73
+ * - An string from argument
74
+ * @param {IFFGetVerboseFilters} settings the settings of the module
75
+ * @returns {string} the string of the separator
76
+ */
77
+ function getSeparator(settings, lastValue = false) {
78
+ let newLine = "";
79
+ if (lastValue)
80
+ return newLine;
81
+ if (settings.datasetNewLine) {
82
+ newLine = "\n";
83
+ }
84
+ else if (settings.datasetOperatorDisplayed) {
85
+ newLine = (0, isEmpty_1.isEmpty)(settings.translate)
86
+ ? I18N_FILTER_OPERATOR_1.I18N_FILTER_OPERATOR.and
87
+ : settings.translate(`filter.operators.${FILTER_OPERATOR_1.FILTER_OPERATOR.AND.toLowerCase()}`);
88
+ newLine = ` ${newLine} `;
89
+ }
90
+ else {
91
+ newLine = settings.datasetSeparator;
92
+ }
93
+ return newLine;
94
+ }
@@ -0,0 +1,9 @@
1
+ import { IFFGetVerboseFilters } from "../../interfaces/functions/IFFGetVerboseFilters";
2
+ import { IFUFilter } from "../../interfaces/ui/IFUFilter";
3
+ /**
4
+ * Gets an string that describes the filter filters content
5
+ * @param {IFUFilter[]} filters The filter filters to verbose
6
+ * @param {IFFGetVerboseFilters} settings the settings to the function
7
+ * @returns the description of the filters array
8
+ */
9
+ export declare function getVerboseFilterFilters(filters: IFUFilter[], settings?: IFFGetVerboseFilters): string;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getVerboseFilterFilters = void 0;
4
+ const isEmpty_1 = require("../../../general/mix/isEmpty");
5
+ const isObject_1 = require("../../../general/object/isObject");
6
+ const I18N_FILTER_OPERATOR_1 = require("../../../globalization/labels/filters/I18N_FILTER_OPERATOR");
7
+ const getVerboseFilterValues_1 = require("./getVerboseFilterValues");
8
+ const getVerboseFilters_1 = require("./getVerboseFilters");
9
+ /**
10
+ * Gets an string that describes the filter filters content
11
+ * @param {IFUFilter[]} filters The filter filters to verbose
12
+ * @param {IFFGetVerboseFilters} settings the settings to the function
13
+ * @returns the description of the filters array
14
+ */
15
+ function getVerboseFilterFilters(filters, settings) {
16
+ if ((0, isEmpty_1.isEmpty)(filters) || !Array.isArray(filters))
17
+ return "";
18
+ const defaultSettings = (0, getVerboseFilters_1.getVerboseFiltersSettings)(settings);
19
+ const filteredFilters = getFilters(filters, defaultSettings);
20
+ return filteredFilters.reduce((verbose, filter, currentIndex, array) => {
21
+ let newVerbose = "";
22
+ const title = getTitle(filter, defaultSettings);
23
+ const titleSeparator = getTitleSeparator(defaultSettings);
24
+ const valuesVerbose = (0, getVerboseFilterValues_1.getVerboseFilterValues)(filter, defaultSettings);
25
+ const newSeparator = getSeparator(filter, defaultSettings, currentIndex >= array.length - 1);
26
+ newVerbose += `${(0, isEmpty_1.isEmpty)(title) ? "" : `${title}${titleSeparator}`}${valuesVerbose}${newSeparator}`;
27
+ return `${verbose}${newVerbose}`;
28
+ }, "");
29
+ }
30
+ exports.getVerboseFilterFilters = getVerboseFilterFilters;
31
+ /**
32
+ * Gets the filters by some conditions
33
+ * @param {IFUFilter[]} filters The filtered filters to verbose
34
+ * @param {IFFGetVerboseFilters} settings the settings to the function
35
+ * @returns {IFUFilter[]} the collection of the filters
36
+ */
37
+ function getFilters(filters, settings) {
38
+ return filters.filter((filter) => (0, isObject_1.isObject)(filter) &&
39
+ (settings.filterDisplayDisplayed || filter.displayed) &&
40
+ (settings.filterEnableDisplayed || filter.enabled));
41
+ }
42
+ /**
43
+ * Gets the title of the filter
44
+ * @param {IFUFilter} filter the filter object
45
+ * @param {IFFGetVerboseFilters} settings the settings to the function
46
+ * @returns {string} the title of the filter
47
+ */
48
+ function getTitle(filter, settings) {
49
+ return settings.filterTitleDisplayed
50
+ ? filter.extras.filterLabel || filter.column.label || ""
51
+ : "";
52
+ }
53
+ /**
54
+ * Gets the separators of each filter. It would be
55
+ * - New Line
56
+ * - The operator
57
+ * - An string from argument
58
+ * @param {number} currentIndex the iteration index of the value
59
+ * @param {IFUFilter} filter the filter object
60
+ * @param {IFFGetVerboseFilters} settings the settings of the module
61
+ * @returns {string} the string of the separator
62
+ */
63
+ function getSeparator(filter, settings, lastValue = false) {
64
+ let newLine = "";
65
+ if (lastValue)
66
+ return newLine;
67
+ if (settings.filterNewLine) {
68
+ newLine = "\n";
69
+ }
70
+ else if (settings.filterOperatorDisplayed) {
71
+ newLine = (0, isEmpty_1.isEmpty)(settings.translate)
72
+ ? I18N_FILTER_OPERATOR_1.I18N_FILTER_OPERATOR[filter.operator.toLowerCase()]
73
+ : settings.translate(`filter.operators.${filter.operator.toLowerCase()}`);
74
+ newLine = ` ${newLine} `;
75
+ }
76
+ else {
77
+ newLine = settings.filterSeparator;
78
+ }
79
+ return newLine;
80
+ }
81
+ /**
82
+ * Gets the separators for the title. It would be
83
+ * - New Line
84
+ * - An string from argument
85
+ * @param {IFFGetVerboseFilters} settings the settings of the module
86
+ * @returns {string} the string of the separator
87
+ */
88
+ function getTitleSeparator(settings) {
89
+ let newLine = "";
90
+ if (settings.filterTitleNewLine) {
91
+ newLine = "\n";
92
+ }
93
+ else if (!(0, isEmpty_1.isEmpty)(settings.filterTitleSeparator)) {
94
+ newLine = settings.filterTitleSeparator;
95
+ }
96
+ return newLine;
97
+ }
@@ -0,0 +1,9 @@
1
+ import { IFFGetVerboseFilters } from "../../interfaces/functions/IFFGetVerboseFilters";
2
+ import { IFUScope } from "../../interfaces/ui/IFUScope";
3
+ /**
4
+ * Gets an string that describes the filter scopes content
5
+ * @param {IFUScope[]} filters The filters scopes to verbose
6
+ * @param {IFFGetVerboseFilters} settings the settings to the function
7
+ * @returns A string
8
+ */
9
+ export declare function getVerboseFilterScopes(scopes: IFUScope[], settings?: IFFGetVerboseFilters): string;