@beinformed/ui 1.59.0 → 1.59.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 (64) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js +7 -2
  3. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  4. package/esm/utils/datetime/DateTimeUtil.js +7 -1
  5. package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
  6. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js +7 -2
  7. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.flow +5 -2
  8. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  9. package/lib/utils/datetime/DateTimeUtil.js +7 -1
  10. package/lib/utils/datetime/DateTimeUtil.js.flow +7 -1
  11. package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
  12. package/package.json +1 -1
  13. package/src/models/attributes/input-constraints/DateBoundaryConstraint.js +5 -2
  14. package/src/utils/datetime/DateTimeUtil.js +7 -1
  15. package/types/constants/Constants.d.ts +9 -0
  16. package/types/constants/Settings.d.ts +6 -3
  17. package/types/models/actions/ActionCollection.d.ts +2 -1
  18. package/types/models/actions/ActionModel.d.ts +1 -1
  19. package/types/models/attributes/AttributeCollection.d.ts +5 -1
  20. package/types/models/attributes/AttributeSetModel.d.ts +2 -1
  21. package/types/models/attributes/ChoiceAttributeOptionCollection.d.ts +7 -5
  22. package/types/models/attributes/ChoiceAttributeOptionModel.d.ts +7 -3
  23. package/types/models/attributes/CompositeAttributeChildCollection.d.ts +4 -3
  24. package/types/models/attributes/DatetimeAttributeModel.d.ts +66 -45
  25. package/types/models/attributes/_createAttribute.d.ts +2 -1
  26. package/types/models/attributes/input-constraints/DateBoundaryConstraint.d.ts +56 -40
  27. package/types/models/attributes/input-constraints/DatetimeFormatConstraint.d.ts +64 -42
  28. package/types/models/attributes/input-constraints/RangeConstraint.d.ts +55 -41
  29. package/types/models/base/BaseModel.d.ts +12 -1
  30. package/types/models/concepts/ConceptDetailModel.d.ts +4 -4
  31. package/types/models/concepts/ConceptIndexModel.d.ts +4 -0
  32. package/types/models/concepts/ConceptLinkModel.d.ts +2 -5
  33. package/types/models/concepts/ConceptRelationCollection.d.ts +3 -1
  34. package/types/models/concepts/ConceptRelationModel.d.ts +3 -1
  35. package/types/models/concepts/ConceptTypeDetailModel.d.ts +5 -9
  36. package/types/models/concepts/SourceReferenceCollection.d.ts +2 -1
  37. package/types/models/concepts/SourceReferenceModel.d.ts +3 -1
  38. package/types/models/content/ContentLinkModel.d.ts +2 -1
  39. package/types/models/content/SectionModel.d.ts +2 -1
  40. package/types/models/content/SubSectionModel.d.ts +6 -1
  41. package/types/models/error/ErrorResponse.d.ts +9 -1
  42. package/types/models/filters/FilterCollection.d.ts +3 -2
  43. package/types/models/grouping/GroupingModel.d.ts +4 -3
  44. package/types/models/href/Href.d.ts +26 -3
  45. package/types/models/index.d.ts +1 -0
  46. package/types/models/links/LinkCollection.d.ts +2 -1
  47. package/types/models/links/LinkModel.d.ts +3 -2
  48. package/types/models/list/ListItemModel.d.ts +2 -1
  49. package/types/models/lookup/LookupOptionCollection.d.ts +2 -1
  50. package/types/models/modelcatalog/ModelCatalogModel.d.ts +5 -0
  51. package/types/models/modelcatalog/ModelCategoryCollection.d.ts +11 -0
  52. package/types/models/modelcatalog/ModelCategoryModel.d.ts +39 -0
  53. package/types/models/taskgroup/TaskGroupModel.d.ts +2 -1
  54. package/types/models/types.d.ts +4 -0
  55. package/types/modularui/CaptchaRequest.d.ts +9 -0
  56. package/types/modularui/ModularUIRequest.d.ts +14 -1
  57. package/types/modularui/ModularUIResponse.d.ts +22 -0
  58. package/types/modularui/UploadRequest.d.ts +7 -1
  59. package/types/redux/_modularui/types.d.ts +3 -0
  60. package/types/redux/types.d.ts +8 -1
  61. package/types/utils/datetime/DateTimeUtil.d.ts +91 -45
  62. package/types/utils/fetch/types.d.ts +2 -0
  63. package/types/utils/helpers/createHref.d.ts +4 -3
  64. package/types/utils/helpers/repositoryResource.d.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [1.59.2](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.59.1...v1.59.2) (2024-12-09)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **datetime-constraint:** render format of datetime without offset in validation messages ([7c74dab](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/7c74dab62649c7930355dbf799b0dd4ef52499f0))
11
+
12
+ ## [1.59.1](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.59.0...v1.59.1) (2024-12-06)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * **flow:** return utc offset when no timezone is found ([450110a](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/450110a1ae3fe797c902b6bcd6f71a8fe0260ee0))
18
+
5
19
  ## [1.59.0](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.58.4...v1.59.0) (2024-12-06)
6
20
 
7
21
 
@@ -1,6 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
2
+ import _trimInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/trim";
2
3
  import { TimeUtil, DateUtil, TimestampUtil, DateTimeUtil } from "../../../utils/datetime/DateTimeUtil";
3
4
  import { IllegalArgumentException, IllegalStateException } from "../../../exceptions";
5
+ import { DATETIME_OFFSET_FORMAT } from "../../../constants";
4
6
  const INEXACT_DATE_ID = "Constraint.Date.InexactDate";
5
7
  const OUT_OF_RANGE_ID = "Constraint.Date.OutOfRange";
6
8
  const BELOW_MINIMUM_ID = "Constraint.Date.BelowMinimum";
@@ -12,15 +14,18 @@ class DateBoundaryConstraint {
12
14
  /**
13
15
  */
14
16
  constructor(type) {
17
+ var _context;
15
18
  let minDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
16
19
  let maxDate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
17
20
  let format = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "yyyy-MM-dd";
18
21
  _defineProperty(this, "_type", void 0);
19
22
  _defineProperty(this, "_format", void 0);
23
+ _defineProperty(this, "_formatNoOffset", void 0);
20
24
  _defineProperty(this, "_minDate", void 0);
21
25
  _defineProperty(this, "_maxDate", void 0);
22
26
  this._type = type;
23
27
  this._format = format;
28
+ this._formatNoOffset = _trimInstanceProperty(_context = format.replace(DATETIME_OFFSET_FORMAT, "")).call(_context);
24
29
  this._minDate = minDate;
25
30
  this._maxDate = maxDate;
26
31
  }
@@ -89,8 +94,8 @@ class DateBoundaryConstraint {
89
94
  */
90
95
  get parameters() {
91
96
  return {
92
- "min-date": this.minDate ? this.formatUtil.toFormat(this.minDate, this.format) : null,
93
- "max-date": this.maxDate ? this.formatUtil.toFormat(this.maxDate, this.format) : null
97
+ "min-date": this.minDate ? this.formatUtil.toFormat(this.minDate, this._formatNoOffset) : null,
98
+ "max-date": this.maxDate ? this.formatUtil.toFormat(this.maxDate, this._formatNoOffset) : null
94
99
  };
95
100
  }
96
101
 
@@ -1 +1 @@
1
- {"version":3,"file":"DateBoundaryConstraint.js","names":["TimeUtil","DateUtil","TimestampUtil","DateTimeUtil","IllegalArgumentException","IllegalStateException","INEXACT_DATE_ID","OUT_OF_RANGE_ID","BELOW_MINIMUM_ID","ABOVE_MAXIMUM_ID","DateBoundaryConstraint","constructor","type","minDate","arguments","length","undefined","maxDate","format","_defineProperty","_type","_format","_minDate","_maxDate","id","defaultMessage","parameters","formatUtil","toFormat","hasValidation","isExactDate","value","isSame","isBetweenDates","isSameOrAfterMinDate","isSameOrBeforeMaxDate","isSameOrAfter","isSameOrBefore","validate","TypeError","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/DateBoundaryConstraint.js"],"sourcesContent":["// @flow\nimport {\n TimeUtil,\n DateUtil,\n TimestampUtil,\n DateTimeUtil,\n} from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { IConstraintModel } from \"../../types\";\nimport {\n IllegalArgumentException,\n IllegalStateException,\n} from \"../../../exceptions\";\n\nconst INEXACT_DATE_ID = \"Constraint.Date.InexactDate\";\nconst OUT_OF_RANGE_ID = \"Constraint.Date.OutOfRange\";\nconst BELOW_MINIMUM_ID = \"Constraint.Date.BelowMinimum\";\nconst ABOVE_MAXIMUM_ID = \"Constraint.Date.AboveMaximum\";\n\n/**\n */\nclass DateBoundaryConstraint implements IConstraintModel {\n _type: string;\n _format: string;\n _minDate: ?string;\n _maxDate: ?string;\n\n /**\n */\n constructor(\n type: string,\n minDate: ?string = null,\n maxDate: ?string = null,\n format: string = \"yyyy-MM-dd\",\n ) {\n this._type = type;\n this._format = format;\n this._minDate = minDate;\n this._maxDate = maxDate;\n }\n\n /**\n */\n get type(): string {\n return this._type;\n }\n\n /**\n */\n get id(): string {\n if (\n this.minDate !== null &&\n this.maxDate !== null &&\n this.minDate === this.maxDate\n ) {\n return INEXACT_DATE_ID;\n } else if (this.minDate !== null && this.maxDate !== null) {\n return OUT_OF_RANGE_ID;\n } else if (this.minDate !== null) {\n return BELOW_MINIMUM_ID;\n } else if (this.maxDate !== null) {\n return ABOVE_MAXIMUM_ID;\n }\n\n return \"Constraint.Date.NoBoundaryConstraint\";\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get minDate(): ?string {\n return this._minDate;\n }\n\n /**\n */\n get maxDate(): ?string {\n return this._maxDate;\n }\n\n /**\n */\n get defaultMessage(): string {\n switch (this.id) {\n case INEXACT_DATE_ID:\n return \"Date must be precisely ${min-date}\"; // NOSONAR\n case OUT_OF_RANGE_ID:\n return \"Must be between ${min-date} and ${max-date}\"; // NOSONAR\n case BELOW_MINIMUM_ID:\n return \"Must be on or after ${min-date}\"; // NOSONAR\n case ABOVE_MAXIMUM_ID:\n return \"Must be on or before ${max-date}\"; // NOSONAR\n default:\n return \"\";\n }\n }\n\n /**\n */\n get parameters(): { \"max-date\": string | null, \"min-date\": string | null } {\n return {\n \"min-date\": this.minDate\n ? this.formatUtil.toFormat(this.minDate, this.format)\n : null,\n \"max-date\": this.maxDate\n ? this.formatUtil.toFormat(this.maxDate, this.format)\n : null,\n };\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n isExactDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null) {\n throw new IllegalStateException(\"isExactDate: Min and max date not set\");\n }\n\n return this.formatUtil.isSame(value, this.minDate, this.format);\n }\n\n /**\n */\n isBetweenDates(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null || this.maxDate === null) {\n throw new IllegalStateException(\"isBetweenDate: Min or max date not set\");\n }\n\n return (\n this.isSameOrAfterMinDate(value) && this.isSameOrBeforeMaxDate(value)\n );\n }\n\n /**\n */\n isSameOrAfterMinDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrAfterMinDate: Not comparing to string\",\n );\n }\n\n if (this.minDate == null) {\n throw new IllegalStateException(\"isSameOrAfterMinDate: Min date not set\");\n }\n\n return this.formatUtil.isSameOrAfter(value, this.minDate, this.format);\n }\n\n /**\n */\n isSameOrBeforeMaxDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrBeforeMaxDate: Not comparing to string\",\n );\n }\n\n if (this.maxDate == null) {\n throw new IllegalStateException(\n \"isSameOrBeforeMaxDate: Max date not set\",\n );\n }\n\n return this.formatUtil.isSameOrBefore(value, this.maxDate, this.format);\n }\n\n /**\n */\n get formatUtil():\n | typeof TimeUtil\n | typeof TimestampUtil\n | typeof DateTimeUtil\n | typeof DateUtil {\n switch (this.type) {\n case \"time\":\n return TimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n case \"datetime\":\n return DateTimeUtil;\n default:\n return DateUtil;\n }\n }\n\n /**\n */\n validate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isNotEmptyString: Not comparing to string\");\n }\n\n switch (this.id) {\n case INEXACT_DATE_ID:\n return this.isExactDate(value);\n case OUT_OF_RANGE_ID:\n return this.isBetweenDates(value);\n case BELOW_MINIMUM_ID:\n return this.isSameOrAfterMinDate(value);\n case ABOVE_MAXIMUM_ID:\n return this.isSameOrBeforeMaxDate(value);\n default:\n return true;\n }\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default DateBoundaryConstraint;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DateBoundaryConstraint.js","names":["TimeUtil","DateUtil","TimestampUtil","DateTimeUtil","IllegalArgumentException","IllegalStateException","DATETIME_OFFSET_FORMAT","INEXACT_DATE_ID","OUT_OF_RANGE_ID","BELOW_MINIMUM_ID","ABOVE_MAXIMUM_ID","DateBoundaryConstraint","constructor","type","_context","minDate","arguments","length","undefined","maxDate","format","_defineProperty","_type","_format","_formatNoOffset","_trimInstanceProperty","replace","call","_minDate","_maxDate","id","defaultMessage","parameters","formatUtil","toFormat","hasValidation","isExactDate","value","isSame","isBetweenDates","isSameOrAfterMinDate","isSameOrBeforeMaxDate","isSameOrAfter","isSameOrBefore","validate","TypeError","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/DateBoundaryConstraint.js"],"sourcesContent":["// @flow\nimport {\n TimeUtil,\n DateUtil,\n TimestampUtil,\n DateTimeUtil,\n} from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { IConstraintModel } from \"../../types\";\nimport {\n IllegalArgumentException,\n IllegalStateException,\n} from \"../../../exceptions\";\nimport { DATETIME_OFFSET_FORMAT } from \"../../../constants\";\n\nconst INEXACT_DATE_ID = \"Constraint.Date.InexactDate\";\nconst OUT_OF_RANGE_ID = \"Constraint.Date.OutOfRange\";\nconst BELOW_MINIMUM_ID = \"Constraint.Date.BelowMinimum\";\nconst ABOVE_MAXIMUM_ID = \"Constraint.Date.AboveMaximum\";\n\n/**\n */\nclass DateBoundaryConstraint implements IConstraintModel {\n _type: string;\n _format: string;\n _formatNoOffset: string;\n _minDate: ?string;\n _maxDate: ?string;\n\n /**\n */\n constructor(\n type: string,\n minDate: ?string = null,\n maxDate: ?string = null,\n format: string = \"yyyy-MM-dd\",\n ) {\n this._type = type;\n this._format = format;\n this._formatNoOffset = format.replace(DATETIME_OFFSET_FORMAT, \"\").trim();\n this._minDate = minDate;\n this._maxDate = maxDate;\n }\n\n /**\n */\n get type(): string {\n return this._type;\n }\n\n /**\n */\n get id(): string {\n if (\n this.minDate !== null &&\n this.maxDate !== null &&\n this.minDate === this.maxDate\n ) {\n return INEXACT_DATE_ID;\n } else if (this.minDate !== null && this.maxDate !== null) {\n return OUT_OF_RANGE_ID;\n } else if (this.minDate !== null) {\n return BELOW_MINIMUM_ID;\n } else if (this.maxDate !== null) {\n return ABOVE_MAXIMUM_ID;\n }\n\n return \"Constraint.Date.NoBoundaryConstraint\";\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get minDate(): ?string {\n return this._minDate;\n }\n\n /**\n */\n get maxDate(): ?string {\n return this._maxDate;\n }\n\n /**\n */\n get defaultMessage(): string {\n switch (this.id) {\n case INEXACT_DATE_ID:\n return \"Date must be precisely ${min-date}\"; // NOSONAR\n case OUT_OF_RANGE_ID:\n return \"Must be between ${min-date} and ${max-date}\"; // NOSONAR\n case BELOW_MINIMUM_ID:\n return \"Must be on or after ${min-date}\"; // NOSONAR\n case ABOVE_MAXIMUM_ID:\n return \"Must be on or before ${max-date}\"; // NOSONAR\n default:\n return \"\";\n }\n }\n\n /**\n */\n get parameters(): { \"max-date\": string | null, \"min-date\": string | null } {\n return {\n \"min-date\": this.minDate\n ? this.formatUtil.toFormat(this.minDate, this._formatNoOffset)\n : null,\n \"max-date\": this.maxDate\n ? this.formatUtil.toFormat(this.maxDate, this._formatNoOffset)\n : null,\n };\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n isExactDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null) {\n throw new IllegalStateException(\"isExactDate: Min and max date not set\");\n }\n\n return this.formatUtil.isSame(value, this.minDate, this.format);\n }\n\n /**\n */\n isBetweenDates(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null || this.maxDate === null) {\n throw new IllegalStateException(\"isBetweenDate: Min or max date not set\");\n }\n\n return (\n this.isSameOrAfterMinDate(value) && this.isSameOrBeforeMaxDate(value)\n );\n }\n\n /**\n */\n isSameOrAfterMinDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrAfterMinDate: Not comparing to string\",\n );\n }\n\n if (this.minDate == null) {\n throw new IllegalStateException(\"isSameOrAfterMinDate: Min date not set\");\n }\n\n return this.formatUtil.isSameOrAfter(value, this.minDate, this.format);\n }\n\n /**\n */\n isSameOrBeforeMaxDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrBeforeMaxDate: Not comparing to string\",\n );\n }\n\n if (this.maxDate == null) {\n throw new IllegalStateException(\n \"isSameOrBeforeMaxDate: Max date not set\",\n );\n }\n\n return this.formatUtil.isSameOrBefore(value, this.maxDate, this.format);\n }\n\n /**\n */\n get formatUtil():\n | typeof TimeUtil\n | typeof TimestampUtil\n | typeof DateTimeUtil\n | typeof DateUtil {\n switch (this.type) {\n case \"time\":\n return TimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n case \"datetime\":\n return DateTimeUtil;\n default:\n return DateUtil;\n }\n }\n\n /**\n */\n validate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isNotEmptyString: Not comparing to string\");\n }\n\n switch (this.id) {\n case INEXACT_DATE_ID:\n return this.isExactDate(value);\n case OUT_OF_RANGE_ID:\n return this.isBetweenDates(value);\n case BELOW_MINIMUM_ID:\n return this.isSameOrAfterMinDate(value);\n case ABOVE_MAXIMUM_ID:\n return this.isSameOrBeforeMaxDate(value);\n default:\n return true;\n }\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default DateBoundaryConstraint;\n"],"mappings":"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","ignoreList":[]}
@@ -549,7 +549,13 @@ class BaseDateTimeUtil {
549
549
  };
550
550
  const timezone = soft(this.getTimeZone());
551
551
  if (timezone.length === 0) {
552
- return {};
552
+ return {
553
+ standard: {
554
+ label: "Etc/UTC",
555
+ abbr: "Etc/UTC",
556
+ value: "+00:00"
557
+ }
558
+ };
553
559
  }
554
560
  const {
555
561
  daylight,
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeUtil.js","names":["format","isAfter","isBefore","isSameDay","isValid","parse","add","sub","set","startOfMonth","endOfMonth","startOfWeek","getHours","getMinutes","getDay","getWeek","enGB","nl","tz","soft","DATETIME_OFFSET_FORMAT","DEFAULT_FIRST_WEEK_CONTAINS_DATE","DEFAULT_WEEK_STARTS_ON","getSetting","IS_GRAALJS","isIncludeTimeOffsetInDateTimes","ISO_DATE_FORMAT","ISO_DATETIME_FORMAT","ISO_TIME_FORMAT","ISO_TIMESTAMP_FORMAT","getCookie","BaseDateTimeUtil","constructor","isoFormat","_defineProperty","Intl","DateTimeFormat","resolvedOptions","timeZone","_isoFormat","getOptions","weekStartsOn","firstWeekContainsDate","getIsoFormat","_context","_startsWithInstanceProperty","call","convertFormat","sourceFormat","getLocale","locale","toDate","date","inputFormat","arguments","length","undefined","Date","in","getDateFnsContext","toFormat","isoDate","targetFormat","parsedDate","toISO","now","hasFormat","formattedValue","isOutsideRange","replace","toUpperCase","inputDate","afterISODate","isSameOrAfter","isSame","beforeISODate","isSameOrBefore","compareDate","getTime","isOther","isWeekend","SATURDAY_NUMBER","SUNDAY_NUMBER","weekDay","isAmbiguous","dateTime","t","a","_mapInstanceProperty","x","newDate","minutes","time","indexOf","_calculate","calculationFn","property","value","addSeconds","amount","addMinutes","addHours","addDays","addWeeks","addMonths","addYears","subtractSeconds","subtractMinutes","subtractHours","subtractDays","subtractWeeks","subtractMonths","subtractYears","_get","method","options","_set","setYear","year","setMonth","month","setDay","day","setHour","hour","setMinute","minute","setSecond","second","setMilliseconds","millisecond","setTime","hours","seconds","milliseconds","getTimeZone","_timeZone","setTimeZone","getOffset","dateOffset","offsets","getTimezoneOffsets","daylight","standard","createOffsetObject","info","_context2","_context3","sign","offset","absOffset","Math","abs","_Math$trunc","round","offsetString","_padStartInstanceProperty","String","label","name","abbr","timezone","DateUtil","DateTimeUtil","TimeUtil","TimestampUtil"],"sources":["../../../src/utils/datetime/DateTimeUtil.js"],"sourcesContent":["// @flow\nimport {\n format,\n isAfter,\n isBefore,\n isSameDay,\n isValid,\n parse,\n add,\n sub,\n set,\n startOfMonth,\n endOfMonth,\n startOfWeek,\n getHours,\n getMinutes,\n getDay,\n getWeek,\n} from \"date-fns\";\nimport { enGB, nl } from \"date-fns/locale\";\nimport { tz } from \"@date-fns/tz\";\n\nimport soft from \"timezone-soft\";\n\nimport {\n DATETIME_OFFSET_FORMAT,\n DEFAULT_FIRST_WEEK_CONTAINS_DATE,\n DEFAULT_WEEK_STARTS_ON,\n getSetting,\n IS_GRAALJS,\n isIncludeTimeOffsetInDateTimes,\n ISO_DATE_FORMAT,\n ISO_DATETIME_FORMAT,\n ISO_TIME_FORMAT,\n ISO_TIMESTAMP_FORMAT,\n} from \"../../constants\";\n\nimport { getCookie } from \"../browser/Cookies\";\n\ntype OffsetInfoInput = {\n abbr: string,\n offset: number,\n name: string,\n};\n\nexport type OffsetInfo = {\n abbr: string,\n label: string,\n value: string,\n};\n\n/**\n * @hideconstructor\n */\nclass BaseDateTimeUtil {\n _isoFormat: string;\n _timeZone: string =\n typeof Intl === \"undefined\"\n ? \"Etc/UTC\"\n : Intl.DateTimeFormat().resolvedOptions().timeZone || \"Etc/UTC\";\n\n constructor(isoFormat: string) {\n this._isoFormat = isoFormat;\n }\n\n /**\n * Returns the options defined in settings\n */\n getOptions(): {\n weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6,\n firstWeekContainsDate: 1 | 2 | 3 | 4 | 5 | 6 | 7,\n } {\n // indicates on what day the week starts\n const weekStartsOn = getSetting(\n \"CALENDAR_WEEK_STARTS_ON\",\n DEFAULT_WEEK_STARTS_ON,\n );\n\n // indicates which date indicates the first week of the year\n const firstWeekContainsDate = getSetting(\n \"CALENDAR_FIRST_WEEK_CONTAINS_DATE\",\n DEFAULT_FIRST_WEEK_CONTAINS_DATE,\n );\n\n return { weekStartsOn, firstWeekContainsDate };\n }\n\n /**\n */\n getIsoFormat(): string {\n if (\n isIncludeTimeOffsetInDateTimes() &&\n this._isoFormat.startsWith(ISO_DATETIME_FORMAT)\n ) {\n return this._isoFormat + DATETIME_OFFSET_FORMAT;\n }\n return this._isoFormat;\n }\n\n /**\n */\n convertFormat(sourceFormat: string): string {\n return sourceFormat ? sourceFormat : this.getIsoFormat();\n }\n\n /**\n */\n getLocale(): typeof nl | typeof enGB {\n const locale = getCookie(\"locale\") ?? \"en\";\n\n if (locale === \"nl\") {\n return nl;\n }\n\n return enGB;\n }\n\n /**\n */\n toDate(date: string | Date, inputFormat: string = this.getIsoFormat()): Date {\n if (date instanceof Date) {\n return date;\n }\n\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n\n return parse(date, inputFormat, new Date(), {\n in: this.getDateFnsContext(),\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n /**\n */\n toFormat(\n isoDate: string | Date,\n targetFormat: string,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const { weekStartsOn } = this.getOptions();\n\n const parsedDate = this.toDate(isoDate, inputFormat);\n\n if (isValid(parsedDate)) {\n return format(parsedDate, targetFormat, {\n in: this.getDateFnsContext(),\n weekStartsOn,\n locale: this.getLocale(),\n });\n }\n\n return \"Invalid Date\";\n }\n\n /**\n */\n toISO(\n date: string | Date,\n sourceFormat: string = this.getIsoFormat(),\n ): string {\n return this.toFormat(date, this.getIsoFormat(), sourceFormat);\n }\n\n /**\n */\n now(): string {\n return this.toISO(new Date());\n }\n\n //////////// VALIDATION\n\n /**\n */\n hasFormat(date: string, sourceFormat: string): boolean {\n const formattedValue = this.toFormat(date, sourceFormat, sourceFormat);\n if (formattedValue === \"Invalid Date\") {\n return false;\n }\n\n const isOutsideRange =\n isBefore(formattedValue, new Date(1000, 1, 1)) ||\n isAfter(formattedValue, new Date(9999, 11, 31));\n if (isOutsideRange) {\n return false;\n }\n\n return (\n formattedValue.replace(/0/gu, \"\").toUpperCase() ===\n date.replace(/0/gu, \"\").toUpperCase()\n );\n }\n\n /**\n */\n isValid(\n date: string | Date | null | void,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n if (!date) {\n return false;\n }\n\n const parsedDate = this.toDate(date, inputFormat);\n return isValid(parsedDate);\n }\n\n /**\n */\n isAfter(\n inputDate: string | Date,\n afterISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return (\n afterISODate != null &&\n isAfter(this.toDate(inputDate, inputFormat), this.toDate(afterISODate))\n );\n }\n\n /**\n */\n isSameOrAfter(\n inputDate: string | Date,\n afterISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return (\n afterISODate != null &&\n (this.isAfter(inputDate, afterISODate, inputFormat) ||\n this.isSame(inputDate, afterISODate, inputFormat))\n );\n }\n\n /**\n */\n isBefore(\n inputDate: string | Date,\n beforeISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return (\n beforeISODate != null &&\n isBefore(this.toDate(inputDate, inputFormat), this.toDate(beforeISODate))\n );\n }\n\n /**\n */\n isSameOrBefore(\n inputDate: string | Date,\n beforeISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return (\n beforeISODate != null &&\n (this.isBefore(inputDate, beforeISODate, inputFormat) ||\n this.isSame(inputDate, beforeISODate, inputFormat))\n );\n }\n\n /**\n */\n isSame(\n inputDate: string | Date,\n compareDate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return (\n compareDate != null &&\n this.toDate(inputDate, inputFormat).getTime() ===\n this.toDate(compareDate).getTime()\n );\n }\n\n /**\n */\n isSameDay(\n inputDate: string | Date,\n compareDate: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return (\n compareDate != null &&\n isSameDay(\n this.toDate(inputDate, inputFormat),\n this.toDate(compareDate, inputFormat),\n )\n );\n }\n\n /**\n */\n isOther(\n inputDate: string | Date,\n compareDate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return !this.isSame(inputDate, compareDate, inputFormat);\n }\n\n /**\n */\n isWeekend(inputDate: string | Date): boolean {\n const SATURDAY_NUMBER = 6;\n const SUNDAY_NUMBER = 0;\n const weekDay = getDay(this.toDate(inputDate));\n\n return weekDay === SATURDAY_NUMBER || weekDay === SUNDAY_NUMBER;\n }\n\n /**\n * Checks if a given local date and time is ambiguous in the specified timezone.\n * Ambiguity happens during the end of daylight saving time (DST) transitions.\n */\n isAmbiguous(\n inputDate: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n if (inputDate == null || typeof Intl === \"undefined\") {\n return false;\n }\n\n const dateTime = this.toDate(inputDate, inputFormat);\n if (!isValid(dateTime)) {\n return false;\n }\n\n const t = [60, -60, 30, -30];\n const a = t.map((x) => {\n const newDate = add(dateTime, { minutes: x });\n return format(newDate, \"HH:mm\");\n });\n const time = format(dateTime, \"HH:mm\");\n return a.indexOf(time) > -1;\n }\n\n //////////// CALCULATIONS\n\n /**\n * @private\n */\n _calculate(\n date: string | Date,\n calculationFn: Function,\n property: string,\n value: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n calculationFn(\n parsedDate,\n { [property]: value },\n {\n in: this.getDateFnsContext(),\n },\n ),\n );\n }\n\n /**\n */\n addSeconds(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"seconds\", amount, inputFormat);\n }\n\n /**\n */\n addMinutes(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"minutes\", amount, inputFormat);\n }\n\n /**\n */\n addHours(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"hours\", amount, inputFormat);\n }\n\n /**\n */\n addDays(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"days\", amount, inputFormat);\n }\n\n /**\n */\n addWeeks(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"weeks\", amount, inputFormat);\n }\n\n /**\n */\n addMonths(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"months\", amount, inputFormat);\n }\n\n /**\n */\n addYears(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"years\", amount, inputFormat);\n }\n\n /**\n */\n subtractSeconds(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"seconds\", amount, inputFormat);\n }\n\n /**\n */\n subtractMinutes(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"minutes\", amount, inputFormat);\n }\n\n /**\n */\n subtractHours(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"hours\", amount, inputFormat);\n }\n\n /**\n */\n subtractDays(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"days\", amount, inputFormat);\n }\n\n /**\n */\n subtractWeeks(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"weeks\", amount, inputFormat);\n }\n\n /**\n */\n subtractMonths(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"months\", amount, inputFormat);\n }\n\n /**\n */\n subtractYears(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"years\", amount, inputFormat);\n }\n\n //////////// GETTERS\n\n /**\n * @private\n */\n _get(\n date: string | Date,\n method: Function,\n inputFormat: string = this.getIsoFormat(),\n options: Object = {},\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n method(parsedDate, {\n in: this.getDateFnsContext(),\n ...options,\n }),\n );\n }\n\n /**\n */\n startOfMonth(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._get(date, startOfMonth, inputFormat);\n }\n\n /**\n */\n endOfMonth(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._get(date, endOfMonth, inputFormat);\n }\n\n /**\n */\n startOfWeek(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const { weekStartsOn } = this.getOptions();\n return this._get(date, startOfWeek, inputFormat, {\n weekStartsOn,\n });\n }\n\n /**\n */\n getHours(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): number {\n const parsedDate = this.toDate(date, inputFormat);\n return getHours(parsedDate, { in: this.getDateFnsContext() });\n }\n\n /**\n */\n getMinutes(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): number {\n const parsedDate = this.toDate(date, inputFormat);\n return getMinutes(parsedDate, { in: this.getDateFnsContext() });\n }\n\n /**\n */\n getWeek(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): number {\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n const parsedDate = this.toDate(date, inputFormat);\n return getWeek(parsedDate, {\n in: this.getDateFnsContext(),\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n //////////// SETTERS\n\n /**\n * @private\n */\n _set(\n date: string | Date,\n property: string,\n value: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n set(\n parsedDate,\n { [property]: value },\n // {\n // in: this.getDateFnsContext(),\n // },\n ),\n );\n }\n\n /**\n */\n setYear(\n date: string | Date,\n year: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"year\", year, inputFormat);\n }\n\n /**\n */\n setMonth(\n date: string | Date,\n month: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"month\", month, inputFormat);\n }\n\n /**\n */\n setDay(\n date: string | Date,\n day: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"date\", day, inputFormat);\n }\n\n /**\n */\n setHour(\n date: string | Date,\n hour: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"hours\", hour, inputFormat);\n }\n\n /**\n */\n setMinute(\n date: string | Date,\n minute: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"minutes\", minute, inputFormat);\n }\n\n /**\n */\n setSecond(\n date: string | Date,\n second: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"seconds\", second, inputFormat);\n }\n\n /**\n */\n setMilliseconds(\n date: string | Date,\n millisecond: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"milliseconds\", millisecond, inputFormat);\n }\n\n /**\n */\n setTime(\n date: string,\n hours: number,\n minutes: number,\n seconds: number,\n milliseconds: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n set(\n parsedDate,\n { hours, minutes, seconds, milliseconds },\n {\n in: this.getDateFnsContext(),\n },\n ),\n );\n }\n\n //////////// Timezone related\n\n /**\n */\n getTimeZone(): string {\n return this._timeZone;\n }\n\n /**\n */\n setTimeZone(timeZone: string) {\n this._timeZone = timeZone;\n }\n\n /**\n */\n getDateFnsContext(): null | Function {\n if (IS_GRAALJS) {\n return null; // tz method does not work in graal (yet)\n }\n return tz(this.getTimeZone());\n }\n\n //////////// Offsets\n\n /**\n */\n getOffset(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): OffsetInfo | null {\n const parsedDate = this.toDate(date, inputFormat);\n if (isValid(parsedDate)) {\n const dateOffset = this.toFormat(parsedDate, DATETIME_OFFSET_FORMAT);\n const offsets = this.getTimezoneOffsets();\n if (\n typeof offsets.daylight !== \"undefined\" &&\n offsets.daylight.value === dateOffset\n ) {\n return offsets.daylight;\n } else if (\n typeof offsets.standard !== \"undefined\" &&\n offsets.standard.value === dateOffset\n ) {\n return offsets.standard;\n }\n }\n return null;\n }\n\n /**\n */\n getTimezoneOffsets(): {\n standard?: OffsetInfo,\n daylight?: OffsetInfo,\n } {\n const createOffsetObject = (info: OffsetInfoInput): OffsetInfo => {\n const sign = info.offset < 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(info.offset);\n const hours = Math.trunc(absOffset);\n const minutes = Math.round((absOffset % 1) * 60);\n\n const offsetString = `${sign}${String(hours + (minutes === 60 ? 1 : 0)).padStart(2, \"0\")}:${String(minutes % 60).padStart(2, \"0\")}`;\n\n return {\n label: info.name,\n abbr: info.abbr,\n value: offsetString,\n };\n };\n\n const timezone = soft(this.getTimeZone());\n\n if (timezone.length === 0) {\n return {};\n }\n\n const { daylight, standard } = timezone[0];\n\n if (daylight) {\n return {\n daylight: createOffsetObject(daylight),\n standard: createOffsetObject(standard),\n };\n }\n\n return { standard: createOffsetObject(standard) };\n }\n}\n\n/**\n * DateUtil\n */\nconst DateUtil: BaseDateTimeUtil = new BaseDateTimeUtil(ISO_DATE_FORMAT);\n\n/**\n * DateTimeUtil\n */\nconst DateTimeUtil: BaseDateTimeUtil = new BaseDateTimeUtil(\n ISO_DATETIME_FORMAT,\n);\n\n/**\n * TimeUtil\n */\nconst TimeUtil: BaseDateTimeUtil = new BaseDateTimeUtil(ISO_TIME_FORMAT);\n\n/**\n * TimestampUtil\n */\nconst TimestampUtil: BaseDateTimeUtil = new BaseDateTimeUtil(\n ISO_TIMESTAMP_FORMAT,\n);\n\nexport { DateUtil, DateTimeUtil, TimeUtil, TimestampUtil };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DateTimeUtil.js","names":["format","isAfter","isBefore","isSameDay","isValid","parse","add","sub","set","startOfMonth","endOfMonth","startOfWeek","getHours","getMinutes","getDay","getWeek","enGB","nl","tz","soft","DATETIME_OFFSET_FORMAT","DEFAULT_FIRST_WEEK_CONTAINS_DATE","DEFAULT_WEEK_STARTS_ON","getSetting","IS_GRAALJS","isIncludeTimeOffsetInDateTimes","ISO_DATE_FORMAT","ISO_DATETIME_FORMAT","ISO_TIME_FORMAT","ISO_TIMESTAMP_FORMAT","getCookie","BaseDateTimeUtil","constructor","isoFormat","_defineProperty","Intl","DateTimeFormat","resolvedOptions","timeZone","_isoFormat","getOptions","weekStartsOn","firstWeekContainsDate","getIsoFormat","_context","_startsWithInstanceProperty","call","convertFormat","sourceFormat","getLocale","locale","toDate","date","inputFormat","arguments","length","undefined","Date","in","getDateFnsContext","toFormat","isoDate","targetFormat","parsedDate","toISO","now","hasFormat","formattedValue","isOutsideRange","replace","toUpperCase","inputDate","afterISODate","isSameOrAfter","isSame","beforeISODate","isSameOrBefore","compareDate","getTime","isOther","isWeekend","SATURDAY_NUMBER","SUNDAY_NUMBER","weekDay","isAmbiguous","dateTime","t","a","_mapInstanceProperty","x","newDate","minutes","time","indexOf","_calculate","calculationFn","property","value","addSeconds","amount","addMinutes","addHours","addDays","addWeeks","addMonths","addYears","subtractSeconds","subtractMinutes","subtractHours","subtractDays","subtractWeeks","subtractMonths","subtractYears","_get","method","options","_set","setYear","year","setMonth","month","setDay","day","setHour","hour","setMinute","minute","setSecond","second","setMilliseconds","millisecond","setTime","hours","seconds","milliseconds","getTimeZone","_timeZone","setTimeZone","getOffset","dateOffset","offsets","getTimezoneOffsets","daylight","standard","createOffsetObject","info","_context2","_context3","sign","offset","absOffset","Math","abs","_Math$trunc","round","offsetString","_padStartInstanceProperty","String","label","name","abbr","timezone","DateUtil","DateTimeUtil","TimeUtil","TimestampUtil"],"sources":["../../../src/utils/datetime/DateTimeUtil.js"],"sourcesContent":["// @flow\nimport {\n format,\n isAfter,\n isBefore,\n isSameDay,\n isValid,\n parse,\n add,\n sub,\n set,\n startOfMonth,\n endOfMonth,\n startOfWeek,\n getHours,\n getMinutes,\n getDay,\n getWeek,\n} from \"date-fns\";\nimport { enGB, nl } from \"date-fns/locale\";\nimport { tz } from \"@date-fns/tz\";\n\nimport soft from \"timezone-soft\";\n\nimport {\n DATETIME_OFFSET_FORMAT,\n DEFAULT_FIRST_WEEK_CONTAINS_DATE,\n DEFAULT_WEEK_STARTS_ON,\n getSetting,\n IS_GRAALJS,\n isIncludeTimeOffsetInDateTimes,\n ISO_DATE_FORMAT,\n ISO_DATETIME_FORMAT,\n ISO_TIME_FORMAT,\n ISO_TIMESTAMP_FORMAT,\n} from \"../../constants\";\n\nimport { getCookie } from \"../browser/Cookies\";\n\ntype OffsetInfoInput = {\n abbr: string,\n offset: number,\n name: string,\n};\n\nexport type OffsetInfo = {\n abbr: string,\n label: string,\n value: string,\n};\n\n/**\n * @hideconstructor\n */\nclass BaseDateTimeUtil {\n _isoFormat: string;\n _timeZone: string =\n typeof Intl === \"undefined\"\n ? \"Etc/UTC\"\n : Intl.DateTimeFormat().resolvedOptions().timeZone || \"Etc/UTC\";\n\n constructor(isoFormat: string) {\n this._isoFormat = isoFormat;\n }\n\n /**\n * Returns the options defined in settings\n */\n getOptions(): {\n weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6,\n firstWeekContainsDate: 1 | 2 | 3 | 4 | 5 | 6 | 7,\n } {\n // indicates on what day the week starts\n const weekStartsOn = getSetting(\n \"CALENDAR_WEEK_STARTS_ON\",\n DEFAULT_WEEK_STARTS_ON,\n );\n\n // indicates which date indicates the first week of the year\n const firstWeekContainsDate = getSetting(\n \"CALENDAR_FIRST_WEEK_CONTAINS_DATE\",\n DEFAULT_FIRST_WEEK_CONTAINS_DATE,\n );\n\n return { weekStartsOn, firstWeekContainsDate };\n }\n\n /**\n */\n getIsoFormat(): string {\n if (\n isIncludeTimeOffsetInDateTimes() &&\n this._isoFormat.startsWith(ISO_DATETIME_FORMAT)\n ) {\n return this._isoFormat + DATETIME_OFFSET_FORMAT;\n }\n return this._isoFormat;\n }\n\n /**\n */\n convertFormat(sourceFormat: string): string {\n return sourceFormat ? sourceFormat : this.getIsoFormat();\n }\n\n /**\n */\n getLocale(): typeof nl | typeof enGB {\n const locale = getCookie(\"locale\") ?? \"en\";\n\n if (locale === \"nl\") {\n return nl;\n }\n\n return enGB;\n }\n\n /**\n */\n toDate(date: string | Date, inputFormat: string = this.getIsoFormat()): Date {\n if (date instanceof Date) {\n return date;\n }\n\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n\n return parse(date, inputFormat, new Date(), {\n in: this.getDateFnsContext(),\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n /**\n */\n toFormat(\n isoDate: string | Date,\n targetFormat: string,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const { weekStartsOn } = this.getOptions();\n\n const parsedDate = this.toDate(isoDate, inputFormat);\n\n if (isValid(parsedDate)) {\n return format(parsedDate, targetFormat, {\n in: this.getDateFnsContext(),\n weekStartsOn,\n locale: this.getLocale(),\n });\n }\n\n return \"Invalid Date\";\n }\n\n /**\n */\n toISO(\n date: string | Date,\n sourceFormat: string = this.getIsoFormat(),\n ): string {\n return this.toFormat(date, this.getIsoFormat(), sourceFormat);\n }\n\n /**\n */\n now(): string {\n return this.toISO(new Date());\n }\n\n //////////// VALIDATION\n\n /**\n */\n hasFormat(date: string, sourceFormat: string): boolean {\n const formattedValue = this.toFormat(date, sourceFormat, sourceFormat);\n if (formattedValue === \"Invalid Date\") {\n return false;\n }\n\n const isOutsideRange =\n isBefore(formattedValue, new Date(1000, 1, 1)) ||\n isAfter(formattedValue, new Date(9999, 11, 31));\n if (isOutsideRange) {\n return false;\n }\n\n return (\n formattedValue.replace(/0/gu, \"\").toUpperCase() ===\n date.replace(/0/gu, \"\").toUpperCase()\n );\n }\n\n /**\n */\n isValid(\n date: string | Date | null | void,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n if (!date) {\n return false;\n }\n\n const parsedDate = this.toDate(date, inputFormat);\n return isValid(parsedDate);\n }\n\n /**\n */\n isAfter(\n inputDate: string | Date,\n afterISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return (\n afterISODate != null &&\n isAfter(this.toDate(inputDate, inputFormat), this.toDate(afterISODate))\n );\n }\n\n /**\n */\n isSameOrAfter(\n inputDate: string | Date,\n afterISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return (\n afterISODate != null &&\n (this.isAfter(inputDate, afterISODate, inputFormat) ||\n this.isSame(inputDate, afterISODate, inputFormat))\n );\n }\n\n /**\n */\n isBefore(\n inputDate: string | Date,\n beforeISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return (\n beforeISODate != null &&\n isBefore(this.toDate(inputDate, inputFormat), this.toDate(beforeISODate))\n );\n }\n\n /**\n */\n isSameOrBefore(\n inputDate: string | Date,\n beforeISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return (\n beforeISODate != null &&\n (this.isBefore(inputDate, beforeISODate, inputFormat) ||\n this.isSame(inputDate, beforeISODate, inputFormat))\n );\n }\n\n /**\n */\n isSame(\n inputDate: string | Date,\n compareDate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return (\n compareDate != null &&\n this.toDate(inputDate, inputFormat).getTime() ===\n this.toDate(compareDate).getTime()\n );\n }\n\n /**\n */\n isSameDay(\n inputDate: string | Date,\n compareDate: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return (\n compareDate != null &&\n isSameDay(\n this.toDate(inputDate, inputFormat),\n this.toDate(compareDate, inputFormat),\n )\n );\n }\n\n /**\n */\n isOther(\n inputDate: string | Date,\n compareDate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return !this.isSame(inputDate, compareDate, inputFormat);\n }\n\n /**\n */\n isWeekend(inputDate: string | Date): boolean {\n const SATURDAY_NUMBER = 6;\n const SUNDAY_NUMBER = 0;\n const weekDay = getDay(this.toDate(inputDate));\n\n return weekDay === SATURDAY_NUMBER || weekDay === SUNDAY_NUMBER;\n }\n\n /**\n * Checks if a given local date and time is ambiguous in the specified timezone.\n * Ambiguity happens during the end of daylight saving time (DST) transitions.\n */\n isAmbiguous(\n inputDate: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n if (inputDate == null || typeof Intl === \"undefined\") {\n return false;\n }\n\n const dateTime = this.toDate(inputDate, inputFormat);\n if (!isValid(dateTime)) {\n return false;\n }\n\n const t = [60, -60, 30, -30];\n const a = t.map((x) => {\n const newDate = add(dateTime, { minutes: x });\n return format(newDate, \"HH:mm\");\n });\n const time = format(dateTime, \"HH:mm\");\n return a.indexOf(time) > -1;\n }\n\n //////////// CALCULATIONS\n\n /**\n * @private\n */\n _calculate(\n date: string | Date,\n calculationFn: Function,\n property: string,\n value: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n calculationFn(\n parsedDate,\n { [property]: value },\n {\n in: this.getDateFnsContext(),\n },\n ),\n );\n }\n\n /**\n */\n addSeconds(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"seconds\", amount, inputFormat);\n }\n\n /**\n */\n addMinutes(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"minutes\", amount, inputFormat);\n }\n\n /**\n */\n addHours(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"hours\", amount, inputFormat);\n }\n\n /**\n */\n addDays(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"days\", amount, inputFormat);\n }\n\n /**\n */\n addWeeks(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"weeks\", amount, inputFormat);\n }\n\n /**\n */\n addMonths(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"months\", amount, inputFormat);\n }\n\n /**\n */\n addYears(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"years\", amount, inputFormat);\n }\n\n /**\n */\n subtractSeconds(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"seconds\", amount, inputFormat);\n }\n\n /**\n */\n subtractMinutes(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"minutes\", amount, inputFormat);\n }\n\n /**\n */\n subtractHours(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"hours\", amount, inputFormat);\n }\n\n /**\n */\n subtractDays(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"days\", amount, inputFormat);\n }\n\n /**\n */\n subtractWeeks(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"weeks\", amount, inputFormat);\n }\n\n /**\n */\n subtractMonths(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"months\", amount, inputFormat);\n }\n\n /**\n */\n subtractYears(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"years\", amount, inputFormat);\n }\n\n //////////// GETTERS\n\n /**\n * @private\n */\n _get(\n date: string | Date,\n method: Function,\n inputFormat: string = this.getIsoFormat(),\n options: Object = {},\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n method(parsedDate, {\n in: this.getDateFnsContext(),\n ...options,\n }),\n );\n }\n\n /**\n */\n startOfMonth(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._get(date, startOfMonth, inputFormat);\n }\n\n /**\n */\n endOfMonth(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._get(date, endOfMonth, inputFormat);\n }\n\n /**\n */\n startOfWeek(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const { weekStartsOn } = this.getOptions();\n return this._get(date, startOfWeek, inputFormat, {\n weekStartsOn,\n });\n }\n\n /**\n */\n getHours(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): number {\n const parsedDate = this.toDate(date, inputFormat);\n return getHours(parsedDate, { in: this.getDateFnsContext() });\n }\n\n /**\n */\n getMinutes(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): number {\n const parsedDate = this.toDate(date, inputFormat);\n return getMinutes(parsedDate, { in: this.getDateFnsContext() });\n }\n\n /**\n */\n getWeek(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): number {\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n const parsedDate = this.toDate(date, inputFormat);\n return getWeek(parsedDate, {\n in: this.getDateFnsContext(),\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n //////////// SETTERS\n\n /**\n * @private\n */\n _set(\n date: string | Date,\n property: string,\n value: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n set(\n parsedDate,\n { [property]: value },\n // {\n // in: this.getDateFnsContext(),\n // },\n ),\n );\n }\n\n /**\n */\n setYear(\n date: string | Date,\n year: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"year\", year, inputFormat);\n }\n\n /**\n */\n setMonth(\n date: string | Date,\n month: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"month\", month, inputFormat);\n }\n\n /**\n */\n setDay(\n date: string | Date,\n day: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"date\", day, inputFormat);\n }\n\n /**\n */\n setHour(\n date: string | Date,\n hour: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"hours\", hour, inputFormat);\n }\n\n /**\n */\n setMinute(\n date: string | Date,\n minute: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"minutes\", minute, inputFormat);\n }\n\n /**\n */\n setSecond(\n date: string | Date,\n second: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"seconds\", second, inputFormat);\n }\n\n /**\n */\n setMilliseconds(\n date: string | Date,\n millisecond: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"milliseconds\", millisecond, inputFormat);\n }\n\n /**\n */\n setTime(\n date: string,\n hours: number,\n minutes: number,\n seconds: number,\n milliseconds: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n set(\n parsedDate,\n { hours, minutes, seconds, milliseconds },\n {\n in: this.getDateFnsContext(),\n },\n ),\n );\n }\n\n //////////// Timezone related\n\n /**\n */\n getTimeZone(): string {\n return this._timeZone;\n }\n\n /**\n */\n setTimeZone(timeZone: string) {\n this._timeZone = timeZone;\n }\n\n /**\n */\n getDateFnsContext(): null | Function {\n if (IS_GRAALJS) {\n return null; // tz method does not work in graal (yet)\n }\n return tz(this.getTimeZone());\n }\n\n //////////// Offsets\n\n /**\n */\n getOffset(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): OffsetInfo | null {\n const parsedDate = this.toDate(date, inputFormat);\n if (isValid(parsedDate)) {\n const dateOffset = this.toFormat(parsedDate, DATETIME_OFFSET_FORMAT);\n const offsets = this.getTimezoneOffsets();\n if (\n typeof offsets.daylight !== \"undefined\" &&\n offsets.daylight.value === dateOffset\n ) {\n return offsets.daylight;\n } else if (\n typeof offsets.standard !== \"undefined\" &&\n offsets.standard.value === dateOffset\n ) {\n return offsets.standard;\n }\n }\n return null;\n }\n\n /**\n */\n getTimezoneOffsets(): {\n standard?: OffsetInfo,\n daylight?: OffsetInfo,\n } {\n const createOffsetObject = (info: OffsetInfoInput): OffsetInfo => {\n const sign = info.offset < 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(info.offset);\n const hours = Math.trunc(absOffset);\n const minutes = Math.round((absOffset % 1) * 60);\n\n const offsetString = `${sign}${String(hours + (minutes === 60 ? 1 : 0)).padStart(2, \"0\")}:${String(minutes % 60).padStart(2, \"0\")}`;\n\n return {\n label: info.name,\n abbr: info.abbr,\n value: offsetString,\n };\n };\n\n const timezone = soft(this.getTimeZone());\n\n if (timezone.length === 0) {\n return {\n standard: {\n label: \"Etc/UTC\",\n abbr: \"Etc/UTC\",\n value: \"+00:00\",\n },\n };\n }\n\n const { daylight, standard } = timezone[0];\n\n if (daylight) {\n return {\n daylight: createOffsetObject(daylight),\n standard: createOffsetObject(standard),\n };\n }\n\n return { standard: createOffsetObject(standard) };\n }\n}\n\n/**\n * DateUtil\n */\nconst DateUtil: BaseDateTimeUtil = new BaseDateTimeUtil(ISO_DATE_FORMAT);\n\n/**\n * DateTimeUtil\n */\nconst DateTimeUtil: BaseDateTimeUtil = new BaseDateTimeUtil(\n ISO_DATETIME_FORMAT,\n);\n\n/**\n * TimeUtil\n */\nconst TimeUtil: BaseDateTimeUtil = new BaseDateTimeUtil(ISO_TIME_FORMAT);\n\n/**\n * TimestampUtil\n */\nconst TimestampUtil: BaseDateTimeUtil = new BaseDateTimeUtil(\n ISO_TIMESTAMP_FORMAT,\n);\n\nexport { DateUtil, DateTimeUtil, TimeUtil, TimestampUtil };\n"],"mappings":"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","ignoreList":[]}
@@ -5,9 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
+ var _trim = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/trim"));
8
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
9
10
  var _DateTimeUtil = require("../../../utils/datetime/DateTimeUtil");
10
11
  var _exceptions = require("../../../exceptions");
12
+ var _constants = require("../../../constants");
11
13
  const INEXACT_DATE_ID = "Constraint.Date.InexactDate";
12
14
  const OUT_OF_RANGE_ID = "Constraint.Date.OutOfRange";
13
15
  const BELOW_MINIMUM_ID = "Constraint.Date.BelowMinimum";
@@ -19,15 +21,18 @@ class DateBoundaryConstraint {
19
21
  /**
20
22
  */
21
23
  constructor(type) {
24
+ var _context;
22
25
  let minDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
23
26
  let maxDate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
24
27
  let format = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "yyyy-MM-dd";
25
28
  (0, _defineProperty2.default)(this, "_type", void 0);
26
29
  (0, _defineProperty2.default)(this, "_format", void 0);
30
+ (0, _defineProperty2.default)(this, "_formatNoOffset", void 0);
27
31
  (0, _defineProperty2.default)(this, "_minDate", void 0);
28
32
  (0, _defineProperty2.default)(this, "_maxDate", void 0);
29
33
  this._type = type;
30
34
  this._format = format;
35
+ this._formatNoOffset = (0, _trim.default)(_context = format.replace(_constants.DATETIME_OFFSET_FORMAT, "")).call(_context);
31
36
  this._minDate = minDate;
32
37
  this._maxDate = maxDate;
33
38
  }
@@ -96,8 +101,8 @@ class DateBoundaryConstraint {
96
101
  */
97
102
  get parameters() {
98
103
  return {
99
- "min-date": this.minDate ? this.formatUtil.toFormat(this.minDate, this.format) : null,
100
- "max-date": this.maxDate ? this.formatUtil.toFormat(this.maxDate, this.format) : null
104
+ "min-date": this.minDate ? this.formatUtil.toFormat(this.minDate, this._formatNoOffset) : null,
105
+ "max-date": this.maxDate ? this.formatUtil.toFormat(this.maxDate, this._formatNoOffset) : null
101
106
  };
102
107
  }
103
108
 
@@ -11,6 +11,7 @@ import {
11
11
  IllegalArgumentException,
12
12
  IllegalStateException,
13
13
  } from "../../../exceptions";
14
+ import { DATETIME_OFFSET_FORMAT } from "../../../constants";
14
15
 
15
16
  const INEXACT_DATE_ID = "Constraint.Date.InexactDate";
16
17
  const OUT_OF_RANGE_ID = "Constraint.Date.OutOfRange";
@@ -22,6 +23,7 @@ const ABOVE_MAXIMUM_ID = "Constraint.Date.AboveMaximum";
22
23
  class DateBoundaryConstraint implements IConstraintModel {
23
24
  _type: string;
24
25
  _format: string;
26
+ _formatNoOffset: string;
25
27
  _minDate: ?string;
26
28
  _maxDate: ?string;
27
29
 
@@ -35,6 +37,7 @@ class DateBoundaryConstraint implements IConstraintModel {
35
37
  ) {
36
38
  this._type = type;
37
39
  this._format = format;
40
+ this._formatNoOffset = format.replace(DATETIME_OFFSET_FORMAT, "").trim();
38
41
  this._minDate = minDate;
39
42
  this._maxDate = maxDate;
40
43
  }
@@ -105,10 +108,10 @@ class DateBoundaryConstraint implements IConstraintModel {
105
108
  get parameters(): { "max-date": string | null, "min-date": string | null } {
106
109
  return {
107
110
  "min-date": this.minDate
108
- ? this.formatUtil.toFormat(this.minDate, this.format)
111
+ ? this.formatUtil.toFormat(this.minDate, this._formatNoOffset)
109
112
  : null,
110
113
  "max-date": this.maxDate
111
- ? this.formatUtil.toFormat(this.maxDate, this.format)
114
+ ? this.formatUtil.toFormat(this.maxDate, this._formatNoOffset)
112
115
  : null,
113
116
  };
114
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DateBoundaryConstraint.js","names":["_DateTimeUtil","require","_exceptions","INEXACT_DATE_ID","OUT_OF_RANGE_ID","BELOW_MINIMUM_ID","ABOVE_MAXIMUM_ID","DateBoundaryConstraint","constructor","type","minDate","arguments","length","undefined","maxDate","format","_defineProperty2","default","_type","_format","_minDate","_maxDate","id","defaultMessage","parameters","formatUtil","toFormat","hasValidation","isExactDate","value","IllegalArgumentException","IllegalStateException","isSame","isBetweenDates","isSameOrAfterMinDate","isSameOrBeforeMaxDate","isSameOrAfter","isSameOrBefore","TimeUtil","TimestampUtil","DateTimeUtil","DateUtil","validate","TypeError","isMandatoryConstraint","_default","exports"],"sources":["../../../../src/models/attributes/input-constraints/DateBoundaryConstraint.js"],"sourcesContent":["// @flow\nimport {\n TimeUtil,\n DateUtil,\n TimestampUtil,\n DateTimeUtil,\n} from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { IConstraintModel } from \"../../types\";\nimport {\n IllegalArgumentException,\n IllegalStateException,\n} from \"../../../exceptions\";\n\nconst INEXACT_DATE_ID = \"Constraint.Date.InexactDate\";\nconst OUT_OF_RANGE_ID = \"Constraint.Date.OutOfRange\";\nconst BELOW_MINIMUM_ID = \"Constraint.Date.BelowMinimum\";\nconst ABOVE_MAXIMUM_ID = \"Constraint.Date.AboveMaximum\";\n\n/**\n */\nclass DateBoundaryConstraint implements IConstraintModel {\n _type: string;\n _format: string;\n _minDate: ?string;\n _maxDate: ?string;\n\n /**\n */\n constructor(\n type: string,\n minDate: ?string = null,\n maxDate: ?string = null,\n format: string = \"yyyy-MM-dd\",\n ) {\n this._type = type;\n this._format = format;\n this._minDate = minDate;\n this._maxDate = maxDate;\n }\n\n /**\n */\n get type(): string {\n return this._type;\n }\n\n /**\n */\n get id(): string {\n if (\n this.minDate !== null &&\n this.maxDate !== null &&\n this.minDate === this.maxDate\n ) {\n return INEXACT_DATE_ID;\n } else if (this.minDate !== null && this.maxDate !== null) {\n return OUT_OF_RANGE_ID;\n } else if (this.minDate !== null) {\n return BELOW_MINIMUM_ID;\n } else if (this.maxDate !== null) {\n return ABOVE_MAXIMUM_ID;\n }\n\n return \"Constraint.Date.NoBoundaryConstraint\";\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get minDate(): ?string {\n return this._minDate;\n }\n\n /**\n */\n get maxDate(): ?string {\n return this._maxDate;\n }\n\n /**\n */\n get defaultMessage(): string {\n switch (this.id) {\n case INEXACT_DATE_ID:\n return \"Date must be precisely ${min-date}\"; // NOSONAR\n case OUT_OF_RANGE_ID:\n return \"Must be between ${min-date} and ${max-date}\"; // NOSONAR\n case BELOW_MINIMUM_ID:\n return \"Must be on or after ${min-date}\"; // NOSONAR\n case ABOVE_MAXIMUM_ID:\n return \"Must be on or before ${max-date}\"; // NOSONAR\n default:\n return \"\";\n }\n }\n\n /**\n */\n get parameters(): { \"max-date\": string | null, \"min-date\": string | null } {\n return {\n \"min-date\": this.minDate\n ? this.formatUtil.toFormat(this.minDate, this.format)\n : null,\n \"max-date\": this.maxDate\n ? this.formatUtil.toFormat(this.maxDate, this.format)\n : null,\n };\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n isExactDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null) {\n throw new IllegalStateException(\"isExactDate: Min and max date not set\");\n }\n\n return this.formatUtil.isSame(value, this.minDate, this.format);\n }\n\n /**\n */\n isBetweenDates(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null || this.maxDate === null) {\n throw new IllegalStateException(\"isBetweenDate: Min or max date not set\");\n }\n\n return (\n this.isSameOrAfterMinDate(value) && this.isSameOrBeforeMaxDate(value)\n );\n }\n\n /**\n */\n isSameOrAfterMinDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrAfterMinDate: Not comparing to string\",\n );\n }\n\n if (this.minDate == null) {\n throw new IllegalStateException(\"isSameOrAfterMinDate: Min date not set\");\n }\n\n return this.formatUtil.isSameOrAfter(value, this.minDate, this.format);\n }\n\n /**\n */\n isSameOrBeforeMaxDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrBeforeMaxDate: Not comparing to string\",\n );\n }\n\n if (this.maxDate == null) {\n throw new IllegalStateException(\n \"isSameOrBeforeMaxDate: Max date not set\",\n );\n }\n\n return this.formatUtil.isSameOrBefore(value, this.maxDate, this.format);\n }\n\n /**\n */\n get formatUtil():\n | typeof TimeUtil\n | typeof TimestampUtil\n | typeof DateTimeUtil\n | typeof DateUtil {\n switch (this.type) {\n case \"time\":\n return TimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n case \"datetime\":\n return DateTimeUtil;\n default:\n return DateUtil;\n }\n }\n\n /**\n */\n validate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isNotEmptyString: Not comparing to string\");\n }\n\n switch (this.id) {\n case INEXACT_DATE_ID:\n return this.isExactDate(value);\n case OUT_OF_RANGE_ID:\n return this.isBetweenDates(value);\n case BELOW_MINIMUM_ID:\n return this.isSameOrAfterMinDate(value);\n case ABOVE_MAXIMUM_ID:\n return this.isSameOrBeforeMaxDate(value);\n default:\n return true;\n }\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default DateBoundaryConstraint;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DateBoundaryConstraint.js","names":["_DateTimeUtil","require","_exceptions","_constants","INEXACT_DATE_ID","OUT_OF_RANGE_ID","BELOW_MINIMUM_ID","ABOVE_MAXIMUM_ID","DateBoundaryConstraint","constructor","type","_context","minDate","arguments","length","undefined","maxDate","format","_defineProperty2","default","_type","_format","_formatNoOffset","_trim","replace","DATETIME_OFFSET_FORMAT","call","_minDate","_maxDate","id","defaultMessage","parameters","formatUtil","toFormat","hasValidation","isExactDate","value","IllegalArgumentException","IllegalStateException","isSame","isBetweenDates","isSameOrAfterMinDate","isSameOrBeforeMaxDate","isSameOrAfter","isSameOrBefore","TimeUtil","TimestampUtil","DateTimeUtil","DateUtil","validate","TypeError","isMandatoryConstraint","_default","exports"],"sources":["../../../../src/models/attributes/input-constraints/DateBoundaryConstraint.js"],"sourcesContent":["// @flow\nimport {\n TimeUtil,\n DateUtil,\n TimestampUtil,\n DateTimeUtil,\n} from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { IConstraintModel } from \"../../types\";\nimport {\n IllegalArgumentException,\n IllegalStateException,\n} from \"../../../exceptions\";\nimport { DATETIME_OFFSET_FORMAT } from \"../../../constants\";\n\nconst INEXACT_DATE_ID = \"Constraint.Date.InexactDate\";\nconst OUT_OF_RANGE_ID = \"Constraint.Date.OutOfRange\";\nconst BELOW_MINIMUM_ID = \"Constraint.Date.BelowMinimum\";\nconst ABOVE_MAXIMUM_ID = \"Constraint.Date.AboveMaximum\";\n\n/**\n */\nclass DateBoundaryConstraint implements IConstraintModel {\n _type: string;\n _format: string;\n _formatNoOffset: string;\n _minDate: ?string;\n _maxDate: ?string;\n\n /**\n */\n constructor(\n type: string,\n minDate: ?string = null,\n maxDate: ?string = null,\n format: string = \"yyyy-MM-dd\",\n ) {\n this._type = type;\n this._format = format;\n this._formatNoOffset = format.replace(DATETIME_OFFSET_FORMAT, \"\").trim();\n this._minDate = minDate;\n this._maxDate = maxDate;\n }\n\n /**\n */\n get type(): string {\n return this._type;\n }\n\n /**\n */\n get id(): string {\n if (\n this.minDate !== null &&\n this.maxDate !== null &&\n this.minDate === this.maxDate\n ) {\n return INEXACT_DATE_ID;\n } else if (this.minDate !== null && this.maxDate !== null) {\n return OUT_OF_RANGE_ID;\n } else if (this.minDate !== null) {\n return BELOW_MINIMUM_ID;\n } else if (this.maxDate !== null) {\n return ABOVE_MAXIMUM_ID;\n }\n\n return \"Constraint.Date.NoBoundaryConstraint\";\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get minDate(): ?string {\n return this._minDate;\n }\n\n /**\n */\n get maxDate(): ?string {\n return this._maxDate;\n }\n\n /**\n */\n get defaultMessage(): string {\n switch (this.id) {\n case INEXACT_DATE_ID:\n return \"Date must be precisely ${min-date}\"; // NOSONAR\n case OUT_OF_RANGE_ID:\n return \"Must be between ${min-date} and ${max-date}\"; // NOSONAR\n case BELOW_MINIMUM_ID:\n return \"Must be on or after ${min-date}\"; // NOSONAR\n case ABOVE_MAXIMUM_ID:\n return \"Must be on or before ${max-date}\"; // NOSONAR\n default:\n return \"\";\n }\n }\n\n /**\n */\n get parameters(): { \"max-date\": string | null, \"min-date\": string | null } {\n return {\n \"min-date\": this.minDate\n ? this.formatUtil.toFormat(this.minDate, this._formatNoOffset)\n : null,\n \"max-date\": this.maxDate\n ? this.formatUtil.toFormat(this.maxDate, this._formatNoOffset)\n : null,\n };\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n isExactDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null) {\n throw new IllegalStateException(\"isExactDate: Min and max date not set\");\n }\n\n return this.formatUtil.isSame(value, this.minDate, this.format);\n }\n\n /**\n */\n isBetweenDates(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null || this.maxDate === null) {\n throw new IllegalStateException(\"isBetweenDate: Min or max date not set\");\n }\n\n return (\n this.isSameOrAfterMinDate(value) && this.isSameOrBeforeMaxDate(value)\n );\n }\n\n /**\n */\n isSameOrAfterMinDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrAfterMinDate: Not comparing to string\",\n );\n }\n\n if (this.minDate == null) {\n throw new IllegalStateException(\"isSameOrAfterMinDate: Min date not set\");\n }\n\n return this.formatUtil.isSameOrAfter(value, this.minDate, this.format);\n }\n\n /**\n */\n isSameOrBeforeMaxDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrBeforeMaxDate: Not comparing to string\",\n );\n }\n\n if (this.maxDate == null) {\n throw new IllegalStateException(\n \"isSameOrBeforeMaxDate: Max date not set\",\n );\n }\n\n return this.formatUtil.isSameOrBefore(value, this.maxDate, this.format);\n }\n\n /**\n */\n get formatUtil():\n | typeof TimeUtil\n | typeof TimestampUtil\n | typeof DateTimeUtil\n | typeof DateUtil {\n switch (this.type) {\n case \"time\":\n return TimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n case \"datetime\":\n return DateTimeUtil;\n default:\n return DateUtil;\n }\n }\n\n /**\n */\n validate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isNotEmptyString: Not comparing to string\");\n }\n\n switch (this.id) {\n case INEXACT_DATE_ID:\n return this.isExactDate(value);\n case OUT_OF_RANGE_ID:\n return this.isBetweenDates(value);\n case BELOW_MINIMUM_ID:\n return this.isSameOrAfterMinDate(value);\n case ABOVE_MAXIMUM_ID:\n return this.isSameOrBeforeMaxDate(value);\n default:\n return true;\n }\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default DateBoundaryConstraint;\n"],"mappings":"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","ignoreList":[]}
@@ -556,7 +556,13 @@ class BaseDateTimeUtil {
556
556
  };
557
557
  const timezone = (0, _timezoneSoft.default)(this.getTimeZone());
558
558
  if (timezone.length === 0) {
559
- return {};
559
+ return {
560
+ standard: {
561
+ label: "Etc/UTC",
562
+ abbr: "Etc/UTC",
563
+ value: "+00:00"
564
+ }
565
+ };
560
566
  }
561
567
  const {
562
568
  daylight,
@@ -773,7 +773,13 @@ class BaseDateTimeUtil {
773
773
  const timezone = soft(this.getTimeZone());
774
774
 
775
775
  if (timezone.length === 0) {
776
- return {};
776
+ return {
777
+ standard: {
778
+ label: "Etc/UTC",
779
+ abbr: "Etc/UTC",
780
+ value: "+00:00",
781
+ },
782
+ };
777
783
  }
778
784
 
779
785
  const { daylight, standard } = timezone[0];