Skip to content

Commit d74d32b

Browse files
cmdcolinclaude
andcommitted
Pass accession data through props from getStaticPaths
Avoids re-reading all.json in the page body. All data is computed once in getStaticPaths and passed via props. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 2e2bc4a commit d74d32b

1 file changed

Lines changed: 15 additions & 18 deletions

File tree

website/src/pages/accession/[id].astro

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,22 @@ import path from 'path'
1515
1616
export async function getStaticPaths() {
1717
const accessions = loadAccessionMap()
18-
return [...accessions.keys()]
19-
.filter(r => !!r)
20-
.map(r => ({ params: { id: r } }))
18+
const ucscMappings = buildUcscMapping(accessions)
19+
return [...accessions.entries()]
20+
.filter(([id]) => !!id)
21+
.map(([id, data]) => ({
22+
params: { id },
23+
props: {
24+
data,
25+
pairedAssemblyData: data.pairedAccession
26+
? accessions.get(data.pairedAccession)
27+
: undefined,
28+
ucscDbName: ucscMappings.get(id),
29+
},
30+
}))
2131
}
2232
23-
const { id } = Astro.params
24-
const accessions = loadAccessionMap()
25-
const ucscMappings = buildUcscMapping(accessions)
26-
const ret = accessions.get(id as string)
27-
28-
if (!ret) {
29-
throw new Error(`Accession not found: ${id}`)
30-
}
33+
const { data, pairedAssemblyData, ucscDbName } = Astro.props
3134
3235
const {
3336
accession,
@@ -49,7 +52,7 @@ const {
4952
suppressed,
5053
pairedAccession,
5154
ncbiMissing,
52-
} = ret
55+
} = data
5356
5457
const {
5558
stats,
@@ -67,12 +70,6 @@ const {
6770
ncbiDownloadedAt,
6871
} = loadNcbiDetails(accession)
6972
70-
const pairedAssemblyData = pairedAccession
71-
? accessions.get(pairedAccession)
72-
: undefined
73-
74-
const ucscDbName = ucscMappings.get(accession)
75-
7673
// GCA = GenBank, GCF = RefSeq
7774
const pairedLabel = pairedAccession?.startsWith('GCF')
7875
? 'Paired RefSeq'

0 commit comments

Comments
 (0)