Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Large extensions #53

Open
5 of 20 tasks
christian-kolb opened this issue Jun 8, 2024 · 0 comments
Open
5 of 20 tasks

Large extensions #53

christian-kolb opened this issue Jun 8, 2024 · 0 comments
Assignees

Comments

@christian-kolb
Copy link
Contributor

christian-kolb commented Jun 8, 2024

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.
@christian-kolb christian-kolb self-assigned this Jun 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant