@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.
- package/dist/charts/adapters/endpointData.js +0 -3
- package/dist/cjs/charts/adapters/endpointData.js +0 -3
- package/dist/cjs/columns/constants/COLUMN_PROPERTIES.d.ts +1 -1
- package/dist/cjs/columns/helpers/isNumericalColumn.js +3 -1
- package/dist/cjs/dates/adapters/ISOToNumericOffset.d.ts +6 -0
- package/dist/cjs/dates/adapters/ISOToNumericOffset.js +21 -0
- package/dist/cjs/dates/adapters/dateToHms.js +8 -10
- package/dist/cjs/dates/adapters/dateToMdyDate.d.ts +2 -1
- package/dist/cjs/dates/adapters/dateToMdyDate.js +9 -3
- package/dist/cjs/dates/adapters/dateToMonthYear.d.ts +2 -1
- package/dist/cjs/dates/adapters/dateToMonthYear.js +7 -3
- package/dist/cjs/dates/adapters/dateToQuarterYear.d.ts +2 -1
- package/dist/cjs/dates/adapters/dateToQuarterYear.js +8 -4
- package/dist/cjs/dates/adapters/dateToWeekYear.d.ts +2 -1
- package/dist/cjs/dates/adapters/dateToWeekYear.js +6 -2
- package/dist/cjs/dates/adapters/dateToYear.d.ts +2 -1
- package/dist/cjs/dates/adapters/dateToYear.js +7 -3
- package/dist/cjs/dates/adapters/hmsToDate.d.ts +2 -1
- package/dist/cjs/dates/adapters/hmsToDate.js +6 -2
- package/dist/cjs/dates/adapters/index.d.ts +2 -0
- package/dist/cjs/dates/adapters/index.js +2 -0
- package/dist/cjs/dates/adapters/mdyDateToDate.d.ts +2 -1
- package/dist/cjs/dates/adapters/mdyDateToDate.js +7 -2
- package/dist/cjs/dates/adapters/monthYearToDate.d.ts +2 -1
- package/dist/cjs/dates/adapters/monthYearToDate.js +6 -2
- package/dist/cjs/dates/adapters/numericOffsetToISO.d.ts +6 -0
- package/dist/cjs/dates/adapters/numericOffsetToISO.js +34 -0
- package/dist/cjs/dates/adapters/quarterYearToDate.d.ts +2 -1
- package/dist/cjs/dates/adapters/quarterYearToDate.js +6 -2
- package/dist/cjs/dates/adapters/weekYearToDate.d.ts +2 -1
- package/dist/cjs/dates/adapters/weekYearToDate.js +10 -6
- package/dist/cjs/dates/adapters/yearToDate.d.ts +2 -1
- package/dist/cjs/dates/adapters/yearToDate.js +6 -2
- package/dist/cjs/dates/constants/ISO_8601_REGEX.d.ts +1 -0
- package/dist/cjs/dates/constants/ISO_8601_REGEX.js +4 -0
- package/dist/cjs/dates/constants/TIMEZONE_TYPE.d.ts +5 -0
- package/dist/cjs/dates/constants/TIMEZONE_TYPE.js +9 -0
- package/dist/cjs/dates/constants/index.d.ts +1 -0
- package/dist/cjs/dates/constants/index.js +1 -0
- package/dist/cjs/dates/helpers/getDateByDateFormat.d.ts +2 -1
- package/dist/cjs/dates/helpers/getDateByDateFormat.js +6 -6
- package/dist/cjs/dates/helpers/getDateByTimezone.d.ts +8 -0
- package/dist/cjs/dates/helpers/getDateByTimezone.js +24 -0
- package/dist/cjs/dates/helpers/getDateByTimezoneOffset.d.ts +7 -0
- package/dist/cjs/dates/helpers/getDateByTimezoneOffset.js +33 -0
- package/dist/cjs/dates/helpers/getDefaultDateSettings.d.ts +7 -0
- package/dist/cjs/dates/helpers/getDefaultDateSettings.js +17 -0
- package/dist/cjs/dates/helpers/getFormattedDateByFormat.d.ts +2 -1
- package/dist/cjs/dates/helpers/getFormattedDateByFormat.js +7 -7
- package/dist/cjs/dates/helpers/getTimezoneObject.d.ts +11 -0
- package/dist/cjs/dates/helpers/getTimezoneObject.js +107 -0
- package/dist/cjs/dates/helpers/getTimezoneOffsetByType.d.ts +13 -0
- package/dist/cjs/dates/helpers/getTimezoneOffsetByType.js +27 -0
- package/dist/cjs/dates/helpers/getUTCFormatByOffset.d.ts +7 -0
- package/dist/cjs/dates/helpers/getUTCFormatByOffset.js +17 -0
- package/dist/cjs/dates/helpers/getWeek.js +6 -6
- package/dist/cjs/dates/helpers/index.d.ts +6 -1
- package/dist/cjs/dates/helpers/index.js +6 -1
- package/dist/cjs/dates/helpers/isValidISOOffset.d.ts +7 -0
- package/dist/cjs/dates/helpers/isValidISOOffset.js +17 -0
- package/dist/cjs/dates/interfaces/IBTimezone.d.ts +7 -0
- package/dist/cjs/dates/interfaces/IBTimezone.js +2 -0
- package/dist/cjs/dates/interfaces/IBTimezoneType.d.ts +2 -0
- package/dist/cjs/dates/interfaces/IBTimezoneType.js +2 -0
- package/dist/cjs/dates/interfaces/IDFDateToHmsSettings.d.ts +2 -1
- package/dist/cjs/dates/interfaces/IDTimezone.d.ts +7 -0
- package/dist/cjs/dates/interfaces/IDTimezone.js +2 -0
- package/dist/cjs/dates/interfaces/IDTimezoneOffset.d.ts +1 -0
- package/dist/cjs/dates/interfaces/IDTimezoneOffset.js +2 -0
- package/dist/cjs/dates/interfaces/IDTimezoneType.d.ts +2 -0
- package/dist/cjs/dates/interfaces/IDTimezoneType.js +2 -0
- package/dist/cjs/dates/interfaces/IDateSettings.d.ts +5 -0
- package/dist/cjs/dates/interfaces/IDateSettings.js +2 -0
- package/dist/cjs/dates/interfaces/index.d.ts +6 -0
- package/dist/cjs/dates/interfaces/index.js +6 -0
- package/dist/cjs/filters/helpers/builder/getFilterBuilderGeneralConfig.js +1 -1
- package/dist/cjs/filters/helpers/common/getFiltersByTimezone.d.ts +10 -0
- package/dist/cjs/filters/helpers/common/getFiltersByTimezone.js +26 -0
- package/dist/cjs/filters/helpers/common/index.d.ts +1 -0
- package/dist/cjs/filters/helpers/common/index.js +1 -0
- package/dist/cjs/filters/interfaces/ui/IFUTransformFilterValuesSettings.d.ts +6 -0
- package/dist/cjs/filters/services/Filters.api.js +1 -1
- package/dist/cjs/format/format.d.ts +1 -1
- package/dist/cjs/format/format.js +21 -4
- package/dist/cjs/format/localization.js +10 -1
- package/dist/cjs/general/index.d.ts +1 -0
- package/dist/cjs/general/index.js +1 -0
- package/dist/cjs/general/numeric/getSign.d.ts +6 -0
- package/dist/cjs/general/numeric/getSign.js +12 -0
- package/dist/cjs/general/numeric/index.d.ts +1 -0
- package/dist/cjs/general/numeric/index.js +17 -0
- package/dist/cjs/general/object/applyTimezoneDeep.d.ts +8 -0
- package/dist/cjs/general/object/applyTimezoneDeep.js +44 -0
- package/dist/cjs/general/object/index.d.ts +1 -0
- package/dist/cjs/general/object/index.js +1 -0
- package/dist/cjs/general/object/mergeDeep.d.ts +6 -0
- package/dist/cjs/general/object/mergeDeep.js +12 -10
- package/dist/cjs/globalization/labels/filters/I18N_RELATIVE_CONTAINER.js +1 -1
- package/dist/cjs/globalization/labels/formula_builder/I18N_FORMULA_BUILDER.js +3 -3
- package/dist/cjs/globalization/labels/panel/I18N_PANEL.js +1 -1
- package/dist/cjs/interfaces/format/IFormatConfig.Interface.d.ts +1 -0
- package/dist/cjs/interfaces/general/IWidgetConfig.d.ts +2 -1
- package/dist/cjs/qrvey/helpers/transformValue.js +31 -6
- package/dist/cjs/qrvey/interfaces/IBDataset.d.ts +2 -0
- package/dist/cjs/qrvey/interfaces/IBModel.d.ts +5 -0
- package/dist/cjs/qrvey/interfaces/IDataset.d.ts +3 -1
- package/dist/cjs/qrvey/interfaces/IModel.d.ts +3 -1
- package/dist/cjs/qrvey/interfaces/ITransformValueSettings.d.ts +6 -0
- package/dist/cjs/services/adapters/BDatasetsToUIDatasets.adapter.js +2 -0
- package/dist/cjs/services/adapters/BModelToUIModel.adapter.js +2 -0
- package/dist/cjs/services/adapters/BTimezoneToUITimezone.d.ts +8 -0
- package/dist/cjs/services/adapters/BTimezoneToUITimezone.js +18 -0
- package/dist/cjs/services/helpers/Request.d.ts +1 -1
- package/dist/cjs/services/helpers/Request.js +11 -5
- package/dist/columns/constants/COLUMN_PROPERTIES.d.ts +1 -1
- package/dist/columns/helpers/isNumericalColumn.js +3 -1
- package/dist/dates/adapters/ISOToNumericOffset.d.ts +6 -0
- package/dist/dates/adapters/ISOToNumericOffset.js +17 -0
- package/dist/dates/adapters/dateToHms.js +8 -10
- package/dist/dates/adapters/dateToMdyDate.d.ts +2 -1
- package/dist/dates/adapters/dateToMdyDate.js +9 -3
- package/dist/dates/adapters/dateToMonthYear.d.ts +2 -1
- package/dist/dates/adapters/dateToMonthYear.js +7 -3
- package/dist/dates/adapters/dateToQuarterYear.d.ts +2 -1
- package/dist/dates/adapters/dateToQuarterYear.js +8 -4
- package/dist/dates/adapters/dateToWeekYear.d.ts +2 -1
- package/dist/dates/adapters/dateToWeekYear.js +6 -2
- package/dist/dates/adapters/dateToYear.d.ts +2 -1
- package/dist/dates/adapters/dateToYear.js +7 -3
- package/dist/dates/adapters/hmsToDate.d.ts +2 -1
- package/dist/dates/adapters/hmsToDate.js +6 -2
- package/dist/dates/adapters/index.d.ts +2 -0
- package/dist/dates/adapters/index.js +2 -0
- package/dist/dates/adapters/mdyDateToDate.d.ts +2 -1
- package/dist/dates/adapters/mdyDateToDate.js +7 -2
- package/dist/dates/adapters/monthYearToDate.d.ts +2 -1
- package/dist/dates/adapters/monthYearToDate.js +6 -2
- package/dist/dates/adapters/numericOffsetToISO.d.ts +6 -0
- package/dist/dates/adapters/numericOffsetToISO.js +30 -0
- package/dist/dates/adapters/quarterYearToDate.d.ts +2 -1
- package/dist/dates/adapters/quarterYearToDate.js +6 -2
- package/dist/dates/adapters/weekYearToDate.d.ts +2 -1
- package/dist/dates/adapters/weekYearToDate.js +10 -6
- package/dist/dates/adapters/yearToDate.d.ts +2 -1
- package/dist/dates/adapters/yearToDate.js +6 -2
- package/dist/dates/constants/ISO_8601_REGEX.d.ts +1 -0
- package/dist/dates/constants/ISO_8601_REGEX.js +1 -0
- package/dist/dates/constants/TIMEZONE_TYPE.d.ts +5 -0
- package/dist/dates/constants/TIMEZONE_TYPE.js +6 -0
- package/dist/dates/constants/index.d.ts +1 -0
- package/dist/dates/constants/index.js +1 -0
- package/dist/dates/helpers/getDateByDateFormat.d.ts +2 -1
- package/dist/dates/helpers/getDateByDateFormat.js +6 -6
- package/dist/dates/helpers/getDateByTimezone.d.ts +8 -0
- package/dist/dates/helpers/getDateByTimezone.js +20 -0
- package/dist/dates/helpers/getDateByTimezoneOffset.d.ts +7 -0
- package/dist/dates/helpers/getDateByTimezoneOffset.js +26 -0
- package/dist/dates/helpers/getDefaultDateSettings.d.ts +7 -0
- package/dist/dates/helpers/getDefaultDateSettings.js +13 -0
- package/dist/dates/helpers/getFormattedDateByFormat.d.ts +2 -1
- package/dist/dates/helpers/getFormattedDateByFormat.js +7 -7
- package/dist/dates/helpers/getTimezoneObject.d.ts +11 -0
- package/dist/dates/helpers/getTimezoneObject.js +103 -0
- package/dist/dates/helpers/getTimezoneOffsetByType.d.ts +13 -0
- package/dist/dates/helpers/getTimezoneOffsetByType.js +23 -0
- package/dist/dates/helpers/getUTCFormatByOffset.d.ts +7 -0
- package/dist/dates/helpers/getUTCFormatByOffset.js +13 -0
- package/dist/dates/helpers/getWeek.js +6 -6
- package/dist/dates/helpers/index.d.ts +6 -1
- package/dist/dates/helpers/index.js +6 -1
- package/dist/dates/helpers/isValidISOOffset.d.ts +7 -0
- package/dist/dates/helpers/isValidISOOffset.js +13 -0
- package/dist/dates/interfaces/IBTimezone.d.ts +7 -0
- package/dist/dates/interfaces/IBTimezone.js +1 -0
- package/dist/dates/interfaces/IBTimezoneType.d.ts +2 -0
- package/dist/dates/interfaces/IBTimezoneType.js +1 -0
- package/dist/dates/interfaces/IDFDateToHmsSettings.d.ts +2 -1
- package/dist/dates/interfaces/IDTimezone.d.ts +7 -0
- package/dist/dates/interfaces/IDTimezone.js +1 -0
- package/dist/dates/interfaces/IDTimezoneOffset.d.ts +1 -0
- package/dist/dates/interfaces/IDTimezoneOffset.js +1 -0
- package/dist/dates/interfaces/IDTimezoneType.d.ts +2 -0
- package/dist/dates/interfaces/IDTimezoneType.js +1 -0
- package/dist/dates/interfaces/IDateSettings.d.ts +5 -0
- package/dist/dates/interfaces/IDateSettings.js +1 -0
- package/dist/dates/interfaces/index.d.ts +6 -0
- package/dist/dates/interfaces/index.js +6 -0
- package/dist/filters/helpers/builder/getFilterBuilderGeneralConfig.js +1 -1
- package/dist/filters/helpers/common/getFiltersByTimezone.d.ts +10 -0
- package/dist/filters/helpers/common/getFiltersByTimezone.js +22 -0
- package/dist/filters/helpers/common/index.d.ts +1 -0
- package/dist/filters/helpers/common/index.js +1 -0
- package/dist/filters/interfaces/ui/IFUTransformFilterValuesSettings.d.ts +6 -0
- package/dist/filters/services/Filters.api.js +1 -1
- package/dist/format/format.d.ts +1 -1
- package/dist/format/format.js +21 -4
- package/dist/format/localization.js +10 -1
- package/dist/general/index.d.ts +1 -0
- package/dist/general/index.js +1 -0
- package/dist/general/numeric/getSign.d.ts +6 -0
- package/dist/general/numeric/getSign.js +8 -0
- package/dist/general/numeric/index.d.ts +1 -0
- package/dist/general/numeric/index.js +1 -0
- package/dist/general/object/applyTimezoneDeep.d.ts +8 -0
- package/dist/general/object/applyTimezoneDeep.js +40 -0
- package/dist/general/object/index.d.ts +1 -0
- package/dist/general/object/index.js +1 -0
- package/dist/general/object/mergeDeep.d.ts +6 -0
- package/dist/general/object/mergeDeep.js +12 -10
- package/dist/globalization/labels/filters/I18N_RELATIVE_CONTAINER.js +1 -1
- package/dist/globalization/labels/formula_builder/I18N_FORMULA_BUILDER.js +3 -3
- package/dist/globalization/labels/panel/I18N_PANEL.js +1 -1
- package/dist/interfaces/format/IFormatConfig.Interface.d.ts +1 -0
- package/dist/interfaces/general/IWidgetConfig.d.ts +2 -1
- package/dist/qrvey/helpers/transformValue.js +31 -6
- package/dist/qrvey/interfaces/IBDataset.d.ts +2 -0
- package/dist/qrvey/interfaces/IBModel.d.ts +5 -0
- package/dist/qrvey/interfaces/IDataset.d.ts +3 -1
- package/dist/qrvey/interfaces/IModel.d.ts +3 -1
- package/dist/qrvey/interfaces/ITransformValueSettings.d.ts +6 -0
- package/dist/services/adapters/BDatasetsToUIDatasets.adapter.js +2 -0
- package/dist/services/adapters/BModelToUIModel.adapter.js +2 -0
- package/dist/services/adapters/BTimezoneToUITimezone.d.ts +8 -0
- package/dist/services/adapters/BTimezoneToUITimezone.js +14 -0
- package/dist/services/helpers/Request.d.ts +1 -1
- package/dist/services/helpers/Request.js +11 -5
- package/package.json +5 -5
- package/dist/cjs/dates/helpers/adjustTimezone.d.ts +0 -6
- package/dist/cjs/dates/helpers/adjustTimezone.js +0 -19
- package/dist/dates/helpers/adjustTimezone.d.ts +0 -6
- package/dist/dates/helpers/adjustTimezone.js +0 -15
|
@@ -4,6 +4,7 @@ exports.BModelToUIModel = void 0;
|
|
|
4
4
|
const isEmpty_1 = require("../../general/mix/isEmpty");
|
|
5
5
|
const BBranchesMapToUIBranchesMap_adapter_1 = require("./BBranchesMapToUIBranchesMap.adapter");
|
|
6
6
|
const BColumnsToUIColumns_adapter_1 = require("./BColumnsToUIColumns.adapter");
|
|
7
|
+
const BTimezoneToUITimezone_1 = require("./BTimezoneToUITimezone");
|
|
7
8
|
function BModelToUIModel(model) {
|
|
8
9
|
if ((0, isEmpty_1.isEmpty)(model))
|
|
9
10
|
return;
|
|
@@ -23,6 +24,7 @@ function BModelToUIModel(model) {
|
|
|
23
24
|
totalRecords: model.numResponses,
|
|
24
25
|
qrveyid: model.qrveyid,
|
|
25
26
|
status: model.status,
|
|
27
|
+
timezone: (0, BTimezoneToUITimezone_1.BTimezoneToUITimezone)(model.timezone),
|
|
26
28
|
userid: model.userid,
|
|
27
29
|
};
|
|
28
30
|
}
|
|
@@ -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,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BTimezoneToUITimezone = void 0;
|
|
4
|
+
const TIMEZONE_TYPE_1 = require("../../dates/constants/TIMEZONE_TYPE");
|
|
5
|
+
const getTimezoneOffsetByType_1 = require("../../dates/helpers/getTimezoneOffsetByType");
|
|
6
|
+
/**
|
|
7
|
+
* Transforms the backenc timezone structure to UI timezone structure
|
|
8
|
+
* @param {IBTimezone} timezone the backend timezone object
|
|
9
|
+
* @returns {IDTimezone} the UI timezone object
|
|
10
|
+
*/
|
|
11
|
+
function BTimezoneToUITimezone(timezone) {
|
|
12
|
+
const type = (timezone === null || timezone === void 0 ? void 0 : timezone.type) || TIMEZONE_TYPE_1.TIMEZONE_TYPE.DEFAULT;
|
|
13
|
+
return {
|
|
14
|
+
type,
|
|
15
|
+
offset: (0, getTimezoneOffsetByType_1.getTimezoneOffsetByType)(Object.assign(Object.assign({}, timezone), { type })),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
exports.BTimezoneToUITimezone = BTimezoneToUITimezone;
|
|
@@ -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
|
|
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;
|
|
@@ -9,6 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const numericOffsetToISO_1 = require("../../dates/adapters/numericOffsetToISO");
|
|
13
|
+
const isEmpty_1 = require("../../general/mix/isEmpty");
|
|
12
14
|
const getAttribute_1 = require("../../general/object/getAttribute");
|
|
13
15
|
const serialize_1 = require("../../general/object/serialize");
|
|
14
16
|
const parseUrl_1 = require("../../general/string/parseUrl");
|
|
@@ -26,8 +28,12 @@ class Request {
|
|
|
26
28
|
static getQvToken(config) {
|
|
27
29
|
return (0, getAttribute_1.getAttribute)(config, "qv_token");
|
|
28
30
|
}
|
|
29
|
-
static
|
|
30
|
-
|
|
31
|
+
static getTimezoneOffset(config) {
|
|
32
|
+
var _a;
|
|
33
|
+
const timezoneOffset = (_a = config.timezone) === null || _a === void 0 ? void 0 : _a.offset;
|
|
34
|
+
if (!(0, isEmpty_1.isEmpty)(timezoneOffset)) {
|
|
35
|
+
return (0, numericOffsetToISO_1.numericOffsetToISO)(timezoneOffset);
|
|
36
|
+
}
|
|
31
37
|
}
|
|
32
38
|
static hasApiKey(config) {
|
|
33
39
|
return !!this.getApiKey(config);
|
|
@@ -70,9 +76,9 @@ class Request {
|
|
|
70
76
|
cfg.credentials = "include";
|
|
71
77
|
}
|
|
72
78
|
}
|
|
73
|
-
const
|
|
74
|
-
if (
|
|
75
|
-
cfg.headers["q-timezone-control"] = `offset=${
|
|
79
|
+
const timezoneOffset = this.getTimezoneOffset(reqData.config);
|
|
80
|
+
if (timezoneOffset) {
|
|
81
|
+
cfg.headers["q-timezone-control"] = `offset=${timezoneOffset}`;
|
|
76
82
|
}
|
|
77
83
|
// AbortSignal (https://developers.google.com/web/updates/2017/09/abortable-fetch)
|
|
78
84
|
if (reqData.config && reqData.config.signal) {
|
|
@@ -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("
|
|
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)[];
|
|
@@ -11,4 +11,6 @@ import { NUMERICAL_COLUMNS } from "../constants/NUMERICAL_COLUMNS";
|
|
|
11
11
|
export const isNumericalColumn = (column) => !isEmpty(column) &&
|
|
12
12
|
isObject(column) &&
|
|
13
13
|
(NUMERICAL_COLUMNS.includes(column.type) ||
|
|
14
|
-
(column.type === COLUMN.FORMULA && column.formulaType === FORMULA.NUMBER)
|
|
14
|
+
(column.type === COLUMN.FORMULA && column.formulaType === FORMULA.NUMBER) ||
|
|
15
|
+
(column.type === COLUMN.AGGREGATED_FORMULA &&
|
|
16
|
+
column.formulaType === FORMULA.NUMBER));
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { isNaNV2 } from "../../general/mix/isNaNV2";
|
|
2
|
+
import { isValidISOOffset } from "../helpers/isValidISOOffset";
|
|
3
|
+
/**
|
|
4
|
+
* Gets the numeric offset (minutes) from the ISO offset (string)
|
|
5
|
+
* @param {string} offset the timezone offset
|
|
6
|
+
* @returns {number} the offset in minutes
|
|
7
|
+
*/
|
|
8
|
+
export function ISOToNumericOffset(offset) {
|
|
9
|
+
if (typeof offset === "string" && offset === "browser")
|
|
10
|
+
return -1 * new Date().getTimezoneOffset();
|
|
11
|
+
if (typeof offset === "number" || !isNaNV2(offset))
|
|
12
|
+
return +offset;
|
|
13
|
+
if (!isValidISOOffset(offset))
|
|
14
|
+
return 0;
|
|
15
|
+
const [hours, minutes] = offset.split(":").map(Number);
|
|
16
|
+
return hours * 60 + minutes;
|
|
17
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { padLeadingZeros } from "../../general/string/padLeadingZeros";
|
|
2
|
+
import { getDateByTimezone } from "../helpers/getDateByTimezone";
|
|
2
3
|
import { isValidDateObject } from "../helpers/isValidDateObject";
|
|
3
4
|
import { isValidPotentialDate } from "../helpers/isValidPotentialDate";
|
|
4
5
|
/**
|
|
@@ -10,10 +11,11 @@ import { isValidPotentialDate } from "../helpers/isValidPotentialDate";
|
|
|
10
11
|
export function dateToHms(date, settings) {
|
|
11
12
|
if (!isValidPotentialDate(date))
|
|
12
13
|
return date;
|
|
13
|
-
const
|
|
14
|
+
const defaultSettings = getDefaultSettings(settings);
|
|
15
|
+
const timezonedDate = getDateByTimezone(date, defaultSettings.timezone);
|
|
16
|
+
const dt = new Date(timezonedDate.valueOf());
|
|
14
17
|
if (!isValidDateObject(dt))
|
|
15
18
|
return date;
|
|
16
|
-
const defaultSettings = getDefaultSettings(settings);
|
|
17
19
|
const hours = getHours(dt, defaultSettings);
|
|
18
20
|
const minutes = getMinutes(dt, defaultSettings);
|
|
19
21
|
const seconds = getSeconds(dt, defaultSettings);
|
|
@@ -26,11 +28,7 @@ export function dateToHms(date, settings) {
|
|
|
26
28
|
*/
|
|
27
29
|
function getDefaultSettings(settings) {
|
|
28
30
|
var _a, _b, _c;
|
|
29
|
-
return {
|
|
30
|
-
omitHour: (_a = settings === null || settings === void 0 ? void 0 : settings.omitHour) !== null && _a !== void 0 ? _a : false,
|
|
31
|
-
omitMinute: (_b = settings === null || settings === void 0 ? void 0 : settings.omitMinute) !== null && _b !== void 0 ? _b : false,
|
|
32
|
-
omitSecond: (_c = settings === null || settings === void 0 ? void 0 : settings.omitSecond) !== null && _c !== void 0 ? _c : false,
|
|
33
|
-
};
|
|
31
|
+
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 });
|
|
34
32
|
}
|
|
35
33
|
/**
|
|
36
34
|
* Gets the Hours
|
|
@@ -39,7 +37,7 @@ function getDefaultSettings(settings) {
|
|
|
39
37
|
* @returns the hour string
|
|
40
38
|
*/
|
|
41
39
|
function getHours(date, settings) {
|
|
42
|
-
return padLeadingZeros(settings.omitHour ? "0" : date.
|
|
40
|
+
return padLeadingZeros(settings.omitHour ? "0" : date.getUTCHours(), 2).slice(-2);
|
|
43
41
|
}
|
|
44
42
|
/**
|
|
45
43
|
* Gets the Minutes
|
|
@@ -48,7 +46,7 @@ function getHours(date, settings) {
|
|
|
48
46
|
* @returns the minute string
|
|
49
47
|
*/
|
|
50
48
|
function getMinutes(date, settings) {
|
|
51
|
-
return padLeadingZeros(settings.omitMinute ? "0" : date.
|
|
49
|
+
return padLeadingZeros(settings.omitMinute ? "0" : date.getUTCMinutes(), 2).slice(-2);
|
|
52
50
|
}
|
|
53
51
|
/**
|
|
54
52
|
* Gets the Seconds
|
|
@@ -57,5 +55,5 @@ function getMinutes(date, settings) {
|
|
|
57
55
|
* @returns the seconds string
|
|
58
56
|
*/
|
|
59
57
|
function getSeconds(date, settings) {
|
|
60
|
-
return padLeadingZeros(settings.omitSecond ? "0" : date.
|
|
58
|
+
return padLeadingZeros(settings.omitSecond ? "0" : date.getUTCSeconds(), 2).slice(-2);
|
|
61
59
|
}
|
|
@@ -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,
|
|
7
|
+
export declare function dateToMdyDate(date: string | Date | number, settings?: IDateSettings): string;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { padLeadingZeros } from "../../general/string/padLeadingZeros";
|
|
2
|
+
import { getDateByTimezone } from "../helpers/getDateByTimezone";
|
|
3
|
+
import { getDefaultDateSettings } from "../helpers/getDefaultDateSettings";
|
|
2
4
|
import { isValidDateObject } from "../helpers/isValidDateObject";
|
|
3
5
|
import { isValidPotentialDate } from "../helpers/isValidPotentialDate";
|
|
4
6
|
import { dateToHms } from "./dateToHms";
|
|
@@ -7,11 +9,15 @@ import { dateToHms } from "./dateToHms";
|
|
|
7
9
|
* @param date String, object or millisencond number of the date
|
|
8
10
|
* @returns string of [mm/dd/yyyy] date format
|
|
9
11
|
*/
|
|
10
|
-
export function dateToMdyDate(date,
|
|
12
|
+
export function dateToMdyDate(date, settings) {
|
|
11
13
|
if (!isValidPotentialDate(date))
|
|
12
14
|
return date;
|
|
13
|
-
const
|
|
15
|
+
const defaultSettings = getDefaultDateSettings(settings);
|
|
16
|
+
const timezonedDate = getDateByTimezone(date, defaultSettings.timezone);
|
|
17
|
+
const dt = new Date(timezonedDate.valueOf());
|
|
14
18
|
if (!isValidDateObject(dt))
|
|
15
19
|
return date;
|
|
16
|
-
return `${padLeadingZeros(dt.
|
|
20
|
+
return `${padLeadingZeros(dt.getUTCMonth() + 1, 2).slice(-2)}/${padLeadingZeros(dt.getUTCDate(), 2).slice(-2)}/${padLeadingZeros(dt.getUTCFullYear(), 4)}${defaultSettings.convertMiliseconds
|
|
21
|
+
? ` ${dateToHms(date, defaultSettings)}`
|
|
22
|
+
: ""}`;
|
|
17
23
|
}
|
|
@@ -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;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { DATE_YEAR_MONTHS } from "../constants/DATE_YEAR_MONTHS";
|
|
2
|
+
import { getDateByTimezone } from "../helpers/getDateByTimezone";
|
|
3
|
+
import { getDefaultDateSettings } from "../helpers/getDefaultDateSettings";
|
|
2
4
|
import { isValidDateObject } from "../helpers/isValidDateObject";
|
|
3
5
|
import { isValidPotentialDate } from "../helpers/isValidPotentialDate";
|
|
4
6
|
/**
|
|
@@ -6,11 +8,13 @@ import { isValidPotentialDate } from "../helpers/isValidPotentialDate";
|
|
|
6
8
|
* @param date String, object or millisencond number of the date
|
|
7
9
|
* @returns string of [Month Year] date format
|
|
8
10
|
*/
|
|
9
|
-
export function dateToMonthYear(date) {
|
|
11
|
+
export function dateToMonthYear(date, settings) {
|
|
10
12
|
if (!isValidPotentialDate(date))
|
|
11
13
|
return date;
|
|
12
|
-
const
|
|
14
|
+
const defaultSettings = getDefaultDateSettings(settings);
|
|
15
|
+
const timezonedDate = getDateByTimezone(date, defaultSettings.timezone);
|
|
16
|
+
const dt = new Date(timezonedDate.valueOf());
|
|
13
17
|
if (!isValidDateObject(dt))
|
|
14
18
|
return date;
|
|
15
|
-
return `${DATE_YEAR_MONTHS[dt.
|
|
19
|
+
return `${DATE_YEAR_MONTHS[dt.getUTCMonth()]} ${dt.getUTCFullYear()}`;
|
|
16
20
|
}
|
|
@@ -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;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { DATE_YEAR_QUARTERS } from "../constants/DATE_YEAR_QUARTERS";
|
|
2
|
+
import { getDateByTimezone } from "../helpers/getDateByTimezone";
|
|
3
|
+
import { getDefaultDateSettings } from "../helpers/getDefaultDateSettings";
|
|
2
4
|
import { isValidDateObject } from "../helpers/isValidDateObject";
|
|
3
5
|
import { isValidPotentialDate } from "../helpers/isValidPotentialDate";
|
|
4
6
|
/**
|
|
@@ -6,12 +8,14 @@ import { isValidPotentialDate } from "../helpers/isValidPotentialDate";
|
|
|
6
8
|
* @param date String of a valid date, date object or millisencond number of the date
|
|
7
9
|
* @returns string of [Quarter Year] date format
|
|
8
10
|
*/
|
|
9
|
-
export function dateToQuarterYear(date) {
|
|
11
|
+
export function dateToQuarterYear(date, settings) {
|
|
10
12
|
if (!isValidPotentialDate(date))
|
|
11
13
|
return date;
|
|
12
|
-
const
|
|
14
|
+
const defaultSettings = getDefaultDateSettings(settings);
|
|
15
|
+
const timezonedDate = getDateByTimezone(date, defaultSettings.timezone);
|
|
16
|
+
const dt = new Date(timezonedDate.valueOf());
|
|
13
17
|
if (!isValidDateObject(dt))
|
|
14
18
|
return date;
|
|
15
|
-
const quarter = Math.ceil((dt.
|
|
16
|
-
return `${DATE_YEAR_QUARTERS[quarter - 1]} ${dt.
|
|
19
|
+
const quarter = Math.ceil((dt.getUTCMonth() + 1) / 3);
|
|
20
|
+
return `${DATE_YEAR_QUARTERS[quarter - 1]} ${dt.getUTCFullYear()}`;
|
|
17
21
|
}
|
|
@@ -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,3 +1,5 @@
|
|
|
1
|
+
import { getDateByTimezone } from "../helpers/getDateByTimezone";
|
|
2
|
+
import { getDefaultDateSettings } from "../helpers/getDefaultDateSettings";
|
|
1
3
|
import { getWeek } from "../helpers/getWeek";
|
|
2
4
|
import { isValidDateObject } from "../helpers/isValidDateObject";
|
|
3
5
|
import { isValidPotentialDate } from "../helpers/isValidPotentialDate";
|
|
@@ -6,10 +8,12 @@ import { isValidPotentialDate } from "../helpers/isValidPotentialDate";
|
|
|
6
8
|
* @param date String, object or millisencond number of the date
|
|
7
9
|
* @returns string of [W# Year] date format
|
|
8
10
|
*/
|
|
9
|
-
export function dateToWeekYear(date) {
|
|
11
|
+
export function dateToWeekYear(date, settings) {
|
|
10
12
|
if (!isValidPotentialDate(date))
|
|
11
13
|
return date;
|
|
12
|
-
const
|
|
14
|
+
const defaultSettings = getDefaultDateSettings(settings);
|
|
15
|
+
const timezonedDate = getDateByTimezone(date, defaultSettings.timezone);
|
|
16
|
+
const dt = new Date(timezonedDate.valueOf());
|
|
13
17
|
if (!isValidDateObject(dt))
|
|
14
18
|
return date;
|
|
15
19
|
const weekObj = 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,3 +1,5 @@
|
|
|
1
|
+
import { getDateByTimezone } from "../helpers/getDateByTimezone";
|
|
2
|
+
import { getDefaultDateSettings } from "../helpers/getDefaultDateSettings";
|
|
1
3
|
import { isValidDateObject } from "../helpers/isValidDateObject";
|
|
2
4
|
import { isValidPotentialDate } from "../helpers/isValidPotentialDate";
|
|
3
5
|
/**
|
|
@@ -5,11 +7,13 @@ import { isValidPotentialDate } from "../helpers/isValidPotentialDate";
|
|
|
5
7
|
* @param {string | Date | number} date String, object or millisencond number of the date
|
|
6
8
|
* @returns string of [Year] date format
|
|
7
9
|
*/
|
|
8
|
-
export function dateToYear(date) {
|
|
10
|
+
export function dateToYear(date, settings) {
|
|
9
11
|
if (!isValidPotentialDate(date))
|
|
10
12
|
return date;
|
|
11
|
-
const
|
|
13
|
+
const defaultSettings = getDefaultDateSettings(settings);
|
|
14
|
+
const timezonedDate = getDateByTimezone(date, defaultSettings.timezone);
|
|
15
|
+
const dt = new Date(timezonedDate.valueOf());
|
|
12
16
|
if (!isValidDateObject(dt))
|
|
13
17
|
return date;
|
|
14
|
-
return String(dt.
|
|
18
|
+
return String(dt.getUTCFullYear());
|
|
15
19
|
}
|
|
@@ -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,
|
|
8
|
+
export declare function hmsToDate(hmsDate: string, settings?: IDateSettings): string | Date | number;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { isEmpty } from "../../general/mix/isEmpty";
|
|
2
2
|
import { isTokenLabel } from "../../tokens/isTokenLabel";
|
|
3
3
|
import { DATE_FORMAT } from "../constants/DATE_FORMAT";
|
|
4
|
+
import { getDateByTimezone } from "../helpers/getDateByTimezone";
|
|
5
|
+
import { getDefaultDateSettings } from "../helpers/getDefaultDateSettings";
|
|
4
6
|
import { validateDate } from "../helpers/validateDate";
|
|
5
7
|
/**
|
|
6
8
|
* Transforms String time from a [H:m:s] format to Date object.
|
|
@@ -8,13 +10,15 @@ import { validateDate } from "../helpers/validateDate";
|
|
|
8
10
|
* @param time Flag to parse the object date to milliseconds.
|
|
9
11
|
* @returns The date object or the date in milliseconds. If the argument is an unexpected time, the function will return the same value
|
|
10
12
|
*/
|
|
11
|
-
export function hmsToDate(hmsDate,
|
|
13
|
+
export function hmsToDate(hmsDate, settings) {
|
|
12
14
|
if (isEmpty(hmsDate) ||
|
|
13
15
|
isTokenLabel(hmsDate) ||
|
|
14
16
|
typeof hmsDate !== "string" ||
|
|
15
17
|
!validateDate(hmsDate, DATE_FORMAT.DAY_TIME))
|
|
16
18
|
return hmsDate;
|
|
19
|
+
const defaultSettings = getDefaultDateSettings(settings);
|
|
17
20
|
const [hour, minute, second] = hmsDate.split(":");
|
|
18
21
|
const start = new Date(0, 0, 0, +hour, +minute, +second);
|
|
19
|
-
|
|
22
|
+
const timezonedDate = getDateByTimezone(start, defaultSettings.timezone);
|
|
23
|
+
return defaultSettings.convertMiliseconds ? +timezonedDate : timezonedDate;
|
|
20
24
|
}
|
|
@@ -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";
|
|
@@ -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";
|
|
@@ -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,
|
|
8
|
+
export declare function mdyDateToDate(date: string, settings?: IDateSettings): string | Date | number;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { isEmpty } from "../../general/mix/isEmpty";
|
|
2
2
|
import { isTokenLabel } from "../../tokens/isTokenLabel";
|
|
3
3
|
import { DATE_FORMAT } from "../constants/DATE_FORMAT";
|
|
4
|
+
import { getDateByTimezone } from "../helpers/getDateByTimezone";
|
|
5
|
+
import { getDefaultDateSettings } from "../helpers/getDefaultDateSettings";
|
|
4
6
|
import { validateDate } from "../helpers/validateDate";
|
|
5
7
|
/**
|
|
6
8
|
* Transforms String Date from a [mm/dd/yyyy] format to Date object.
|
|
@@ -8,13 +10,16 @@ import { validateDate } from "../helpers/validateDate";
|
|
|
8
10
|
* @param time Flag to parse the object date to milliseconds.
|
|
9
11
|
* @returns The date object or the date in milliseconds. If the argument is an unexpected date, the function will return the same value
|
|
10
12
|
*/
|
|
11
|
-
export function mdyDateToDate(date,
|
|
13
|
+
export function mdyDateToDate(date, settings) {
|
|
12
14
|
if (isEmpty(date) ||
|
|
13
15
|
isTokenLabel(date) ||
|
|
14
16
|
typeof date !== "string" ||
|
|
15
17
|
!validatingDate(date))
|
|
16
18
|
return date;
|
|
17
|
-
|
|
19
|
+
const defaultSettings = getDefaultDateSettings(settings);
|
|
20
|
+
const dateObject = new Date(date);
|
|
21
|
+
const timezonedDate = getDateByTimezone(dateObject, defaultSettings.timezone);
|
|
22
|
+
return defaultSettings.convertMiliseconds ? +timezonedDate : timezonedDate;
|
|
18
23
|
}
|
|
19
24
|
function validatingDate(date) {
|
|
20
25
|
return (validateDate(date, DATE_FORMAT.DAY) ||
|
|
@@ -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,
|
|
8
|
+
export declare function monthYearToDate(monthYearDate: string, settings?: IDateSettings): string | Date | number;
|
|
@@ -2,6 +2,8 @@ import { isEmpty } from "../../general/mix/isEmpty";
|
|
|
2
2
|
import { isTokenLabel } from "../../tokens/isTokenLabel";
|
|
3
3
|
import { DATE_FORMAT } from "../constants/DATE_FORMAT";
|
|
4
4
|
import { DATE_YEAR_MONTHS } from "../constants/DATE_YEAR_MONTHS";
|
|
5
|
+
import { getDateByTimezone } from "../helpers/getDateByTimezone";
|
|
6
|
+
import { getDefaultDateSettings } from "../helpers/getDefaultDateSettings";
|
|
5
7
|
import { validateDate } from "../helpers/validateDate";
|
|
6
8
|
/**
|
|
7
9
|
* Transforms String Date from a [Month Year] format to Date object.
|
|
@@ -9,13 +11,15 @@ import { validateDate } from "../helpers/validateDate";
|
|
|
9
11
|
* @param time Flag to parse the object date to milliseconds.
|
|
10
12
|
* @returns The date object or the date in milliseconds. If the argument is an unexpected date, the function will return the same value
|
|
11
13
|
*/
|
|
12
|
-
export function monthYearToDate(monthYearDate,
|
|
14
|
+
export function monthYearToDate(monthYearDate, settings) {
|
|
13
15
|
if (isEmpty(monthYearDate) ||
|
|
14
16
|
isTokenLabel(monthYearDate) ||
|
|
15
17
|
typeof monthYearDate !== "string" ||
|
|
16
18
|
!validateDate(monthYearDate, DATE_FORMAT.MONTH))
|
|
17
19
|
return monthYearDate;
|
|
20
|
+
const defaultSettings = getDefaultDateSettings(settings);
|
|
18
21
|
const [month, year] = monthYearDate.split(" ");
|
|
19
22
|
const start = new Date(+year, DATE_YEAR_MONTHS.indexOf(month), 1);
|
|
20
|
-
|
|
23
|
+
const timezonedDate = getDateByTimezone(start, defaultSettings.timezone);
|
|
24
|
+
return (defaultSettings === null || defaultSettings === void 0 ? void 0 : defaultSettings.convertMiliseconds) ? +timezonedDate : timezonedDate;
|
|
21
25
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { isNaNV2 } from "../../general/mix/isNaNV2";
|
|
2
|
+
import { getSign } from "../../general/numeric/getSign";
|
|
3
|
+
import { padLeadingZeros } from "../../general/string/padLeadingZeros";
|
|
4
|
+
import { isValidISOOffset } from "../helpers/isValidISOOffset";
|
|
5
|
+
import { ISOToNumericOffset } from "./ISOToNumericOffset";
|
|
6
|
+
/**
|
|
7
|
+
* Gets the ISO offset From the numeric offset (minutes)
|
|
8
|
+
* @param {number} offset the timezone offset
|
|
9
|
+
* @returns {string} the offset in minutes
|
|
10
|
+
*/
|
|
11
|
+
export function numericOffsetToISO(offset, leadZeros = true) {
|
|
12
|
+
const leadZeroNumber = leadZeros ? 2 : 0;
|
|
13
|
+
let newOffset = offset;
|
|
14
|
+
if (typeof newOffset === "string" && newOffset === "browser")
|
|
15
|
+
newOffset = -1 * new Date().getTimezoneOffset();
|
|
16
|
+
if (typeof newOffset === "string" && isValidISOOffset(newOffset)) {
|
|
17
|
+
if (leadZeros)
|
|
18
|
+
return String(newOffset);
|
|
19
|
+
newOffset = ISOToNumericOffset(newOffset);
|
|
20
|
+
}
|
|
21
|
+
if (typeof newOffset !== "number" && isNaNV2(newOffset))
|
|
22
|
+
return leadZeros ? "+00:00" : "+0:0";
|
|
23
|
+
if (typeof newOffset === "string" && !isNaNV2(newOffset))
|
|
24
|
+
newOffset = +newOffset;
|
|
25
|
+
const sign = getSign(newOffset);
|
|
26
|
+
newOffset = Math.abs(newOffset);
|
|
27
|
+
const hours = padLeadingZeros(Math.floor(newOffset / 60), leadZeroNumber);
|
|
28
|
+
const minutes = padLeadingZeros(newOffset % 60, leadZeroNumber);
|
|
29
|
+
return `${sign}${hours}:${minutes}`;
|
|
30
|
+
}
|
|
@@ -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,
|
|
8
|
+
export declare function quarterYearToDate(quarterYearDate: string, settings?: IDateSettings): string | Date | number;
|
|
@@ -2,6 +2,8 @@ import { isEmpty } from "../../general/mix/isEmpty";
|
|
|
2
2
|
import { isTokenLabel } from "../../tokens/isTokenLabel";
|
|
3
3
|
import { DATE_FORMAT } from "../constants/DATE_FORMAT";
|
|
4
4
|
import { DATE_YEAR_QUARTERS_RANGE } from "../constants/DATE_YEAR_QUARTERS_RANGE";
|
|
5
|
+
import { getDateByTimezone } from "../helpers/getDateByTimezone";
|
|
6
|
+
import { getDefaultDateSettings } from "../helpers/getDefaultDateSettings";
|
|
5
7
|
import { validateDate } from "../helpers/validateDate";
|
|
6
8
|
/**
|
|
7
9
|
* Transforms String Date from a [Quarter Year] format to Date object.
|
|
@@ -9,13 +11,15 @@ import { validateDate } from "../helpers/validateDate";
|
|
|
9
11
|
* @param time Flag to parse the object date to milliseconds.
|
|
10
12
|
* @returns The date object or the date in milliseconds. If the argument is an unexpected date, the function will return the same value.
|
|
11
13
|
*/
|
|
12
|
-
export function quarterYearToDate(quarterYearDate,
|
|
14
|
+
export function quarterYearToDate(quarterYearDate, settings) {
|
|
13
15
|
if (isEmpty(quarterYearDate) ||
|
|
14
16
|
isTokenLabel(quarterYearDate) ||
|
|
15
17
|
typeof quarterYearDate !== "string" ||
|
|
16
18
|
!validateDate(quarterYearDate, DATE_FORMAT.QUARTER))
|
|
17
19
|
return quarterYearDate;
|
|
20
|
+
const defaultSettings = getDefaultDateSettings(settings);
|
|
18
21
|
const [quarter, year] = quarterYearDate.split(" ");
|
|
19
22
|
const start = new Date(+year, DATE_YEAR_QUARTERS_RANGE[quarter].initial, 1);
|
|
20
|
-
|
|
23
|
+
const timezonedDate = getDateByTimezone(start, defaultSettings.timezone);
|
|
24
|
+
return (defaultSettings === null || defaultSettings === void 0 ? void 0 : defaultSettings.convertMiliseconds) ? +timezonedDate : timezonedDate;
|
|
21
25
|
}
|
|
@@ -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,
|
|
8
|
+
export declare function weekYearToDate(weekYear: string, settings?: IDateSettings): string | Date | number;
|