intstr

package
v0.26.0-rc.0 Latest Latest
Warning

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

Go to latest
Published: Nov 16, 2022 License: Apache-2.0 Imports: 12 Imported by: 11,037

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. TODO: convert to (val int32)

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 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) 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) 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