intstr

package
v0.31.2 Latest Latest
Warning

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

Go to latest
Published: Jul 19, 2024 License: Apache-2.0 Imports: 13 Imported by: 10,839

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthGenerated        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowGenerated          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupGenerated = fmt.Errorf("proto: unexpected end of group")
)

Functions

func GetScaledValueFromIntOrPercent added in v0.20.0

func GetScaledValueFromIntOrPercent(intOrPercent *IntOrString, total int, roundUp bool) (int, error)

GetScaledValueFromIntOrPercent is meant to replace GetValueFromIntOrPercent. This method returns a scaled value from an IntOrString type. If the IntOrString is a percentage string value it's treated as a percentage and scaled appropriately in accordance to the total, if it's an int value it's treated as a simple value and if it is a string value which is either non-numeric or numeric but lacking a trailing '%' it returns an error.

func GetValueFromIntOrPercent

func GetValueFromIntOrPercent(intOrPercent *IntOrString, total int, roundUp bool) (int, error)

GetValueFromIntOrPercent was deprecated in favor of GetScaledValueFromIntOrPercent. This method was treating all int as a numeric value and all strings with or without a percent symbol as a percentage value. Deprecated

Types

type IntOrString

type IntOrString struct {
	Type   Type   `protobuf:"varint,1,opt,name=type,casttype=Type"`
	IntVal int32  `protobuf:"varint,2,opt,name=intVal"`
	StrVal string `protobuf:"bytes,3,opt,name=strVal"`
}

IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. TODO: Rename to Int32OrString

+protobuf=true +protobuf.options.(gogoproto.goproto_stringer)=false +k8s:openapi-gen=true

func FromInt

func FromInt(val int) IntOrString

FromInt creates an IntOrString object with an int32 value. It is your responsibility not to call this method with a value greater than int32. Deprecated: use FromInt32 instead.

func FromInt32 added in v0.28.0

func FromInt32(val int32) IntOrString

FromInt32 creates an IntOrString object with an int32 value.

func FromString

func FromString(val string) IntOrString

FromString creates an IntOrString object with a string value.

func Parse

func Parse(val string) IntOrString

Parse the given string and try to convert it to an int32 integer before setting it as a string value.

func ValueOrDefault

func ValueOrDefault(intOrPercent *IntOrString, defaultValue IntOrString) *IntOrString

func (*IntOrString) Descriptor

func (*IntOrString) Descriptor() ([]byte, []int)

func (*IntOrString) Fuzz

func (intstr *IntOrString) Fuzz(c fuzz.Continue)

Fuzz satisfies fuzz.Interface

func (*IntOrString) IntValue

func (intstr *IntOrString) IntValue() int

IntValue returns the IntVal if type Int, or if it is a String, will attempt a conversion to int, returning 0 if a parsing error occurs.

func (*IntOrString) Marshal

func (m *IntOrString) Marshal() (dAtA []byte, err error)

func (IntOrString) MarshalCBOR added in v0.31.0

func (intstr IntOrString) MarshalCBOR() ([]byte, error)

func (IntOrString) MarshalJSON

func (intstr IntOrString) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface.

func (*IntOrString) MarshalTo

func (m *IntOrString) MarshalTo(dAtA []byte) (int, error)

func (*IntOrString) MarshalToSizedBuffer added in v0.16.4

func (m *IntOrString) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (IntOrString) OpenAPISchemaFormat

func (IntOrString) OpenAPISchemaFormat() string

OpenAPISchemaFormat is used by the kube-openapi generator when constructing the OpenAPI spec of this type.

func (IntOrString) OpenAPISchemaType

func (IntOrString) OpenAPISchemaType() []string

OpenAPISchemaType is used by the kube-openapi generator when constructing the OpenAPI spec of this type.

See: https://github.com/kubernetes/kube-openapi/tree/master/pkg/generators

func (IntOrString) OpenAPIV3OneOfTypes added in v0.24.0

func (IntOrString) OpenAPIV3OneOfTypes() []string

OpenAPIV3OneOfTypes is used by the kube-openapi generator when constructing the OpenAPI v3 spec of this type.

func (*IntOrString) ProtoMessage

func (*IntOrString) ProtoMessage()

func (*IntOrString) Reset

func (m *IntOrString) Reset()

func (*IntOrString) Size

func (m *IntOrString) Size() (n int)

func (*IntOrString) String

func (intstr *IntOrString) String() string

String returns the string value, or the Itoa of the int value.

func (*IntOrString) Unmarshal

func (m *IntOrString) Unmarshal(dAtA []byte) error

func (*IntOrString) UnmarshalCBOR added in v0.31.0

func (intstr *IntOrString) UnmarshalCBOR(value []byte) error

func (*IntOrString) UnmarshalJSON

func (intstr *IntOrString) UnmarshalJSON(value []byte) error

UnmarshalJSON implements the json.Unmarshaller interface.

func (*IntOrString) XXX_DiscardUnknown added in v0.16.4

func (m *IntOrString) XXX_DiscardUnknown()

func (*IntOrString) XXX_Marshal added in v0.16.4

func (m *IntOrString) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IntOrString) XXX_Merge added in v0.16.4

func (m *IntOrString) XXX_Merge(src proto.Message)

func (*IntOrString) XXX_Size added in v0.16.4

func (m *IntOrString) XXX_Size() int

func (*IntOrString) XXX_Unmarshal added in v0.16.4

func (m *IntOrString) XXX_Unmarshal(b []byte) error

type Type

type Type int64

Type represents the stored type of IntOrString.

const (
	Int    Type = iota // The IntOrString holds an int.
	String             // The IntOrString holds a string.
)

Jump to

Keyboard shortcuts

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