Skip to content

Commit 09d2245

Browse files
committed
Better error and async I/O handling
1 parent 8cd2fb7 commit 09d2245

File tree

1 file changed

+14
-13
lines changed
  • governance/xc_admin/packages/xc_admin_frontend/pages

1 file changed

+14
-13
lines changed

governance/xc_admin/packages/xc_admin_frontend/pages/index.tsx

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,30 +20,31 @@ const keyToNameMappingSchema = z.array(
2020
)
2121

2222
const readPublisherKeyToNameMapping = async (filename: string) => {
23+
let data = ''
2324
try {
24-
await fs.promises.access(filename)
25-
const arr = keyToNameMappingSchema
26-
.parse(YAML.parse(await fs.promises.readFile(filename, 'utf8')))
27-
.map((key, name) => [key, name])
28-
return Object.fromEntries(arr)
25+
data = await fs.promises.readFile(filename, 'utf8')
2926
} catch {
3027
return {}
3128
}
29+
30+
const yaml = YAML.parse(data)
31+
32+
const arr = await keyToNameMappingSchema.parseAsync(yaml)
33+
return Object.fromEntries(arr.map((key, name) => [key, name]))
3234
}
3335

3436
export const getServerSideProps: GetServerSideProps = async () => {
3537
const MAPPINGS_BASE_PATH = process.env.MAPPINGS_BASE_PATH || 'mappings'
3638
const PUBLISHER_PYTHNET_MAPPING_PATH = `${MAPPINGS_BASE_PATH}/pythnet/publishers.yaml`
3739
const PUBLISHER_PYTHTEST_MAPPING_PATH = `${MAPPINGS_BASE_PATH}/pythtest/publishers.yaml`
3840

39-
const publisherKeyToNameMapping = {
40-
pythnet: await readPublisherKeyToNameMapping(
41-
PUBLISHER_PYTHNET_MAPPING_PATH
42-
),
43-
pythtest: await readPublisherKeyToNameMapping(
44-
PUBLISHER_PYTHTEST_MAPPING_PATH
45-
),
46-
}
41+
const [pythnet, pythtest] = await Promise.all(
42+
[PUBLISHER_PYTHNET_MAPPING_PATH, PUBLISHER_PYTHTEST_MAPPING_PATH].map(
43+
(path) => readPublisherKeyToNameMapping(path)
44+
)
45+
)
46+
const publisherKeyToNameMapping = { pythnet, pythtest }
47+
4748
const MULTISIG_SIGNER_MAPPING_PATH = `${MAPPINGS_BASE_PATH}/signers.json`
4849
const multisigSignerKeyToNameMapping = fs.existsSync(
4950
MULTISIG_SIGNER_MAPPING_PATH

0 commit comments

Comments
 (0)