@qrvey/utils 1.10.0-0 → 1.10.0-2

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 (147) 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/dates/adapters/ISOToNumericOffset.d.ts +6 -0
  4. package/dist/cjs/dates/adapters/ISOToNumericOffset.js +21 -0
  5. package/dist/cjs/dates/adapters/index.d.ts +2 -0
  6. package/dist/cjs/dates/adapters/index.js +2 -0
  7. package/dist/cjs/dates/adapters/numericOffsetToISO.d.ts +6 -0
  8. package/dist/cjs/dates/adapters/numericOffsetToISO.js +29 -0
  9. package/dist/cjs/dates/constants/ISO_8601_REGEX.d.ts +1 -0
  10. package/dist/cjs/dates/constants/ISO_8601_REGEX.js +4 -0
  11. package/dist/cjs/dates/constants/TIMEZONE_TYPE.d.ts +5 -0
  12. package/dist/cjs/dates/constants/TIMEZONE_TYPE.js +9 -0
  13. package/dist/cjs/dates/constants/index.d.ts +1 -0
  14. package/dist/cjs/dates/constants/index.js +1 -0
  15. package/dist/cjs/dates/helpers/getDateByTimezone.d.ts +8 -0
  16. package/dist/cjs/dates/helpers/getDateByTimezone.js +41 -0
  17. package/dist/cjs/dates/helpers/getDateByTimezoneOffset.d.ts +7 -0
  18. package/dist/cjs/dates/helpers/getDateByTimezoneOffset.js +22 -0
  19. package/dist/cjs/dates/helpers/getTimezoneObject.d.ts +10 -0
  20. package/dist/cjs/dates/helpers/getTimezoneObject.js +21 -0
  21. package/dist/cjs/dates/helpers/getTimezoneOffsetByType.d.ts +13 -0
  22. package/dist/cjs/dates/helpers/getTimezoneOffsetByType.js +27 -0
  23. package/dist/cjs/dates/helpers/index.d.ts +4 -1
  24. package/dist/cjs/dates/helpers/index.js +4 -1
  25. package/dist/cjs/dates/helpers/isValidISOOffset.d.ts +7 -0
  26. package/dist/cjs/dates/helpers/isValidISOOffset.js +17 -0
  27. package/dist/cjs/dates/interfaces/IBTimezone.d.ts +7 -0
  28. package/dist/cjs/dates/interfaces/IBTimezone.js +2 -0
  29. package/dist/cjs/dates/interfaces/IBTimezoneType.d.ts +2 -0
  30. package/dist/cjs/dates/interfaces/IBTimezoneType.js +2 -0
  31. package/dist/cjs/dates/interfaces/IDTimezone.d.ts +6 -0
  32. package/dist/cjs/dates/interfaces/IDTimezone.js +2 -0
  33. package/dist/cjs/dates/interfaces/IDTimezoneOffset.d.ts +1 -0
  34. package/dist/cjs/dates/interfaces/IDTimezoneOffset.js +2 -0
  35. package/dist/cjs/dates/interfaces/IDTimezoneType.d.ts +2 -0
  36. package/dist/cjs/dates/interfaces/IDTimezoneType.js +2 -0
  37. package/dist/cjs/dates/interfaces/IGetDateByTimezoneSettings.d.ts +6 -0
  38. package/dist/cjs/dates/interfaces/IGetDateByTimezoneSettings.js +2 -0
  39. package/dist/cjs/dates/interfaces/index.d.ts +6 -0
  40. package/dist/cjs/dates/interfaces/index.js +6 -0
  41. package/dist/cjs/filters/helpers/builder/getFilterBuilderGeneralConfig.js +1 -1
  42. package/dist/cjs/filters/helpers/common/getFiltersByTimezone.d.ts +10 -0
  43. package/dist/cjs/filters/helpers/common/getFiltersByTimezone.js +26 -0
  44. package/dist/cjs/filters/helpers/common/index.d.ts +1 -0
  45. package/dist/cjs/filters/helpers/common/index.js +1 -0
  46. package/dist/cjs/filters/interfaces/ui/IFUTransformFilterValuesSettings.d.ts +6 -0
  47. package/dist/cjs/format/format.d.ts +1 -1
  48. package/dist/cjs/format/format.js +10 -4
  49. package/dist/cjs/general/index.d.ts +1 -0
  50. package/dist/cjs/general/index.js +1 -0
  51. package/dist/cjs/general/numeric/getSign.d.ts +6 -0
  52. package/dist/cjs/general/numeric/getSign.js +12 -0
  53. package/dist/cjs/general/numeric/index.d.ts +1 -0
  54. package/dist/cjs/general/numeric/index.js +17 -0
  55. package/dist/cjs/general/object/applyTimezoneDeep.d.ts +8 -0
  56. package/dist/cjs/general/object/applyTimezoneDeep.js +48 -0
  57. package/dist/cjs/general/object/index.d.ts +1 -0
  58. package/dist/cjs/general/object/index.js +1 -0
  59. package/dist/cjs/interfaces/format/IFormatConfig.Interface.d.ts +1 -0
  60. package/dist/cjs/interfaces/general/IWidgetConfig.d.ts +2 -1
  61. package/dist/cjs/qrvey/helpers/transformValue.js +34 -6
  62. package/dist/cjs/qrvey/interfaces/IBDataset.d.ts +2 -0
  63. package/dist/cjs/qrvey/interfaces/IBModel.d.ts +5 -0
  64. package/dist/cjs/qrvey/interfaces/IDataset.d.ts +3 -1
  65. package/dist/cjs/qrvey/interfaces/IModel.d.ts +3 -1
  66. package/dist/cjs/qrvey/interfaces/ITransformValueSettings.d.ts +6 -0
  67. package/dist/cjs/services/adapters/BDatasetsToUIDatasets.adapter.js +2 -0
  68. package/dist/cjs/services/adapters/BModelToUIModel.adapter.js +2 -0
  69. package/dist/cjs/services/adapters/BTimezoneToUITimezone.d.ts +8 -0
  70. package/dist/cjs/services/adapters/BTimezoneToUITimezone.js +18 -0
  71. package/dist/cjs/services/helpers/Request.d.ts +1 -1
  72. package/dist/cjs/services/helpers/Request.js +11 -5
  73. package/dist/dates/adapters/ISOToNumericOffset.d.ts +6 -0
  74. package/dist/dates/adapters/ISOToNumericOffset.js +17 -0
  75. package/dist/dates/adapters/index.d.ts +2 -0
  76. package/dist/dates/adapters/index.js +2 -0
  77. package/dist/dates/adapters/numericOffsetToISO.d.ts +6 -0
  78. package/dist/dates/adapters/numericOffsetToISO.js +25 -0
  79. package/dist/dates/constants/ISO_8601_REGEX.d.ts +1 -0
  80. package/dist/dates/constants/ISO_8601_REGEX.js +1 -0
  81. package/dist/dates/constants/TIMEZONE_TYPE.d.ts +5 -0
  82. package/dist/dates/constants/TIMEZONE_TYPE.js +6 -0
  83. package/dist/dates/constants/index.d.ts +1 -0
  84. package/dist/dates/constants/index.js +1 -0
  85. package/dist/dates/helpers/getDateByTimezone.d.ts +8 -0
  86. package/dist/dates/helpers/getDateByTimezone.js +37 -0
  87. package/dist/dates/helpers/getDateByTimezoneOffset.d.ts +7 -0
  88. package/dist/dates/helpers/getDateByTimezoneOffset.js +18 -0
  89. package/dist/dates/helpers/getTimezoneObject.d.ts +10 -0
  90. package/dist/dates/helpers/getTimezoneObject.js +17 -0
  91. package/dist/dates/helpers/getTimezoneOffsetByType.d.ts +13 -0
  92. package/dist/dates/helpers/getTimezoneOffsetByType.js +23 -0
  93. package/dist/dates/helpers/index.d.ts +4 -1
  94. package/dist/dates/helpers/index.js +4 -1
  95. package/dist/dates/helpers/isValidISOOffset.d.ts +7 -0
  96. package/dist/dates/helpers/isValidISOOffset.js +13 -0
  97. package/dist/dates/interfaces/IBTimezone.d.ts +7 -0
  98. package/dist/dates/interfaces/IBTimezone.js +1 -0
  99. package/dist/dates/interfaces/IBTimezoneType.d.ts +2 -0
  100. package/dist/dates/interfaces/IBTimezoneType.js +1 -0
  101. package/dist/dates/interfaces/IDTimezone.d.ts +6 -0
  102. package/dist/dates/interfaces/IDTimezone.js +1 -0
  103. package/dist/dates/interfaces/IDTimezoneOffset.d.ts +1 -0
  104. package/dist/dates/interfaces/IDTimezoneOffset.js +1 -0
  105. package/dist/dates/interfaces/IDTimezoneType.d.ts +2 -0
  106. package/dist/dates/interfaces/IDTimezoneType.js +1 -0
  107. package/dist/dates/interfaces/IGetDateByTimezoneSettings.d.ts +6 -0
  108. package/dist/dates/interfaces/IGetDateByTimezoneSettings.js +1 -0
  109. package/dist/dates/interfaces/index.d.ts +6 -0
  110. package/dist/dates/interfaces/index.js +6 -0
  111. package/dist/filters/helpers/builder/getFilterBuilderGeneralConfig.js +1 -1
  112. package/dist/filters/helpers/common/getFiltersByTimezone.d.ts +10 -0
  113. package/dist/filters/helpers/common/getFiltersByTimezone.js +22 -0
  114. package/dist/filters/helpers/common/index.d.ts +1 -0
  115. package/dist/filters/helpers/common/index.js +1 -0
  116. package/dist/filters/interfaces/ui/IFUTransformFilterValuesSettings.d.ts +6 -0
  117. package/dist/format/format.d.ts +1 -1
  118. package/dist/format/format.js +10 -4
  119. package/dist/general/index.d.ts +1 -0
  120. package/dist/general/index.js +1 -0
  121. package/dist/general/numeric/getSign.d.ts +6 -0
  122. package/dist/general/numeric/getSign.js +8 -0
  123. package/dist/general/numeric/index.d.ts +1 -0
  124. package/dist/general/numeric/index.js +1 -0
  125. package/dist/general/object/applyTimezoneDeep.d.ts +8 -0
  126. package/dist/general/object/applyTimezoneDeep.js +44 -0
  127. package/dist/general/object/index.d.ts +1 -0
  128. package/dist/general/object/index.js +1 -0
  129. package/dist/interfaces/format/IFormatConfig.Interface.d.ts +1 -0
  130. package/dist/interfaces/general/IWidgetConfig.d.ts +2 -1
  131. package/dist/qrvey/helpers/transformValue.js +34 -6
  132. package/dist/qrvey/interfaces/IBDataset.d.ts +2 -0
  133. package/dist/qrvey/interfaces/IBModel.d.ts +5 -0
  134. package/dist/qrvey/interfaces/IDataset.d.ts +3 -1
  135. package/dist/qrvey/interfaces/IModel.d.ts +3 -1
  136. package/dist/qrvey/interfaces/ITransformValueSettings.d.ts +6 -0
  137. package/dist/services/adapters/BDatasetsToUIDatasets.adapter.js +2 -0
  138. package/dist/services/adapters/BModelToUIModel.adapter.js +2 -0
  139. package/dist/services/adapters/BTimezoneToUITimezone.d.ts +8 -0
  140. package/dist/services/adapters/BTimezoneToUITimezone.js +14 -0
  141. package/dist/services/helpers/Request.d.ts +1 -1
  142. package/dist/services/helpers/Request.js +11 -5
  143. package/package.json +5 -5
  144. package/dist/cjs/dates/helpers/adjustTimezone.d.ts +0 -6
  145. package/dist/cjs/dates/helpers/adjustTimezone.js +0 -19
  146. package/dist/dates/helpers/adjustTimezone.d.ts +0 -6
  147. package/dist/dates/helpers/adjustTimezone.js +0 -15
@@ -1,9 +1,11 @@
1
1
  import { getAttribute } from "../../general/object/getAttribute";
2
2
  import { BColumnsToUIColumns } from "./BColumnsToUIColumns.adapter";
3
+ import { BTimezoneToUITimezone } from "./BTimezoneToUITimezone";
3
4
  export function BDatasetsToUIDatasets(datasets = []) {
4
5
  return datasets.map((dataset) => ({
5
6
  qrveyid: getAttribute(dataset, "qrvey_id"),
6
7
  label: dataset.name,
7
8
  options: BColumnsToUIColumns(dataset.options, dataset),
9
+ timezone: BTimezoneToUITimezone(dataset.timezone),
8
10
  }));
9
11
  }
@@ -1,6 +1,7 @@
1
1
  import { isEmpty } from "../../general/mix/isEmpty";
2
2
  import { BBranchesMapToUIBranchesMap } from "./BBranchesMapToUIBranchesMap.adapter";
3
3
  import { BColumnsToUIColumns } from "./BColumnsToUIColumns.adapter";
4
+ import { BTimezoneToUITimezone } from "./BTimezoneToUITimezone";
4
5
  export function BModelToUIModel(model) {
5
6
  if (isEmpty(model))
6
7
  return;
@@ -20,6 +21,7 @@ export function BModelToUIModel(model) {
20
21
  totalRecords: model.numResponses,
21
22
  qrveyid: model.qrveyid,
22
23
  status: model.status,
24
+ timezone: BTimezoneToUITimezone(model.timezone),
23
25
  userid: model.userid,
24
26
  };
25
27
  }
@@ -0,0 +1,8 @@
1
+ import { IDTimezone } from "../../dates/interfaces/IDTimezone";
2
+ import { IBTimezone } from "../../dates/interfaces/IBTimezone";
3
+ /**
4
+ * Transforms the backenc timezone structure to UI timezone structure
5
+ * @param {IBTimezone} timezone the backend timezone object
6
+ * @returns {IDTimezone} the UI timezone object
7
+ */
8
+ export declare function BTimezoneToUITimezone(timezone: IBTimezone): IDTimezone;
@@ -0,0 +1,14 @@
1
+ import { TIMEZONE_TYPE } from "../../dates/constants/TIMEZONE_TYPE";
2
+ import { getTimezoneOffsetByType } from "../../dates/helpers/getTimezoneOffsetByType";
3
+ /**
4
+ * Transforms the backenc timezone structure to UI timezone structure
5
+ * @param {IBTimezone} timezone the backend timezone object
6
+ * @returns {IDTimezone} the UI timezone object
7
+ */
8
+ export function BTimezoneToUITimezone(timezone) {
9
+ const type = (timezone === null || timezone === void 0 ? void 0 : timezone.type) || TIMEZONE_TYPE.DEFAULT;
10
+ return {
11
+ type,
12
+ offset: getTimezoneOffsetByType(Object.assign(Object.assign({}, timezone), { type })),
13
+ };
14
+ }
@@ -2,7 +2,7 @@ export default class Request {
2
2
  static checkStatus(response: any): Promise<any>;
3
3
  static hasQvToken(config: any): boolean;
4
4
  static getQvToken(config: any): any;
5
- static getTimezoneControl(config: any): any;
5
+ static getTimezoneOffset(config: any): string;
6
6
  static hasApiKey(config: any): boolean;
7
7
  static getApiKey(config: any): any;
8
8
  static makeUrl(config: any, url: any, params?: any): string;
@@ -7,6 +7,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
+ import { numericOffsetToISO } from "../../dates/adapters/numericOffsetToISO";
11
+ import { isEmpty } from "../../general/mix/isEmpty";
10
12
  import { getAttribute } from "../../general/object/getAttribute";
11
13
  import { serialize } from "../../general/object/serialize";
12
14
  import { parseUrl } from "../../general/string/parseUrl";
@@ -24,8 +26,12 @@ export default class Request {
24
26
  static getQvToken(config) {
25
27
  return getAttribute(config, "qv_token");
26
28
  }
27
- static getTimezoneControl(config) {
28
- return getAttribute(config, "timezone_control");
29
+ static getTimezoneOffset(config) {
30
+ var _a;
31
+ const timezoneOffset = (_a = config.timezone) === null || _a === void 0 ? void 0 : _a.offset;
32
+ if (!isEmpty(timezoneOffset)) {
33
+ return numericOffsetToISO(timezoneOffset);
34
+ }
29
35
  }
30
36
  static hasApiKey(config) {
31
37
  return !!this.getApiKey(config);
@@ -68,9 +74,9 @@ export default class Request {
68
74
  cfg.credentials = "include";
69
75
  }
70
76
  }
71
- const timezoneControl = this.getTimezoneControl(reqData.config);
72
- if (timezoneControl) {
73
- cfg.headers["q-timezone-control"] = `offset=${timezoneControl};use-client-offset-only`;
77
+ const timezoneOffset = this.getTimezoneOffset(reqData.config);
78
+ if (timezoneOffset) {
79
+ cfg.headers["q-timezone-control"] = `offset=${timezoneOffset}`;
74
80
  }
75
81
  // AbortSignal (https://developers.google.com/web/updates/2017/09/abortable-fetch)
76
82
  if (reqData.config && reqData.config.signal) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qrvey/utils",
3
- "version": "1.10.0-0",
3
+ "version": "1.10.0-2",
4
4
  "description": "Helper, Utils for all Qrvey Projects",
5
5
  "homepage": "https://bitbucket.org/qrvey/qrvey_utils/wiki/Home",
6
6
  "main": "dist/index.js",
@@ -24,10 +24,10 @@
24
24
  "devDependencies": {
25
25
  "@types/jest": "29.4.0",
26
26
  "@types/responselike": "1.0.0",
27
- "@typescript-eslint/eslint-plugin": "5.49.0",
28
- "@typescript-eslint/parser": "5.49.0",
27
+ "@typescript-eslint/eslint-plugin": "5.50.0",
28
+ "@typescript-eslint/parser": "5.50.0",
29
29
  "auto-changelog": "2.4.0",
30
- "eslint": "8.32.0",
30
+ "eslint": "8.33.0",
31
31
  "eslint-config-prettier": "8.6.0",
32
32
  "eslint-plugin-prettier": "4.2.1",
33
33
  "husky": "8.0.3",
@@ -36,7 +36,7 @@
36
36
  "np": "7.6.3",
37
37
  "prettier": "2.8.3",
38
38
  "ts-jest": "29.0.5",
39
- "typescript": "4.9.4"
39
+ "typescript": "4.9.5"
40
40
  },
41
41
  "dependencies": {
42
42
  "d3-format": "2.0.0",
@@ -1,6 +0,0 @@
1
- /**
2
- * Adjusts a Date with the UTC-0 Timezone.
3
- * @param date String, object or millisencond number of the date
4
- * @returns updated Date object
5
- */
6
- export declare function adjustTimezone(date: string | Date | number): Date;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.adjustTimezone = void 0;
4
- const constants_1 = require("../constants");
5
- const isValidPotentialDate_1 = require("./isValidPotentialDate");
6
- const validateDate_1 = require("./validateDate");
7
- /**
8
- * Adjusts a Date with the UTC-0 Timezone.
9
- * @param date String, object or millisencond number of the date
10
- * @returns updated Date object
11
- */
12
- function adjustTimezone(date) {
13
- if (!(0, isValidPotentialDate_1.isValidPotentialDate)(date) ||
14
- (typeof date === "string" && !(0, validateDate_1.validateDate)(date, constants_1.DATE_FORMAT.DAY)))
15
- return date;
16
- const dt = new Date(date.valueOf());
17
- return new Date(+dt + dt.getTimezoneOffset() * 1000 * 60);
18
- }
19
- exports.adjustTimezone = adjustTimezone;
@@ -1,6 +0,0 @@
1
- /**
2
- * Adjusts a Date with the UTC-0 Timezone.
3
- * @param date String, object or millisencond number of the date
4
- * @returns updated Date object
5
- */
6
- export declare function adjustTimezone(date: string | Date | number): Date;
@@ -1,15 +0,0 @@
1
- import { DATE_FORMAT } from "../constants";
2
- import { isValidPotentialDate } from "./isValidPotentialDate";
3
- import { validateDate } from "./validateDate";
4
- /**
5
- * Adjusts a Date with the UTC-0 Timezone.
6
- * @param date String, object or millisencond number of the date
7
- * @returns updated Date object
8
- */
9
- export function adjustTimezone(date) {
10
- if (!isValidPotentialDate(date) ||
11
- (typeof date === "string" && !validateDate(date, DATE_FORMAT.DAY)))
12
- return date;
13
- const dt = new Date(date.valueOf());
14
- return new Date(+dt + dt.getTimezoneOffset() * 1000 * 60);
15
- }