package wincmd import ( "errors" "fmt" ) var ( ErrPermissionDenied = errors.New("permission denied") ErrTimeout = errors.New("timeout") ErrNotFound = errors.New("not found") ErrInvalidVolume = errors.New("invalid volume") ErrInvalidInput = errors.New("invalid input") ErrBookmarkStale = errors.New("bookmark stale") ) func wrapInputError(msg string) error { return fmt.Errorf("%w: %s", ErrInvalidInput, msg) } func wrapVolumeError(volume string, err error) error { if err == nil { return fmt.Errorf("%w: %s", ErrInvalidVolume, volume) } return fmt.Errorf("%w: %s: %w", ErrInvalidVolume, volume, err) } func wrapPermissionError(msg string, err error) error { if err == nil { return fmt.Errorf("%w: %s", ErrPermissionDenied, msg) } return fmt.Errorf("%w: %s: %w", ErrPermissionDenied, msg, err) } func wrapTimeoutError(msg string) error { return fmt.Errorf("%w: %s", ErrTimeout, msg) } func wrapNotFoundError(msg string) error { return fmt.Errorf("%w: %s", ErrNotFound, msg) }