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

fix: Add null to min and max return type #2355

Merged
merged 1 commit into from
Jun 28, 2023

Conversation

YuLingCheng
Copy link
Contributor

Currently max and min can return explicit null when there are no dates to compare (see implementation).

This PR adds null to the return type of those functions. (I ended up with a crash on my project because I relied on the types)

@iamkun
Copy link
Owner

iamkun commented Jun 28, 2023

Thanks

@codecov
Copy link

codecov bot commented Jun 28, 2023

Codecov Report

Merging #2355 (92257a7) into dev (3b1060f) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               dev     #2355   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          183       183           
  Lines         2146      2146           
  Branches       567       567           
=========================================
  Hits          2146      2146           

@iamkun iamkun merged commit 62d9042 into iamkun:dev Jun 28, 2023
github-actions bot pushed a commit that referenced this pull request Jul 1, 2023
## [1.11.9](v1.11.8...v1.11.9) (2023-07-01)

### Bug Fixes

* Add null to min and max plugin return type ([#2355](#2355)) ([62d9042](62d9042))
* check if null passed to objectSupport parser ([#2175](#2175)) ([013968f](013968f))
* dayjs.diff improve performance ([#2244](#2244)) ([33c80e1](33c80e1))
* dayjs(null) throws error, not return dayjs object as invalid date ([#2334](#2334)) ([c79e2f5](c79e2f5))
* objectSupport plugin causes an error when null is passed to dayjs function (closes [#2277](#2277)) ([#2342](#2342)) ([89bf31c](89bf31c))
* Optimize format method ([#2313](#2313)) ([1fe1b1d](1fe1b1d))
* update Duration plugin add/subtract take into account days in month ([#2337](#2337)) ([3b1060f](3b1060f))
* update MinMax plugin 1. ignore the 'null' in args 2. return the only one arg ([#2330](#2330)) ([3c2c6ee](3c2c6ee))
@github-actions
Copy link

github-actions bot commented Jul 1, 2023

🎉 This PR is included in version 1.11.9 🎉

The release is available on:

Your semantic-release bot 📦🚀

BePo65 pushed a commit to BePo65/dayjs that referenced this pull request Sep 20, 2023
## [1.11.9](iamkun/dayjs@v1.11.8...v1.11.9) (2023-07-01)

### Bug Fixes

* Add null to min and max plugin return type ([iamkun#2355](iamkun#2355)) ([62d9042](iamkun@62d9042))
* check if null passed to objectSupport parser ([iamkun#2175](iamkun#2175)) ([013968f](iamkun@013968f))
* dayjs.diff improve performance ([iamkun#2244](iamkun#2244)) ([33c80e1](iamkun@33c80e1))
* dayjs(null) throws error, not return dayjs object as invalid date ([iamkun#2334](iamkun#2334)) ([c79e2f5](iamkun@c79e2f5))
* objectSupport plugin causes an error when null is passed to dayjs function (closes [iamkun#2277](iamkun#2277)) ([iamkun#2342](iamkun#2342)) ([89bf31c](iamkun@89bf31c))
* Optimize format method ([iamkun#2313](iamkun#2313)) ([1fe1b1d](iamkun@1fe1b1d))
* update Duration plugin add/subtract take into account days in month ([iamkun#2337](iamkun#2337)) ([3b1060f](iamkun@3b1060f))
* update MinMax plugin 1. ignore the 'null' in args 2. return the only one arg ([iamkun#2330](iamkun#2330)) ([3c2c6ee](iamkun@3c2c6ee))
BePo65 pushed a commit to BePo65/dayjs that referenced this pull request Sep 23, 2023
## [1.11.9](iamkun/dayjs@v1.11.8...v1.11.9) (2023-07-01)

### Bug Fixes

* Add null to min and max plugin return type ([iamkun#2355](iamkun#2355)) ([62d9042](iamkun@62d9042))
* check if null passed to objectSupport parser ([iamkun#2175](iamkun#2175)) ([013968f](iamkun@013968f))
* dayjs.diff improve performance ([iamkun#2244](iamkun#2244)) ([33c80e1](iamkun@33c80e1))
* dayjs(null) throws error, not return dayjs object as invalid date ([iamkun#2334](iamkun#2334)) ([c79e2f5](iamkun@c79e2f5))
* objectSupport plugin causes an error when null is passed to dayjs function (closes [iamkun#2277](iamkun#2277)) ([iamkun#2342](iamkun#2342)) ([89bf31c](iamkun@89bf31c))
* Optimize format method ([iamkun#2313](iamkun#2313)) ([1fe1b1d](iamkun@1fe1b1d))
* update Duration plugin add/subtract take into account days in month ([iamkun#2337](iamkun#2337)) ([3b1060f](iamkun@3b1060f))
* update MinMax plugin 1. ignore the 'null' in args 2. return the only one arg ([iamkun#2330](iamkun#2330)) ([3c2c6ee](iamkun@3c2c6ee))
@20manas
Copy link

20manas commented Sep 26, 2023

This extra null type is slightly annoying to deal with in simple cases or whenever one is certain that at least one date is being passed to min/max.

Is there no way to guarantee that a date will be returned when mix/max is called?

Perhaps adding something like date1.max(...restDates) can work because then there is a guarantee that at least one date (date1) is passed to max.

ohsory1324 pushed a commit to ohsory1324/dayjs that referenced this pull request Dec 20, 2023
splashwizard pushed a commit to splashwizard/tracking-time that referenced this pull request Oct 21, 2024
## [1.11.9](iamkun/dayjs@v1.11.8...v1.11.9) (2023-07-01)

### Bug Fixes

* Add null to min and max plugin return type ([#2355](iamkun/dayjs#2355)) ([62d9042](iamkun/dayjs@62d9042))
* check if null passed to objectSupport parser ([#2175](iamkun/dayjs#2175)) ([013968f](iamkun/dayjs@013968f))
* dayjs.diff improve performance ([#2244](iamkun/dayjs#2244)) ([33c80e1](iamkun/dayjs@33c80e1))
* dayjs(null) throws error, not return dayjs object as invalid date ([#2334](iamkun/dayjs#2334)) ([c79e2f5](iamkun/dayjs@c79e2f5))
* objectSupport plugin causes an error when null is passed to dayjs function (closes [#2277](iamkun/dayjs#2277)) ([#2342](iamkun/dayjs#2342)) ([89bf31c](iamkun/dayjs@89bf31c))
* Optimize format method ([#2313](iamkun/dayjs#2313)) ([1fe1b1d](iamkun/dayjs@1fe1b1d))
* update Duration plugin add/subtract take into account days in month ([#2337](iamkun/dayjs#2337)) ([3b1060f](iamkun/dayjs@3b1060f))
* update MinMax plugin 1. ignore the 'null' in args 2. return the only one arg ([#2330](iamkun/dayjs#2330)) ([3c2c6ee](iamkun/dayjs@3c2c6ee))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants