File tree Expand file tree Collapse file tree 4 files changed +22
-8
lines changed Expand file tree Collapse file tree 4 files changed +22
-8
lines changed Original file line number Diff line number Diff line change @@ -18,7 +18,11 @@ type SpeakerProps = { params: { id: string } }
18
18
19
19
export function generateMetadata ( { params } : SpeakerProps ) : Metadata {
20
20
const decodedId = decodeURIComponent ( params . id )
21
- const speaker = speakers . find ( s => s . username === decodedId ) !
21
+ const speaker = speakers . find ( s => s . username === decodedId )
22
+
23
+ if ( ! speaker ) {
24
+ throw new Error ( `Speaker "${ decodedId } " not found for details page` )
25
+ }
22
26
23
27
const keywords = [ speaker . name , speaker . company , speaker . position ] . filter (
24
28
Boolean ,
Original file line number Diff line number Diff line change @@ -55,10 +55,15 @@ export default function SessionPage({ params }: SessionProps) {
55
55
notFound ( )
56
56
}
57
57
58
- // @ts -expect-error -- fixme
59
- session . speakers = ( session . speakers || [ ] ) . map ( speaker =>
60
- speakers . find ( s => s . username === speaker . username ) ,
61
- )
58
+ session . speakers = ( session . speakers || [ ] ) . map ( speaker => {
59
+ const s = speakers . find ( s => s . username === speaker . username )
60
+ if ( ! s ) {
61
+ throw new Error (
62
+ `Speaker "${ speaker . username } " not found for "${ session . name } "` ,
63
+ )
64
+ }
65
+ return s
66
+ } )
62
67
63
68
const eventTitle = getEventTitle (
64
69
session ,
Original file line number Diff line number Diff line change @@ -24,7 +24,11 @@ type SpeakerProps = { params: { id: string } }
24
24
25
25
export function generateMetadata ( { params } : SpeakerProps ) : Metadata {
26
26
const decodedId = decodeURIComponent ( params . id )
27
- const speaker = speakers . find ( s => s . username === decodedId ) !
27
+ const speaker = speakers . find ( s => s . username === decodedId )
28
+
29
+ if ( ! speaker ) {
30
+ throw new Error ( `Speaker "${ decodedId } " not found for details page` )
31
+ }
28
32
29
33
const keywords = [ speaker . name , speaker . company , speaker . position ] . filter (
30
34
Boolean ,
@@ -46,8 +50,9 @@ export function generateStaticParams() {
46
50
47
51
export default function SpeakerPage ( { params } : SpeakerProps ) {
48
52
const speaker = speakers . find ( s => s . username === params . id )
53
+
49
54
if ( ! speaker ) {
50
- notFound ( )
55
+ throw new Error ( `Speaker " ${ params . id } " not found for details page` )
51
56
}
52
57
53
58
return (
Load Diff Large diffs are not rendered by default.
You can’t perform that action at this time.
0 commit comments