Skip to content

Large extensions #53

@christian-kolb

Description

@christian-kolb

Current plan for extension

  • Add guards for all comparisons like mustBeBefore( for isBefore( with option to throw custom exception.
    • Moment
    • Time
    • Weekday
    • Date
    • Month
    • Year
  • Extend list of precision value objects
    • Weekday (MONDAY to SUNDAY like FRIDAY)
    • Week (year and week like 2024-18)
    • CalendarWeek (1 to 53, independent of year like 18)
    • CalendarMonth (JANUARY to DECEMBER like MAY)
  • Add typed collection of value objects
    • Dates
    • Weekdays
    • Times
    • Months
    • Years
  • Add time frame classes with methods to get all elements (for example all Dates in a DateTimeFrame). Could even be a typed collection from above.
    • TimeFrame
    • DateTimeFrame
    • MomentTimeFrame
    • MonthTimeFrame
    • YearTimeFrame
  • New methods to get the start and end of a precision value object as moments. For example the start and end of a date in a time zone.

Ideas and notes

There are multiple topics I would like to work on at once. But there is only very little time so this is an overview to structure my thoughts:

  • Extend list of precision value objects
    • Weekday (MONDAY to SUNDAY like FRIDAY)
    • Week (year and week like 2024-18)
    • CalendarWeek (1 to 53, independent of year like 18)
    • CalendarMonth (JANUARY to DECEMBER like MAY)
  • Add typed collection of value objects
    • Dates
    • Weekdays
    • ... for all value objects
  • Add time frame classes with methods to get all elements (for example all Dates in a DateTimeFrame). Could even be a typed collection from above.
    • TimeFrame
    • DateTimeFrame
    • MomentTimeFrame
    • ... perhaps others
  • New methods to get the start and end of a precision value object as moments. For example the start and end of a date in a time zone.
  • Add guards for all comparisons like mustBeBefore( for isBefore( with option to throw custom exception.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions