@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
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { IDateSettings } from "../interfaces/IDateSettings";
|
|
1
2
|
/**
|
|
2
3
|
* Transforms String Date from a [Year] format to Date object.
|
|
3
4
|
* @param yearDate String of [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 yearToDate(yearDate: string,
|
|
8
|
+
export declare function yearToDate(yearDate: string, settings?: IDateSettings): string | Date | number;
|
|
@@ -4,6 +4,8 @@ exports.yearToDate = 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 [Year] format to Date object.
|
|
@@ -11,13 +13,15 @@ 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 yearToDate(yearDate,
|
|
16
|
+
function yearToDate(yearDate, settings) {
|
|
15
17
|
if ((0, isEmpty_1.isEmpty)(yearDate) ||
|
|
16
18
|
(0, isTokenLabel_1.isTokenLabel)(yearDate) ||
|
|
17
19
|
typeof yearDate !== "string" ||
|
|
18
20
|
!(0, validateDate_1.validateDate)(yearDate, DATE_FORMAT_1.DATE_FORMAT.YEAR))
|
|
19
21
|
return yearDate;
|
|
22
|
+
const defaultSettings = (0, getDefaultDateSettings_1.getDefaultDateSettings)(settings);
|
|
20
23
|
const start = new Date(+yearDate, 0, 1);
|
|
21
|
-
|
|
24
|
+
const timezonedDate = (0, getDateByTimezone_1.getDateByTimezone)(start, defaultSettings.timezone);
|
|
25
|
+
return (defaultSettings === null || defaultSettings === void 0 ? void 0 : defaultSettings.convertMiliseconds) ? +timezonedDate : timezonedDate;
|
|
22
26
|
}
|
|
23
27
|
exports.yearToDate = yearToDate;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ISO_8601_REGEX: RegExp;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TIMEZONE_TYPE = void 0;
|
|
4
|
+
var TIMEZONE_TYPE;
|
|
5
|
+
(function (TIMEZONE_TYPE) {
|
|
6
|
+
TIMEZONE_TYPE["BROWSER"] = "BROWSER";
|
|
7
|
+
TIMEZONE_TYPE["DEFAULT"] = "DEFAULT";
|
|
8
|
+
TIMEZONE_TYPE["FIXED"] = "FIXED";
|
|
9
|
+
})(TIMEZONE_TYPE = exports.TIMEZONE_TYPE || (exports.TIMEZONE_TYPE = {}));
|
|
@@ -38,6 +38,7 @@ export * from "./DATE_YEAR_MONTHS_MMMM";
|
|
|
38
38
|
export * from "./DATE_YEAR_QUARTERS";
|
|
39
39
|
export * from "./DATE_YEAR_QUARTERS_RANGE";
|
|
40
40
|
export * from "./DATETIME_COLUMN_FORMAT";
|
|
41
|
+
export * from "./ISO_8601_REGEX";
|
|
41
42
|
export * from "./TIME_GROUPING_PROPERTY_INFO_LIST";
|
|
42
43
|
export * from "./TIME_GROUPING_PROPERTY_INFO";
|
|
43
44
|
export * from "./TIME_GROUPING_PROPERTY_LABEL";
|
|
@@ -54,6 +54,7 @@ __exportStar(require("./DATE_YEAR_MONTHS_MMMM"), exports);
|
|
|
54
54
|
__exportStar(require("./DATE_YEAR_QUARTERS"), exports);
|
|
55
55
|
__exportStar(require("./DATE_YEAR_QUARTERS_RANGE"), exports);
|
|
56
56
|
__exportStar(require("./DATETIME_COLUMN_FORMAT"), exports);
|
|
57
|
+
__exportStar(require("./ISO_8601_REGEX"), exports);
|
|
57
58
|
__exportStar(require("./TIME_GROUPING_PROPERTY_INFO_LIST"), exports);
|
|
58
59
|
__exportStar(require("./TIME_GROUPING_PROPERTY_INFO"), exports);
|
|
59
60
|
__exportStar(require("./TIME_GROUPING_PROPERTY_LABEL"), exports);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IDateFormat } from "../interfaces/IDateFormat";
|
|
2
|
+
import { IDateSettings } from "../interfaces/IDateSettings";
|
|
2
3
|
/**
|
|
3
4
|
* Gets a Date Object instance by a Date format
|
|
4
5
|
* @param date String with a formatted date
|
|
@@ -6,4 +7,4 @@ import { IDateFormat } from "../interfaces/IDateFormat";
|
|
|
6
7
|
* @param time flag to convert the formatted date to miliseconds
|
|
7
8
|
* @returns a Date object, milisecond time or the same value if date format does not match.
|
|
8
9
|
*/
|
|
9
|
-
export declare function getDateByDateFormat(date: string, format: IDateFormat,
|
|
10
|
+
export declare function getDateByDateFormat(date: string, format: IDateFormat, settings?: IDateSettings): string | Date | number;
|
|
@@ -14,21 +14,21 @@ const mdyDateToDate_1 = require("../adapters/mdyDateToDate");
|
|
|
14
14
|
* @param time flag to convert the formatted date to miliseconds
|
|
15
15
|
* @returns a Date object, milisecond time or the same value if date format does not match.
|
|
16
16
|
*/
|
|
17
|
-
function getDateByDateFormat(date, format,
|
|
17
|
+
function getDateByDateFormat(date, format, settings) {
|
|
18
18
|
switch (format) {
|
|
19
19
|
case DATE_FORMAT_1.DATE_FORMAT.YEAR:
|
|
20
|
-
return (0, yearToDate_1.yearToDate)(date,
|
|
20
|
+
return (0, yearToDate_1.yearToDate)(date, settings);
|
|
21
21
|
case DATE_FORMAT_1.DATE_FORMAT.MONTH:
|
|
22
|
-
return (0, monthYearToDate_1.monthYearToDate)(date,
|
|
22
|
+
return (0, monthYearToDate_1.monthYearToDate)(date, settings);
|
|
23
23
|
case DATE_FORMAT_1.DATE_FORMAT.QUARTER:
|
|
24
|
-
return (0, quarterYearToDate_1.quarterYearToDate)(date,
|
|
24
|
+
return (0, quarterYearToDate_1.quarterYearToDate)(date, settings);
|
|
25
25
|
case DATE_FORMAT_1.DATE_FORMAT.WEEK:
|
|
26
|
-
return (0, weekYearToDate_1.weekYearToDate)(date,
|
|
26
|
+
return (0, weekYearToDate_1.weekYearToDate)(date, settings);
|
|
27
27
|
case DATE_FORMAT_1.DATE_FORMAT.DAY:
|
|
28
28
|
case DATE_FORMAT_1.DATE_FORMAT.HOUR:
|
|
29
29
|
case DATE_FORMAT_1.DATE_FORMAT.MINUTE:
|
|
30
30
|
case DATE_FORMAT_1.DATE_FORMAT.SECOND:
|
|
31
|
-
return (0, mdyDateToDate_1.mdyDateToDate)(date,
|
|
31
|
+
return (0, mdyDateToDate_1.mdyDateToDate)(date, settings);
|
|
32
32
|
default:
|
|
33
33
|
return date;
|
|
34
34
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IDTimezone } from "../interfaces/IDTimezone";
|
|
2
|
+
/**
|
|
3
|
+
* Gets a date value in the given timezone
|
|
4
|
+
* @param {string} date the date
|
|
5
|
+
* @param {IDTimezone} timezone the timezone object
|
|
6
|
+
* @returns {string} A transformed value
|
|
7
|
+
*/
|
|
8
|
+
export declare function getDateByTimezone(date: string | number | Date, timezone: IDTimezone): string | number | Date;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDateByTimezone = void 0;
|
|
4
|
+
const isEmpty_1 = require("../../general/mix/isEmpty");
|
|
5
|
+
const DATE_FORMAT_1 = require("../constants/DATE_FORMAT");
|
|
6
|
+
const getDateByTimezoneOffset_1 = require("./getDateByTimezoneOffset");
|
|
7
|
+
const getTimezoneObject_1 = require("./getTimezoneObject");
|
|
8
|
+
const isValidPotentialDate_1 = require("./isValidPotentialDate");
|
|
9
|
+
const validateDate_1 = require("./validateDate");
|
|
10
|
+
/**
|
|
11
|
+
* Gets a date value in the given timezone
|
|
12
|
+
* @param {string} date the date
|
|
13
|
+
* @param {IDTimezone} timezone the timezone object
|
|
14
|
+
* @returns {string} A transformed value
|
|
15
|
+
*/
|
|
16
|
+
function getDateByTimezone(date, timezone) {
|
|
17
|
+
const defaultTimezone = (0, getTimezoneObject_1.getTimezoneObject)(timezone);
|
|
18
|
+
if ((0, isEmpty_1.isEmpty)(timezone === null || timezone === void 0 ? void 0 : timezone.offset) ||
|
|
19
|
+
!(0, isValidPotentialDate_1.isValidPotentialDate)(date) ||
|
|
20
|
+
(typeof date === "string" && !(0, validateDate_1.validateDate)(date, DATE_FORMAT_1.DATE_FORMAT.SECOND)))
|
|
21
|
+
return date;
|
|
22
|
+
return (0, getDateByTimezoneOffset_1.getDateByTimezoneOffset)(date, defaultTimezone.offset);
|
|
23
|
+
}
|
|
24
|
+
exports.getDateByTimezone = getDateByTimezone;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gets a Date with the given offset of the Timezone.
|
|
3
|
+
* No given an offset the default is going to be set by the browser
|
|
4
|
+
* @param date String, object or millisencond number of the date
|
|
5
|
+
* @returns updated Date object
|
|
6
|
+
*/
|
|
7
|
+
export declare function getDateByTimezoneOffset(date: string | Date | number, offset?: number | string): string | Date | number;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getDateByTimezoneOffset = void 0;
|
|
7
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
8
|
+
const ISOToNumericOffset_1 = require("../adapters/ISOToNumericOffset");
|
|
9
|
+
const DATE_FORMAT_1 = require("../constants/DATE_FORMAT");
|
|
10
|
+
const isValidPotentialDate_1 = require("./isValidPotentialDate");
|
|
11
|
+
const validateDate_1 = require("./validateDate");
|
|
12
|
+
/**
|
|
13
|
+
* Gets a Date with the given offset of the Timezone.
|
|
14
|
+
* No given an offset the default is going to be set by the browser
|
|
15
|
+
* @param date String, object or millisencond number of the date
|
|
16
|
+
* @returns updated Date object
|
|
17
|
+
*/
|
|
18
|
+
function getDateByTimezoneOffset(date, offset) {
|
|
19
|
+
if (!(0, isValidPotentialDate_1.isValidPotentialDate)(date) ||
|
|
20
|
+
(typeof date === "string" && !(0, validateDate_1.validateDate)(date, DATE_FORMAT_1.DATE_FORMAT.SECOND)))
|
|
21
|
+
return date;
|
|
22
|
+
const dt = new Date(date.valueOf());
|
|
23
|
+
const newOffset = (0, ISOToNumericOffset_1.ISOToNumericOffset)(offset);
|
|
24
|
+
const timezonedDate = new Date(+dt + newOffset * 1000 * 60);
|
|
25
|
+
if (typeof date === "string") {
|
|
26
|
+
return (0, dayjs_1.default)(timezonedDate).format(DATE_FORMAT_1.DATE_FORMAT.SECOND);
|
|
27
|
+
}
|
|
28
|
+
else if (typeof date === "number") {
|
|
29
|
+
return +timezonedDate;
|
|
30
|
+
}
|
|
31
|
+
return timezonedDate;
|
|
32
|
+
}
|
|
33
|
+
exports.getDateByTimezoneOffset = getDateByTimezoneOffset;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IDateSettings } from "../interfaces/IDateSettings";
|
|
2
|
+
/**
|
|
3
|
+
* Gets the default properties for Date Settings object
|
|
4
|
+
* @param settings the date settings
|
|
5
|
+
* @returns a new object with the date settings.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getDefaultDateSettings(settings: IDateSettings): IDateSettings;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDefaultDateSettings = void 0;
|
|
4
|
+
const getTimezoneObject_1 = require("./getTimezoneObject");
|
|
5
|
+
/**
|
|
6
|
+
* Gets the default properties for Date Settings object
|
|
7
|
+
* @param settings the date settings
|
|
8
|
+
* @returns a new object with the date settings.
|
|
9
|
+
*/
|
|
10
|
+
function getDefaultDateSettings(settings) {
|
|
11
|
+
var _a;
|
|
12
|
+
return {
|
|
13
|
+
convertMiliseconds: (_a = settings === null || settings === void 0 ? void 0 : settings.convertMiliseconds) !== null && _a !== void 0 ? _a : false,
|
|
14
|
+
timezone: (0, getTimezoneObject_1.getTimezoneObject)(settings === null || settings === void 0 ? void 0 : settings.timezone),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
exports.getDefaultDateSettings = getDefaultDateSettings;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IDateFormat } from "../interfaces/IDateFormat";
|
|
2
|
+
import { IDateSettings } from "../interfaces/IDateSettings";
|
|
2
3
|
/**
|
|
3
4
|
* A Date object, string or millisecond number are gotten in order to convert it in an formatted string date
|
|
4
5
|
* - Some strings are valid
|
|
@@ -6,4 +7,4 @@ import { IDateFormat } from "../interfaces/IDateFormat";
|
|
|
6
7
|
* @param format The date format
|
|
7
8
|
* @returns a formmatted date or the same value if format does not match
|
|
8
9
|
*/
|
|
9
|
-
export declare function getFormattedDateByFormat(date: string | Date | number, format: IDateFormat): string | Date | number;
|
|
10
|
+
export declare function getFormattedDateByFormat(date: string | Date | number, format: IDateFormat, settings?: IDateSettings): string | Date | number;
|
|
@@ -14,22 +14,22 @@ const DATE_FORMAT_1 = require("../constants/DATE_FORMAT");
|
|
|
14
14
|
* @param format The date format
|
|
15
15
|
* @returns a formmatted date or the same value if format does not match
|
|
16
16
|
*/
|
|
17
|
-
function getFormattedDateByFormat(date, format) {
|
|
17
|
+
function getFormattedDateByFormat(date, format, settings) {
|
|
18
18
|
switch (format) {
|
|
19
19
|
case DATE_FORMAT_1.DATE_FORMAT.YEAR:
|
|
20
|
-
return (0, dateToYear_1.dateToYear)(date);
|
|
20
|
+
return (0, dateToYear_1.dateToYear)(date, settings);
|
|
21
21
|
case DATE_FORMAT_1.DATE_FORMAT.MONTH:
|
|
22
|
-
return (0, dateToMonthYear_1.dateToMonthYear)(date);
|
|
22
|
+
return (0, dateToMonthYear_1.dateToMonthYear)(date, settings);
|
|
23
23
|
case DATE_FORMAT_1.DATE_FORMAT.QUARTER:
|
|
24
|
-
return (0, dateToQuarterYear_1.dateToQuarterYear)(date);
|
|
24
|
+
return (0, dateToQuarterYear_1.dateToQuarterYear)(date, settings);
|
|
25
25
|
case DATE_FORMAT_1.DATE_FORMAT.WEEK:
|
|
26
|
-
return (0, dateToWeekYear_1.dateToWeekYear)(date);
|
|
26
|
+
return (0, dateToWeekYear_1.dateToWeekYear)(date, settings);
|
|
27
27
|
case DATE_FORMAT_1.DATE_FORMAT.DAY:
|
|
28
|
-
return (0, dateToMdyDate_1.dateToMdyDate)(date);
|
|
28
|
+
return (0, dateToMdyDate_1.dateToMdyDate)(date, settings);
|
|
29
29
|
case DATE_FORMAT_1.DATE_FORMAT.HOUR:
|
|
30
30
|
case DATE_FORMAT_1.DATE_FORMAT.MINUTE:
|
|
31
31
|
case DATE_FORMAT_1.DATE_FORMAT.SECOND:
|
|
32
|
-
return (0, dateToMdyDate_1.dateToMdyDate)(date, true);
|
|
32
|
+
return (0, dateToMdyDate_1.dateToMdyDate)(date, Object.assign(Object.assign({}, settings), { convertMiliseconds: true }));
|
|
33
33
|
default:
|
|
34
34
|
return date;
|
|
35
35
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IDataset } from "../../qrvey/interfaces/IDataset";
|
|
2
|
+
import { IModel } from "../../qrvey/interfaces/IModel";
|
|
3
|
+
import { IDTimezone } from "../interfaces/IDTimezone";
|
|
4
|
+
/**
|
|
5
|
+
* Gets the timezone object by the given argument or the model object
|
|
6
|
+
* - In any case, the offset is prioritized to override other properties.
|
|
7
|
+
* @param {IDTimezone} timezone the timezone object
|
|
8
|
+
* @param {IModel | IDataset} model the info of the dataset (model)
|
|
9
|
+
* @returns a new timezone object
|
|
10
|
+
*/
|
|
11
|
+
export declare function getTimezoneObject(timezone: IDTimezone, model?: IModel | IDataset): IDTimezone;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTimezoneObject = void 0;
|
|
4
|
+
const isEmpty_1 = require("../../general/mix/isEmpty");
|
|
5
|
+
const TIMEZONE_TYPE_1 = require("../constants/TIMEZONE_TYPE");
|
|
6
|
+
const getTimezoneOffsetByType_1 = require("./getTimezoneOffsetByType");
|
|
7
|
+
const getUTCFormatByOffset_1 = require("./getUTCFormatByOffset");
|
|
8
|
+
const isValidISOOffset_1 = require("./isValidISOOffset");
|
|
9
|
+
/**
|
|
10
|
+
* Gets the timezone object by the given argument or the model object
|
|
11
|
+
* - In any case, the offset is prioritized to override other properties.
|
|
12
|
+
* @param {IDTimezone} timezone the timezone object
|
|
13
|
+
* @param {IModel | IDataset} model the info of the dataset (model)
|
|
14
|
+
* @returns a new timezone object
|
|
15
|
+
*/
|
|
16
|
+
function getTimezoneObject(timezone, model) {
|
|
17
|
+
const offset = getOffset(timezone, model);
|
|
18
|
+
const type = getType(timezone, model, offset);
|
|
19
|
+
const resultingOffset = (0, getTimezoneOffsetByType_1.getTimezoneOffsetByType)({ offset, type });
|
|
20
|
+
const utc = getUTC({ offset: resultingOffset, type });
|
|
21
|
+
return {
|
|
22
|
+
offset: resultingOffset,
|
|
23
|
+
type,
|
|
24
|
+
utc,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
exports.getTimezoneObject = getTimezoneObject;
|
|
28
|
+
/**
|
|
29
|
+
* Gets the offset of the timezone by the given objects
|
|
30
|
+
* - Searchs the first argument
|
|
31
|
+
* - If the timezone is empty, in the model timezone is searched
|
|
32
|
+
* - If it does not exist in any, a default one is set.
|
|
33
|
+
* @param {IDTimezone} timezone The timezone object
|
|
34
|
+
* @param {IModel | IDataset} model The model info
|
|
35
|
+
* @returns {IDTimezoneOffset} the offset of the objects
|
|
36
|
+
*/
|
|
37
|
+
function getOffset(timezone, model) {
|
|
38
|
+
var _a;
|
|
39
|
+
let offset;
|
|
40
|
+
if (!(0, isEmpty_1.isEmpty)(timezone === null || timezone === void 0 ? void 0 : timezone.offset)) {
|
|
41
|
+
offset = timezone.offset;
|
|
42
|
+
}
|
|
43
|
+
else if (!(0, isEmpty_1.isEmpty)((_a = model === null || model === void 0 ? void 0 : model.timezone) === null || _a === void 0 ? void 0 : _a.offset)) {
|
|
44
|
+
offset = model.timezone.offset;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
offset = "+00:00";
|
|
48
|
+
}
|
|
49
|
+
return offset;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Gets the type of the timezone
|
|
53
|
+
* - Searchs the first argument
|
|
54
|
+
* - If it does not exist, asking for the timezone offset in order to prioritized the offset above all.
|
|
55
|
+
* - If the timezone is empty, in the model timezone is searched.
|
|
56
|
+
* - If it does not exist in any, a default one is set.
|
|
57
|
+
* @param {IDTimezone} timezone The timezone object
|
|
58
|
+
* @param {IModel | IDataset} model The model info
|
|
59
|
+
* @param {IDTimezoneOffset} offset a default offset if the validation are not satisfied
|
|
60
|
+
* @returns {IDTimezoneType} the rigth type of the timezone
|
|
61
|
+
*/
|
|
62
|
+
function getType(timezone, model, offset) {
|
|
63
|
+
var _a;
|
|
64
|
+
let type;
|
|
65
|
+
if (!(0, isEmpty_1.isEmpty)(timezone === null || timezone === void 0 ? void 0 : timezone.type)) {
|
|
66
|
+
type = timezone.type;
|
|
67
|
+
}
|
|
68
|
+
else if (!(0, isEmpty_1.isEmpty)(timezone === null || timezone === void 0 ? void 0 : timezone.offset)) {
|
|
69
|
+
type = getTypeByOffset(timezone === null || timezone === void 0 ? void 0 : timezone.offset);
|
|
70
|
+
}
|
|
71
|
+
else if (!(0, isEmpty_1.isEmpty)((_a = model === null || model === void 0 ? void 0 : model.timezone) === null || _a === void 0 ? void 0 : _a.type)) {
|
|
72
|
+
type = model.timezone.type;
|
|
73
|
+
}
|
|
74
|
+
if ((0, isEmpty_1.isEmpty)(type)) {
|
|
75
|
+
type = getTypeByOffset(offset);
|
|
76
|
+
}
|
|
77
|
+
return type;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Gets the type by a offset
|
|
81
|
+
* - For a offset=0 the type is default
|
|
82
|
+
* - For a offset="browser" the type is browser
|
|
83
|
+
* - For a valid offset different to previous ones, the type is fixed;
|
|
84
|
+
* - Anything else, it is considered default.
|
|
85
|
+
* @param {IDTimezoneOffset} offset a given offset
|
|
86
|
+
* @returns {IDTimezoneType} the right timezone type for the offset
|
|
87
|
+
*/
|
|
88
|
+
function getTypeByOffset(offset) {
|
|
89
|
+
if (offset === "+00:00") {
|
|
90
|
+
return TIMEZONE_TYPE_1.TIMEZONE_TYPE.DEFAULT;
|
|
91
|
+
}
|
|
92
|
+
else if (offset === "browser") {
|
|
93
|
+
return TIMEZONE_TYPE_1.TIMEZONE_TYPE.BROWSER;
|
|
94
|
+
}
|
|
95
|
+
else if ((0, isValidISOOffset_1.isValidISOOffset)(offset)) {
|
|
96
|
+
return TIMEZONE_TYPE_1.TIMEZONE_TYPE.FIXED;
|
|
97
|
+
}
|
|
98
|
+
return TIMEZONE_TYPE_1.TIMEZONE_TYPE.DEFAULT;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Gets the UTC string by the timezone object
|
|
102
|
+
* @param {IDTimezone} timezone the timezone object
|
|
103
|
+
* @returns {string} the label of the UTC value
|
|
104
|
+
*/
|
|
105
|
+
function getUTC(timezone) {
|
|
106
|
+
return (0, getUTCFormatByOffset_1.getUTCFormatByOffset)(timezone);
|
|
107
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IBTimezone } from "../interfaces/IBTimezone";
|
|
2
|
+
import { IDTimezone } from "../interfaces/IDTimezone";
|
|
3
|
+
import { IDTimezoneOffset } from "../interfaces/IDTimezoneOffset";
|
|
4
|
+
/**
|
|
5
|
+
* Gets the timezone offset by the timezone type.
|
|
6
|
+
* For browser types, it is calculated by a Date instance
|
|
7
|
+
* Default types is UTC-0
|
|
8
|
+
* Undefined or Fixed types is gotten by the offset property
|
|
9
|
+
* @param {IDTimezoneType} type the timezone type
|
|
10
|
+
* @param {IDTimezone | IBTimezone} timezone the timezone object
|
|
11
|
+
* @returns {IDTimezoneOffset} the offset of the timezone
|
|
12
|
+
*/
|
|
13
|
+
export declare function getTimezoneOffsetByType(timezone: IDTimezone | IBTimezone): IDTimezoneOffset;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTimezoneOffsetByType = void 0;
|
|
4
|
+
const isEmpty_1 = require("../../general/mix/isEmpty");
|
|
5
|
+
const numericOffsetToISO_1 = require("../adapters/numericOffsetToISO");
|
|
6
|
+
const TIMEZONE_TYPE_1 = require("../constants/TIMEZONE_TYPE");
|
|
7
|
+
/**
|
|
8
|
+
* Gets the timezone offset by the timezone type.
|
|
9
|
+
* For browser types, it is calculated by a Date instance
|
|
10
|
+
* Default types is UTC-0
|
|
11
|
+
* Undefined or Fixed types is gotten by the offset property
|
|
12
|
+
* @param {IDTimezoneType} type the timezone type
|
|
13
|
+
* @param {IDTimezone | IBTimezone} timezone the timezone object
|
|
14
|
+
* @returns {IDTimezoneOffset} the offset of the timezone
|
|
15
|
+
*/
|
|
16
|
+
function getTimezoneOffsetByType(timezone) {
|
|
17
|
+
if ((0, isEmpty_1.isEmpty)(timezone))
|
|
18
|
+
return "+00:00";
|
|
19
|
+
if (timezone.type === TIMEZONE_TYPE_1.TIMEZONE_TYPE.BROWSER) {
|
|
20
|
+
return (0, numericOffsetToISO_1.numericOffsetToISO)("browser");
|
|
21
|
+
}
|
|
22
|
+
else if (timezone.type === TIMEZONE_TYPE_1.TIMEZONE_TYPE.DEFAULT) {
|
|
23
|
+
return "+00:00";
|
|
24
|
+
}
|
|
25
|
+
return timezone.offset || timezone.numericOffset || "+00:00";
|
|
26
|
+
}
|
|
27
|
+
exports.getTimezoneOffsetByType = getTimezoneOffsetByType;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IDTimezone } from "../interfaces/IDTimezone";
|
|
2
|
+
/**
|
|
3
|
+
* Gets the UTC format dependeing on the given offset
|
|
4
|
+
* @param {IDTimezone} timezone the timezone object
|
|
5
|
+
* @returns {string} an string with the UTC format
|
|
6
|
+
*/
|
|
7
|
+
export declare function getUTCFormatByOffset(timezone: IDTimezone): string;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getUTCFormatByOffset = void 0;
|
|
4
|
+
const numericOffsetToISO_1 = require("../adapters/numericOffsetToISO");
|
|
5
|
+
/**
|
|
6
|
+
* Gets the UTC format dependeing on the given offset
|
|
7
|
+
* @param {IDTimezone} timezone the timezone object
|
|
8
|
+
* @returns {string} an string with the UTC format
|
|
9
|
+
*/
|
|
10
|
+
function getUTCFormatByOffset(timezone) {
|
|
11
|
+
let newOffset = (0, numericOffsetToISO_1.numericOffsetToISO)(timezone === null || timezone === void 0 ? void 0 : timezone.offset, false);
|
|
12
|
+
if (newOffset.search(":0") > -1) {
|
|
13
|
+
newOffset = newOffset.slice(0, newOffset.indexOf(":"));
|
|
14
|
+
}
|
|
15
|
+
return `UTC${newOffset}`;
|
|
16
|
+
}
|
|
17
|
+
exports.getUTCFormatByOffset = getUTCFormatByOffset;
|
|
@@ -12,17 +12,17 @@ function getWeek(date) {
|
|
|
12
12
|
if (!(0, isValidDateObject_1.isValidDateObject)(date))
|
|
13
13
|
return;
|
|
14
14
|
const target = new Date(date.valueOf());
|
|
15
|
-
const dayNr = (date.
|
|
16
|
-
target.setDate(target.
|
|
15
|
+
const dayNr = (date.getUTCDay() + 6) % 7;
|
|
16
|
+
target.setDate(target.getUTCDate() - dayNr + 3);
|
|
17
17
|
const firstThursday = target.valueOf();
|
|
18
18
|
target.setMonth(0, 1);
|
|
19
|
-
if (target.
|
|
20
|
-
target.setMonth(0, 1 + ((4 - target.
|
|
19
|
+
if (target.getUTCDay() !== 4) {
|
|
20
|
+
target.setMonth(0, 1 + ((4 - target.getUTCDay() + 7) % 7));
|
|
21
21
|
}
|
|
22
22
|
return {
|
|
23
23
|
week: 1 + Math.ceil((firstThursday - +target) / 604800000),
|
|
24
|
-
month: date.
|
|
25
|
-
year: target.
|
|
24
|
+
month: date.getUTCMonth() + 1,
|
|
25
|
+
year: target.getUTCFullYear(),
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
28
|
exports.getWeek = getWeek;
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
export * from "./adjustTimezone";
|
|
2
1
|
export * from "./areIncludedDateTokens";
|
|
3
2
|
export * from "./getDateByDateFormat";
|
|
3
|
+
export * from "./getDateByTimezone";
|
|
4
|
+
export * from "./getDateByTimezoneOffset";
|
|
4
5
|
export * from "./getDateFormatByProperty";
|
|
5
6
|
export * from "./getDateFormatRegularExpressionInArray";
|
|
6
7
|
export * from "./getDatePickerPickLevel";
|
|
7
8
|
export * from "./getDateRange";
|
|
9
|
+
export * from "./getDefaultDateSettings";
|
|
8
10
|
export * from "./getFormattedDateByFormat";
|
|
9
11
|
export * from "./getSeparatorByDateFormat";
|
|
12
|
+
export * from "./getTimezoneObject";
|
|
13
|
+
export * from "./getTimezoneOffsetByType";
|
|
14
|
+
export * from "./getUTCFormatByOffset";
|
|
10
15
|
export * from "./getWeek";
|
|
11
16
|
export * from "./isValidDateObject";
|
|
12
17
|
export * from "./isValidPotentialDate";
|
|
@@ -14,15 +14,20 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./adjustTimezone"), exports);
|
|
18
17
|
__exportStar(require("./areIncludedDateTokens"), exports);
|
|
19
18
|
__exportStar(require("./getDateByDateFormat"), exports);
|
|
19
|
+
__exportStar(require("./getDateByTimezone"), exports);
|
|
20
|
+
__exportStar(require("./getDateByTimezoneOffset"), exports);
|
|
20
21
|
__exportStar(require("./getDateFormatByProperty"), exports);
|
|
21
22
|
__exportStar(require("./getDateFormatRegularExpressionInArray"), exports);
|
|
22
23
|
__exportStar(require("./getDatePickerPickLevel"), exports);
|
|
23
24
|
__exportStar(require("./getDateRange"), exports);
|
|
25
|
+
__exportStar(require("./getDefaultDateSettings"), exports);
|
|
24
26
|
__exportStar(require("./getFormattedDateByFormat"), exports);
|
|
25
27
|
__exportStar(require("./getSeparatorByDateFormat"), exports);
|
|
28
|
+
__exportStar(require("./getTimezoneObject"), exports);
|
|
29
|
+
__exportStar(require("./getTimezoneOffsetByType"), exports);
|
|
30
|
+
__exportStar(require("./getUTCFormatByOffset"), exports);
|
|
26
31
|
__exportStar(require("./getWeek"), exports);
|
|
27
32
|
__exportStar(require("./isValidDateObject"), exports);
|
|
28
33
|
__exportStar(require("./isValidPotentialDate"), exports);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validate if offset uses a valid ISO 8601 offset specification
|
|
3
|
+
* - If the given offset is a numeric, returns an invalid flag.
|
|
4
|
+
* @param {string} offset the timezone offset
|
|
5
|
+
* @returns {boolean} true if the given offset is valid
|
|
6
|
+
*/
|
|
7
|
+
export declare function isValidISOOffset(offset: number | string): boolean;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isValidISOOffset = void 0;
|
|
4
|
+
const ISO_8601_REGEX_1 = require("../constants/ISO_8601_REGEX");
|
|
5
|
+
/**
|
|
6
|
+
* Validate if offset uses a valid ISO 8601 offset specification
|
|
7
|
+
* - If the given offset is a numeric, returns an invalid flag.
|
|
8
|
+
* @param {string} offset the timezone offset
|
|
9
|
+
* @returns {boolean} true if the given offset is valid
|
|
10
|
+
*/
|
|
11
|
+
function isValidISOOffset(offset) {
|
|
12
|
+
if (typeof offset !== "string")
|
|
13
|
+
return false;
|
|
14
|
+
const newOffset = (offset || "").trim();
|
|
15
|
+
return ISO_8601_REGEX_1.ISO_8601_REGEX.test(newOffset);
|
|
16
|
+
}
|
|
17
|
+
exports.isValidISOOffset = isValidISOOffset;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type IDTimezoneOffset = number | string;
|