File tree Expand file tree Collapse file tree 7 files changed +28
-5
lines changed
Expand file tree Collapse file tree 7 files changed +28
-5
lines changed Original file line number Diff line number Diff line change @@ -1199,6 +1199,8 @@ string[]
11991199
12001200#### valid
12011201
1202+ Checks if the given date is valid.
1203+
12021204##### Type signature
12031205
12041206<!-- prettier-ignore-start -->
Original file line number Diff line number Diff line change @@ -460,6 +460,8 @@ string[]
460460
461461# valid
462462
463+ Checks if the given date is valid.
464+
463465## Type signature
464466
465467<!-- prettier-ignore-start -->
Original file line number Diff line number Diff line change 1- export default date => ( date ? date instanceof Date : false ) ;
1+ export default date =>
2+ date ? date instanceof Date && ! Number . isNaN ( date . valueOf ( ) ) : false ;
Original file line number Diff line number Diff line change 11{
22 "name" : " valid" ,
3- "description" : " TODO: Fill short description here ." ,
3+ "description" : " Checks if the given date is valid ." ,
44 "signature" : " (date?: any) => boolean" ,
55 "examples" : [
66 {
Original file line number Diff line number Diff line change 11# valid
22
3+ Checks if the given date is valid.
4+
35## Type signature
46
57<!-- prettier-ignore-start -->
Original file line number Diff line number Diff line change 33import valid from "./valid.ts" ;
44
55describe ( "valid" , ( ) => {
6- it . skip ( "TODO" , ( ) => {
7- expect ( valid ( ) ) . toBeDefined ( ) ;
6+ it ( "checks if the given date is valid" , ( ) => {
7+ expect ( valid ( new Date ( ) ) ) . toBe ( true ) ;
8+ expect ( valid ( new Date ( "2020-01-31T09:52:31.618Z" ) ) ) . toBe ( true ) ;
9+ } ) ;
10+
11+ it ( "should reject Invalid Date objects" , ( ) => {
12+ expect ( valid ( new Date ( "test" ) ) ) . toBe ( false ) ;
13+ expect ( valid ( new Date ( "77724e10-2ffa-45cc-b05d-a91a846a6080" ) ) ) . toBe ( false ) ;
14+ } ) ;
15+
16+ it ( "handles missing and falsy values" , ( ) => {
17+ expect ( valid ( undefined ) ) . toBe ( false ) ;
18+ expect ( valid ( null ) ) . toBe ( false ) ;
19+ expect ( valid ( false ) ) . toBe ( false ) ;
20+ expect ( valid ( 0 ) ) . toBe ( false ) ;
21+ expect ( valid ( NaN ) ) . toBe ( false ) ;
22+ expect ( valid ( "" ) ) . toBe ( false ) ;
823 } ) ;
924} ) ;
Original file line number Diff line number Diff line change 1- export default ( date ?: any ) : boolean => ( date ? date instanceof Date : false ) ;
1+ export default ( date ?: any ) : boolean =>
2+ date ? date instanceof Date && ! Number . isNaN ( date . valueOf ( ) ) : false ;
You can’t perform that action at this time.
0 commit comments