Commit bc363b2 1 parent 013a02f commit bc363b2 Copy full SHA for bc363b2
File tree 2 files changed +14
-2
lines changed
2 files changed +14
-2
lines changed Original file line number Diff line number Diff line change @@ -31,7 +31,7 @@ describe('defineJobPosting', () => {
31
31
{
32
32
"@id": "https://example.com/#job-posting",
33
33
"@type": "JobPosting",
34
- "datePosted": "2023-04-01T00:00:00.000Z ",
34
+ "datePosted": "2023-04-01 ",
35
35
"description": "<p>job description</p>",
36
36
"employmentType": [
37
37
"FULL_TIME",
@@ -49,7 +49,7 @@ describe('defineJobPosting', () => {
49
49
"longitude": 4.8,
50
50
},
51
51
"title": "Job posting title",
52
- "validThrough": "2024-04-01T00:00:00.000Z ",
52
+ "validThrough": "2024-04-01 ",
53
53
},
54
54
]
55
55
` )
Original file line number Diff line number Diff line change @@ -21,12 +21,24 @@ export function resolvableDateToDate(val: Date | string) {
21
21
return typeof val === 'string' ? val : val . toString ( )
22
22
}
23
23
24
+ const IS_VALID_W3C_DATE = [
25
+ / ( \d { 4 } - [ 0 1 ] \d - [ 0 - 3 ] \d T [ 0 - 2 ] \d : [ 0 - 5 ] \d : [ 0 - 5 ] \d \. \d + ( [ + - ] [ 0 - 2 ] \d : [ 0 - 5 ] \d | Z ) ) | ( \d { 4 } - [ 0 1 ] \d - [ 0 - 3 ] \d T [ 0 - 2 ] \d : [ 0 - 5 ] \d : [ 0 - 5 ] \d ( [ + - ] [ 0 - 2 ] \d : [ 0 - 5 ] \d | Z ) ) | ( \d { 4 } - [ 0 1 ] \d - [ 0 - 3 ] \d T [ 0 - 2 ] \d : [ 0 - 5 ] \d ( [ + - ] [ 0 - 2 ] \d : [ 0 - 5 ] \d | Z ) ) / ,
26
+ / ^ \d { 4 } - [ 0 1 ] \d - [ 0 - 3 ] \d $ / ,
27
+ / ^ \d { 4 } - [ 0 1 ] \d $ / ,
28
+ / ^ \d { 4 } $ / ,
29
+ ]
30
+ export function isValidW3CDate ( d : string ) {
31
+ return IS_VALID_W3C_DATE . some ( r => r . test ( d ) )
32
+ }
33
+
24
34
export function resolvableDateToIso ( val : Date | string | undefined ) {
25
35
if ( ! val )
26
36
return val
27
37
try {
28
38
if ( val instanceof Date )
29
39
return val . toISOString ( )
40
+ else if ( isValidW3CDate ( val ) )
41
+ return val
30
42
else
31
43
return new Date ( Date . parse ( val ) ) . toISOString ( )
32
44
}
You can’t perform that action at this time.
0 commit comments