types

package
v1.6.2 Latest Latest
Warning

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

Go to latest
Published: Nov 10, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DataExtremePurposeMinimum  DataExtremePurpose = 0
	DataExtremePurposeMaximum                     = iota
	DataExtremePurposeFallback                    = iota
)

Variables

This section is empty.

Functions

func BaseDataTypeName

func BaseDataTypeName(baseDataType BaseDataType) string

func Filter added in v1.6.0

func Filter[T Entity](list []Entity) (out []T)

func FilterSet

func FilterSet[T Entity, S any](set EntitySet[S]) (out []T)

func IsDataTypeEntity

func IsDataTypeEntity(entityType EntityType) bool

Types

type BaseDataType

type BaseDataType uint16
const (
	BaseDataTypeUnknown BaseDataType = iota
	BaseDataTypeCustom
	BaseDataTypeBoolean
	BaseDataTypeMap8
	BaseDataTypeMap16
	BaseDataTypeMap32
	BaseDataTypeMap64
	BaseDataTypeUInt8
	BaseDataTypeUInt16
	BaseDataTypeUInt24
	BaseDataTypeUInt32
	BaseDataTypeUInt40
	BaseDataTypeUInt48
	BaseDataTypeUInt56
	BaseDataTypeUInt64
	BaseDataTypeInt8
	BaseDataTypeInt16
	BaseDataTypeInt24
	BaseDataTypeInt32
	BaseDataTypeInt40
	BaseDataTypeInt48
	BaseDataTypeInt56
	BaseDataTypeInt64
	BaseDataTypeSingle
	BaseDataTypeDouble
	BaseDataTypeOctStr
	BaseDataTypeList

	BaseDataTypePercent
	BaseDataTypePercentHundredths
	BaseDataTypeTimeOfDay
	BaseDataTypeDate
	BaseDataTypeEpochMicroseconds
	BaseDataTypeEpochSeconds
	BaseDataTypePosixMilliseconds
	BaseDataTypeSystimeMicroseconds
	BaseDataTypeSystimeMilliseconds
	BaseDataTypeElapsedSeconds
	BaseDataTypeTemperature
	BaseDataTypeAmperage
	BaseDataTypeVoltage
	BaseDataTypePower
	BaseDataTypeEnergy
	BaseDataTypeApparentPower
	BaseDataTypeApparentEnergy
	BaseDataTypeReactivePower
	BaseDataTypeReactiveEnergy
	BaseDataTypeMoney

	BaseDataTypeTemperatureDifference
	BaseDataTypeUnsignedTemperature
	BaseDataTypeSignedTemperature

	BaseDataTypeEnum8
	BaseDataTypeEnum16
	BaseDataTypePriority
	BaseDataTypeStatus

	BaseDataTypeGroupID
	BaseDataTypeEndpointID
	BaseDataTypeEndpointNumber
	BaseDataTypeVendorID
	BaseDataTypeDeviceTypeID
	BaseDataTypeFabricID
	BaseDataTypeFabricIndex
	BaseDataTypeClusterID
	BaseDataTypeAttributeID
	BaseDataTypeFieldID
	BaseDataTypeEventID
	BaseDataTypeCommandID
	BaseDataTypeActionID
	BaseDataTypeSubjectID
	BaseDataTypeTransactionID
	BaseDataTypeNodeID
	BaseDataTypeNamespaceID
	BaseDataTypeIeeeAddress
	BaseDataTypeEntryIndex
	BaseDataTypeDataVersion
	BaseDataTypeEventNumber

	BaseDataTypeString
	BaseDataTypeIPAddress
	BaseDataTypeIPv4Address
	BaseDataTypeIPv6Address
	BaseDataTypeIPv6Prefix
	BaseDataTypeHardwareAddress

	BaseDataTypeSemanticTag
	BaseDataTypeTag

	BaseDataTypeMessageID
)

func ParseDataTypeName

func ParseDataTypeName(typeName string) (baseType BaseDataType, name string)

func (BaseDataType) IsSimple

func (bdt BaseDataType) IsSimple() bool

func (BaseDataType) IsUnsigned

func (bdt BaseDataType) IsUnsigned() bool

func (BaseDataType) String

func (bdt BaseDataType) String() string

type DataExtremePurpose

type DataExtremePurpose int8

type DataType

type DataType struct {
	BaseType BaseDataType     `json:"baseType"`
	Name     string           `json:"name"`
	Entity   Entity           `json:"-"`
	Source   asciidoc.Element `json:"-"`

	EntryType *DataType `json:"entryType,omitempty"`
}

func NewCustomDataType

func NewCustomDataType(dataType string, isArray bool) *DataType

func NewDataType

func NewDataType(baseType BaseDataType, isArray bool) *DataType

func NewNamedDataType

func NewNamedDataType(name string, baseType BaseDataType, isArray bool) *DataType

func ParseDataType

func ParseDataType(typeName string, isArray bool) *DataType

func (*DataType) Clone

func (dt *DataType) Clone() *DataType

func (*DataType) Equals

func (dt *DataType) Equals(other *DataType) bool

func (*DataType) HasLength

func (dt *DataType) HasLength() bool

func (*DataType) IsArray

func (dt *DataType) IsArray() bool

func (*DataType) IsCustom

func (dt *DataType) IsCustom() bool

func (*DataType) IsEnum

func (dt *DataType) IsEnum() bool

func (*DataType) IsMap

func (dt *DataType) IsMap() bool

func (*DataType) Max

func (dt *DataType) Max(nullable bool) (to DataTypeExtreme)

func (*DataType) Min

func (dt *DataType) Min(nullable bool) (from DataTypeExtreme)

func (*DataType) NullValue

func (dt *DataType) NullValue() uint64

func (*DataType) Size

func (dt *DataType) Size() int

type DataTypeExtreme

type DataTypeExtreme struct {
	Type     DataTypeExtremeType
	Format   NumberFormat
	Int64    int64
	UInt64   uint64
	Entity   Entity
	Constant bool
}

func Max

func Max(baseType BaseDataType, nullable bool) (to DataTypeExtreme)

func MaxExtreme

func MaxExtreme(left DataTypeExtreme, right DataTypeExtreme) (max DataTypeExtreme)

func Min

func Min(baseType BaseDataType, nullable bool) (from DataTypeExtreme)

func MinExtreme

func MinExtreme(left DataTypeExtreme, right DataTypeExtreme) (min DataTypeExtreme)

func NewIntDataTypeExtreme

func NewIntDataTypeExtreme(i int64, f NumberFormat) DataTypeExtreme

func NewIntegerDataTypeExtreme

func NewIntegerDataTypeExtreme(i *big.Int) DataTypeExtreme

func NewUintDataTypeExtreme

func NewUintDataTypeExtreme(u uint64, f NumberFormat) DataTypeExtreme

func (*DataTypeExtreme) Big

func (ce *DataTypeExtreme) Big() *big.Int

func (DataTypeExtreme) Compare

func (ce DataTypeExtreme) Compare(o DataTypeExtreme) (int, bool)

func (*DataTypeExtreme) DataModelString

func (ce *DataTypeExtreme) DataModelString(dataType *DataType) string

func (*DataTypeExtreme) Defined

func (ce *DataTypeExtreme) Defined() bool

func (DataTypeExtreme) Equals

func (ce DataTypeExtreme) Equals(o DataTypeExtreme) bool

func (*DataTypeExtreme) IsNegative

func (ce *DataTypeExtreme) IsNegative() bool

func (*DataTypeExtreme) IsNull

func (ce *DataTypeExtreme) IsNull() bool

func (*DataTypeExtreme) IsNumeric

func (ce *DataTypeExtreme) IsNumeric() bool

func (*DataTypeExtreme) IsZero

func (ce *DataTypeExtreme) IsZero() bool

func (*DataTypeExtreme) Value

func (ce *DataTypeExtreme) Value() any

func (DataTypeExtreme) ValueEquals

func (ce DataTypeExtreme) ValueEquals(o DataTypeExtreme) bool

func (*DataTypeExtreme) ZapString

func (ce *DataTypeExtreme) ZapString(dataType *DataType) string

type DataTypeExtremeType

type DataTypeExtremeType uint8
const (
	DataTypeExtremeTypeUndefined DataTypeExtremeType = iota
	DataTypeExtremeTypeInt64
	DataTypeExtremeTypeUInt64
	DataTypeExtremeTypeNull
	DataTypeExtremeTypeEmptyList
)

type Entity

type Entity interface {
	EntityType() EntityType
	Source() asciidoc.Element
	Origin() (path string, line int)
	Parent() Entity
	Equals(Entity) bool
}

type EntitySet

type EntitySet[S any] map[Entity]S

type EntityStore

type EntityStore interface {
	Entities() ([]Entity, error)
}

type EntityType

type EntityType uint8
const (
	EntityTypeUnknown EntityType = iota
	EntityTypeCluster
	EntityTypeClusterGroup
	EntityTypeBitmap
	EntityTypeBitmapValue
	EntityTypeEnum
	EntityTypeEnumValue
	EntityTypeStruct
	EntityTypeAttribute
	EntityTypeCommand
	EntityTypeCommandField
	EntityTypeEvent
	EntityTypeEventField
	EntityTypeFeature
	EntityTypeDeviceType
	EntityTypeCondition
	EntityTypeStructField
	EntityTypeElementRequirement
	EntityTypeDeviceTypeRequirement
	EntityTypeClusterRequirement
	EntityTypeConditionRequirement
	EntityTypeDef
	EntityTypeNamespace
	EntityTypeConstant
	EntityTypeSemanticTag
)

func (EntityType) MarshalJSON

func (et EntityType) MarshalJSON() ([]byte, error)

func (EntityType) String

func (et EntityType) String() string

type HasBaseDataType

type HasBaseDataType interface {
	BaseDataType() BaseDataType
}

type Nullable

type Nullable interface {
	NullValue() uint64
}

type NumberFormat

type NumberFormat uint8
const (
	NumberFormatUndefined NumberFormat = iota
	NumberFormatInt
	NumberFormatHex
	NumberFormatAuto
)

type StatusCode

type StatusCode uint8
const (
	StatusCodeSuccess                   StatusCode = 0x00
	StatusCodeFailure                   StatusCode = 0x01
	StatusCodeInvalidSubscription       StatusCode = 0x7D
	StatusCodeUnsupportedAccess         StatusCode = 0x7E
	StatusCodeUnsupportedEndpoint       StatusCode = 0x7F
	StatusCodeInvalidAction             StatusCode = 0x80
	StatusCodeUnsupportedCommand        StatusCode = 0x81
	StatusCodeInvalidCommand            StatusCode = 0x85
	StatusCodeUnsupportedAttribute      StatusCode = 0x86
	StatusCodeConstraintError           StatusCode = 0x87
	StatusCodeUnsupportedWrite          StatusCode = 0x88
	StatusCodeResourceExhausted         StatusCode = 0x89
	StatusCodeNotFound                  StatusCode = 0x8B
	StatusCodeUnreportableAttribute     StatusCode = 0x8C
	StatusCodeInvalidDataType           StatusCode = 0x8D
	StatusCodeUnsupportedRead           StatusCode = 0x8F
	StatusCodeDataVersionMismatch       StatusCode = 0x92
	StatusCodeTimeout                   StatusCode = 0x94
	StatusCodeUnsupportedNode           StatusCode = 0x9B
	StatusCodeBusy                      StatusCode = 0x9C
	StatusCodeAccessRestricted          StatusCode = 0x9D
	StatusCodeUnsupportedCluster        StatusCode = 0xC3
	StatusCodeNoUpstreamSubscription    StatusCode = 0xC5
	StatusCodeNeedsTimedInteraction     StatusCode = 0xC6
	StatusCodeUnsupportedEvent          StatusCode = 0xC7
	StatusCodePathsExhausted            StatusCode = 0xC8
	StatusCodeTimedRequestMismatch      StatusCode = 0xC9
	StatusCodeFailsafeRequired          StatusCode = 0xCA
	StatusCodeInvalidInState            StatusCode = 0xCB
	StatusCodeNoCommandResponse         StatusCode = 0xCC
	StatusCodeTermsAndConditionsChanged StatusCode = 0xCD
	StatusCodeMaintenanceRequired       StatusCode = 0xCE
)

func (StatusCode) String

func (sc StatusCode) String() string

Jump to

Keyboard shortcuts

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