Formats/PsCoinMarketCap.Format.ps1xml

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
    <ViewDefinitions>
         
        <!-- CryptocurrencyQuote Default Table View -->
        <View>
            <Name>CryptocurrencyQuote</Name>
            <ViewSelectedBy>
                <TypeName>PsCoinMarketCap.CryptocurrencyQuote</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader>
                        <Label>Rank</Label>
                        <Width>5</Width>
                        <Alignment>Right</Alignment>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Symbol</Label>
                        <Width>8</Width>
                        <Alignment>Left</Alignment>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Name</Label>
                        <Width>20</Width>
                        <Alignment>Left</Alignment>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Price (USD)</Label>
                        <Width>12</Width>
                        <Alignment>Right</Alignment>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>24h Change</Label>
                        <Width>10</Width>
                        <Alignment>Right</Alignment>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Market Cap</Label>
                        <Width>15</Width>
                        <Alignment>Right</Alignment>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>cmc_rank</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>symbol</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>name</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    if ($_.USD_price -lt 1) {
                                        $_.USD_price.ToString("N6")
                                    } elseif ($_.USD_price -lt 100) {
                                        $_.USD_price.ToString("N2")
                                    } else {
                                        $_.USD_price.ToString("N0")
                                    }
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    $change = $_.USD_percent_change_24h
                                    if ($change -gt 0) {
                                        "+{0:N2}%" -f $change
                                    } else {
                                        "{0:N2}%" -f $change
                                    }
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    if ($_.USD_market_cap -gt 1000000000) {
                                        "{0:N1}B" -f ($_.USD_market_cap / 1000000000)
                                    } elseif ($_.USD_market_cap -gt 1000000) {
                                        "{0:N1}M" -f ($_.USD_market_cap / 1000000)
                                    } else {
                                        "{0:N0}" -f $_.USD_market_cap
                                    }
                                </ScriptBlock>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
         
        <!-- GlobalMetrics Simple List View -->
        <View>
            <Name>GlobalMetrics</Name>
            <ViewSelectedBy>
                <TypeName>PsCoinMarketCap.GlobalMetrics</TypeName>
            </ViewSelectedBy>
            <ListControl>
                <ListEntries>
                    <ListEntry>
                        <ListItems>
                            <ListItem>
                                <Label>Total Market Cap (USD)</Label>
                                <ScriptBlock>
                                    if ($_.USD_total_market_cap) {
                                        "$" + "{0:N0}" -f $_.USD_total_market_cap
                                    } else {
                                        "N/A"
                                    }
                                </ScriptBlock>
                            </ListItem>
                            <ListItem>
                                <Label>Total Volume 24h (USD)</Label>
                                <ScriptBlock>
                                    if ($_.USD_total_volume_24h) {
                                        "$" + "{0:N0}" -f $_.USD_total_volume_24h
                                    } else {
                                        "N/A"
                                    }
                                </ScriptBlock>
                            </ListItem>
                            <ListItem>
                                <Label>Active Cryptocurrencies</Label>
                                <PropertyName>active_cryptocurrencies</PropertyName>
                            </ListItem>
                            <ListItem>
                                <Label>Active Exchanges</Label>
                                <PropertyName>active_exchanges</PropertyName>
                            </ListItem>
                            <ListItem>
                                <Label>BTC Dominance</Label>
                                <ScriptBlock>
                                    "{0:N2}%" -f $_.btc_dominance
                                </ScriptBlock>
                            </ListItem>
                            <ListItem>
                                <Label>ETH Dominance</Label>
                                <ScriptBlock>
                                    if ($_.eth_dominance) {
                                        "{0:N2}%" -f $_.eth_dominance
                                    } else {
                                        "N/A"
                                    }
                                </ScriptBlock>
                            </ListItem>
                        </ListItems>
                    </ListEntry>
                </ListEntries>
            </ListControl>
        </View>
         
        <!-- PriceConversion Table View -->
        <View>
            <Name>PriceConversion</Name>
            <ViewSelectedBy>
                <TypeName>PsCoinMarketCap.PriceConversion</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader>
                        <Label>From</Label>
                        <Width>8</Width>
                        <Alignment>Left</Alignment>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>To</Label>
                        <Width>8</Width>
                        <Alignment>Left</Alignment>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Amount</Label>
                        <Width>15</Width>
                        <Alignment>Right</Alignment>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Converted Value</Label>
                        <Width>20</Width>
                        <Alignment>Right</Alignment>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>symbol</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    if ($_.conversions) {
                                        ($_.conversions.Keys -join ', ')
                                    } else {
                                        'N/A'
                                    }
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    "{0:N6}" -f $_.amount
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    if ($_.conversions) {
                                        $values = $_.conversions.Values | ForEach-Object { "{0:N2}" -f $_.converted_amount }
                                        $values -join ', '
                                    } else {
                                        'N/A'
                                    }
                                </ScriptBlock>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
         
    </ViewDefinitions>
</Configuration>