coredynamic

package
v1.3.55 Latest Latest
Warning

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

Go to latest
Published: Apr 7, 2022 License: MIT Imports: 25 Imported by: 72

README

Readme

Questions and Answers

Diff between Elem and Indirect?

If a reflect.Value is a pointer, then v.Elem() is equivalent to reflect.Indirect(v). If it is not a pointer, then they are not equivalent:

If the value is an interface then reflect.Indirect(v) will return the same value, while v.Elem() will return the contained dynamic value. If the value is something else, then v.Elem() will panic. The reflect.Indirect helper is intended for cases where you want to accept either a particular type, or a pointer to that type. One example is the database/sql conversion routines: by using reflect.Indirect, it can use the same code paths to handle the various types and pointers to those types.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ReflectGetter                  = reflectGetter{}
	ReflectGetterUsingReflectValue = reflectGetUsingReflectValue{}
)

Functions

func AnySliceValToInterfacesAsync added in v0.8.6

func AnySliceValToInterfacesAsync(
	slice interface{},
) []interface{}

func AnyToReflectVal added in v0.6.9

func AnyToReflectVal(any interface{}) reflect.Value

func AnyTypeMapToMapStringAny added in v1.3.28

func AnyTypeMapToMapStringAny(
	reflectVal reflect.Value,
) (map[string]interface{}, error)

AnyTypeMapToMapStringAny

expectation : map[key:interface{}]interface{} to map[string]interface{}

func IsAnyTypesOf added in v1.1.0

func IsAnyTypesOf(
	typeLookup reflect.Type,
	acceptedTypes ...reflect.Type,
) (isFound bool)

func LengthOfReflect

func LengthOfReflect(reflectVal reflect.Value) int

func MapKeysStringSlice added in v0.6.9

func MapKeysStringSlice(reflectVal reflect.Value) ([]string, error)

MapKeysStringSlice

expectation : map[key:string]...value don't care.

func MapKeysStringSliceAny added in v0.6.9

func MapKeysStringSliceAny(any interface{}) ([]string, error)

MapKeysStringSliceAny

expectation : map[key:string]don't care values

func MapKeysStringSliceAnyMust added in v0.6.9

func MapKeysStringSliceAnyMust(any interface{}) []string

func MapKeysStringSliceAnySorted added in v0.6.9

func MapKeysStringSliceAnySorted(any interface{}) ([]string, error)

func MapKeysStringSliceAnySortedMust added in v0.6.9

func MapKeysStringSliceAnySortedMust(any interface{}) []string

func MustBeAcceptedTypes added in v1.1.1

func MustBeAcceptedTypes(
	input interface{},
	acceptedTypes ...reflect.Type,
)

func NotAcceptedTypesErr added in v1.1.1

func NotAcceptedTypesErr(
	input interface{},
	acceptedTypes ...reflect.Type,
) error

func PointerOrNonPointer added in v1.1.0

func PointerOrNonPointer(
	isPointerOutput bool,
	input interface{},
) (output interface{}, finalReflectVal reflect.Value)

func PointerOrNonPointerUsingReflectValue added in v1.1.0

func PointerOrNonPointerUsingReflectValue(
	isPointerOutput bool,
	rv reflect.Value,
) (output interface{}, finalReflectVal reflect.Value)

func ReflectInterfaceVal added in v0.7.6

func ReflectInterfaceVal(any interface{}) interface{}

ReflectInterfaceVal

Reduce pointer to value (one step only)

func ReflectKindValidation added in v0.8.7

func ReflectKindValidation(
	expectedKind reflect.Kind,
	anyItem interface{},
) error

func ReflectSetFromTo added in v1.1.0

func ReflectSetFromTo(
	from,
	toPointer interface{},
) error

ReflectSetFromTo

Set any object from to toPointer object

Valid Inputs or Supported (https://t.ly/1Lpt):

  • From, To: (null, null) -- do nothing
  • From, To: (sameTypePointer, sameTypePointer) -- try reflection
  • From, To: (sameTypeNonPointer, sameTypePointer) -- try reflection
  • From, To: ([]byte or *[]byte, otherType) -- try unmarshal, reflect
  • From, To: (otherType, *[]byte) -- try marshal, reflect

Validations:

  • Check null, if both null no error return quickly.
  • NotSupported returns as error.
  • NotSupported: (from, to) - (..., not pointer)
  • NotSupported: (from, to) - (null, notNull)
  • NotSupported: (from, to) - (notNull, null)
  • NotSupported: (from, to) - not same type and not bytes on any
  • `From` null or nil is not supported and will return error.

Reference:

func ReflectTypeValidation added in v0.8.7

func ReflectTypeValidation(
	isNotNullExpected bool,
	expectedType reflect.Type,
	anyItem interface{},
) error

func ReflectValToInterfaces added in v0.8.3

func ReflectValToInterfaces(
	isSkipOnNil bool,
	reflectVal reflect.Value,
) []interface{}

func ReflectValToInterfacesAsync added in v0.8.6

func ReflectValToInterfacesAsync(
	reflectVal reflect.Value,
) []interface{}

func ReflectValToInterfacesUsingProcessor added in v0.8.3

func ReflectValToInterfacesUsingProcessor(
	isSkipOnNil bool,
	processorFunc func(item interface{}) (result interface{}, isTake, isBreak bool),
	reflectVal reflect.Value,
) []interface{}

func SafeTypeName added in v1.3.30

func SafeTypeName(any interface{}) string

func SafeZeroSet added in v1.1.0

func SafeZeroSet(rv reflect.Value)

func SliceItemsAsStrings added in v0.6.9

func SliceItemsAsStrings(reflectVal reflect.Value) ([]string, error)

func SliceItemsAsStringsAny added in v0.6.9

func SliceItemsAsStringsAny(any interface{}) ([]string, error)

func SliceItemsAsStringsAnyMust added in v0.6.9

func SliceItemsAsStringsAnyMust(any interface{}) []string

func SliceItemsProcessorAsStrings added in v0.6.9

func SliceItemsProcessorAsStrings(
	reflectVal reflect.Value,
	processor func(index int, item interface{}) (result string, isTake, isBreak bool),
) ([]string, error)

func SliceItemsSimpleProcessorAsStrings added in v0.6.9

func SliceItemsSimpleProcessorAsStrings(
	reflectVal reflect.Value,
	isSkipEmpty bool,
	processor func(index int, item interface{}) (result string),
) ([]string, error)

func Type added in v0.8.3

func Type(any interface{}) reflect.Type

func TypeMustBeSame added in v1.1.0

func TypeMustBeSame(
	left, right interface{},
)

func TypeName added in v0.8.0

func TypeName(any interface{}) string

func TypeNames added in v1.1.0

func TypeNames(
	isFullName bool,
	anyItems ...interface{},
) []string

func TypeNamesReferenceString added in v1.1.0

func TypeNamesReferenceString(
	isFullName bool,
	anyItems ...interface{},
) string

func TypeNamesString added in v1.1.0

func TypeNamesString(
	isFullName bool,
	anyItems ...interface{},
) string

func TypeNamesStringUsingReflectType added in v1.1.0

func TypeNamesStringUsingReflectType(
	isFullName bool,
	reflectTypes ...reflect.Type,
) string

func TypeNamesUsingReflectType added in v1.1.0

func TypeNamesUsingReflectType(
	isFullName bool,
	reflectTypes ...reflect.Type,
) []string

func TypeNotEqualErr added in v1.1.0

func TypeNotEqualErr(
	left, right interface{},
) error

func TypesIndexOf added in v1.1.0

func TypesIndexOf(
	typeLookup reflect.Type,
	acceptedTypes ...reflect.Type,
) (index int)

func ZeroSet added in v1.1.0

func ZeroSet(rvPointer reflect.Value)

ZeroSet

Sets empty bytes to the struct or the value but don't make it nil.

It only makes all fields to nil or zero values.

Warning :

  • Must be set as a pointer reflect value.

func ZeroSetAny added in v1.1.0

func ZeroSetAny(anyItem interface{})

ZeroSetAny

Sets empty bytes to the struct or the value but don't make it nil.

It only makes all fields to nil or zero values.

Warning :

  • Must be set as a pointer any.

Types

type AnyCollection added in v0.8.5

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

func EmptyAnyCollection added in v0.8.5

func EmptyAnyCollection() *AnyCollection

func NewAnyCollection added in v0.8.5

func NewAnyCollection(capacity int) *AnyCollection

func (*AnyCollection) Add added in v0.8.5

func (it *AnyCollection) Add(anyItem interface{}) *AnyCollection

func (*AnyCollection) AddAny added in v0.8.5

func (it *AnyCollection) AddAny(anyItem interface{}, isValid bool) *AnyCollection

func (*AnyCollection) AddAnyItemsWithTypeValidation added in v0.8.7

func (it *AnyCollection) AddAnyItemsWithTypeValidation(
	isContinueOnError,
	isNullNotAllowed bool,
	expectedType reflect.Type,
	anyItems ...interface{},
) error

func (*AnyCollection) AddAnyManyDynamic added in v0.8.5

func (it *AnyCollection) AddAnyManyDynamic(anyItems ...interface{}) *AnyCollection

func (*AnyCollection) AddAnySliceFromSingleItem added in v0.8.6

func (it *AnyCollection) AddAnySliceFromSingleItem(
	sliceList interface{},
) *AnyCollection

func (*AnyCollection) AddAnyWithTypeValidation added in v0.8.7

func (it *AnyCollection) AddAnyWithTypeValidation(
	isNullNotAllowed bool,
	expectedType reflect.Type,
	anyItem interface{},
) error

func (*AnyCollection) AddMany added in v0.8.5

func (it *AnyCollection) AddMany(anyItems ...interface{}) *AnyCollection

func (*AnyCollection) AddNonNull added in v0.8.5

func (it *AnyCollection) AddNonNull(anyItem interface{}) *AnyCollection

func (*AnyCollection) AddNonNullDynamic added in v0.8.5

func (it *AnyCollection) AddNonNullDynamic(anyItem interface{}, isValid bool) *AnyCollection

func (*AnyCollection) At added in v0.8.5

func (it *AnyCollection) At(index int) interface{}

func (*AnyCollection) AtAsDynamic added in v0.8.5

func (it *AnyCollection) AtAsDynamic(index int) Dynamic

func (*AnyCollection) Count added in v0.8.5

func (it *AnyCollection) Count() int

func (*AnyCollection) DynamicCollection added in v0.8.5

func (it *AnyCollection) DynamicCollection() *DynamicCollection

func (*AnyCollection) DynamicItems added in v0.8.5

func (it *AnyCollection) DynamicItems() []Dynamic

func (*AnyCollection) First added in v0.8.7

func (it *AnyCollection) First() interface{}

func (*AnyCollection) FirstDynamic added in v0.8.7

func (it *AnyCollection) FirstDynamic() interface{}

func (*AnyCollection) FirstOrDefault added in v0.8.7

func (it *AnyCollection) FirstOrDefault() interface{}

func (*AnyCollection) FirstOrDefaultDynamic added in v0.8.7

func (it *AnyCollection) FirstOrDefaultDynamic() interface{}

func (*AnyCollection) GetPagedCollection added in v0.8.5

func (it *AnyCollection) GetPagedCollection(
	eachPageSize int,
) []*AnyCollection

func (*AnyCollection) GetPagesSize added in v0.8.5

func (it *AnyCollection) GetPagesSize(
	eachPageSize int,
) int

func (*AnyCollection) GetPagingInfo added in v0.8.5

func (it *AnyCollection) GetPagingInfo(
	eachPageSize int,
	pageIndex int,
) pagingutil.PagingInfo

func (*AnyCollection) GetSinglePageCollection added in v0.8.5

func (it *AnyCollection) GetSinglePageCollection(
	eachPageSize int,
	pageIndex int,
) *AnyCollection

GetSinglePageCollection PageIndex is one based index. Should be above or equal 1

func (*AnyCollection) HasAnyItem added in v0.8.5

func (it *AnyCollection) HasAnyItem() bool

func (*AnyCollection) HasIndex added in v0.8.5

func (it *AnyCollection) HasIndex(index int) bool

func (*AnyCollection) IsEmpty added in v0.8.5

func (it *AnyCollection) IsEmpty() bool

func (*AnyCollection) Items added in v0.8.5

func (it *AnyCollection) Items() []interface{}

func (AnyCollection) Json added in v0.8.5

func (it AnyCollection) Json() corejson.Result

func (*AnyCollection) JsonModel added in v0.8.5

func (it *AnyCollection) JsonModel() []interface{}

func (*AnyCollection) JsonModelAny added in v0.8.5

func (it *AnyCollection) JsonModelAny() interface{}

func (*AnyCollection) JsonParseSelfInject added in v0.8.5

func (it *AnyCollection) JsonParseSelfInject(
	jsonResult *corejson.Result,
) error

func (AnyCollection) JsonPtr added in v0.8.5

func (it AnyCollection) JsonPtr() *corejson.Result

func (*AnyCollection) JsonResultsCollection added in v0.8.5

func (it *AnyCollection) JsonResultsCollection() *corejson.ResultsCollection

func (*AnyCollection) JsonResultsPtrCollection added in v0.8.5

func (it *AnyCollection) JsonResultsPtrCollection() *corejson.ResultsPtrCollection

func (*AnyCollection) JsonString added in v0.8.5

func (it *AnyCollection) JsonString() (jsonString string, err error)

func (*AnyCollection) JsonStringMust added in v0.8.5

func (it *AnyCollection) JsonStringMust() string

func (*AnyCollection) Last added in v0.8.7

func (it *AnyCollection) Last() interface{}

func (*AnyCollection) LastDynamic added in v0.8.7

func (it *AnyCollection) LastDynamic() interface{}

func (*AnyCollection) LastIndex added in v0.8.5

func (it *AnyCollection) LastIndex() int

func (*AnyCollection) LastOrDefault added in v0.8.7

func (it *AnyCollection) LastOrDefault() interface{}

func (*AnyCollection) LastOrDefaultDynamic added in v0.8.7

func (it *AnyCollection) LastOrDefaultDynamic() interface{}

func (*AnyCollection) Length added in v0.8.5

func (it *AnyCollection) Length() int

func (*AnyCollection) Limit added in v0.8.7

func (it *AnyCollection) Limit(limit int) []interface{}

func (*AnyCollection) LimitCollection added in v0.8.7

func (it *AnyCollection) LimitCollection(limit int) *AnyCollection

func (*AnyCollection) LimitDynamic added in v0.8.7

func (it *AnyCollection) LimitDynamic(limit int) interface{}

func (*AnyCollection) ListStrings added in v0.8.5

func (it *AnyCollection) ListStrings(isIncludeFieldName bool) []string

func (*AnyCollection) ListStringsPtr added in v0.8.5

func (it *AnyCollection) ListStringsPtr(isIncludeFieldName bool) *[]string

func (*AnyCollection) Loop added in v1.1.0

func (it *AnyCollection) Loop(
	isRunAsync bool,
	loopProcessorFunc func(index int, item interface{}) (isBreak bool),
) *AnyCollection

func (*AnyCollection) LoopDynamic added in v1.1.0

func (it *AnyCollection) LoopDynamic(
	isRunAsync bool,
	loopProcessorFunc func(index int, item Dynamic) (isBreak bool),
) *AnyCollection

func (*AnyCollection) MarshalJSON added in v0.8.5

func (it *AnyCollection) MarshalJSON() ([]byte, error)

func (*AnyCollection) ParseInjectUsingJson added in v0.8.5

func (it *AnyCollection) ParseInjectUsingJson(
	jsonResult *corejson.Result,
) (*AnyCollection, error)

func (*AnyCollection) ParseInjectUsingJsonMust added in v0.8.5

func (it *AnyCollection) ParseInjectUsingJsonMust(
	jsonResult *corejson.Result,
) *AnyCollection

func (*AnyCollection) ReflectSetAt added in v1.1.0

func (it *AnyCollection) ReflectSetAt(
	index int,
	toPointerOrBytesSet interface{},
) error

func (*AnyCollection) RemoveAt added in v0.8.5

func (it *AnyCollection) RemoveAt(index int) (isSuccess bool)

func (*AnyCollection) SafeLimitCollection added in v0.8.7

func (it *AnyCollection) SafeLimitCollection(limit int) *AnyCollection

func (*AnyCollection) Skip added in v0.8.7

func (it *AnyCollection) Skip(skippingItemsCount int) []interface{}

func (*AnyCollection) SkipCollection added in v0.8.7

func (it *AnyCollection) SkipCollection(skippingItemsCount int) *AnyCollection

func (*AnyCollection) SkipDynamic added in v0.8.7

func (it *AnyCollection) SkipDynamic(skippingItemsCount int) interface{}

func (*AnyCollection) String added in v0.8.5

func (it *AnyCollection) String() string

func (*AnyCollection) Strings added in v0.8.5

func (it *AnyCollection) Strings() []string

func (*AnyCollection) Take added in v0.8.7

func (it *AnyCollection) Take(takeDynamicItems int) []interface{}

func (*AnyCollection) TakeCollection added in v0.8.7

func (it *AnyCollection) TakeCollection(takeDynamicItems int) *AnyCollection

func (*AnyCollection) TakeDynamic added in v0.8.7

func (it *AnyCollection) TakeDynamic(takeDynamicItems int) interface{}

func (*AnyCollection) UnmarshalJSON added in v0.8.5

func (it *AnyCollection) UnmarshalJSON(data []byte) error

type BytesConverter added in v1.1.0

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

func NewBytesConverter added in v1.1.0

func NewBytesConverter(
	rawBytes []byte,
) *BytesConverter

func NewBytesConverterUsingJsonResult added in v1.1.3

func NewBytesConverterUsingJsonResult(
	jsonResult *corejson.Result,
) (*BytesConverter, error)

func (BytesConverter) CastString added in v1.1.0

func (it BytesConverter) CastString() (line string, err error)

func (BytesConverter) Deserialize added in v1.1.0

func (it BytesConverter) Deserialize(
	deserializePointer interface{},
) error

func (BytesConverter) DeserializeMust added in v1.1.0

func (it BytesConverter) DeserializeMust(
	deserializePointer interface{},
)

func (BytesConverter) SafeCastString added in v1.1.0

func (it BytesConverter) SafeCastString() (line string)

func (BytesConverter) ToAnyCollection added in v1.1.0

func (it BytesConverter) ToAnyCollection() (anyCollection *AnyCollection, err error)

func (BytesConverter) ToBool added in v1.1.0

func (it BytesConverter) ToBool() (isResult bool, err error)

func (BytesConverter) ToBoolMust added in v1.1.0

func (it BytesConverter) ToBoolMust() (isResult bool)

func (BytesConverter) ToBytesCollection added in v1.1.0

func (it BytesConverter) ToBytesCollection() (
	bytesCollection *corejson.BytesCollection, err error,
)

func (BytesConverter) ToCollection added in v1.1.0

func (it BytesConverter) ToCollection() (collection *corestr.Collection, err error)

func (BytesConverter) ToCollectionMust added in v1.1.0

func (it BytesConverter) ToCollectionMust() (collection *corestr.Collection)

func (BytesConverter) ToDynamicCollection added in v1.1.0

func (it BytesConverter) ToDynamicCollection() (dynamicCollection *DynamicCollection, err error)

func (BytesConverter) ToHashmap added in v1.1.0

func (it BytesConverter) ToHashmap() (hashmap *corestr.Hashmap, err error)

func (BytesConverter) ToHashmapMust added in v1.1.0

func (it BytesConverter) ToHashmapMust() (hashmap *corestr.Hashmap)

func (BytesConverter) ToHashset added in v1.1.0

func (it BytesConverter) ToHashset() (hashset *corestr.Hashset, err error)

func (BytesConverter) ToHashsetMust added in v1.1.0

func (it BytesConverter) ToHashsetMust() (hashset *corestr.Hashset)

func (BytesConverter) ToInt64 added in v1.1.0

func (it BytesConverter) ToInt64() (integer64 int64, err error)

func (BytesConverter) ToInt64Must added in v1.1.0

func (it BytesConverter) ToInt64Must() (integer64 int64)

func (BytesConverter) ToJsonMapResults added in v1.1.0

func (it BytesConverter) ToJsonMapResults() (
	jsonMapResults *corejson.MapResults, err error,
)

func (BytesConverter) ToJsonResultCollection added in v1.1.0

func (it BytesConverter) ToJsonResultCollection() (
	jsonResultCollection *corejson.ResultsCollection, err error,
)

func (BytesConverter) ToKeyValCollection added in v1.1.0

func (it BytesConverter) ToKeyValCollection() (keyValCollection *KeyValCollection, err error)

func (BytesConverter) ToMapAnyItems added in v1.1.0

func (it BytesConverter) ToMapAnyItems() (mapAnyItems *MapAnyItems, err error)

func (BytesConverter) ToSimpleSlice added in v1.1.0

func (it BytesConverter) ToSimpleSlice() (simpleSlice *corestr.SimpleSlice, err error)

func (BytesConverter) ToSimpleSliceMust added in v1.1.0

func (it BytesConverter) ToSimpleSliceMust() (simpleSlice *corestr.SimpleSlice)

func (BytesConverter) ToString added in v1.1.0

func (it BytesConverter) ToString() (line string, err error)

func (BytesConverter) ToStringMust added in v1.1.0

func (it BytesConverter) ToStringMust() (line string)

func (BytesConverter) ToStrings added in v1.1.0

func (it BytesConverter) ToStrings() (lines []string, err error)

func (BytesConverter) ToStringsMust added in v1.1.0

func (it BytesConverter) ToStringsMust() (lines []string)

type CastedResult added in v1.1.0

type CastedResult struct {
	Casted                         interface{}
	SourceReflectType              reflect.Type
	SourceKind                     reflect.Kind
	Error                          error
	IsNull, IsMatchingAcceptedType bool
	IsValid                        bool
	IsPointer                      bool // refers to how returned, ptr or non ptr
	IsSourcePointer                bool
}

func CastTo added in v1.1.0

func CastTo(
	isOutputPointer bool,
	input interface{},
	acceptedTypes ...reflect.Type,
) CastedResult

func (*CastedResult) HasAnyIssues added in v1.1.1

func (it *CastedResult) HasAnyIssues() bool

func (*CastedResult) HasError added in v1.1.1

func (it *CastedResult) HasError() bool

func (*CastedResult) IsInvalid added in v1.1.1

func (it *CastedResult) IsInvalid() bool

func (*CastedResult) IsNotMatchingAcceptedType added in v1.1.1

func (it *CastedResult) IsNotMatchingAcceptedType() bool

func (*CastedResult) IsNotNull added in v1.1.1

func (it *CastedResult) IsNotNull() bool

func (*CastedResult) IsNotPointer added in v1.1.1

func (it *CastedResult) IsNotPointer() bool

func (*CastedResult) IsSourceKind added in v1.1.1

func (it *CastedResult) IsSourceKind(kind reflect.Kind) bool

type Dynamic

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

func InvalidDynamic added in v0.5.1

func InvalidDynamic() Dynamic

func InvalidDynamicPtr added in v0.5.1

func InvalidDynamicPtr() *Dynamic

func NewDynamic

func NewDynamic(
	data interface{},
	isValid bool,
) Dynamic

func NewDynamicPtr

func NewDynamicPtr(
	data interface{},
	isValid bool,
) *Dynamic

func NewDynamicValid added in v0.6.5

func NewDynamicValid(
	data interface{},
) Dynamic

func (*Dynamic) Bytes added in v1.1.0

func (it *Dynamic) Bytes() (rawBytes []byte, isSuccess bool)

func (Dynamic) Clone added in v0.5.1

func (it Dynamic) Clone() Dynamic

func (*Dynamic) ClonePtr added in v0.8.5

func (it *Dynamic) ClonePtr() *Dynamic

func (*Dynamic) ConvertUsingFunc

func (it *Dynamic) ConvertUsingFunc(
	converter SimpleInOutConverter,
	expectedType reflect.Type,
) *SimpleResult

func (*Dynamic) Data

func (it *Dynamic) Data() interface{}

func (*Dynamic) Deserialize added in v1.1.0

func (it *Dynamic) Deserialize(jsonBytes []byte) (deserialized *Dynamic, err error)

func (*Dynamic) FilterAsDynamicCollection added in v1.1.1

func (it *Dynamic) FilterAsDynamicCollection(
	filterFunc func(index int, itemAsDynamic Dynamic) (isTake, isBreak bool),
) *DynamicCollection

func (*Dynamic) Float64

func (it *Dynamic) Float64() (val float64, err error)

func (*Dynamic) IntDefault

func (it *Dynamic) IntDefault(defaultInt int) (val int, isSuccess bool)

func (*Dynamic) IsFunc added in v0.4.6

func (it *Dynamic) IsFunc() bool

func (*Dynamic) IsInvalid

func (it *Dynamic) IsInvalid() bool

func (*Dynamic) IsMap

func (it *Dynamic) IsMap() bool

func (*Dynamic) IsNull

func (it *Dynamic) IsNull() bool

func (*Dynamic) IsNumber

func (it *Dynamic) IsNumber() bool

IsNumber true if float (any), byte, int (any), uint(any)

func (*Dynamic) IsPointer

func (it *Dynamic) IsPointer() bool

func (*Dynamic) IsPrimitive

func (it *Dynamic) IsPrimitive() bool

func (*Dynamic) IsReflectKind

func (it *Dynamic) IsReflectKind(checkingKind reflect.Kind) bool

func (*Dynamic) IsReflectTypeOf

func (it *Dynamic) IsReflectTypeOf(
	typeRequest reflect.Type,
) bool

func (*Dynamic) IsSliceOrArray

func (it *Dynamic) IsSliceOrArray() bool

func (*Dynamic) IsSliceOrArrayOrMap added in v0.4.6

func (it *Dynamic) IsSliceOrArrayOrMap() bool

func (*Dynamic) IsStringType added in v1.1.1

func (it *Dynamic) IsStringType() bool

func (*Dynamic) IsStruct

func (it *Dynamic) IsStruct() bool

func (*Dynamic) IsStructStringNullOrEmpty

func (it *Dynamic) IsStructStringNullOrEmpty() bool

func (*Dynamic) IsStructStringNullOrEmptyOrWhitespace

func (it *Dynamic) IsStructStringNullOrEmptyOrWhitespace() bool

func (*Dynamic) IsValid

func (it *Dynamic) IsValid() bool

func (*Dynamic) IsValueType

func (it *Dynamic) IsValueType() bool

func (*Dynamic) ItemReflectValueUsingIndex added in v1.1.1

func (it *Dynamic) ItemReflectValueUsingIndex(index int) reflect.Value

func (*Dynamic) ItemReflectValueUsingKey added in v1.1.1

func (it *Dynamic) ItemReflectValueUsingKey(key interface{}) reflect.Value

func (*Dynamic) ItemUsingIndex added in v1.1.1

func (it *Dynamic) ItemUsingIndex(index int) interface{}

func (*Dynamic) ItemUsingKey added in v1.1.1

func (it *Dynamic) ItemUsingKey(key interface{}) interface{}

func (Dynamic) Json added in v0.8.5

func (it Dynamic) Json() corejson.Result

func (*Dynamic) JsonBytes

func (it *Dynamic) JsonBytes() (jsonBytesPtr []byte, err error)

func (*Dynamic) JsonBytesPtr

func (it *Dynamic) JsonBytesPtr() (jsonBytesPtr *[]byte, err error)

JsonBytesPtr returns empty string on nil. no error on nil.

func (*Dynamic) JsonModel added in v0.8.5

func (it *Dynamic) JsonModel() interface{}

func (*Dynamic) JsonModelAny added in v0.8.5

func (it *Dynamic) JsonModelAny() interface{}

func (*Dynamic) JsonParseSelfInject added in v0.8.5

func (it *Dynamic) JsonParseSelfInject(
	jsonResult *corejson.Result,
) error

func (*Dynamic) JsonPayloadMust added in v1.1.0

func (it *Dynamic) JsonPayloadMust() (jsonBytes []byte)

func (Dynamic) JsonPtr added in v0.8.5

func (it Dynamic) JsonPtr() *corejson.Result

func (*Dynamic) JsonString added in v0.8.3

func (it *Dynamic) JsonString() (jsonString string, err error)

func (*Dynamic) JsonStringMust added in v0.8.3

func (it *Dynamic) JsonStringMust() string

func (*Dynamic) Length

func (it *Dynamic) Length() int

Length Returns length of a slice, map, array

It will also reduce from pointer

Reference : https://cutt.ly/PnaWAFn | https://cutt.ly/jnaEig8 | https://play.golang.org/p/UCORoShXlv1

func (*Dynamic) Loop added in v1.1.1

func (it *Dynamic) Loop(
	loopProcessorFunc func(index int, item interface{}) (isBreak bool),
) (isCalled bool)

func (*Dynamic) LoopMap added in v1.1.1

func (it *Dynamic) LoopMap(
	mapLoopProcessorFunc func(index int, key, value interface{}) (isBreak bool),
) (isCalled bool)

func (*Dynamic) MapToKeyVal

func (it *Dynamic) MapToKeyVal() (*KeyValCollection, error)

func (*Dynamic) MarshalJSON

func (it *Dynamic) MarshalJSON() ([]byte, error)

func (Dynamic) NonPtr added in v0.8.5

func (it Dynamic) NonPtr() Dynamic

func (*Dynamic) ParseInjectUsingJson added in v0.8.5

func (it *Dynamic) ParseInjectUsingJson(
	jsonResult *corejson.Result,
) (*Dynamic, error)

func (*Dynamic) ParseInjectUsingJsonMust added in v0.8.5

func (it *Dynamic) ParseInjectUsingJsonMust(
	jsonResult *corejson.Result,
) *Dynamic

ParseInjectUsingJsonMust Panic if error

func (*Dynamic) Ptr added in v0.8.5

func (it *Dynamic) Ptr() *Dynamic

func (*Dynamic) ReflectKind

func (it *Dynamic) ReflectKind() reflect.Kind

func (*Dynamic) ReflectSetTo added in v1.3.12

func (it *Dynamic) ReflectSetTo(toPointer interface{}) error

func (*Dynamic) ReflectType

func (it *Dynamic) ReflectType() reflect.Type

func (*Dynamic) ReflectTypeName

func (it *Dynamic) ReflectTypeName() string

func (*Dynamic) ReflectValue

func (it *Dynamic) ReflectValue() *reflect.Value

func (*Dynamic) String

func (it *Dynamic) String() string

func (*Dynamic) StructString

func (it *Dynamic) StructString() string

func (*Dynamic) StructStringPtr

func (it *Dynamic) StructStringPtr() *string

func (*Dynamic) UnmarshalJSON

func (it *Dynamic) UnmarshalJSON(data []byte) error

func (*Dynamic) Value

func (it *Dynamic) Value() interface{}

func (*Dynamic) ValueBool added in v1.1.0

func (it *Dynamic) ValueBool() bool

func (*Dynamic) ValueInt added in v1.1.0

func (it *Dynamic) ValueInt() int

func (*Dynamic) ValueInt64 added in v1.1.0

func (it *Dynamic) ValueInt64() int64

func (*Dynamic) ValueMarshal added in v1.1.0

func (it *Dynamic) ValueMarshal() (jsonBytes []byte, err error)

func (*Dynamic) ValueNullErr added in v1.1.0

func (it *Dynamic) ValueNullErr() error

func (*Dynamic) ValueString added in v1.1.0

func (it *Dynamic) ValueString() string

func (*Dynamic) ValueStrings added in v1.1.0

func (it *Dynamic) ValueStrings() []string

func (*Dynamic) ValueUInt added in v1.1.0

func (it *Dynamic) ValueUInt() uint

type DynamicCollection added in v0.8.5

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

func EmptyDynamicCollection

func EmptyDynamicCollection() *DynamicCollection

func NewDynamicCollection

func NewDynamicCollection(capacity int) *DynamicCollection

func (*DynamicCollection) Add added in v0.8.5

func (it *DynamicCollection) Add(
	dynamic Dynamic,
) *DynamicCollection

func (*DynamicCollection) AddAny added in v0.8.5

func (it *DynamicCollection) AddAny(
	anyItem interface{}, isValid bool,
) *DynamicCollection

func (*DynamicCollection) AddAnyItemsWithTypeValidation added in v0.8.7

func (it *DynamicCollection) AddAnyItemsWithTypeValidation(
	isContinueOnError,
	isNullNotAllowed bool,
	expectedType reflect.Type,
	anyItems ...interface{},
) error

func (*DynamicCollection) AddAnyMany added in v0.8.5

func (it *DynamicCollection) AddAnyMany(
	anyItems ...interface{},
) *DynamicCollection

func (*DynamicCollection) AddAnyNonNull added in v0.8.5

func (it *DynamicCollection) AddAnyNonNull(
	anyItem interface{}, isValid bool,
) *DynamicCollection

func (*DynamicCollection) AddAnySliceFromSingleItem added in v0.8.6

func (it *DynamicCollection) AddAnySliceFromSingleItem(
	isValid bool,
	sliceList interface{},
) *DynamicCollection

func (*DynamicCollection) AddAnyWithTypeValidation added in v0.8.7

func (it *DynamicCollection) AddAnyWithTypeValidation(
	isNullNotAllowed bool,
	expectedType reflect.Type,
	anyItem interface{},
) error

func (*DynamicCollection) AddManyPtr added in v0.8.5

func (it *DynamicCollection) AddManyPtr(
	dynamicItems ...*Dynamic,
) *DynamicCollection

func (*DynamicCollection) AddPtr added in v0.8.5

func (it *DynamicCollection) AddPtr(
	dynamic *Dynamic,
) *DynamicCollection

func (*DynamicCollection) AnyItems added in v0.8.5

func (it *DynamicCollection) AnyItems() []interface{}

func (*DynamicCollection) AnyItemsCollection added in v0.8.5

func (it *DynamicCollection) AnyItemsCollection() *AnyCollection

func (*DynamicCollection) At added in v0.8.5

func (it *DynamicCollection) At(index int) Dynamic

func (*DynamicCollection) Count added in v0.8.5

func (it *DynamicCollection) Count() int

func (*DynamicCollection) First added in v0.8.7

func (it *DynamicCollection) First() Dynamic

func (*DynamicCollection) FirstDynamic added in v0.8.7

func (it *DynamicCollection) FirstDynamic() interface{}

func (*DynamicCollection) FirstOrDefault added in v0.8.7

func (it *DynamicCollection) FirstOrDefault() *Dynamic

func (*DynamicCollection) FirstOrDefaultDynamic added in v0.8.7

func (it *DynamicCollection) FirstOrDefaultDynamic() interface{}

func (*DynamicCollection) GetPagedCollection added in v0.8.5

func (it *DynamicCollection) GetPagedCollection(
	eachPageSize int,
) []*DynamicCollection

func (*DynamicCollection) GetPagesSize added in v0.8.5

func (it *DynamicCollection) GetPagesSize(
	eachPageSize int,
) int

func (*DynamicCollection) GetPagingInfo added in v0.8.5

func (it *DynamicCollection) GetPagingInfo(
	eachPageSize int,
	pageIndex int,
) pagingutil.PagingInfo

func (*DynamicCollection) GetSinglePageCollection added in v0.8.5

func (it *DynamicCollection) GetSinglePageCollection(
	eachPageSize int,
	pageIndex int,
) *DynamicCollection

GetSinglePageCollection PageIndex is one based index. Should be above or equal 1

func (*DynamicCollection) HasAnyItem added in v0.8.5

func (it *DynamicCollection) HasAnyItem() bool

func (*DynamicCollection) HasIndex added in v0.8.5

func (it *DynamicCollection) HasIndex(index int) bool

func (*DynamicCollection) IsEmpty added in v0.8.5

func (it *DynamicCollection) IsEmpty() bool

func (*DynamicCollection) Items added in v0.8.5

func (it *DynamicCollection) Items() []Dynamic

func (DynamicCollection) Json added in v0.8.5

func (it DynamicCollection) Json() corejson.Result

func (*DynamicCollection) JsonModel added in v0.8.5

func (it *DynamicCollection) JsonModel() DynamicCollectionModel

func (*DynamicCollection) JsonModelAny added in v0.8.5

func (it *DynamicCollection) JsonModelAny() interface{}

func (*DynamicCollection) JsonParseSelfInject added in v0.8.5

func (it *DynamicCollection) JsonParseSelfInject(
	jsonResult *corejson.Result,
) error

func (DynamicCollection) JsonPtr added in v0.8.5

func (it DynamicCollection) JsonPtr() *corejson.Result

func (*DynamicCollection) JsonResultsCollection added in v0.8.5

func (it *DynamicCollection) JsonResultsCollection() *corejson.ResultsCollection

func (*DynamicCollection) JsonResultsPtrCollection added in v0.8.5

func (it *DynamicCollection) JsonResultsPtrCollection() *corejson.ResultsPtrCollection

func (*DynamicCollection) JsonString added in v0.8.5

func (it *DynamicCollection) JsonString() (jsonString string, err error)

func (*DynamicCollection) JsonStringMust added in v0.8.5

func (it *DynamicCollection) JsonStringMust() string

func (*DynamicCollection) Last added in v0.8.7

func (it *DynamicCollection) Last() Dynamic

func (*DynamicCollection) LastDynamic added in v0.8.7

func (it *DynamicCollection) LastDynamic() interface{}

func (*DynamicCollection) LastIndex added in v0.8.5

func (it *DynamicCollection) LastIndex() int

func (*DynamicCollection) LastOrDefault added in v0.8.7

func (it *DynamicCollection) LastOrDefault() *Dynamic

func (*DynamicCollection) LastOrDefaultDynamic added in v0.8.7

func (it *DynamicCollection) LastOrDefaultDynamic() interface{}

func (*DynamicCollection) Length added in v0.8.5

func (it *DynamicCollection) Length() int

func (*DynamicCollection) Limit added in v0.8.7

func (it *DynamicCollection) Limit(limit int) []Dynamic

func (*DynamicCollection) LimitCollection added in v0.8.7

func (it *DynamicCollection) LimitCollection(limit int) *DynamicCollection

func (*DynamicCollection) LimitDynamic added in v0.8.7

func (it *DynamicCollection) LimitDynamic(limit int) interface{}

func (*DynamicCollection) ListStrings added in v0.8.5

func (it *DynamicCollection) ListStrings() []string

func (*DynamicCollection) ListStringsPtr added in v0.8.5

func (it *DynamicCollection) ListStringsPtr() *[]string

func (*DynamicCollection) Loop added in v1.1.0

func (it *DynamicCollection) Loop(
	loopProcessorFunc func(index int, dynamicItem *Dynamic) (isBreak bool),
)

func (*DynamicCollection) MarshalJSON added in v0.8.5

func (it *DynamicCollection) MarshalJSON() ([]byte, error)

func (*DynamicCollection) ParseInjectUsingJson added in v0.8.5

func (it *DynamicCollection) ParseInjectUsingJson(
	jsonResult *corejson.Result,
) (*DynamicCollection, error)

func (*DynamicCollection) ParseInjectUsingJsonMust added in v0.8.5

func (it *DynamicCollection) ParseInjectUsingJsonMust(
	jsonResult *corejson.Result,
) *DynamicCollection

func (*DynamicCollection) RemoveAt added in v0.8.5

func (it *DynamicCollection) RemoveAt(index int) (isSuccess bool)

func (*DynamicCollection) SafeLimitCollection added in v0.8.7

func (it *DynamicCollection) SafeLimitCollection(limit int) *DynamicCollection

func (*DynamicCollection) Skip added in v0.8.7

func (it *DynamicCollection) Skip(skippingItemsCount int) []Dynamic

func (*DynamicCollection) SkipCollection added in v0.8.7

func (it *DynamicCollection) SkipCollection(skippingItemsCount int) *DynamicCollection

func (*DynamicCollection) SkipDynamic added in v0.8.7

func (it *DynamicCollection) SkipDynamic(skippingItemsCount int) interface{}

func (*DynamicCollection) String added in v0.8.5

func (it *DynamicCollection) String() string

func (*DynamicCollection) Strings added in v0.8.5

func (it *DynamicCollection) Strings() []string

func (*DynamicCollection) Take added in v0.8.7

func (it *DynamicCollection) Take(takeDynamicItems int) []Dynamic

func (*DynamicCollection) TakeCollection added in v0.8.7

func (it *DynamicCollection) TakeCollection(takeDynamicItems int) *DynamicCollection

func (*DynamicCollection) TakeDynamic added in v0.8.7

func (it *DynamicCollection) TakeDynamic(takeDynamicItems int) interface{}

func (*DynamicCollection) UnmarshalJSON added in v0.8.5

func (it *DynamicCollection) UnmarshalJSON(data []byte) error

type DynamicCollectionModel added in v0.8.5

type DynamicCollectionModel struct {
	Items []Dynamic
}

type DynamicStatus added in v0.4.7

type DynamicStatus struct {
	Dynamic
	Index   int
	Message string
}

func InvalidDynamicStatus added in v0.5.1

func InvalidDynamicStatus(message string) *DynamicStatus

func InvalidDynamicStatusNoMessage added in v0.5.1

func InvalidDynamicStatusNoMessage() *DynamicStatus

func (DynamicStatus) Clone added in v0.5.1

func (it DynamicStatus) Clone() DynamicStatus

Clone Warning: Cannot clone dynamic data or interface properly but set it again

If it is a pointer one needs to copy it manually.

func (*DynamicStatus) ClonePtr added in v0.8.5

func (it *DynamicStatus) ClonePtr() *DynamicStatus

type KeyVal

type KeyVal struct {
	Key   interface{}
	Value interface{}
}

func (*KeyVal) CastKeyVal added in v1.1.0

func (it *KeyVal) CastKeyVal(
	keyToPointer,
	valueToPointer interface{},
) error

func (*KeyVal) IsKeyNull added in v1.1.0

func (it *KeyVal) IsKeyNull() bool

func (*KeyVal) IsKeyNullOrEmptyString added in v1.1.0

func (it *KeyVal) IsKeyNullOrEmptyString() bool

func (*KeyVal) IsValueNull added in v1.1.0

func (it *KeyVal) IsValueNull() bool

func (KeyVal) Json added in v1.1.0

func (it KeyVal) Json() corejson.Result

func (KeyVal) JsonModel added in v1.1.0

func (it KeyVal) JsonModel() interface{}

func (KeyVal) JsonModelAny added in v1.1.0

func (it KeyVal) JsonModelAny() interface{}

func (*KeyVal) JsonParseSelfInject added in v1.1.0

func (it *KeyVal) JsonParseSelfInject(
	jsonResult *corejson.Result,
) error

func (KeyVal) JsonPtr added in v1.1.0

func (it KeyVal) JsonPtr() *corejson.Result

func (*KeyVal) KeyDynamic

func (it *KeyVal) KeyDynamic() Dynamic

func (*KeyVal) KeyDynamicPtr added in v0.8.5

func (it *KeyVal) KeyDynamicPtr() *Dynamic

func (*KeyVal) KeyNullErr added in v1.1.0

func (it *KeyVal) KeyNullErr() error

func (*KeyVal) KeyReflectSet added in v1.2.16

func (it *KeyVal) KeyReflectSet(toPointer interface{}) error

func (*KeyVal) KeyString added in v0.8.5

func (it *KeyVal) KeyString() string

func (*KeyVal) ParseInjectUsingJson added in v1.1.0

func (it *KeyVal) ParseInjectUsingJson(
	jsonResult *corejson.Result,
) (*KeyVal, error)

func (*KeyVal) ParseInjectUsingJsonMust added in v1.1.0

func (it *KeyVal) ParseInjectUsingJsonMust(
	jsonResult *corejson.Result,
) *KeyVal

ParseInjectUsingJsonMust Panic if error

func (*KeyVal) ReflectSetKey added in v1.1.0

func (it *KeyVal) ReflectSetKey(
	keyToPointer interface{},
) error

func (*KeyVal) ReflectSetTo added in v1.3.12

func (it *KeyVal) ReflectSetTo(toPointer interface{}) error

func (*KeyVal) ReflectSetToMust added in v1.3.12

func (it *KeyVal) ReflectSetToMust(toPointer interface{})

func (*KeyVal) Serialize added in v1.1.0

func (it *KeyVal) Serialize() (jsonBytesPtr []byte, err error)

func (*KeyVal) String

func (it *KeyVal) String() string

func (*KeyVal) ValueBool added in v1.1.0

func (it *KeyVal) ValueBool() bool

func (*KeyVal) ValueDynamic

func (it *KeyVal) ValueDynamic() Dynamic

func (*KeyVal) ValueDynamicPtr added in v0.8.5

func (it *KeyVal) ValueDynamicPtr() *Dynamic

func (*KeyVal) ValueInt added in v1.1.0

func (it *KeyVal) ValueInt() int

func (*KeyVal) ValueInt64 added in v1.1.0

func (it *KeyVal) ValueInt64() int64

func (*KeyVal) ValueNullErr added in v1.1.0

func (it *KeyVal) ValueNullErr() error

func (*KeyVal) ValueReflectSet added in v1.2.16

func (it *KeyVal) ValueReflectSet(toPointer interface{}) error

func (*KeyVal) ValueReflectValue added in v1.1.0

func (it *KeyVal) ValueReflectValue() reflect.Value

func (*KeyVal) ValueString added in v0.8.5

func (it *KeyVal) ValueString() string

func (*KeyVal) ValueStrings added in v1.1.0

func (it *KeyVal) ValueStrings() []string

func (*KeyVal) ValueUInt added in v1.1.0

func (it *KeyVal) ValueUInt() uint

type KeyValCollection

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

func EmptyKeyValCollection

func EmptyKeyValCollection() *KeyValCollection

func MapAsKeyValSlice

func MapAsKeyValSlice(reflectVal reflect.Value) (*KeyValCollection, error)

MapAsKeyValSlice

expectation : map[key:interface{}]interface{}

func NewKeyValCollection

func NewKeyValCollection(capacity int) *KeyValCollection

func (*KeyValCollection) Add added in v0.8.5

func (it *KeyValCollection) Add(
	keyVal KeyVal,
) *KeyValCollection

func (*KeyValCollection) AddMany

func (it *KeyValCollection) AddMany(
	keyValues ...KeyVal,
) *KeyValCollection

func (*KeyValCollection) AddManyPtr added in v0.8.5

func (it *KeyValCollection) AddManyPtr(
	keyValues ...*KeyVal,
) *KeyValCollection

func (*KeyValCollection) AddPtr

func (it *KeyValCollection) AddPtr(
	keyVal *KeyVal,
) *KeyValCollection

func (*KeyValCollection) AllKeys added in v0.8.5

func (it *KeyValCollection) AllKeys() []string

func (*KeyValCollection) AllKeysSorted added in v0.8.5

func (it *KeyValCollection) AllKeysSorted() []string

func (*KeyValCollection) AllValues added in v0.8.5

func (it *KeyValCollection) AllValues() []interface{}

func (KeyValCollection) Clone added in v1.1.0

func (*KeyValCollection) ClonePtr added in v1.1.0

func (it *KeyValCollection) ClonePtr() *KeyValCollection

func (*KeyValCollection) GetPagedCollection added in v0.8.5

func (it *KeyValCollection) GetPagedCollection(
	eachPageSize int,
) []*KeyValCollection

func (*KeyValCollection) GetPagesSize added in v0.8.5

func (it *KeyValCollection) GetPagesSize(
	eachPageSize int,
) int

func (*KeyValCollection) GetPagingInfo added in v0.8.5

func (it *KeyValCollection) GetPagingInfo(
	eachPageSize int,
	pageIndex int,
) pagingutil.PagingInfo

func (*KeyValCollection) GetSinglePageCollection added in v0.8.5

func (it *KeyValCollection) GetSinglePageCollection(
	eachPageSize int,
	pageIndex int,
) *KeyValCollection

GetSinglePageCollection PageIndex is one based index. Should be above or equal 1

func (*KeyValCollection) HasAnyItem

func (it *KeyValCollection) HasAnyItem() bool

func (*KeyValCollection) IsEmpty

func (it *KeyValCollection) IsEmpty() bool

func (*KeyValCollection) Items

func (it *KeyValCollection) Items() []KeyVal

func (KeyValCollection) Json added in v1.1.0

func (it KeyValCollection) Json() corejson.Result

func (*KeyValCollection) JsonMapResults added in v0.8.5

func (it *KeyValCollection) JsonMapResults() (*corejson.MapResults, error)

func (KeyValCollection) JsonModel added in v1.1.0

func (it KeyValCollection) JsonModel() interface{}

func (KeyValCollection) JsonModelAny added in v1.1.0

func (it KeyValCollection) JsonModelAny() interface{}

func (*KeyValCollection) JsonParseSelfInject added in v1.1.0

func (it *KeyValCollection) JsonParseSelfInject(
	jsonResult *corejson.Result,
) error

func (KeyValCollection) JsonPtr added in v1.1.0

func (it KeyValCollection) JsonPtr() *corejson.Result

func (*KeyValCollection) JsonResultsCollection added in v0.8.5

func (it *KeyValCollection) JsonResultsCollection() *corejson.ResultsCollection

func (*KeyValCollection) JsonResultsPtrCollection added in v0.8.5

func (it *KeyValCollection) JsonResultsPtrCollection() *corejson.ResultsPtrCollection

func (*KeyValCollection) JsonString added in v0.8.3

func (it *KeyValCollection) JsonString() (jsonString string, err error)

func (*KeyValCollection) JsonStringMust added in v0.8.3

func (it *KeyValCollection) JsonStringMust() string

func (*KeyValCollection) Length

func (it *KeyValCollection) Length() int

func (*KeyValCollection) MapAnyItems added in v0.8.5

func (it *KeyValCollection) MapAnyItems() *MapAnyItems

func (KeyValCollection) NonPtr added in v1.1.0

func (it KeyValCollection) NonPtr() KeyValCollection

func (*KeyValCollection) ParseInjectUsingJson added in v1.1.0

func (it *KeyValCollection) ParseInjectUsingJson(
	jsonResult *corejson.Result,
) (*KeyValCollection, error)

func (*KeyValCollection) ParseInjectUsingJsonMust added in v1.1.0

func (it *KeyValCollection) ParseInjectUsingJsonMust(
	jsonResult *corejson.Result,
) *KeyValCollection

ParseInjectUsingJsonMust Panic if error

func (*KeyValCollection) Ptr added in v1.1.0

func (*KeyValCollection) Serialize added in v1.1.0

func (it *KeyValCollection) Serialize() (jsonBytesPtr []byte, err error)

func (*KeyValCollection) String

func (it *KeyValCollection) String() string

type LeftRight added in v1.1.0

type LeftRight struct {
	Left, Right interface{}
}

func (*LeftRight) DeserializeLeft added in v1.1.0

func (it *LeftRight) DeserializeLeft() *corejson.Result

func (*LeftRight) DeserializeRight added in v1.1.0

func (it *LeftRight) DeserializeRight() *corejson.Result

func (*LeftRight) HasAnyItem added in v1.1.0

func (it *LeftRight) HasAnyItem() bool

func (*LeftRight) HasLeft added in v1.1.0

func (it *LeftRight) HasLeft() bool

func (*LeftRight) HasRight added in v1.1.0

func (it *LeftRight) HasRight() bool

func (*LeftRight) IsEmpty added in v1.1.0

func (it *LeftRight) IsEmpty() bool

func (*LeftRight) IsLeftEmpty added in v1.1.0

func (it *LeftRight) IsLeftEmpty() bool

func (*LeftRight) IsRightEmpty added in v1.1.0

func (it *LeftRight) IsRightEmpty() bool

func (*LeftRight) LeftReflectSet added in v1.1.0

func (it *LeftRight) LeftReflectSet(
	toPointerOrBytesPointer interface{},
) error

func (*LeftRight) LeftToDynamic added in v1.1.0

func (it *LeftRight) LeftToDynamic() *Dynamic

func (*LeftRight) RightReflectSet added in v1.1.0

func (it *LeftRight) RightReflectSet(
	toPointerOrBytesPointer interface{},
) error

func (*LeftRight) RightToDynamic added in v1.1.0

func (it *LeftRight) RightToDynamic() *Dynamic

func (*LeftRight) TypeStatus added in v1.1.0

func (it *LeftRight) TypeStatus() TypeStatus

type MapAnyItemDiff added in v1.3.16

type MapAnyItemDiff map[string]interface{}

func (MapAnyItemDiff) AllKeysSorted added in v1.3.16

func (it MapAnyItemDiff) AllKeysSorted() []string

func (*MapAnyItemDiff) Clear added in v1.3.24

func (it *MapAnyItemDiff) Clear() MapAnyItemDiff

func (*MapAnyItemDiff) DiffJsonMessage added in v1.3.16

func (it *MapAnyItemDiff) DiffJsonMessage(
	isRegardlessType bool,
	rightMap map[string]interface{},
) string

func (*MapAnyItemDiff) DiffRaw added in v1.3.16

func (it *MapAnyItemDiff) DiffRaw(
	isRegardlessType bool,
	rightMap map[string]interface{},
) map[string]interface{}

func (*MapAnyItemDiff) HasAnyChanges added in v1.3.28

func (it *MapAnyItemDiff) HasAnyChanges(
	isRegardlessType bool,
	rightMap map[string]interface{},
) bool

func (MapAnyItemDiff) HasAnyItem added in v1.3.16

func (it MapAnyItemDiff) HasAnyItem() bool

func (*MapAnyItemDiff) HashmapDiffUsingRaw added in v1.3.16

func (it *MapAnyItemDiff) HashmapDiffUsingRaw(
	isRegardlessType bool,
	rightMap map[string]interface{},
) MapAnyItemDiff

func (MapAnyItemDiff) IsEmpty added in v1.3.16

func (it MapAnyItemDiff) IsEmpty() bool

func (*MapAnyItemDiff) IsRawEqual added in v1.3.16

func (it *MapAnyItemDiff) IsRawEqual(
	isRegardlessType bool,
	rightMap map[string]interface{},
) bool

func (MapAnyItemDiff) Json added in v1.3.24

func (it MapAnyItemDiff) Json() corejson.Result

func (MapAnyItemDiff) JsonPtr added in v1.3.24

func (it MapAnyItemDiff) JsonPtr() *corejson.Result

func (MapAnyItemDiff) LastIndex added in v1.3.16

func (it MapAnyItemDiff) LastIndex() int

func (*MapAnyItemDiff) Length added in v1.3.16

func (it *MapAnyItemDiff) Length() int

func (MapAnyItemDiff) LogPrettyJsonString added in v1.3.24

func (it MapAnyItemDiff) LogPrettyJsonString()

func (*MapAnyItemDiff) LogShouldDiffMessage added in v1.3.16

func (it *MapAnyItemDiff) LogShouldDiffMessage(
	isRegardlessType bool,
	title string,
	rightMap map[string]interface{},
) (diffMessage string)

func (*MapAnyItemDiff) MapAnyItems added in v1.3.24

func (it *MapAnyItemDiff) MapAnyItems() *MapAnyItems

func (MapAnyItemDiff) PrettyJsonString added in v1.3.24

func (it MapAnyItemDiff) PrettyJsonString() string

func (*MapAnyItemDiff) Raw added in v1.3.16

func (it *MapAnyItemDiff) Raw() map[string]interface{}

func (*MapAnyItemDiff) RawMapDiffer added in v1.3.28

func (it *MapAnyItemDiff) RawMapDiffer() mapdiffinternal.MapStringAnyDiff

func (*MapAnyItemDiff) ShouldDiffMessage added in v1.3.16

func (it *MapAnyItemDiff) ShouldDiffMessage(
	isRegardlessType bool,
	title string,
	rightMap map[string]interface{},
) string

func (*MapAnyItemDiff) ToStringsSliceOfDiffMap added in v1.3.16

func (it *MapAnyItemDiff) ToStringsSliceOfDiffMap(
	diffMap map[string]interface{},
) (diffSlice []string)

type MapAnyItems added in v0.8.3

type MapAnyItems struct {
	Items map[string]interface{}
}

func EmptyMapAnyItems added in v0.8.3

func EmptyMapAnyItems() *MapAnyItems

func NewMapAnyItems added in v0.8.3

func NewMapAnyItems(capacity int) *MapAnyItems

func NewMapAnyItemsUsingAnyTypeMap added in v1.3.28

func NewMapAnyItemsUsingAnyTypeMap(
	anyTypeOfMap interface{},
) (*MapAnyItems, error)

func NewMapAnyItemsUsingItems added in v1.3.16

func NewMapAnyItemsUsingItems(
	itemsMap map[string]interface{},
) *MapAnyItems

func (*MapAnyItems) Add added in v0.8.3

func (it *MapAnyItems) Add(
	key string,
	valInf interface{},
) (isNewlyAdded bool)

func (*MapAnyItems) AddJsonResultPtr added in v0.8.3

func (it *MapAnyItems) AddJsonResultPtr(
	key string,
	jsonResult *corejson.Result,
) *MapAnyItems

func (*MapAnyItems) AddKeyAny added in v0.8.3

func (it *MapAnyItems) AddKeyAny(
	keyAny corejson.KeyAny,
) (isNewlyAdded bool)

func (*MapAnyItems) AddKeyAnyWithValidation added in v0.8.3

func (it *MapAnyItems) AddKeyAnyWithValidation(
	typeVerify reflect.Type,
	keyAny corejson.KeyAny,
) error

func (*MapAnyItems) AddManyMapResultsUsingOption added in v1.3.34

func (it *MapAnyItems) AddManyMapResultsUsingOption(
	isOverridingExisting bool,
	mapsOfMapsResults ...map[string]interface{},
) *MapAnyItems

func (*MapAnyItems) AddMapResult added in v1.3.34

func (it *MapAnyItems) AddMapResult(
	mapResults map[string]interface{},
) *MapAnyItems

AddMapResult

apply override on existing result

func (*MapAnyItems) AddMapResultOption added in v1.3.34

func (it *MapAnyItems) AddMapResultOption(
	isOverride bool,
	mapResults map[string]interface{},
) *MapAnyItems

func (*MapAnyItems) AddWithValidation added in v0.8.3

func (it *MapAnyItems) AddWithValidation(
	typeVerify reflect.Type,
	key string,
	anyInf interface{},
) error

func (*MapAnyItems) AllKeys added in v0.8.3

func (it *MapAnyItems) AllKeys() []string

func (*MapAnyItems) AllKeysSorted added in v0.8.5

func (it *MapAnyItems) AllKeysSorted() []string

func (*MapAnyItems) AllValues added in v0.8.3

func (it *MapAnyItems) AllValues() []interface{}

func (*MapAnyItems) Clear added in v1.1.0

func (it *MapAnyItems) Clear()

func (*MapAnyItems) ClonePtr added in v1.1.3

func (it *MapAnyItems) ClonePtr() (*MapAnyItems, error)

func (*MapAnyItems) DeepClear added in v1.1.0

func (it *MapAnyItems) DeepClear()

func (*MapAnyItems) Deserialize added in v1.1.3

func (it *MapAnyItems) Deserialize(
	key string,
	toPointer interface{},
) error

func (*MapAnyItems) DeserializeMust added in v1.1.3

func (it *MapAnyItems) DeserializeMust(
	key string,
	toPointer interface{},
)

func (*MapAnyItems) Diff added in v1.3.16

func (it *MapAnyItems) Diff(
	isRegardlessType bool,
	rightMap *MapAnyItems,
) *MapAnyItems

func (*MapAnyItems) DiffJsonMessage added in v1.3.28

func (it *MapAnyItems) DiffJsonMessage(
	isRegardlessType bool,
	rightMap map[string]interface{},
) string

func (*MapAnyItems) DiffRaw added in v1.3.16

func (it *MapAnyItems) DiffRaw(
	isRegardlessType bool,
	rightMap map[string]interface{},
) map[string]interface{}

func (*MapAnyItems) Dispose added in v1.1.0

func (it *MapAnyItems) Dispose()

func (*MapAnyItems) Get added in v0.8.3

func (it *MapAnyItems) Get(
	key string,
) (any interface{}, has bool)

func (*MapAnyItems) GetFieldsMap added in v1.3.34

func (it *MapAnyItems) GetFieldsMap(
	key string,
) (
	fieldMap map[string]interface{},
	parsingErr error,
	isFound bool,
)

func (*MapAnyItems) GetItemRef added in v0.8.3

func (it *MapAnyItems) GetItemRef(
	key string,
	referenceOut interface{},
) error

func (*MapAnyItems) GetManyItemsRefs added in v0.8.3

func (it *MapAnyItems) GetManyItemsRefs(
	keyAnyItems ...corejson.KeyAny,
) error

func (*MapAnyItems) GetNewMapUsingKeys added in v0.8.5

func (it *MapAnyItems) GetNewMapUsingKeys(
	isPanicOnMissing bool,
	keys ...string,
) *MapAnyItems

func (*MapAnyItems) GetPagedCollection added in v0.8.5

func (it *MapAnyItems) GetPagedCollection(
	eachPageSize int,
) []*MapAnyItems

func (*MapAnyItems) GetPagesSize added in v0.8.5

func (it *MapAnyItems) GetPagesSize(
	eachPageSize int,
) int

func (*MapAnyItems) GetSafeFieldsMap added in v1.3.34

func (it *MapAnyItems) GetSafeFieldsMap(
	key string,
) (
	fieldMap map[string]interface{},
	isFound bool,
)

GetSafeFieldsMap

Warning:

Swallows the parsing err if any

func (*MapAnyItems) GetSinglePageCollection added in v0.8.5

func (it *MapAnyItems) GetSinglePageCollection(
	eachPageSize int,
	pageIndex int,
	allKeys []string,
) *MapAnyItems

GetSinglePageCollection PageIndex is one based index. Should be above or equal 1

func (*MapAnyItems) GetUsingUnmarshallAt added in v0.8.3

func (it *MapAnyItems) GetUsingUnmarshallAt(
	key string,
	unmarshalRef interface{},
) error

func (*MapAnyItems) GetUsingUnmarshallManyAt added in v0.8.3

func (it *MapAnyItems) GetUsingUnmarshallManyAt(
	keyAnyItems ...corejson.KeyAny,
) error

func (*MapAnyItems) GetValue added in v1.3.34

func (it *MapAnyItems) GetValue(
	key string,
) (any interface{})

func (*MapAnyItems) HasAnyChanges added in v1.3.28

func (it *MapAnyItems) HasAnyChanges(
	isRegardlessType bool,
	rightMap map[string]interface{},
) bool

func (*MapAnyItems) HasAnyItem added in v0.8.3

func (it *MapAnyItems) HasAnyItem() bool

func (*MapAnyItems) HasKey added in v0.8.3

func (it *MapAnyItems) HasKey(key string) bool

func (*MapAnyItems) HashmapDiffUsingRaw added in v1.3.28

func (it *MapAnyItems) HashmapDiffUsingRaw(
	isRegardlessType bool,
	rightMap map[string]interface{},
) MapAnyItemDiff

func (*MapAnyItems) IsEmpty added in v0.8.3

func (it *MapAnyItems) IsEmpty() bool

func (*MapAnyItems) IsEqual added in v1.1.0

func (it *MapAnyItems) IsEqual(
	right *MapAnyItems,
) bool

func (*MapAnyItems) IsEqualRaw added in v1.1.0

func (it *MapAnyItems) IsEqualRaw(
	rightMappedItems map[string]interface{},
) bool

func (*MapAnyItems) IsRawEqual added in v1.3.28

func (it *MapAnyItems) IsRawEqual(
	isRegardlessType bool,
	rightMap map[string]interface{},
) bool

func (MapAnyItems) Json added in v0.8.3

func (it MapAnyItems) Json() corejson.Result

func (*MapAnyItems) JsonMapResults added in v0.8.3

func (it *MapAnyItems) JsonMapResults() (*corejson.MapResults, error)

func (*MapAnyItems) JsonModel added in v0.8.3

func (it *MapAnyItems) JsonModel() *corejson.MapResults

func (*MapAnyItems) JsonModelAny added in v0.8.3

func (it *MapAnyItems) JsonModelAny() interface{}

func (*MapAnyItems) JsonParseSelfInject added in v0.8.3

func (it *MapAnyItems) JsonParseSelfInject(
	jsonResult *corejson.Result,
) error

func (MapAnyItems) JsonPtr added in v0.9.1

func (it MapAnyItems) JsonPtr() *corejson.Result

func (*MapAnyItems) JsonResultOfKey added in v0.8.3

func (it *MapAnyItems) JsonResultOfKey(
	key string,
) *corejson.Result

func (*MapAnyItems) JsonResultOfKeys added in v0.8.3

func (it *MapAnyItems) JsonResultOfKeys(
	keys ...string,
) *corejson.MapResults

func (*MapAnyItems) JsonResultsCollection added in v0.8.5

func (it *MapAnyItems) JsonResultsCollection() *corejson.ResultsCollection

func (*MapAnyItems) JsonResultsPtrCollection added in v0.8.5

func (it *MapAnyItems) JsonResultsPtrCollection() *corejson.ResultsPtrCollection

func (*MapAnyItems) JsonString added in v0.8.3

func (it *MapAnyItems) JsonString() (jsonString string, err error)

func (*MapAnyItems) JsonStringMust added in v0.8.3

func (it *MapAnyItems) JsonStringMust() string

func (*MapAnyItems) Length added in v0.8.3

func (it *MapAnyItems) Length() int

func (*MapAnyItems) LogShouldDiffMessage added in v1.3.28

func (it *MapAnyItems) LogShouldDiffMessage(
	isRegardlessType bool,
	title string,
	rightMap map[string]interface{},
) (diffMessage string)

func (*MapAnyItems) MapAnyItems added in v1.3.28

func (it *MapAnyItems) MapAnyItems() *MapAnyItems

func (*MapAnyItems) MapStringAnyDiff added in v1.3.28

func (it *MapAnyItems) MapStringAnyDiff() mapdiffinternal.MapStringAnyDiff

func (*MapAnyItems) ParseInjectUsingJson added in v0.8.3

func (it *MapAnyItems) ParseInjectUsingJson(
	jsonResult *corejson.Result,
) (*MapAnyItems, error)

func (*MapAnyItems) ParseInjectUsingJsonMust added in v0.8.3

func (it *MapAnyItems) ParseInjectUsingJsonMust(
	jsonResult *corejson.Result,
) *MapAnyItems

ParseInjectUsingJsonMust Panic if error

func (*MapAnyItems) RawMapStringAnyDiff added in v1.3.28

func (it *MapAnyItems) RawMapStringAnyDiff() mapdiffinternal.MapStringAnyDiff

func (*MapAnyItems) ReflectSetTo added in v1.3.12

func (it *MapAnyItems) ReflectSetTo(
	key string,
	toPointerOrBytes interface{},
) error

func (*MapAnyItems) ReflectSetToMust added in v1.3.12

func (it *MapAnyItems) ReflectSetToMust(
	key string,
	toPointerOrBytes interface{},
)

func (*MapAnyItems) Set added in v1.3.16

func (it *MapAnyItems) Set(
	key string,
	valInf interface{},
) (isNewlyAdded bool)

func (*MapAnyItems) ShouldDiffMessage added in v1.3.28

func (it *MapAnyItems) ShouldDiffMessage(
	isRegardlessType bool,
	title string,
	rightMap map[string]interface{},
) string

func (*MapAnyItems) String added in v0.8.3

func (it *MapAnyItems) String() string

func (*MapAnyItems) Strings added in v0.8.3

func (it *MapAnyItems) Strings() []string

func (*MapAnyItems) ToStringsSliceOfDiffMap added in v1.3.28

func (it *MapAnyItems) ToStringsSliceOfDiffMap(
	diffMap map[string]interface{},
) (diffSlice []string)

type SimpleInOutConverter

type SimpleInOutConverter func(in interface{}, typeMust reflect.Type) *SimpleResult

type SimpleRequest

type SimpleRequest struct {
	Dynamic
	// contains filtered or unexported fields
}

func InvalidSimpleRequest added in v0.5.1

func InvalidSimpleRequest(
	message string,
) *SimpleRequest

func InvalidSimpleRequestNoMessage added in v0.5.1

func InvalidSimpleRequestNoMessage() *SimpleRequest

func NewSimpleRequest

func NewSimpleRequest(
	request interface{},
	isValid bool,
	message string,
) *SimpleRequest

func NewSimpleRequestValid added in v0.6.5

func NewSimpleRequestValid(
	request interface{},
) *SimpleRequest

func (*SimpleRequest) GetErrorOnTypeMismatch

func (receiver *SimpleRequest) GetErrorOnTypeMismatch(
	typeMatch reflect.Type,
	isIncludeInvalidMessage bool,
) error

func (*SimpleRequest) InvalidError

func (receiver *SimpleRequest) InvalidError() error

func (*SimpleRequest) IsPointer

func (receiver *SimpleRequest) IsPointer() bool

func (*SimpleRequest) IsReflectKind

func (receiver *SimpleRequest) IsReflectKind(checkingKind reflect.Kind) bool

func (*SimpleRequest) Message added in v0.5.1

func (receiver *SimpleRequest) Message() string

func (*SimpleRequest) Request

func (receiver *SimpleRequest) Request() interface{}

func (*SimpleRequest) Value

func (receiver *SimpleRequest) Value() interface{}

type SimpleRequestConverter

type SimpleRequestConverter func(request SimpleRequest) *SimpleResult

type SimpleResult

type SimpleResult struct {
	Dynamic
	Result  interface{}
	Message string
	// contains filtered or unexported fields
}

func InvalidSimpleResult added in v0.5.1

func InvalidSimpleResult(
	invalidMessage string,
) *SimpleResult

func InvalidSimpleResultNoMessage added in v0.5.1

func InvalidSimpleResultNoMessage() *SimpleResult

func NewSimpleResult

func NewSimpleResult(
	result interface{},
	isValid bool,
	invalidMessage string,
) *SimpleResult

func NewSimpleResultValid added in v0.6.5

func NewSimpleResultValid(
	result interface{},
) *SimpleResult

func (*SimpleResult) Clone added in v0.5.1

func (it *SimpleResult) Clone() SimpleResult

func (*SimpleResult) ClonePtr added in v0.8.5

func (it *SimpleResult) ClonePtr() *SimpleResult

func (*SimpleResult) GetErrorOnTypeMismatch

func (it *SimpleResult) GetErrorOnTypeMismatch(
	typeMatch reflect.Type,
	isIncludeInvalidMessage bool,
) error

func (*SimpleResult) InvalidError

func (it *SimpleResult) InvalidError() error

type TypeStatus added in v1.1.0

type TypeStatus struct {
	IsSame                                bool
	IsLeftUnknownNull, IsRightUnknownNull bool
	IsRightPointer, IsLeftPointer         bool
	Left, Right                           reflect.Type
	// contains filtered or unexported fields
}

func TypeSameStatus added in v1.1.0

func TypeSameStatus(
	left, right interface{},
) TypeStatus

func (TypeStatus) IsAnyPointer added in v1.1.0

func (it TypeStatus) IsAnyPointer() bool

func (TypeStatus) IsBothPointer added in v1.1.0

func (it TypeStatus) IsBothPointer() bool

func (*TypeStatus) IsEqual added in v1.1.0

func (it *TypeStatus) IsEqual(next *TypeStatus) bool

func (*TypeStatus) IsInvalid added in v1.1.0

func (it *TypeStatus) IsInvalid() bool

func (TypeStatus) IsNotEqualTypes added in v1.1.0

func (it TypeStatus) IsNotEqualTypes() bool

func (TypeStatus) IsNotSame added in v1.1.0

func (it TypeStatus) IsNotSame() bool

func (TypeStatus) IsSameRegardlessPointer added in v1.1.0

func (it TypeStatus) IsSameRegardlessPointer() bool

func (*TypeStatus) IsValid added in v1.1.0

func (it *TypeStatus) IsValid() bool

func (TypeStatus) LeftFullName added in v1.1.0

func (it TypeStatus) LeftFullName() string

func (TypeStatus) LeftName added in v1.1.0

func (it TypeStatus) LeftName() string

func (TypeStatus) MustBeSame added in v1.1.0

func (it TypeStatus) MustBeSame()

func (TypeStatus) NonPointerLeft added in v1.1.0

func (it TypeStatus) NonPointerLeft() reflect.Type

func (TypeStatus) NonPointerRight added in v1.1.0

func (it TypeStatus) NonPointerRight() reflect.Type

func (TypeStatus) NotEqualSrcDestinationErr added in v1.1.0

func (it TypeStatus) NotEqualSrcDestinationErr() error

func (TypeStatus) NotEqualSrcDestinationMessage added in v1.1.0

func (it TypeStatus) NotEqualSrcDestinationMessage() string

func (TypeStatus) NotMatchErr added in v1.1.0

func (it TypeStatus) NotMatchErr(
	leftName,
	rightName string,
) error

func (TypeStatus) NotMatchMessage added in v1.1.0

func (it TypeStatus) NotMatchMessage(
	leftName,
	rightName string,
) string

func (TypeStatus) RightFullName added in v1.1.0

func (it TypeStatus) RightFullName() string

func (TypeStatus) RightName added in v1.1.0

func (it TypeStatus) RightName() string

func (TypeStatus) SrcDestinationMustBeSame added in v1.1.0

func (it TypeStatus) SrcDestinationMustBeSame()

type ValueStatus added in v0.4.7

type ValueStatus struct {
	IsValid bool
	Message string
	Index   int
	Value   interface{}
}

func InvalidValueStatus added in v0.5.1

func InvalidValueStatus(message string) *ValueStatus

func InvalidValueStatusNoMessage added in v0.5.1

func InvalidValueStatusNoMessage() *ValueStatus

Jump to

Keyboard shortcuts

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