@qrvey/utils 1.10.0-0 → 1.10.0-10

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 (231) hide show
  1. package/dist/charts/adapters/endpointData.js +0 -3
  2. package/dist/cjs/charts/adapters/endpointData.js +0 -3
  3. package/dist/cjs/columns/constants/COLUMN_PROPERTIES.d.ts +1 -1
  4. package/dist/cjs/columns/helpers/isNumericalColumn.js +3 -1
  5. package/dist/cjs/dates/adapters/ISOToNumericOffset.d.ts +6 -0
  6. package/dist/cjs/dates/adapters/ISOToNumericOffset.js +21 -0
  7. package/dist/cjs/dates/adapters/dateToHms.js +8 -10
  8. package/dist/cjs/dates/adapters/dateToMdyDate.d.ts +2 -1
  9. package/dist/cjs/dates/adapters/dateToMdyDate.js +9 -3
  10. package/dist/cjs/dates/adapters/dateToMonthYear.d.ts +2 -1
  11. package/dist/cjs/dates/adapters/dateToMonthYear.js +7 -3
  12. package/dist/cjs/dates/adapters/dateToQuarterYear.d.ts +2 -1
  13. package/dist/cjs/dates/adapters/dateToQuarterYear.js +8 -4
  14. package/dist/cjs/dates/adapters/dateToWeekYear.d.ts +2 -1
  15. package/dist/cjs/dates/adapters/dateToWeekYear.js +6 -2
  16. package/dist/cjs/dates/adapters/dateToYear.d.ts +2 -1
  17. package/dist/cjs/dates/adapters/dateToYear.js +7 -3
  18. package/dist/cjs/dates/adapters/hmsToDate.d.ts +2 -1
  19. package/dist/cjs/dates/adapters/hmsToDate.js +6 -2
  20. package/dist/cjs/dates/adapters/index.d.ts +2 -0
  21. package/dist/cjs/dates/adapters/index.js +2 -0
  22. package/dist/cjs/dates/adapters/mdyDateToDate.d.ts +2 -1
  23. package/dist/cjs/dates/adapters/mdyDateToDate.js +7 -2
  24. package/dist/cjs/dates/adapters/monthYearToDate.d.ts +2 -1
  25. package/dist/cjs/dates/adapters/monthYearToDate.js +6 -2
  26. package/dist/cjs/dates/adapters/numericOffsetToISO.d.ts +6 -0
  27. package/dist/cjs/dates/adapters/numericOffsetToISO.js +34 -0
  28. package/dist/cjs/dates/adapters/quarterYearToDate.d.ts +2 -1
  29. package/dist/cjs/dates/adapters/quarterYearToDate.js +6 -2
  30. package/dist/cjs/dates/adapters/weekYearToDate.d.ts +2 -1
  31. package/dist/cjs/dates/adapters/weekYearToDate.js +10 -6
  32. package/dist/cjs/dates/adapters/yearToDate.d.ts +2 -1
  33. package/dist/cjs/dates/adapters/yearToDate.js +6 -2
  34. package/dist/cjs/dates/constants/ISO_8601_REGEX.d.ts +1 -0
  35. package/dist/cjs/dates/constants/ISO_8601_REGEX.js +4 -0
  36. package/dist/cjs/dates/constants/TIMEZONE_TYPE.d.ts +5 -0
  37. package/dist/cjs/dates/constants/TIMEZONE_TYPE.js +9 -0
  38. package/dist/cjs/dates/constants/index.d.ts +1 -0
  39. package/dist/cjs/dates/constants/index.js +1 -0
  40. package/dist/cjs/dates/helpers/getDateByDateFormat.d.ts +2 -1
  41. package/dist/cjs/dates/helpers/getDateByDateFormat.js +6 -6
  42. package/dist/cjs/dates/helpers/getDateByTimezone.d.ts +8 -0
  43. package/dist/cjs/dates/helpers/getDateByTimezone.js +24 -0
  44. package/dist/cjs/dates/helpers/getDateByTimezoneOffset.d.ts +7 -0
  45. package/dist/cjs/dates/helpers/getDateByTimezoneOffset.js +33 -0
  46. package/dist/cjs/dates/helpers/getDefaultDateSettings.d.ts +7 -0
  47. package/dist/cjs/dates/helpers/getDefaultDateSettings.js +17 -0
  48. package/dist/cjs/dates/helpers/getFormattedDateByFormat.d.ts +2 -1
  49. package/dist/cjs/dates/helpers/getFormattedDateByFormat.js +7 -7
  50. package/dist/cjs/dates/helpers/getTimezoneObject.d.ts +11 -0
  51. package/dist/cjs/dates/helpers/getTimezoneObject.js +107 -0
  52. package/dist/cjs/dates/helpers/getTimezoneOffsetByType.d.ts +13 -0
  53. package/dist/cjs/dates/helpers/getTimezoneOffsetByType.js +27 -0
  54. package/dist/cjs/dates/helpers/getUTCFormatByOffset.d.ts +7 -0
  55. package/dist/cjs/dates/helpers/getUTCFormatByOffset.js +17 -0
  56. package/dist/cjs/dates/helpers/getWeek.js +6 -6
  57. package/dist/cjs/dates/helpers/index.d.ts +6 -1
  58. package/dist/cjs/dates/helpers/index.js +6 -1
  59. package/dist/cjs/dates/helpers/isValidISOOffset.d.ts +7 -0
  60. package/dist/cjs/dates/helpers/isValidISOOffset.js +17 -0
  61. package/dist/cjs/dates/interfaces/IBTimezone.d.ts +7 -0
  62. package/dist/cjs/dates/interfaces/IBTimezone.js +2 -0
  63. package/dist/cjs/dates/interfaces/IBTimezoneType.d.ts +2 -0
  64. package/dist/cjs/dates/interfaces/IBTimezoneType.js +2 -0
  65. package/dist/cjs/dates/interfaces/IDFDateToHmsSettings.d.ts +2 -1
  66. package/dist/cjs/dates/interfaces/IDTimezone.d.ts +7 -0
  67. package/dist/cjs/dates/interfaces/IDTimezone.js +2 -0
  68. package/dist/cjs/dates/interfaces/IDTimezoneOffset.d.ts +1 -0
  69. package/dist/cjs/dates/interfaces/IDTimezoneOffset.js +2 -0
  70. package/dist/cjs/dates/interfaces/IDTimezoneType.d.ts +2 -0
  71. package/dist/cjs/dates/interfaces/IDTimezoneType.js +2 -0
  72. package/dist/cjs/dates/interfaces/IDateSettings.d.ts +5 -0
  73. package/dist/cjs/dates/interfaces/IDateSettings.js +2 -0
  74. package/dist/cjs/dates/interfaces/index.d.ts +6 -0
  75. package/dist/cjs/dates/interfaces/index.js +6 -0
  76. package/dist/cjs/filters/helpers/builder/getFilterBuilderGeneralConfig.js +1 -1
  77. package/dist/cjs/filters/helpers/common/getFiltersByTimezone.d.ts +10 -0
  78. package/dist/cjs/filters/helpers/common/getFiltersByTimezone.js +26 -0
  79. package/dist/cjs/filters/helpers/common/index.d.ts +1 -0
  80. package/dist/cjs/filters/helpers/common/index.js +1 -0
  81. package/dist/cjs/filters/interfaces/ui/IFUTransformFilterValuesSettings.d.ts +6 -0
  82. package/dist/cjs/filters/services/Filters.api.js +1 -1
  83. package/dist/cjs/format/format.d.ts +1 -1
  84. package/dist/cjs/format/format.js +21 -4
  85. package/dist/cjs/format/localization.js +10 -1
  86. package/dist/cjs/general/index.d.ts +1 -0
  87. package/dist/cjs/general/index.js +1 -0
  88. package/dist/cjs/general/numeric/getSign.d.ts +6 -0
  89. package/dist/cjs/general/numeric/getSign.js +12 -0
  90. package/dist/cjs/general/numeric/index.d.ts +1 -0
  91. package/dist/cjs/general/numeric/index.js +17 -0
  92. package/dist/cjs/general/object/applyTimezoneDeep.d.ts +8 -0
  93. package/dist/cjs/general/object/applyTimezoneDeep.js +44 -0
  94. package/dist/cjs/general/object/index.d.ts +1 -0
  95. package/dist/cjs/general/object/index.js +1 -0
  96. package/dist/cjs/general/object/mergeDeep.d.ts +6 -0
  97. package/dist/cjs/general/object/mergeDeep.js +12 -10
  98. package/dist/cjs/globalization/labels/filters/I18N_RELATIVE_CONTAINER.js +1 -1
  99. package/dist/cjs/globalization/labels/formula_builder/I18N_FORMULA_BUILDER.js +3 -3
  100. package/dist/cjs/globalization/labels/panel/I18N_PANEL.js +1 -1
  101. package/dist/cjs/interfaces/format/IFormatConfig.Interface.d.ts +1 -0
  102. package/dist/cjs/interfaces/general/IWidgetConfig.d.ts +2 -1
  103. package/dist/cjs/qrvey/helpers/transformValue.js +31 -6
  104. package/dist/cjs/qrvey/interfaces/IBDataset.d.ts +2 -0
  105. package/dist/cjs/qrvey/interfaces/IBModel.d.ts +5 -0
  106. package/dist/cjs/qrvey/interfaces/IDataset.d.ts +3 -1
  107. package/dist/cjs/qrvey/interfaces/IModel.d.ts +3 -1
  108. package/dist/cjs/qrvey/interfaces/ITransformValueSettings.d.ts +6 -0
  109. package/dist/cjs/services/adapters/BDatasetsToUIDatasets.adapter.js +2 -0
  110. package/dist/cjs/services/adapters/BModelToUIModel.adapter.js +2 -0
  111. package/dist/cjs/services/adapters/BTimezoneToUITimezone.d.ts +8 -0
  112. package/dist/cjs/services/adapters/BTimezoneToUITimezone.js +18 -0
  113. package/dist/cjs/services/helpers/Request.d.ts +1 -1
  114. package/dist/cjs/services/helpers/Request.js +11 -5
  115. package/dist/columns/constants/COLUMN_PROPERTIES.d.ts +1 -1
  116. package/dist/columns/helpers/isNumericalColumn.js +3 -1
  117. package/dist/dates/adapters/ISOToNumericOffset.d.ts +6 -0
  118. package/dist/dates/adapters/ISOToNumericOffset.js +17 -0
  119. package/dist/dates/adapters/dateToHms.js +8 -10
  120. package/dist/dates/adapters/dateToMdyDate.d.ts +2 -1
  121. package/dist/dates/adapters/dateToMdyDate.js +9 -3
  122. package/dist/dates/adapters/dateToMonthYear.d.ts +2 -1
  123. package/dist/dates/adapters/dateToMonthYear.js +7 -3
  124. package/dist/dates/adapters/dateToQuarterYear.d.ts +2 -1
  125. package/dist/dates/adapters/dateToQuarterYear.js +8 -4
  126. package/dist/dates/adapters/dateToWeekYear.d.ts +2 -1
  127. package/dist/dates/adapters/dateToWeekYear.js +6 -2
  128. package/dist/dates/adapters/dateToYear.d.ts +2 -1
  129. package/dist/dates/adapters/dateToYear.js +7 -3
  130. package/dist/dates/adapters/hmsToDate.d.ts +2 -1
  131. package/dist/dates/adapters/hmsToDate.js +6 -2
  132. package/dist/dates/adapters/index.d.ts +2 -0
  133. package/dist/dates/adapters/index.js +2 -0
  134. package/dist/dates/adapters/mdyDateToDate.d.ts +2 -1
  135. package/dist/dates/adapters/mdyDateToDate.js +7 -2
  136. package/dist/dates/adapters/monthYearToDate.d.ts +2 -1
  137. package/dist/dates/adapters/monthYearToDate.js +6 -2
  138. package/dist/dates/adapters/numericOffsetToISO.d.ts +6 -0
  139. package/dist/dates/adapters/numericOffsetToISO.js +30 -0
  140. package/dist/dates/adapters/quarterYearToDate.d.ts +2 -1
  141. package/dist/dates/adapters/quarterYearToDate.js +6 -2
  142. package/dist/dates/adapters/weekYearToDate.d.ts +2 -1
  143. package/dist/dates/adapters/weekYearToDate.js +10 -6
  144. package/dist/dates/adapters/yearToDate.d.ts +2 -1
  145. package/dist/dates/adapters/yearToDate.js +6 -2
  146. package/dist/dates/constants/ISO_8601_REGEX.d.ts +1 -0
  147. package/dist/dates/constants/ISO_8601_REGEX.js +1 -0
  148. package/dist/dates/constants/TIMEZONE_TYPE.d.ts +5 -0
  149. package/dist/dates/constants/TIMEZONE_TYPE.js +6 -0
  150. package/dist/dates/constants/index.d.ts +1 -0
  151. package/dist/dates/constants/index.js +1 -0
  152. package/dist/dates/helpers/getDateByDateFormat.d.ts +2 -1
  153. package/dist/dates/helpers/getDateByDateFormat.js +6 -6
  154. package/dist/dates/helpers/getDateByTimezone.d.ts +8 -0
  155. package/dist/dates/helpers/getDateByTimezone.js +20 -0
  156. package/dist/dates/helpers/getDateByTimezoneOffset.d.ts +7 -0
  157. package/dist/dates/helpers/getDateByTimezoneOffset.js +26 -0
  158. package/dist/dates/helpers/getDefaultDateSettings.d.ts +7 -0
  159. package/dist/dates/helpers/getDefaultDateSettings.js +13 -0
  160. package/dist/dates/helpers/getFormattedDateByFormat.d.ts +2 -1
  161. package/dist/dates/helpers/getFormattedDateByFormat.js +7 -7
  162. package/dist/dates/helpers/getTimezoneObject.d.ts +11 -0
  163. package/dist/dates/helpers/getTimezoneObject.js +103 -0
  164. package/dist/dates/helpers/getTimezoneOffsetByType.d.ts +13 -0
  165. package/dist/dates/helpers/getTimezoneOffsetByType.js +23 -0
  166. package/dist/dates/helpers/getUTCFormatByOffset.d.ts +7 -0
  167. package/dist/dates/helpers/getUTCFormatByOffset.js +13 -0
  168. package/dist/dates/helpers/getWeek.js +6 -6
  169. package/dist/dates/helpers/index.d.ts +6 -1
  170. package/dist/dates/helpers/index.js +6 -1
  171. package/dist/dates/helpers/isValidISOOffset.d.ts +7 -0
  172. package/dist/dates/helpers/isValidISOOffset.js +13 -0
  173. package/dist/dates/interfaces/IBTimezone.d.ts +7 -0
  174. package/dist/dates/interfaces/IBTimezone.js +1 -0
  175. package/dist/dates/interfaces/IBTimezoneType.d.ts +2 -0
  176. package/dist/dates/interfaces/IBTimezoneType.js +1 -0
  177. package/dist/dates/interfaces/IDFDateToHmsSettings.d.ts +2 -1
  178. package/dist/dates/interfaces/IDTimezone.d.ts +7 -0
  179. package/dist/dates/interfaces/IDTimezone.js +1 -0
  180. package/dist/dates/interfaces/IDTimezoneOffset.d.ts +1 -0
  181. package/dist/dates/interfaces/IDTimezoneOffset.js +1 -0
  182. package/dist/dates/interfaces/IDTimezoneType.d.ts +2 -0
  183. package/dist/dates/interfaces/IDTimezoneType.js +1 -0
  184. package/dist/dates/interfaces/IDateSettings.d.ts +5 -0
  185. package/dist/dates/interfaces/IDateSettings.js +1 -0
  186. package/dist/dates/interfaces/index.d.ts +6 -0
  187. package/dist/dates/interfaces/index.js +6 -0
  188. package/dist/filters/helpers/builder/getFilterBuilderGeneralConfig.js +1 -1
  189. package/dist/filters/helpers/common/getFiltersByTimezone.d.ts +10 -0
  190. package/dist/filters/helpers/common/getFiltersByTimezone.js +22 -0
  191. package/dist/filters/helpers/common/index.d.ts +1 -0
  192. package/dist/filters/helpers/common/index.js +1 -0
  193. package/dist/filters/interfaces/ui/IFUTransformFilterValuesSettings.d.ts +6 -0
  194. package/dist/filters/services/Filters.api.js +1 -1
  195. package/dist/format/format.d.ts +1 -1
  196. package/dist/format/format.js +21 -4
  197. package/dist/format/localization.js +10 -1
  198. package/dist/general/index.d.ts +1 -0
  199. package/dist/general/index.js +1 -0
  200. package/dist/general/numeric/getSign.d.ts +6 -0
  201. package/dist/general/numeric/getSign.js +8 -0
  202. package/dist/general/numeric/index.d.ts +1 -0
  203. package/dist/general/numeric/index.js +1 -0
  204. package/dist/general/object/applyTimezoneDeep.d.ts +8 -0
  205. package/dist/general/object/applyTimezoneDeep.js +40 -0
  206. package/dist/general/object/index.d.ts +1 -0
  207. package/dist/general/object/index.js +1 -0
  208. package/dist/general/object/mergeDeep.d.ts +6 -0
  209. package/dist/general/object/mergeDeep.js +12 -10
  210. package/dist/globalization/labels/filters/I18N_RELATIVE_CONTAINER.js +1 -1
  211. package/dist/globalization/labels/formula_builder/I18N_FORMULA_BUILDER.js +3 -3
  212. package/dist/globalization/labels/panel/I18N_PANEL.js +1 -1
  213. package/dist/interfaces/format/IFormatConfig.Interface.d.ts +1 -0
  214. package/dist/interfaces/general/IWidgetConfig.d.ts +2 -1
  215. package/dist/qrvey/helpers/transformValue.js +31 -6
  216. package/dist/qrvey/interfaces/IBDataset.d.ts +2 -0
  217. package/dist/qrvey/interfaces/IBModel.d.ts +5 -0
  218. package/dist/qrvey/interfaces/IDataset.d.ts +3 -1
  219. package/dist/qrvey/interfaces/IModel.d.ts +3 -1
  220. package/dist/qrvey/interfaces/ITransformValueSettings.d.ts +6 -0
  221. package/dist/services/adapters/BDatasetsToUIDatasets.adapter.js +2 -0
  222. package/dist/services/adapters/BModelToUIModel.adapter.js +2 -0
  223. package/dist/services/adapters/BTimezoneToUITimezone.d.ts +8 -0
  224. package/dist/services/adapters/BTimezoneToUITimezone.js +14 -0
  225. package/dist/services/helpers/Request.d.ts +1 -1
  226. package/dist/services/helpers/Request.js +11 -5
  227. package/package.json +5 -5
  228. package/dist/cjs/dates/helpers/adjustTimezone.d.ts +0 -6
  229. package/dist/cjs/dates/helpers/adjustTimezone.js +0 -19
  230. package/dist/dates/helpers/adjustTimezone.d.ts +0 -6
  231. package/dist/dates/helpers/adjustTimezone.js +0 -15
@@ -401,7 +401,6 @@ export function configMetricData(metricObj //
401
401
  }
402
402
  if (data.dateColumn) {
403
403
  const dateColum = data.dateColumn.id;
404
- const timeZoneOffset = 0;
405
404
  // TIME PERIOD
406
405
  try {
407
406
  const timePeriod = data.timePeriod.label;
@@ -409,7 +408,6 @@ export function configMetricData(metricObj //
409
408
  id: dateColum,
410
409
  type: timePeriod,
411
410
  dataType: data.dateColumn.type,
412
- timeZoneOffset,
413
411
  };
414
412
  if (timePeriod === "CUSTOM_RANGE") {
415
413
  const type = data.timePeriodCustomRange.label;
@@ -442,7 +440,6 @@ export function configMetricData(metricObj //
442
440
  id: dateColum,
443
441
  type: comparison,
444
442
  dataType: data.dateColumn.type,
445
- timeZoneOffset,
446
443
  };
447
444
  if (comparison === "CUSTOM_RANGE") {
448
445
  const type = data.comparisonCustomRange.label;
@@ -405,7 +405,6 @@ function configMetricData(metricObj //
405
405
  }
406
406
  if (data.dateColumn) {
407
407
  const dateColum = data.dateColumn.id;
408
- const timeZoneOffset = 0;
409
408
  // TIME PERIOD
410
409
  try {
411
410
  const timePeriod = data.timePeriod.label;
@@ -413,7 +412,6 @@ function configMetricData(metricObj //
413
412
  id: dateColum,
414
413
  type: timePeriod,
415
414
  dataType: data.dateColumn.type,
416
- timeZoneOffset,
417
415
  };
418
416
  if (timePeriod === "CUSTOM_RANGE") {
419
417
  const type = data.timePeriodCustomRange.label;
@@ -446,7 +444,6 @@ function configMetricData(metricObj //
446
444
  id: dateColum,
447
445
  type: comparison,
448
446
  dataType: data.dateColumn.type,
449
- timeZoneOffset,
450
447
  };
451
448
  if (comparison === "CUSTOM_RANGE") {
452
449
  const type = data.comparisonCustomRange.label;
@@ -2,4 +2,4 @@ import { COLUMN_PROPERTY } from "./COLUMN_PROPERTY";
2
2
  /**
3
3
  * @description Collection of column properties
4
4
  */
5
- export declare const COLUMN_PROPERTIES: (import("../..").DATE_DISTINCT_PROPERTY | import("../..").DATE_DISTINCT_TIME_PROPERTY | import("./COMPOUND_COLUMN_PROPERTY").COMPOUND_COLUMN_PROPERTY | import("../..").DATE_GROUPING_PROPERTY | import("../..").DATE_GROUPING_TIME_PROPERTY | import("./COMPLEX_COLUMN_PROPERTY").COMPLEX_COLUMN_PROPERTY | COLUMN_PROPERTY)[];
5
+ export declare const COLUMN_PROPERTIES: (import("./COMPOUND_COLUMN_PROPERTY").COMPOUND_COLUMN_PROPERTY | import("../..").DATE_GROUPING_PROPERTY | import("../..").DATE_GROUPING_TIME_PROPERTY | import("../..").DATE_DISTINCT_PROPERTY | import("../..").DATE_DISTINCT_TIME_PROPERTY | import("./COMPLEX_COLUMN_PROPERTY").COMPLEX_COLUMN_PROPERTY | COLUMN_PROPERTY)[];
@@ -14,5 +14,7 @@ const NUMERICAL_COLUMNS_1 = require("../constants/NUMERICAL_COLUMNS");
14
14
  const isNumericalColumn = (column) => !(0, isEmpty_1.isEmpty)(column) &&
15
15
  (0, isObject_1.isObject)(column) &&
16
16
  (NUMERICAL_COLUMNS_1.NUMERICAL_COLUMNS.includes(column.type) ||
17
- (column.type === COLUMN_1.COLUMN.FORMULA && column.formulaType === FORMULA_1.FORMULA.NUMBER));
17
+ (column.type === COLUMN_1.COLUMN.FORMULA && column.formulaType === FORMULA_1.FORMULA.NUMBER) ||
18
+ (column.type === COLUMN_1.COLUMN.AGGREGATED_FORMULA &&
19
+ column.formulaType === FORMULA_1.FORMULA.NUMBER));
18
20
  exports.isNumericalColumn = isNumericalColumn;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Gets the numeric offset (minutes) from the ISO offset (string)
3
+ * @param {string} offset the timezone offset
4
+ * @returns {number} the offset in minutes
5
+ */
6
+ export declare function ISOToNumericOffset(offset: number | string): number;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ISOToNumericOffset = void 0;
4
+ const isNaNV2_1 = require("../../general/mix/isNaNV2");
5
+ const isValidISOOffset_1 = require("../helpers/isValidISOOffset");
6
+ /**
7
+ * Gets the numeric offset (minutes) from the ISO offset (string)
8
+ * @param {string} offset the timezone offset
9
+ * @returns {number} the offset in minutes
10
+ */
11
+ function ISOToNumericOffset(offset) {
12
+ if (typeof offset === "string" && offset === "browser")
13
+ return -1 * new Date().getTimezoneOffset();
14
+ if (typeof offset === "number" || !(0, isNaNV2_1.isNaNV2)(offset))
15
+ return +offset;
16
+ if (!(0, isValidISOOffset_1.isValidISOOffset)(offset))
17
+ return 0;
18
+ const [hours, minutes] = offset.split(":").map(Number);
19
+ return hours * 60 + minutes;
20
+ }
21
+ exports.ISOToNumericOffset = ISOToNumericOffset;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.dateToHms = void 0;
4
4
  const padLeadingZeros_1 = require("../../general/string/padLeadingZeros");
5
+ const getDateByTimezone_1 = require("../helpers/getDateByTimezone");
5
6
  const isValidDateObject_1 = require("../helpers/isValidDateObject");
6
7
  const isValidPotentialDate_1 = require("../helpers/isValidPotentialDate");
7
8
  /**
@@ -13,10 +14,11 @@ const isValidPotentialDate_1 = require("../helpers/isValidPotentialDate");
13
14
  function dateToHms(date, settings) {
14
15
  if (!(0, isValidPotentialDate_1.isValidPotentialDate)(date))
15
16
  return date;
16
- const dt = new Date(date.valueOf());
17
+ const defaultSettings = getDefaultSettings(settings);
18
+ const timezonedDate = (0, getDateByTimezone_1.getDateByTimezone)(date, defaultSettings.timezone);
19
+ const dt = new Date(timezonedDate.valueOf());
17
20
  if (!(0, isValidDateObject_1.isValidDateObject)(dt))
18
21
  return date;
19
- const defaultSettings = getDefaultSettings(settings);
20
22
  const hours = getHours(dt, defaultSettings);
21
23
  const minutes = getMinutes(dt, defaultSettings);
22
24
  const seconds = getSeconds(dt, defaultSettings);
@@ -30,11 +32,7 @@ exports.dateToHms = dateToHms;
30
32
  */
31
33
  function getDefaultSettings(settings) {
32
34
  var _a, _b, _c;
33
- return {
34
- omitHour: (_a = settings === null || settings === void 0 ? void 0 : settings.omitHour) !== null && _a !== void 0 ? _a : false,
35
- omitMinute: (_b = settings === null || settings === void 0 ? void 0 : settings.omitMinute) !== null && _b !== void 0 ? _b : false,
36
- omitSecond: (_c = settings === null || settings === void 0 ? void 0 : settings.omitSecond) !== null && _c !== void 0 ? _c : false,
37
- };
35
+ return Object.assign(Object.assign({}, settings), { omitHour: (_a = settings === null || settings === void 0 ? void 0 : settings.omitHour) !== null && _a !== void 0 ? _a : false, omitMinute: (_b = settings === null || settings === void 0 ? void 0 : settings.omitMinute) !== null && _b !== void 0 ? _b : false, omitSecond: (_c = settings === null || settings === void 0 ? void 0 : settings.omitSecond) !== null && _c !== void 0 ? _c : false });
38
36
  }
39
37
  /**
40
38
  * Gets the Hours
@@ -43,7 +41,7 @@ function getDefaultSettings(settings) {
43
41
  * @returns the hour string
44
42
  */
45
43
  function getHours(date, settings) {
46
- return (0, padLeadingZeros_1.padLeadingZeros)(settings.omitHour ? "0" : date.getHours(), 2).slice(-2);
44
+ return (0, padLeadingZeros_1.padLeadingZeros)(settings.omitHour ? "0" : date.getUTCHours(), 2).slice(-2);
47
45
  }
48
46
  /**
49
47
  * Gets the Minutes
@@ -52,7 +50,7 @@ function getHours(date, settings) {
52
50
  * @returns the minute string
53
51
  */
54
52
  function getMinutes(date, settings) {
55
- return (0, padLeadingZeros_1.padLeadingZeros)(settings.omitMinute ? "0" : date.getMinutes(), 2).slice(-2);
53
+ return (0, padLeadingZeros_1.padLeadingZeros)(settings.omitMinute ? "0" : date.getUTCMinutes(), 2).slice(-2);
56
54
  }
57
55
  /**
58
56
  * Gets the Seconds
@@ -61,5 +59,5 @@ function getMinutes(date, settings) {
61
59
  * @returns the seconds string
62
60
  */
63
61
  function getSeconds(date, settings) {
64
- return (0, padLeadingZeros_1.padLeadingZeros)(settings.omitSecond ? "0" : date.getSeconds(), 2).slice(-2);
62
+ return (0, padLeadingZeros_1.padLeadingZeros)(settings.omitSecond ? "0" : date.getUTCSeconds(), 2).slice(-2);
65
63
  }
@@ -1,6 +1,7 @@
1
+ import { IDateSettings } from "../interfaces/IDateSettings";
1
2
  /**
2
3
  * Transform a Date to [mm/dd/yyyy] date format.
3
4
  * @param date String, object or millisencond number of the date
4
5
  * @returns string of [mm/dd/yyyy] date format
5
6
  */
6
- export declare function dateToMdyDate(date: string | Date | number, includeTime?: boolean): string;
7
+ export declare function dateToMdyDate(date: string | Date | number, settings?: IDateSettings): string;
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.dateToMdyDate = void 0;
4
4
  const padLeadingZeros_1 = require("../../general/string/padLeadingZeros");
5
+ const getDateByTimezone_1 = require("../helpers/getDateByTimezone");
6
+ const getDefaultDateSettings_1 = require("../helpers/getDefaultDateSettings");
5
7
  const isValidDateObject_1 = require("../helpers/isValidDateObject");
6
8
  const isValidPotentialDate_1 = require("../helpers/isValidPotentialDate");
7
9
  const dateToHms_1 = require("./dateToHms");
@@ -10,12 +12,16 @@ const dateToHms_1 = require("./dateToHms");
10
12
  * @param date String, object or millisencond number of the date
11
13
  * @returns string of [mm/dd/yyyy] date format
12
14
  */
13
- function dateToMdyDate(date, includeTime = false) {
15
+ function dateToMdyDate(date, settings) {
14
16
  if (!(0, isValidPotentialDate_1.isValidPotentialDate)(date))
15
17
  return date;
16
- const dt = new Date(date.valueOf());
18
+ const defaultSettings = (0, getDefaultDateSettings_1.getDefaultDateSettings)(settings);
19
+ const timezonedDate = (0, getDateByTimezone_1.getDateByTimezone)(date, defaultSettings.timezone);
20
+ const dt = new Date(timezonedDate.valueOf());
17
21
  if (!(0, isValidDateObject_1.isValidDateObject)(dt))
18
22
  return date;
19
- return `${(0, padLeadingZeros_1.padLeadingZeros)(dt.getMonth() + 1, 2).slice(-2)}/${(0, padLeadingZeros_1.padLeadingZeros)(dt.getDate(), 2).slice(-2)}/${(0, padLeadingZeros_1.padLeadingZeros)(dt.getFullYear(), 4)}${includeTime ? ` ${(0, dateToHms_1.dateToHms)(date)}` : ""}`;
23
+ return `${(0, padLeadingZeros_1.padLeadingZeros)(dt.getUTCMonth() + 1, 2).slice(-2)}/${(0, padLeadingZeros_1.padLeadingZeros)(dt.getUTCDate(), 2).slice(-2)}/${(0, padLeadingZeros_1.padLeadingZeros)(dt.getUTCFullYear(), 4)}${defaultSettings.convertMiliseconds
24
+ ? ` ${(0, dateToHms_1.dateToHms)(date, defaultSettings)}`
25
+ : ""}`;
20
26
  }
21
27
  exports.dateToMdyDate = dateToMdyDate;
@@ -1,6 +1,7 @@
1
+ import { IDateSettings } from "../interfaces/IDateSettings";
1
2
  /**
2
3
  * Transform a Date to [Month Year] date format.
3
4
  * @param date String, object or millisencond number of the date
4
5
  * @returns string of [Month Year] date format
5
6
  */
6
- export declare function dateToMonthYear(date: string | Date | number): string;
7
+ export declare function dateToMonthYear(date: string | Date | number, settings?: IDateSettings): string;
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.dateToMonthYear = void 0;
4
4
  const DATE_YEAR_MONTHS_1 = require("../constants/DATE_YEAR_MONTHS");
5
+ const getDateByTimezone_1 = require("../helpers/getDateByTimezone");
6
+ const getDefaultDateSettings_1 = require("../helpers/getDefaultDateSettings");
5
7
  const isValidDateObject_1 = require("../helpers/isValidDateObject");
6
8
  const isValidPotentialDate_1 = require("../helpers/isValidPotentialDate");
7
9
  /**
@@ -9,12 +11,14 @@ const isValidPotentialDate_1 = require("../helpers/isValidPotentialDate");
9
11
  * @param date String, object or millisencond number of the date
10
12
  * @returns string of [Month Year] date format
11
13
  */
12
- function dateToMonthYear(date) {
14
+ function dateToMonthYear(date, settings) {
13
15
  if (!(0, isValidPotentialDate_1.isValidPotentialDate)(date))
14
16
  return date;
15
- const dt = new Date(date.valueOf());
17
+ const defaultSettings = (0, getDefaultDateSettings_1.getDefaultDateSettings)(settings);
18
+ const timezonedDate = (0, getDateByTimezone_1.getDateByTimezone)(date, defaultSettings.timezone);
19
+ const dt = new Date(timezonedDate.valueOf());
16
20
  if (!(0, isValidDateObject_1.isValidDateObject)(dt))
17
21
  return date;
18
- return `${DATE_YEAR_MONTHS_1.DATE_YEAR_MONTHS[dt.getMonth()]} ${dt.getFullYear()}`;
22
+ return `${DATE_YEAR_MONTHS_1.DATE_YEAR_MONTHS[dt.getUTCMonth()]} ${dt.getUTCFullYear()}`;
19
23
  }
20
24
  exports.dateToMonthYear = dateToMonthYear;
@@ -1,6 +1,7 @@
1
+ import { IDateSettings } from "../interfaces/IDateSettings";
1
2
  /**
2
3
  * Transform a valid Date to [Quarter Year] date format.
3
4
  * @param date String of a valid date, date object or millisencond number of the date
4
5
  * @returns string of [Quarter Year] date format
5
6
  */
6
- export declare function dateToQuarterYear(date: string | Date | number): string;
7
+ export declare function dateToQuarterYear(date: string | Date | number, settings?: IDateSettings): string;
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.dateToQuarterYear = void 0;
4
4
  const DATE_YEAR_QUARTERS_1 = require("../constants/DATE_YEAR_QUARTERS");
5
+ const getDateByTimezone_1 = require("../helpers/getDateByTimezone");
6
+ const getDefaultDateSettings_1 = require("../helpers/getDefaultDateSettings");
5
7
  const isValidDateObject_1 = require("../helpers/isValidDateObject");
6
8
  const isValidPotentialDate_1 = require("../helpers/isValidPotentialDate");
7
9
  /**
@@ -9,13 +11,15 @@ const isValidPotentialDate_1 = require("../helpers/isValidPotentialDate");
9
11
  * @param date String of a valid date, date object or millisencond number of the date
10
12
  * @returns string of [Quarter Year] date format
11
13
  */
12
- function dateToQuarterYear(date) {
14
+ function dateToQuarterYear(date, settings) {
13
15
  if (!(0, isValidPotentialDate_1.isValidPotentialDate)(date))
14
16
  return date;
15
- const dt = new Date(date.valueOf());
17
+ const defaultSettings = (0, getDefaultDateSettings_1.getDefaultDateSettings)(settings);
18
+ const timezonedDate = (0, getDateByTimezone_1.getDateByTimezone)(date, defaultSettings.timezone);
19
+ const dt = new Date(timezonedDate.valueOf());
16
20
  if (!(0, isValidDateObject_1.isValidDateObject)(dt))
17
21
  return date;
18
- const quarter = Math.ceil((dt.getMonth() + 1) / 3);
19
- return `${DATE_YEAR_QUARTERS_1.DATE_YEAR_QUARTERS[quarter - 1]} ${dt.getFullYear()}`;
22
+ const quarter = Math.ceil((dt.getUTCMonth() + 1) / 3);
23
+ return `${DATE_YEAR_QUARTERS_1.DATE_YEAR_QUARTERS[quarter - 1]} ${dt.getUTCFullYear()}`;
20
24
  }
21
25
  exports.dateToQuarterYear = dateToQuarterYear;
@@ -1,6 +1,7 @@
1
+ import { IDateSettings } from "../interfaces/IDateSettings";
1
2
  /**
2
3
  * Transform a Date to [W# Year] date format.
3
4
  * @param date String, object or millisencond number of the date
4
5
  * @returns string of [W# Year] date format
5
6
  */
6
- export declare function dateToWeekYear(date: string | Date | number): string;
7
+ export declare function dateToWeekYear(date: string | Date | number, settings?: IDateSettings): string;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.dateToWeekYear = void 0;
4
+ const getDateByTimezone_1 = require("../helpers/getDateByTimezone");
5
+ const getDefaultDateSettings_1 = require("../helpers/getDefaultDateSettings");
4
6
  const getWeek_1 = require("../helpers/getWeek");
5
7
  const isValidDateObject_1 = require("../helpers/isValidDateObject");
6
8
  const isValidPotentialDate_1 = require("../helpers/isValidPotentialDate");
@@ -9,10 +11,12 @@ const isValidPotentialDate_1 = require("../helpers/isValidPotentialDate");
9
11
  * @param date String, object or millisencond number of the date
10
12
  * @returns string of [W# Year] date format
11
13
  */
12
- function dateToWeekYear(date) {
14
+ function dateToWeekYear(date, settings) {
13
15
  if (!(0, isValidPotentialDate_1.isValidPotentialDate)(date))
14
16
  return date;
15
- const dt = new Date(date.valueOf());
17
+ const defaultSettings = (0, getDefaultDateSettings_1.getDefaultDateSettings)(settings);
18
+ const timezonedDate = (0, getDateByTimezone_1.getDateByTimezone)(date, defaultSettings.timezone);
19
+ const dt = new Date(timezonedDate.valueOf());
16
20
  if (!(0, isValidDateObject_1.isValidDateObject)(dt))
17
21
  return date;
18
22
  const weekObj = (0, getWeek_1.getWeek)(dt);
@@ -1,6 +1,7 @@
1
+ import { IDateSettings } from "../interfaces/IDateSettings";
1
2
  /**
2
3
  * Transform a Date to [Year] date format.
3
4
  * @param {string | Date | number} date String, object or millisencond number of the date
4
5
  * @returns string of [Year] date format
5
6
  */
6
- export declare function dateToYear(date: string | Date | number): string;
7
+ export declare function dateToYear(date: string | Date | number, settings?: IDateSettings): string;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.dateToYear = void 0;
4
+ const getDateByTimezone_1 = require("../helpers/getDateByTimezone");
5
+ const getDefaultDateSettings_1 = require("../helpers/getDefaultDateSettings");
4
6
  const isValidDateObject_1 = require("../helpers/isValidDateObject");
5
7
  const isValidPotentialDate_1 = require("../helpers/isValidPotentialDate");
6
8
  /**
@@ -8,12 +10,14 @@ const isValidPotentialDate_1 = require("../helpers/isValidPotentialDate");
8
10
  * @param {string | Date | number} date String, object or millisencond number of the date
9
11
  * @returns string of [Year] date format
10
12
  */
11
- function dateToYear(date) {
13
+ function dateToYear(date, settings) {
12
14
  if (!(0, isValidPotentialDate_1.isValidPotentialDate)(date))
13
15
  return date;
14
- const dt = new Date(date.valueOf());
16
+ const defaultSettings = (0, getDefaultDateSettings_1.getDefaultDateSettings)(settings);
17
+ const timezonedDate = (0, getDateByTimezone_1.getDateByTimezone)(date, defaultSettings.timezone);
18
+ const dt = new Date(timezonedDate.valueOf());
15
19
  if (!(0, isValidDateObject_1.isValidDateObject)(dt))
16
20
  return date;
17
- return String(dt.getFullYear());
21
+ return String(dt.getUTCFullYear());
18
22
  }
19
23
  exports.dateToYear = dateToYear;
@@ -1,7 +1,8 @@
1
+ import { IDateSettings } from "../interfaces/IDateSettings";
1
2
  /**
2
3
  * Transforms String time from a [H:m:s] format to Date object.
3
4
  * @param monthYearDate String of [H:m:s] time
4
5
  * @param time Flag to parse the object date to milliseconds.
5
6
  * @returns The date object or the date in milliseconds. If the argument is an unexpected time, the function will return the same value
6
7
  */
7
- export declare function hmsToDate(hmsDate: string, time?: boolean): string | Date | number;
8
+ export declare function hmsToDate(hmsDate: string, settings?: IDateSettings): string | Date | number;
@@ -4,6 +4,8 @@ exports.hmsToDate = void 0;
4
4
  const isEmpty_1 = require("../../general/mix/isEmpty");
5
5
  const isTokenLabel_1 = require("../../tokens/isTokenLabel");
6
6
  const DATE_FORMAT_1 = require("../constants/DATE_FORMAT");
7
+ const getDateByTimezone_1 = require("../helpers/getDateByTimezone");
8
+ const getDefaultDateSettings_1 = require("../helpers/getDefaultDateSettings");
7
9
  const validateDate_1 = require("../helpers/validateDate");
8
10
  /**
9
11
  * Transforms String time from a [H:m:s] format to Date object.
@@ -11,14 +13,16 @@ const validateDate_1 = require("../helpers/validateDate");
11
13
  * @param time Flag to parse the object date to milliseconds.
12
14
  * @returns The date object or the date in milliseconds. If the argument is an unexpected time, the function will return the same value
13
15
  */
14
- function hmsToDate(hmsDate, time = false) {
16
+ function hmsToDate(hmsDate, settings) {
15
17
  if ((0, isEmpty_1.isEmpty)(hmsDate) ||
16
18
  (0, isTokenLabel_1.isTokenLabel)(hmsDate) ||
17
19
  typeof hmsDate !== "string" ||
18
20
  !(0, validateDate_1.validateDate)(hmsDate, DATE_FORMAT_1.DATE_FORMAT.DAY_TIME))
19
21
  return hmsDate;
22
+ const defaultSettings = (0, getDefaultDateSettings_1.getDefaultDateSettings)(settings);
20
23
  const [hour, minute, second] = hmsDate.split(":");
21
24
  const start = new Date(0, 0, 0, +hour, +minute, +second);
22
- return time ? +start : start;
25
+ const timezonedDate = (0, getDateByTimezone_1.getDateByTimezone)(start, defaultSettings.timezone);
26
+ return defaultSettings.convertMiliseconds ? +timezonedDate : timezonedDate;
23
27
  }
24
28
  exports.hmsToDate = hmsToDate;
@@ -5,8 +5,10 @@ export * from "./dateToQuarterYear";
5
5
  export * from "./dateToWeekYear";
6
6
  export * from "./dateToYear";
7
7
  export * from "./hmsToDate";
8
+ export * from "./ISOToNumericOffset";
8
9
  export * from "./mdyDateToDate";
9
10
  export * from "./monthYearToDate";
11
+ export * from "./numericOffsetToISO";
10
12
  export * from "./quarterYearToDate";
11
13
  export * from "./weekYearToDate";
12
14
  export * from "./yearToDate";
@@ -21,8 +21,10 @@ __exportStar(require("./dateToQuarterYear"), exports);
21
21
  __exportStar(require("./dateToWeekYear"), exports);
22
22
  __exportStar(require("./dateToYear"), exports);
23
23
  __exportStar(require("./hmsToDate"), exports);
24
+ __exportStar(require("./ISOToNumericOffset"), exports);
24
25
  __exportStar(require("./mdyDateToDate"), exports);
25
26
  __exportStar(require("./monthYearToDate"), exports);
27
+ __exportStar(require("./numericOffsetToISO"), exports);
26
28
  __exportStar(require("./quarterYearToDate"), exports);
27
29
  __exportStar(require("./weekYearToDate"), exports);
28
30
  __exportStar(require("./yearToDate"), exports);
@@ -1,7 +1,8 @@
1
+ import { IDateSettings } from "../interfaces/IDateSettings";
1
2
  /**
2
3
  * Transforms String Date from a [mm/dd/yyyy] format to Date object.
3
4
  * @param monthYearDate String of [mm/dd/yyyy] date
4
5
  * @param time Flag to parse the object date to milliseconds.
5
6
  * @returns The date object or the date in milliseconds. If the argument is an unexpected date, the function will return the same value
6
7
  */
7
- export declare function mdyDateToDate(date: string, time?: boolean): string | Date | number;
8
+ export declare function mdyDateToDate(date: string, settings?: IDateSettings): string | Date | number;
@@ -4,6 +4,8 @@ exports.mdyDateToDate = void 0;
4
4
  const isEmpty_1 = require("../../general/mix/isEmpty");
5
5
  const isTokenLabel_1 = require("../../tokens/isTokenLabel");
6
6
  const DATE_FORMAT_1 = require("../constants/DATE_FORMAT");
7
+ const getDateByTimezone_1 = require("../helpers/getDateByTimezone");
8
+ const getDefaultDateSettings_1 = require("../helpers/getDefaultDateSettings");
7
9
  const validateDate_1 = require("../helpers/validateDate");
8
10
  /**
9
11
  * Transforms String Date from a [mm/dd/yyyy] format to Date object.
@@ -11,13 +13,16 @@ const validateDate_1 = require("../helpers/validateDate");
11
13
  * @param time Flag to parse the object date to milliseconds.
12
14
  * @returns The date object or the date in milliseconds. If the argument is an unexpected date, the function will return the same value
13
15
  */
14
- function mdyDateToDate(date, time = false) {
16
+ function mdyDateToDate(date, settings) {
15
17
  if ((0, isEmpty_1.isEmpty)(date) ||
16
18
  (0, isTokenLabel_1.isTokenLabel)(date) ||
17
19
  typeof date !== "string" ||
18
20
  !validatingDate(date))
19
21
  return date;
20
- return time ? +new Date(date) : new Date(date);
22
+ const defaultSettings = (0, getDefaultDateSettings_1.getDefaultDateSettings)(settings);
23
+ const dateObject = new Date(date);
24
+ const timezonedDate = (0, getDateByTimezone_1.getDateByTimezone)(dateObject, defaultSettings.timezone);
25
+ return defaultSettings.convertMiliseconds ? +timezonedDate : timezonedDate;
21
26
  }
22
27
  exports.mdyDateToDate = mdyDateToDate;
23
28
  function validatingDate(date) {
@@ -1,7 +1,8 @@
1
+ import { IDateSettings } from "../interfaces/IDateSettings";
1
2
  /**
2
3
  * Transforms String Date from a [Month Year] format to Date object.
3
4
  * @param monthYearDate String of [Month Year] date
4
5
  * @param time Flag to parse the object date to milliseconds.
5
6
  * @returns The date object or the date in milliseconds. If the argument is an unexpected date, the function will return the same value
6
7
  */
7
- export declare function monthYearToDate(monthYearDate: string, time?: boolean): string | Date | number;
8
+ export declare function monthYearToDate(monthYearDate: string, settings?: IDateSettings): string | Date | number;
@@ -5,6 +5,8 @@ const isEmpty_1 = require("../../general/mix/isEmpty");
5
5
  const isTokenLabel_1 = require("../../tokens/isTokenLabel");
6
6
  const DATE_FORMAT_1 = require("../constants/DATE_FORMAT");
7
7
  const DATE_YEAR_MONTHS_1 = require("../constants/DATE_YEAR_MONTHS");
8
+ const getDateByTimezone_1 = require("../helpers/getDateByTimezone");
9
+ const getDefaultDateSettings_1 = require("../helpers/getDefaultDateSettings");
8
10
  const validateDate_1 = require("../helpers/validateDate");
9
11
  /**
10
12
  * Transforms String Date from a [Month Year] format to Date object.
@@ -12,14 +14,16 @@ const validateDate_1 = require("../helpers/validateDate");
12
14
  * @param time Flag to parse the object date to milliseconds.
13
15
  * @returns The date object or the date in milliseconds. If the argument is an unexpected date, the function will return the same value
14
16
  */
15
- function monthYearToDate(monthYearDate, time = false) {
17
+ function monthYearToDate(monthYearDate, settings) {
16
18
  if ((0, isEmpty_1.isEmpty)(monthYearDate) ||
17
19
  (0, isTokenLabel_1.isTokenLabel)(monthYearDate) ||
18
20
  typeof monthYearDate !== "string" ||
19
21
  !(0, validateDate_1.validateDate)(monthYearDate, DATE_FORMAT_1.DATE_FORMAT.MONTH))
20
22
  return monthYearDate;
23
+ const defaultSettings = (0, getDefaultDateSettings_1.getDefaultDateSettings)(settings);
21
24
  const [month, year] = monthYearDate.split(" ");
22
25
  const start = new Date(+year, DATE_YEAR_MONTHS_1.DATE_YEAR_MONTHS.indexOf(month), 1);
23
- return time ? +start : start;
26
+ const timezonedDate = (0, getDateByTimezone_1.getDateByTimezone)(start, defaultSettings.timezone);
27
+ return (defaultSettings === null || defaultSettings === void 0 ? void 0 : defaultSettings.convertMiliseconds) ? +timezonedDate : timezonedDate;
24
28
  }
25
29
  exports.monthYearToDate = monthYearToDate;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Gets the ISO offset From the numeric offset (minutes)
3
+ * @param {number} offset the timezone offset
4
+ * @returns {string} the offset in minutes
5
+ */
6
+ export declare function numericOffsetToISO(offset: number | string, leadZeros?: boolean): string;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.numericOffsetToISO = void 0;
4
+ const isNaNV2_1 = require("../../general/mix/isNaNV2");
5
+ const getSign_1 = require("../../general/numeric/getSign");
6
+ const padLeadingZeros_1 = require("../../general/string/padLeadingZeros");
7
+ const isValidISOOffset_1 = require("../helpers/isValidISOOffset");
8
+ const ISOToNumericOffset_1 = require("./ISOToNumericOffset");
9
+ /**
10
+ * Gets the ISO offset From the numeric offset (minutes)
11
+ * @param {number} offset the timezone offset
12
+ * @returns {string} the offset in minutes
13
+ */
14
+ function numericOffsetToISO(offset, leadZeros = true) {
15
+ const leadZeroNumber = leadZeros ? 2 : 0;
16
+ let newOffset = offset;
17
+ if (typeof newOffset === "string" && newOffset === "browser")
18
+ newOffset = -1 * new Date().getTimezoneOffset();
19
+ if (typeof newOffset === "string" && (0, isValidISOOffset_1.isValidISOOffset)(newOffset)) {
20
+ if (leadZeros)
21
+ return String(newOffset);
22
+ newOffset = (0, ISOToNumericOffset_1.ISOToNumericOffset)(newOffset);
23
+ }
24
+ if (typeof newOffset !== "number" && (0, isNaNV2_1.isNaNV2)(newOffset))
25
+ return leadZeros ? "+00:00" : "+0:0";
26
+ if (typeof newOffset === "string" && !(0, isNaNV2_1.isNaNV2)(newOffset))
27
+ newOffset = +newOffset;
28
+ const sign = (0, getSign_1.getSign)(newOffset);
29
+ newOffset = Math.abs(newOffset);
30
+ const hours = (0, padLeadingZeros_1.padLeadingZeros)(Math.floor(newOffset / 60), leadZeroNumber);
31
+ const minutes = (0, padLeadingZeros_1.padLeadingZeros)(newOffset % 60, leadZeroNumber);
32
+ return `${sign}${hours}:${minutes}`;
33
+ }
34
+ exports.numericOffsetToISO = numericOffsetToISO;
@@ -1,7 +1,8 @@
1
+ import { IDateSettings } from "../interfaces/IDateSettings";
1
2
  /**
2
3
  * Transforms String Date from a [Quarter Year] format to Date object.
3
4
  * @param quarterYearDate String of [Quarter Year] date
4
5
  * @param time Flag to parse the object date to milliseconds.
5
6
  * @returns The date object or the date in milliseconds. If the argument is an unexpected date, the function will return the same value.
6
7
  */
7
- export declare function quarterYearToDate(quarterYearDate: string, time?: boolean): string | Date | number;
8
+ export declare function quarterYearToDate(quarterYearDate: string, settings?: IDateSettings): string | Date | number;
@@ -5,6 +5,8 @@ const isEmpty_1 = require("../../general/mix/isEmpty");
5
5
  const isTokenLabel_1 = require("../../tokens/isTokenLabel");
6
6
  const DATE_FORMAT_1 = require("../constants/DATE_FORMAT");
7
7
  const DATE_YEAR_QUARTERS_RANGE_1 = require("../constants/DATE_YEAR_QUARTERS_RANGE");
8
+ const getDateByTimezone_1 = require("../helpers/getDateByTimezone");
9
+ const getDefaultDateSettings_1 = require("../helpers/getDefaultDateSettings");
8
10
  const validateDate_1 = require("../helpers/validateDate");
9
11
  /**
10
12
  * Transforms String Date from a [Quarter Year] format to Date object.
@@ -12,14 +14,16 @@ const validateDate_1 = require("../helpers/validateDate");
12
14
  * @param time Flag to parse the object date to milliseconds.
13
15
  * @returns The date object or the date in milliseconds. If the argument is an unexpected date, the function will return the same value.
14
16
  */
15
- function quarterYearToDate(quarterYearDate, time = false) {
17
+ function quarterYearToDate(quarterYearDate, settings) {
16
18
  if ((0, isEmpty_1.isEmpty)(quarterYearDate) ||
17
19
  (0, isTokenLabel_1.isTokenLabel)(quarterYearDate) ||
18
20
  typeof quarterYearDate !== "string" ||
19
21
  !(0, validateDate_1.validateDate)(quarterYearDate, DATE_FORMAT_1.DATE_FORMAT.QUARTER))
20
22
  return quarterYearDate;
23
+ const defaultSettings = (0, getDefaultDateSettings_1.getDefaultDateSettings)(settings);
21
24
  const [quarter, year] = quarterYearDate.split(" ");
22
25
  const start = new Date(+year, DATE_YEAR_QUARTERS_RANGE_1.DATE_YEAR_QUARTERS_RANGE[quarter].initial, 1);
23
- return time ? +start : start;
26
+ const timezonedDate = (0, getDateByTimezone_1.getDateByTimezone)(start, defaultSettings.timezone);
27
+ return (defaultSettings === null || defaultSettings === void 0 ? void 0 : defaultSettings.convertMiliseconds) ? +timezonedDate : timezonedDate;
24
28
  }
25
29
  exports.quarterYearToDate = quarterYearToDate;
@@ -1,7 +1,8 @@
1
+ import { IDateSettings } from "../interfaces/IDateSettings";
1
2
  /**
2
3
  * Transforms String Date from a [Week Year] format to Date object.
3
4
  * @param date String of [Week Year] date
4
5
  * @param time Flag to parse the object date to milliseconds.
5
6
  * @returns The date object or the date in milliseconds. If the argument is an unexpected date, the function will return the same value.
6
7
  */
7
- export declare function weekYearToDate(weekYear: string, time?: boolean): string | Date | number;
8
+ export declare function weekYearToDate(weekYear: string, settings?: IDateSettings): string | Date | number;
@@ -4,6 +4,8 @@ exports.weekYearToDate = void 0;
4
4
  const isEmpty_1 = require("../../general/mix/isEmpty");
5
5
  const isTokenLabel_1 = require("../../tokens/isTokenLabel");
6
6
  const DATE_FORMAT_1 = require("../constants/DATE_FORMAT");
7
+ const getDateByTimezone_1 = require("../helpers/getDateByTimezone");
8
+ const getDefaultDateSettings_1 = require("../helpers/getDefaultDateSettings");
7
9
  const getWeek_1 = require("../helpers/getWeek");
8
10
  const validateDate_1 = require("../helpers/validateDate");
9
11
  /**
@@ -12,21 +14,23 @@ const validateDate_1 = require("../helpers/validateDate");
12
14
  * @param time Flag to parse the object date to milliseconds.
13
15
  * @returns The date object or the date in milliseconds. If the argument is an unexpected date, the function will return the same value.
14
16
  */
15
- function weekYearToDate(weekYear, time = false) {
17
+ function weekYearToDate(weekYear, settings) {
16
18
  if ((0, isEmpty_1.isEmpty)(weekYear) ||
17
19
  (0, isTokenLabel_1.isTokenLabel)(weekYear) ||
18
20
  typeof weekYear !== "string" ||
19
21
  !(0, validateDate_1.validateDate)(weekYear, DATE_FORMAT_1.DATE_FORMAT.WEEK))
20
22
  return weekYear;
23
+ const defaultSettings = (0, getDefaultDateSettings_1.getDefaultDateSettings)(settings);
21
24
  const [week, year] = weekYear.split(" ");
22
25
  const weekNumber = Number(week.substring(1));
23
26
  const dateObj = new Date(+year, 1, 1);
24
- const numOfdaysPastSinceLastSunday = dateObj.getDay();
25
- dateObj.setDate(dateObj.getDate() - numOfdaysPastSinceLastSunday);
27
+ const numOfdaysPastSinceLastSunday = dateObj.getUTCDay();
28
+ dateObj.setDate(dateObj.getUTCDate() - numOfdaysPastSinceLastSunday);
26
29
  const weekNoToday = (0, getWeek_1.getWeek)(dateObj).week;
27
30
  const weeksInTheFuture = weekNumber - weekNoToday;
28
- dateObj.setDate(dateObj.getDate() + 7 * weeksInTheFuture);
29
- const date = new Date(`${dateObj.getMonth() + 1}/${dateObj.getDate()}/${dateObj.getFullYear()}`);
30
- return time ? +date : date;
31
+ dateObj.setDate(dateObj.getUTCDate() + 7 * weeksInTheFuture);
32
+ const date = new Date(`${dateObj.getUTCMonth() + 1}/${dateObj.getUTCDate()}/${dateObj.getUTCFullYear()}`);
33
+ const timezonedDate = (0, getDateByTimezone_1.getDateByTimezone)(date, defaultSettings.timezone);
34
+ return (defaultSettings === null || defaultSettings === void 0 ? void 0 : defaultSettings.convertMiliseconds) ? +timezonedDate : timezonedDate;
31
35
  }
32
36
  exports.weekYearToDate = weekYearToDate;