Skip to content

Commit 4a4e2b4

Browse files
Tighten types around MANE select ID
1 parent 5063a1b commit 4a4e2b4

File tree

1 file changed

+28
-21
lines changed

1 file changed

+28
-21
lines changed

browser/src/GenePage/GeneInfo.tsx

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,39 +8,40 @@ import Link from '../Link'
88
import GeneReferences from './GeneReferences'
99

1010
type ManeSelectTranscriptIdProps = {
11-
gene: {
12-
mane_select_transcript: {
13-
ensembl_id: string
14-
ensembl_version: string
15-
refseq_id: string
16-
refseq_version: string
17-
}
18-
transcripts: {
19-
transcript_id: string
20-
transcript_version: string
21-
}[]
11+
mane_select_transcript: {
12+
ensembl_id: string
13+
ensembl_version: string
14+
refseq_id: string
15+
refseq_version: string
2216
}
17+
transcripts: {
18+
transcript_id: string
19+
transcript_version: string
20+
}[]
2321
}
2422

25-
const ManeSelectTranscriptId = ({ gene }: ManeSelectTranscriptIdProps) => {
26-
const gencodeVersionOfManeSelectTranscript = gene.transcripts.find(
27-
(transcript: any) => transcript.transcript_id === gene.mane_select_transcript.ensembl_id
23+
const ManeSelectTranscriptId = ({
24+
mane_select_transcript,
25+
transcripts,
26+
}: ManeSelectTranscriptIdProps) => {
27+
const gencodeVersionOfManeSelectTranscript = transcripts.find(
28+
(transcript) => transcript.transcript_id === mane_select_transcript.ensembl_id
2829
)
2930
const shouldLinkToTranscriptPage =
3031
gencodeVersionOfManeSelectTranscript &&
3132
gencodeVersionOfManeSelectTranscript.transcript_version ===
32-
gene.mane_select_transcript.ensembl_version
33+
mane_select_transcript.ensembl_version
3334

3435
return (
3536
<React.Fragment>
3637
{shouldLinkToTranscriptPage ? (
37-
<Link to={`/transcript/${gene.mane_select_transcript.ensembl_id}`}>
38-
{gene.mane_select_transcript.ensembl_id}.{gene.mane_select_transcript.ensembl_version}
38+
<Link to={`/transcript/${mane_select_transcript.ensembl_id}`}>
39+
{mane_select_transcript.ensembl_id}.{mane_select_transcript.ensembl_version}
3940
</Link>
4041
) : (
41-
`${gene.mane_select_transcript.ensembl_id}.${gene.mane_select_transcript.ensembl_version}`
42+
`${mane_select_transcript.ensembl_id}.${mane_select_transcript.ensembl_version}`
4243
)}{' '}
43-
/ {gene.mane_select_transcript.refseq_id}.{gene.mane_select_transcript.refseq_version}
44+
/ {mane_select_transcript.refseq_id}.{mane_select_transcript.refseq_version}
4445
</React.Fragment>
4546
)
4647
}
@@ -109,8 +110,14 @@ const GeneInfo = ({ gene }: GeneInfoProps) => {
109110
</React.Fragment>
110111
}
111112
>
112-
{/* @ts-expect-error TS(2322) FIXME: Type '{ gene_id: string; gene_version: string; sym... Remove this comment to see the full error message */}
113-
{gene.mane_select_transcript ? <ManeSelectTranscriptId gene={gene} /> : 'Not available'}
113+
{gene.mane_select_transcript ? (
114+
<ManeSelectTranscriptId
115+
mane_select_transcript={gene.mane_select_transcript}
116+
transcripts={gene.transcripts}
117+
/>
118+
) : (
119+
'Not available'
120+
)}
114121
</AttributeListItem>
115122
)}
116123

0 commit comments

Comments
 (0)