shared

package
v0.0.57 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2023 License: MIT Imports: 23 Imported by: 6

Documentation

Index

Constants

View Source
const (
	Base    = ContextLoggerKey("base")
	Agent   = ContextLoggerKey("agent")
	Service = ContextLoggerKey("service")
)
View Source
const (
	LastAction         = LogMode("last_action")
	StartAndLastAction = LogMode("start_and_last_action")
	AllActions         = LogMode("all_actions")
)

Variables

This section is empty.

Functions

func CheckDirectory

func CheckDirectory(path string) error

CheckDirectory checks if a directory exists otherwise returns an error

func CheckDirectoryOrCreate

func CheckDirectoryOrCreate(ctx context.Context, path string) error

func CheckEmptyDirectoryOrCreate

func CheckEmptyDirectoryOrCreate(ctx context.Context, path string) error

func ChildContext added in v0.0.51

func ChildContext(ctx context.Context, name string) context.Context

func CopyDirectory

func CopyDirectory(ctx context.Context, src, dst string) error

CopyDirectory recursively copies a directory

func CopyFile

func CopyFile(_ context.Context, from string, to string) error

func CopyFileWithReplacement

func CopyFileWithReplacement(from string, to string, replacements []Replacement) error

func CreateDirIf

func CreateDirIf(path string) error

func DefaultTo added in v0.0.51

func DefaultTo(s string, defaultValue string) string

func DirectoryExists added in v0.0.13

func DirectoryExists(p string) bool

func Exit

func Exit(msg string, args ...any)

func ExitIf added in v0.0.51

func ExitIf(b bool, msg string, args ...any)

func ExitIfNot added in v0.0.51

func ExitIfNot(b bool, msg string, args ...any)

func ExitOnError

func ExitOnError(err error, msg string, args ...any)

func FileExists

func FileExists(p string) bool

func ForwardLogs

func ForwardLogs(r io.ReadCloser, w io.Writer)

func GenerateTree

func GenerateTree(p, indent string) (string, error)

GenerateTree recursively generates a string representation of the directory tree

func GlobalOverride added in v0.0.51

func GlobalOverride() bool

func HandleError

func HandleError(err error)

func IsDebug added in v0.0.51

func IsDebug() bool

func IsOutputError

func IsOutputError(err error) (bool, error)

func IsTrace added in v0.0.51

func IsTrace() bool

func IsUserError

func IsUserError(err error) bool

func IsUserWarning

func IsUserWarning(err error) bool

func MultiErrors added in v0.0.13

func MultiErrors(errs ...error) error

func Must added in v0.0.42

func Must[T any](t T, err error) T

func NewContext added in v0.0.51

func NewContext() context.Context

NewContext provides a context with a logger

func NewInvalidArgumentError added in v0.0.51

func NewInvalidArgumentError(s string) error

func NewOutputError

func NewOutputError(format string, args ...any) error

func NewUserWarning

func NewUserWarning(format string, args ...any) error

func ParseError

func ParseError(s string) error

func Pointer added in v0.0.51

func Pointer[T any](t T) *T

func PointerEqual added in v0.0.51

func PointerEqual[T comparable](t *T, target T) bool

PointerEqual returns true if pointer is not nil and value is equal

func ProtoType added in v0.0.51

func ProtoType(m proto.Message) string

func RequireExec added in v0.0.15

func RequireExec(bins ...string) ([]string, bool)

func SetLogLevel added in v0.0.51

func SetLogLevel(lvl LogLevel)

func SetOverride added in v0.0.13

func SetOverride(o bool)

func SetTodo

func SetTodo(t bool)

func ToCamelCase added in v0.0.51

func ToCamelCase(s string) string

ToCamelCase converts a string to camelCase

func ToDNSCase added in v0.0.51

func ToDNSCase(s string) string

func ToKebabCase added in v0.0.51

func ToKebabCase(str string) string

ToKebabCase converts a string to kebab-case

func ToLowerCase added in v0.0.51

func ToLowerCase(s string) string

func ToSnakeCase added in v0.0.51

func ToSnakeCase(s string) string

ToSnakeCase converts a string to snake_case

func ToTitle added in v0.0.51

func ToTitle(s string) string

func Todo

func Todo() bool

func TypeOf added in v0.0.51

func TypeOf[T any]() string

func UnexpectedExitOnError

func UnexpectedExitOnError(err error, msg string, args ...any)

func UserErrorMessage

func UserErrorMessage(err error) string

func UserWarnMessage

func UserWarnMessage(err error) string

func WithIgnore added in v0.0.51

func WithIgnore(ctx context.Context, ignore Ignore) context.Context

func WithOverride added in v0.0.51

func WithOverride(ctx context.Context, override Override) context.Context

func WrapStart

func WrapStart(cmd *exec.Cmd, writer io.Writer) error

func Wrapf

func Wrapf(err error, format string, args ...any) error

Types

type BaseLogger

type BaseLogger interface {
	SetLevel(lvl LogLevel) BaseLogger
	SetLogMethod(actions LogMode) BaseLogger
	With(format string, args ...any) BaseLogger

	Info(format string, args ...any)

	Tracef(format string, args ...any)
	Debugf(format string, args ...any)
	DebugMe(format string, args ...any)
	Warn(format string, args ...any)

	TODO(format string, args ...any)
	// Wrap uses action to wrap the error
	Wrap(err error) error

	// Wrapf uses action to wrap the error and other message
	Wrapf(err error, format string, args ...any) error

	Errorf(format string, args ...any) error
	Oops(format string, args ...any)

	// Write does the actual work
	Write(p []byte) (n int, err error)
	WarnOnError(err error)
	Catch()
}

BaseLogger is the Minimum logger interface

func GetAgentLogger added in v0.0.51

func GetAgentLogger(ctx context.Context) BaseLogger

func GetLogger added in v0.0.51

func GetLogger(ctx context.Context) BaseLogger

GetLogger returns the logger from the context - Base - Agent

func GetServiceLogger added in v0.0.51

func GetServiceLogger(ctx context.Context) BaseLogger

type Case added in v0.0.51

type Case struct {
	LowerCase string
	SnakeCase string
	CamelCase string
	KebabCase string
	DNSCase   string
	Title     string
}

func ToCase added in v0.0.51

func ToCase(s string) Case

type ContextIgnoreKey added in v0.0.51

type ContextIgnoreKey string
const (
	IgnoreKey ContextIgnoreKey = "ignore"
)

type ContextLoggerKey added in v0.0.13

type ContextLoggerKey string

type ContextOverrideKey added in v0.0.51

type ContextOverrideKey string
const (
	OverrideKey ContextOverrideKey = "override"
)

type CopyInstruction

type CopyInstruction struct {
	Name string
	Path string
}

type Dir

type Dir struct {
	// contains filtered or unexported fields
}

func Local

func Local(dir string) (*Dir, error)

func MustLocal

func MustLocal(dir string) Dir

func NewDir

func NewDir(dir string, args ...any) Dir

func (*Dir) Absolute

func (d *Dir) Absolute() string

func (*Dir) Join

func (d *Dir) Join(other Dir) Dir

func (*Dir) Relative

func (d *Dir) Relative() string

func (*Dir) RelativeFrom

func (d *Dir) RelativeFrom(base Dir) (*Dir, error)

type DirReader added in v0.0.13

type DirReader struct {
	// contains filtered or unexported fields
}

func NewDirReader added in v0.0.13

func NewDirReader() *DirReader

func (*DirReader) AbsoluteDir added in v0.0.13

func (dr *DirReader) AbsoluteDir(dir Dir) string

func (*DirReader) AbsoluteFile added in v0.0.13

func (dr *DirReader) AbsoluteFile(f File) string

func (*DirReader) At added in v0.0.13

func (dr *DirReader) At(root string) *DirReader

func (*DirReader) ReadDir added in v0.0.13

func (dr *DirReader) ReadDir(dir Dir) ([]os.DirEntry, error)

func (*DirReader) ReadFile added in v0.0.13

func (dr *DirReader) ReadFile(f File) ([]byte, error)

type FSReader added in v0.0.13

type FSReader struct {
	FS fs.FS
	// contains filtered or unexported fields
}

func Embed added in v0.0.13

func Embed(fsys fs.FS) *FSReader

func (*FSReader) Absolute added in v0.0.13

func (fr *FSReader) Absolute(dir Dir) string

func (*FSReader) AbsoluteDir added in v0.0.13

func (fr *FSReader) AbsoluteDir(dir Dir) string

func (*FSReader) AbsoluteFile added in v0.0.13

func (fr *FSReader) AbsoluteFile(f File) string

func (*FSReader) At added in v0.0.13

func (fr *FSReader) At(root string) *FSReader

func (*FSReader) Copy added in v0.0.13

func (fr *FSReader) Copy(s string, file string) error

func (*FSReader) ReadDir added in v0.0.13

func (fr *FSReader) ReadDir(dir Dir) ([]os.DirEntry, error)

func (*FSReader) ReadFile added in v0.0.13

func (fr *FSReader) ReadFile(f File) ([]byte, error)

type File

type File struct {
	// contains filtered or unexported fields
}

func NewFile

func NewFile(file string) File

func (*File) Base

func (f *File) Base() string

func (*File) Relative

func (f *File) Relative() string

func (*File) RelativeFrom

func (f *File) RelativeFrom(base Dir) (*File, error)

func (*File) RelativePath

func (f *File) RelativePath() string

type FileSystem added in v0.0.13

type FileSystem interface {
	AbsoluteFile(f File) string
	AbsoluteDir(dir Dir) string
	ReadDir(dir Dir) ([]os.DirEntry, error)
	ReadFile(file File) ([]byte, error)
}

type Ignore added in v0.0.51

type Ignore interface {
	Skip(p string) bool
}

func GetIgnore added in v0.0.51

func GetIgnore(ctx context.Context) Ignore

func IgnoreNone added in v0.0.51

func IgnoreNone() Ignore

type IgnoreNoneHandler added in v0.0.51

type IgnoreNoneHandler struct{}

func (IgnoreNoneHandler) Skip added in v0.0.51

func (i IgnoreNoneHandler) Skip(string) bool

type IgnorePatterns added in v0.0.51

type IgnorePatterns struct {
	// contains filtered or unexported fields
}

func NewIgnore added in v0.0.51

func NewIgnore(patterns ...string) IgnorePatterns

func (IgnorePatterns) Skip added in v0.0.51

func (ign IgnorePatterns) Skip(file string) bool

type InvalidArgumentError added in v0.0.51

type InvalidArgumentError struct {
	// contains filtered or unexported fields
}

func (*InvalidArgumentError) Error added in v0.0.51

func (i *InvalidArgumentError) Error() string

type LogLevel

type LogLevel int
const (
	Trace LogLevel = iota
	Debug
	Info
	Warn
)

type LogMode added in v0.0.51

type LogMode string

type Logger

type Logger struct {
	// contains filtered or unexported fields
}

func NewLogger

func NewLogger() *Logger

func (*Logger) Action added in v0.0.51

func (l *Logger) Action() string

func (*Logger) Actions added in v0.0.51

func (l *Logger) Actions() []string

func (*Logger) Catch

func (l *Logger) Catch()

func (*Logger) DebugMe

func (l *Logger) DebugMe(format string, args ...any)

func (*Logger) Debugf

func (l *Logger) Debugf(format string, args ...any)

func (*Logger) Errorf

func (l *Logger) Errorf(format string, args ...any) error

func (*Logger) Info

func (l *Logger) Info(format string, args ...any)

func (*Logger) Message

func (l *Logger) Message(format string, args ...any)

func (*Logger) Oops

func (l *Logger) Oops(format string, args ...any)

func (*Logger) SetLevel

func (l *Logger) SetLevel(lvl LogLevel) BaseLogger

func (*Logger) SetLogMethod added in v0.0.51

func (l *Logger) SetLogMethod(mode LogMode) BaseLogger

func (*Logger) SetLogMode added in v0.0.51

func (l *Logger) SetLogMode(mode LogMode)

func (*Logger) TODO

func (l *Logger) TODO(format string, args ...any)

func (*Logger) Tracef

func (l *Logger) Tracef(format string, args ...any)

func (*Logger) UserFatal

func (l *Logger) UserFatal(err error)

func (*Logger) UserFatalMessage

func (l *Logger) UserFatalMessage(err error) string

func (*Logger) Warn

func (l *Logger) Warn(format string, args ...any)

func (*Logger) WarnOnError added in v0.0.51

func (l *Logger) WarnOnError(err error)

func (*Logger) WarnUnique added in v0.0.9

func (l *Logger) WarnUnique(err error)

func (*Logger) With added in v0.0.51

func (l *Logger) With(format string, args ...any) BaseLogger

func (*Logger) Wrap added in v0.0.51

func (l *Logger) Wrap(err error) error

func (*Logger) Wrapf

func (l *Logger) Wrapf(err error, format string, args ...any) error

func (*Logger) Write

func (l *Logger) Write(p []byte) (n int, err error)

type NilError added in v0.0.51

type NilError[T any] struct {
}

func NewNilError added in v0.0.51

func NewNilError[T any]() *NilError[T]

func (NilError[T]) Error added in v0.0.51

func (n NilError[T]) Error() string

type OutputError

type OutputError struct {
	// contains filtered or unexported fields
}

func (*OutputError) Error

func (u *OutputError) Error() string

type Override added in v0.0.13

type Override interface {
	Replace(p string) bool
}

func GetOverride added in v0.0.51

func GetOverride(ctx context.Context) Override

func SilentOverride added in v0.0.51

func SilentOverride() Override

func Skip added in v0.0.51

func Skip() Override

type Replacement

type Replacement struct {
	From string `yaml:"from"`
	To   string `yaml:"to"`
}

type S added in v0.0.13

type S = string

type SilentOverrideHandler added in v0.0.51

type SilentOverrideHandler struct{}

func (SilentOverrideHandler) Replace added in v0.0.51

func (s SilentOverrideHandler) Replace(string) bool

type SkipOverrideHandler added in v0.0.51

type SkipOverrideHandler struct{}

func (SkipOverrideHandler) Replace added in v0.0.51

func (s SkipOverrideHandler) Replace(string) bool

type UserError

type UserError struct {
	Value      string
	Suggestion string
}

func NewUserError

func NewUserError(format string, args ...any) *UserError

func (*UserError) Error

func (u *UserError) Error() string

func (*UserError) WithSuggestion

func (u *UserError) WithSuggestion(s string) *UserError

type UserWarning

type UserWarning struct {
	// contains filtered or unexported fields
}

func (*UserWarning) Error

func (u *UserWarning) Error() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL