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 }