(parameters: {
address: Contract['address']
})
| 12 | } |
| 13 | |
| 14 | export function getAddressDocString(parameters: { |
| 15 | address: Contract['address'] |
| 16 | }) { |
| 17 | const { address } = parameters |
| 18 | if (!address || typeof address === 'string') return '' |
| 19 | |
| 20 | if (Object.keys(address).length === 1) |
| 21 | return `* ${getLink({ |
| 22 | address: address[Number.parseInt(Object.keys(address)[0]!, 10)]!, |
| 23 | chainId: Number.parseInt(Object.keys(address)[0]!, 10), |
| 24 | })}` |
| 25 | |
| 26 | const addresses = Object.entries(address).filter( |
| 27 | (x) => chainMap[Number.parseInt(x[0], 10)], |
| 28 | ) |
| 29 | if (addresses.length === 0) return '' |
| 30 | if (addresses.length === 1 && addresses[0]) |
| 31 | return `* ${getLink({ |
| 32 | address: addresses[0][1], |
| 33 | chainId: Number.parseInt(addresses[0][0], 10)!, |
| 34 | })}` |
| 35 | |
| 36 | return dedent` |
| 37 | ${addresses.reduce((prev, curr) => { |
| 38 | const chainId = Number.parseInt(curr[0], 10) |
| 39 | const address = curr[1] |
| 40 | return `${prev}\n* - ${getLink({ address, chainId })}` |
| 41 | }, '')} |
| 42 | ` |
| 43 | } |
| 44 | |
| 45 | function getLink({ address, chainId }: { address: string; chainId: number }) { |
| 46 | const chain = chainMap[chainId] |
no test coverage detected