github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/internal/runners/export/rationalize.go (about)

     1  package export
     2  
     3  import (
     4  	"errors"
     5  
     6  	"github.com/ActiveState/cli/internal/errs"
     7  	"github.com/ActiveState/cli/internal/locale"
     8  )
     9  
    10  func rationalizeError(err *error) {
    11  	switch {
    12  	// export log with invalid --index.
    13  	case errors.Is(*err, ErrInvalidLogIndex):
    14  		*err = errs.WrapUserFacing(*err,
    15  			locale.Tl("err_export_log_invalid_index", "Index must be >= 0"),
    16  			errs.SetInput(),
    17  		)
    18  
    19  	// export log <prefix> with invalid <prefix>.
    20  	case errors.Is(*err, ErrInvalidLogPrefix):
    21  		*err = errs.WrapUserFacing(*err,
    22  			locale.Tl("err_export_log_invalid_prefix", "Invalid log prefix"),
    23  			errs.SetInput(),
    24  			errs.SetTips(
    25  				locale.Tl("export_log_prefix_tip", "Try a prefix like 'state' or 'state-svc'"),
    26  			),
    27  		)
    28  
    29  	// export log does not turn up a log file.
    30  	case errors.Is(*err, ErrLogNotFound):
    31  		*err = errs.WrapUserFacing(*err,
    32  			locale.Tl("err_export_log_out_of_bounds", "Log file not found"),
    33  			errs.SetInput(),
    34  		)
    35  	}
    36  }