github.com/trezor/blockbook@v0.4.1-0.20240328132726-e9a08582ee2c/build/tools/typescriptify/typescriptify.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"math/big"
     6  	"time"
     7  
     8  	"github.com/tkrajina/typescriptify-golang-structs/typescriptify"
     9  	"github.com/trezor/blockbook/api"
    10  	"github.com/trezor/blockbook/bchain"
    11  	"github.com/trezor/blockbook/server"
    12  )
    13  
    14  func main() {
    15  	t := typescriptify.New()
    16  	t.CreateInterface = true
    17  	t.Indent = "  "
    18  	t.BackupDir = ""
    19  
    20  	t.ManageType(api.Amount{}, typescriptify.TypeOptions{TSType: "string"})
    21  	t.ManageType([]api.Amount{}, typescriptify.TypeOptions{TSType: "string[]"})
    22  	t.ManageType(big.Int{}, typescriptify.TypeOptions{TSType: "number"})
    23  	t.ManageType(time.Time{}, typescriptify.TypeOptions{TSType: "string", TSDoc: "Time in ISO 8601 YYYY-MM-DDTHH:mm:ss.sssZd"})
    24  
    25  	// API - REST and Websocket
    26  	t.Add(api.APIError{})
    27  	t.Add(api.Tx{})
    28  	t.Add(api.FeeStats{})
    29  	t.Add(api.Address{})
    30  	t.Add(api.Utxo{})
    31  	t.Add(api.BalanceHistory{})
    32  	t.Add(api.Blocks{})
    33  	t.Add(api.Block{})
    34  	t.Add(api.BlockRaw{})
    35  	t.Add(api.SystemInfo{})
    36  	t.Add(api.FiatTicker{})
    37  	t.Add(api.FiatTickers{})
    38  	t.Add(api.AvailableVsCurrencies{})
    39  
    40  	// Websocket specific
    41  	t.Add(server.WsReq{})
    42  	t.Add(server.WsRes{})
    43  	t.Add(server.WsAccountInfoReq{})
    44  	t.Add(server.WsInfoRes{})
    45  	t.Add(server.WsBlockHashReq{})
    46  	t.Add(server.WsBlockHashRes{})
    47  	t.Add(server.WsBlockReq{})
    48  	t.Add(server.WsBlockFilterReq{})
    49  	t.Add(server.WsBlockFiltersBatchReq{})
    50  	t.Add(server.WsAccountUtxoReq{})
    51  	t.Add(server.WsBalanceHistoryReq{})
    52  	t.Add(server.WsTransactionReq{})
    53  	t.Add(server.WsTransactionSpecificReq{})
    54  	t.Add(server.WsEstimateFeeReq{})
    55  	t.Add(server.WsEstimateFeeRes{})
    56  	t.Add(server.WsSendTransactionReq{})
    57  	t.Add(server.WsSubscribeAddressesReq{})
    58  	t.Add(server.WsSubscribeFiatRatesReq{})
    59  	t.Add(server.WsCurrentFiatRatesReq{})
    60  	t.Add(server.WsFiatRatesForTimestampsReq{})
    61  	t.Add(server.WsFiatRatesTickersListReq{})
    62  	t.Add(server.WsMempoolFiltersReq{})
    63  	t.Add(bchain.MempoolTxidFilterEntries{})
    64  
    65  	err := t.ConvertToFile("blockbook-api.ts")
    66  	if err != nil {
    67  		panic(err.Error())
    68  	}
    69  	fmt.Println("OK")
    70  }