github.com/hyperledger/burrow@v0.34.5-0.20220512172541-77f09336001d/cmd/burrow/commands/errors.go (about)

     1  package commands
     2  
     3  import (
     4  	"encoding/json"
     5  
     6  	"github.com/hyperledger/burrow/execution/errors"
     7  	cli "github.com/jawher/mow.cli"
     8  )
     9  
    10  func Errors(output Output) func(cmd *cli.Cmd) {
    11  	return func(cmd *cli.Cmd) {
    12  
    13  		jsonOpt := cmd.BoolOpt("j json", false, "output errors as a JSON object")
    14  
    15  		cmd.Spec = "[ --json ]"
    16  
    17  		cmd.Action = func() {
    18  			if *jsonOpt {
    19  				bs, err := json.MarshalIndent(errors.Codes, "", "\t")
    20  				if err != nil {
    21  					output.Fatalf("Could not marshal error codes: %w", err)
    22  				}
    23  				output.Printf(string(bs))
    24  			} else {
    25  				output.Printf(errors.Codes.String())
    26  			}
    27  		}
    28  	}
    29  }