Documentation
¶
Index ¶
- Variables
- func GenericSetinPro[Data any, Datas ~[]*Data, Key comparable, Keys ~[]Key, SubData any, ...](ctx context.Context, datas Datas, dataSubKeys func(*Data) Keys, ...) error
- func ReversedSetin[Data interface{}, DataPtr interface{ ... }, Datas ~[]DataPtr, Key comparable, ...](ctx context.Context, datas Datas, ...) error
- func ReversedSetinPro[Data any, DataPtr ~*Data, Datas ~[]DataPtr, Key comparable, Keys ~[]Key, ...](ctx context.Context, datas Datas, dataKey func(DataPtr) Key, ...) error
- func ReversedSetinX[Datas ~[]DataPtr, Keys ~[]Key, SubDatas ~[]SubData, Data interface{}, ...](ctx context.Context, datas Datas, ...) error
- func Setin[Data any, Datas ~[]*Data, Key comparable, Keys ~[]Key, ...](ctx context.Context, datas Datas, dataSubKeys func(*Data) Keys, ...) error
- func SetinPro[Data any, Datas ~[]*Data, Key comparable, Keys ~[]Key, SubData any, ...](ctx context.Context, datas Datas, dataSubKeys func(*Data) Keys, ...) error
- func SetinX[Datas ~[]*Data, SubDatas ~[]SubData, Keys ~[]Key, Data any, Key comparable, ...](ctx context.Context, datas Datas, dataSubKeys func(*Data) Keys, ...) error
- type ClonableSetinerInterface
- type CommonSetinerInterface
- type SetinAction
- func (setiner *SetinAction[Data, Datas, DataInstances]) Clone() ClonableSetinerInterface
- func (setiner *SetinAction[Data, Datas, DataInstances]) Dup() *SetinAction[Data, Datas, DataInstances]
- func (action *SetinAction[Data, Datas, DataInstances]) Setin(ctx context.Context, setins []string) error
- func (action *SetinAction[Data, Datas, DataInstances]) SetinX(ctx context.Context, setins ...string) error
- func (action *SetinAction[Data, Datas, DataInstances]) WithData(data *Data) *SetinAction[Data, Datas, DataInstances]
- func (action *SetinAction[Data, Datas, DataInstances]) WithDataInstances(datas DataInstances) *SetinAction[Data, Datas, DataInstances]
- func (action *SetinAction[Data, Datas, DataInstances]) WithDataX(dataX any) (*SetinAction[Data, Datas, DataInstances], error)
- func (action *SetinAction[Data, Datas, DataInstances]) WithDatas(datas Datas) *SetinAction[Data, Datas, DataInstances]
- func (action *SetinAction[Data, Datas, DataInstances]) WithSetineds(setineds any) (CommonSetinerInterface, error)
- type SetinHandler
- func NewReversedSetinHandler[Data any, DataPtr interface{ ... }, Datas ~[]DataPtr, Key comparable, ...](subDataFetcher func(ctx context.Context, keys Keys) (SubDatas, error), ...) SetinHandler[Data, DataPtr, Datas]
- func NewReversedSetinHandlerPro[Data any, DataPtr ~*Data, Datas ~[]DataPtr, Key comparable, Keys ~[]Key, ...](dataKey func(DataPtr) Key, ...) SetinHandler[Data, DataPtr, Datas]
- func NewSetinHandler[Data any, Datas ~[]*Data, Key comparable, Keys ~[]Key, ...](dataSubKeys func(*Data) Keys, ...) SetinHandler[Data, *Data, Datas]
- func NewSetinHandlerPro[Data any, Datas ~[]*Data, Key comparable, Keys ~[]Key, SubData any, ...](dataSubKeys func(*Data) Keys, ...) SetinHandler[Data, *Data, Datas]
- type SetinHandlerMapping
- func (mapping SetinHandlerMapping[Data, Datas]) NewSetiner() *Setiner[Data, Datas, []Data]
- func (mapping SetinHandlerMapping[Data, Datas]) NewTesters() SetinTesters[Data, Datas]
- func (mapping SetinHandlerMapping[Data, Datas]) Self() SetinHandlerMapping[Data, Datas]
- func (mapping SetinHandlerMapping[Data, Datas]) Setin(ctx context.Context, datas Datas, setins []string) error
- func (mapping SetinHandlerMapping[Data, Datas]) SetinOne(ctx context.Context, datas Datas, setin string) (bool, error)
- func (mapping SetinHandlerMapping[Data, Datas]) WithHandler(name string, handler SetinHandler[Data, *Data, Datas]) SetinHandlerMapping[Data, Datas]
- type SetinTester
- type SetinTesters
- func (testers SetinTesters[Data, Datas]) Append(more ...SetinTester[Data, *Data, Datas]) SetinTesters[Data, Datas]
- func (testers SetinTesters[Data, Datas]) NewSetiner() *Setiner[Data, Datas, []Data]
- func (testers SetinTesters[Data, Datas]) Setin(ctx context.Context, datas Datas, setins []string) error
- func (testers SetinTesters[Data, Datas]) SetinOne(ctx context.Context, datas Datas, setin string) error
- type Setiner
- func (setiner *Setiner[Data, Datas, DataInstances]) Action() *SetinAction[Data, Datas, DataInstances]
- func (setiner *Setiner[Data, Datas, DataInstances]) ActionFor(datas Datas) *SetinAction[Data, Datas, DataInstances]
- func (setiner *Setiner[Data, Datas, DataInstances]) SetinFor(ctx context.Context, dataX any, setins []string) error
- func (setiner *Setiner[Data, Datas, DataInstances]) SetinForData(ctx context.Context, data *Data, setins []string) error
- func (setiner *Setiner[Data, Datas, DataInstances]) SetinForDataInstances(ctx context.Context, instances DataInstances, setins []string) error
- func (setiner *Setiner[Data, Datas, DataInstances]) SetinForDatas(ctx context.Context, datas Datas, setins []string) error
- type UnknownSetinError
Constants ¶
This section is empty.
Variables ¶
View Source
var BadDataTypeError = errors.New("bad data type")
Functions ¶
func GenericSetinPro ¶ added in v1.0.3
func GenericSetinPro[ Data any, Datas ~[]*Data, Key comparable, Keys ~[]Key, SubData any, SubDatas ~[]SubData, SubDatasMapping ~map[Key]SubDatas, ]( ctx context.Context, datas Datas, dataSubKeys func(*Data) Keys, subDataFetcher func(ctx context.Context, keys Keys) (SubDatas, error), subDataKeys func(SubData) Keys, setinHandler func(data *Data, subDatasMapping SubDatasMapping) *Data, ) error
func ReversedSetin ¶
func ReversedSetin[
Data interface {
},
DataPtr interface {
~*Data
GetId() Key
},
Datas ~[]DataPtr,
Key comparable,
Keys ~[]Key,
SubData any,
SubDatas ~[]SubData,
SubDatasMapping ~map[Key]SubDatas,
](
ctx context.Context,
datas Datas,
subDataFetcher func(ctx context.Context, keys Keys) (SubDatas, error),
subDataKeys func(SubData) Keys,
setinHandler func(data DataPtr, subDatasMapping SubDatasMapping) *Data,
) error
func ReversedSetinPro ¶ added in v1.0.3
func ReversedSetinPro[ Data any, DataPtr ~*Data, Datas ~[]DataPtr, Key comparable, Keys ~[]Key, SubData any, SubDatas ~[]SubData, SubDatasMapping ~map[Key]SubDatas, ]( ctx context.Context, datas Datas, dataKey func(DataPtr) Key, subDataFetcher func(ctx context.Context, keys Keys) (SubDatas, error), subDataKeys func(SubData) Keys, setinHandler func(data DataPtr, subDatasMapping SubDatasMapping) *Data, ) error
func ReversedSetinX ¶
func ReversedSetinX[
Datas ~[]DataPtr,
Keys ~[]Key,
SubDatas ~[]SubData,
Data interface {
},
DataPtr interface {
~*Data
GetId() Key
},
Key comparable,
SubData any,
SubDatasMapping ~map[Key]SubDatas,
](
ctx context.Context,
datas Datas,
subDataFetcher func(ctx context.Context, keys Keys) (SubDatas, error),
subDataKeys func(SubData) Keys,
setinHandler func(data DataPtr, subDatasMapping SubDatasMapping) *Data,
) error
调整类型参数顺序,方便指定
func Setin ¶
func Setin[ Data any, Datas ~[]*Data, Key comparable, Keys ~[]Key, SubData interface { GetId() Key }, SubDatas ~[]SubData, SubDataMapping ~map[Key]SubData, ]( ctx context.Context, datas Datas, dataSubKeys func(*Data) Keys, subDataFetcher func(ctx context.Context, keys Keys) (SubDatas, error), setinHandler func(data *Data, subDataMapping SubDataMapping) *Data, ) error
func SetinPro ¶ added in v1.0.3
func SetinPro[ Data any, Datas ~[]*Data, Key comparable, Keys ~[]Key, SubData any, SubDatas ~[]SubData, SubDataMapping ~map[Key]SubData, ]( ctx context.Context, datas Datas, dataSubKeys func(*Data) Keys, subDataFetcher func(ctx context.Context, keys Keys) (SubDatas, error), subDataKey func(SubData) Key, setinHandler func(data *Data, subDataMapping SubDataMapping) *Data, ) error
func SetinX ¶
func SetinX[ Datas ~[]*Data, SubDatas ~[]SubData, Keys ~[]Key, Data any, Key comparable, SubData interface { GetId() Key }, SubDataMapping ~map[Key]SubData, ]( ctx context.Context, datas Datas, dataSubKeys func(*Data) Keys, subDataFetcher func(ctx context.Context, keys Keys) (SubDatas, error), setinHandler func(data *Data, subDataMapping SubDataMapping) *Data, ) error
调整类型参数顺序,方便指定
Types ¶
type ClonableSetinerInterface ¶
type ClonableSetinerInterface interface {
CommonSetinerInterface
Clone() ClonableSetinerInterface
}
type CommonSetinerInterface ¶
type SetinAction ¶
type SetinAction[Data any, Datas ~[]*Data, DataInstances ~[]Data] struct { *Setiner[Data, Datas, DataInstances] // contains filtered or unexported fields }
A SetinAction is A Setiner with datas, it can Dup, Clone, WithData and finally Setin.
func NewSetinAction ¶
func NewSetinAction[Data any, Datas ~[]*Data, DataInstances ~[]Data](setiner *Setiner[Data, Datas, DataInstances], datas Datas) *SetinAction[Data, Datas, DataInstances]
func (*SetinAction[Data, Datas, DataInstances]) Clone ¶
func (setiner *SetinAction[Data, Datas, DataInstances]) Clone() ClonableSetinerInterface
func (*SetinAction[Data, Datas, DataInstances]) Dup ¶
func (setiner *SetinAction[Data, Datas, DataInstances]) Dup() *SetinAction[Data, Datas, DataInstances]
func (*SetinAction[Data, Datas, DataInstances]) Setin ¶
func (action *SetinAction[Data, Datas, DataInstances]) Setin(ctx context.Context, setins []string) error
func (*SetinAction[Data, Datas, DataInstances]) SetinX ¶
func (action *SetinAction[Data, Datas, DataInstances]) SetinX(ctx context.Context, setins ...string) error
func (*SetinAction[Data, Datas, DataInstances]) WithData ¶
func (action *SetinAction[Data, Datas, DataInstances]) WithData(data *Data) *SetinAction[Data, Datas, DataInstances]
func (*SetinAction[Data, Datas, DataInstances]) WithDataInstances ¶
func (action *SetinAction[Data, Datas, DataInstances]) WithDataInstances(datas DataInstances) *SetinAction[Data, Datas, DataInstances]
func (*SetinAction[Data, Datas, DataInstances]) WithDataX ¶
func (action *SetinAction[Data, Datas, DataInstances]) WithDataX(dataX any) (*SetinAction[Data, Datas, DataInstances], error)
func (*SetinAction[Data, Datas, DataInstances]) WithDatas ¶
func (action *SetinAction[Data, Datas, DataInstances]) WithDatas(datas Datas) *SetinAction[Data, Datas, DataInstances]
func (*SetinAction[Data, Datas, DataInstances]) WithSetineds ¶
func (action *SetinAction[Data, Datas, DataInstances]) WithSetineds(setineds any) (CommonSetinerInterface, error)
type SetinHandler ¶
type SetinHandler[Data any, DataPtr ~*Data, Datas ~[]DataPtr] func(ctx context.Context, datas Datas) error
func NewReversedSetinHandler ¶
func NewReversedSetinHandler[ Data any, DataPtr interface { ~*Data GetId() Key }, Datas ~[]DataPtr, Key comparable, Keys ~[]Key, SubData any, SubDatas ~[]SubData, SubDatasMapping ~map[Key]SubDatas, ]( subDataFetcher func(ctx context.Context, keys Keys) (SubDatas, error), subDataKeys func(SubData) Keys, setinHandler func(data DataPtr, subDatasMapping SubDatasMapping) *Data, ) SetinHandler[Data, DataPtr, Datas]
func NewReversedSetinHandlerPro ¶ added in v1.0.3
func NewReversedSetinHandlerPro[ Data any, DataPtr ~*Data, Datas ~[]DataPtr, Key comparable, Keys ~[]Key, SubData any, SubDatas ~[]SubData, SubDatasMapping ~map[Key]SubDatas, ]( dataKey func(DataPtr) Key, subDataFetcher func(ctx context.Context, keys Keys) (SubDatas, error), subDataKeys func(SubData) Keys, setinHandler func(data DataPtr, subDatasMapping SubDatasMapping) *Data, ) SetinHandler[Data, DataPtr, Datas]
func NewSetinHandler ¶
func NewSetinHandler[ Data any, Datas ~[]*Data, Key comparable, Keys ~[]Key, SubData interface { GetId() Key }, SubDatas ~[]SubData, SubDataMapping ~map[Key]SubData, ]( dataSubKeys func(*Data) Keys, subDataFetcher func(ctx context.Context, keys Keys) (SubDatas, error), setinHandler func(data *Data, subDataMapping SubDataMapping) *Data, ) SetinHandler[Data, *Data, Datas]
func NewSetinHandlerPro ¶ added in v1.0.3
func NewSetinHandlerPro[ Data any, Datas ~[]*Data, Key comparable, Keys ~[]Key, SubData any, SubDatas ~[]SubData, SubDataMapping ~map[Key]SubData, ]( dataSubKeys func(*Data) Keys, subDataFetcher func(ctx context.Context, keys Keys) (SubDatas, error), subDataKey func(SubData) Key, setinHandler func(data *Data, subDataMapping SubDataMapping) *Data, ) SetinHandler[Data, *Data, Datas]
Create A Setin Handler
type SetinHandlerMapping ¶
type SetinHandlerMapping[Data any, Datas ~[]*Data] map[string]SetinHandler[Data, *Data, Datas]
func NewSetinHandlerMapping ¶
func NewSetinHandlerMapping[Data any, Datas ~[]*Data]() SetinHandlerMapping[Data, Datas]
func (SetinHandlerMapping[Data, Datas]) NewSetiner ¶
func (mapping SetinHandlerMapping[Data, Datas]) NewSetiner() *Setiner[Data, Datas, []Data]
func (SetinHandlerMapping[Data, Datas]) NewTesters ¶ added in v1.0.4
func (mapping SetinHandlerMapping[Data, Datas]) NewTesters() SetinTesters[Data, Datas]
func (SetinHandlerMapping[Data, Datas]) Self ¶
func (mapping SetinHandlerMapping[Data, Datas]) Self() SetinHandlerMapping[Data, Datas]
func (SetinHandlerMapping[Data, Datas]) Setin ¶
func (mapping SetinHandlerMapping[Data, Datas]) Setin(ctx context.Context, datas Datas, setins []string) error
func (SetinHandlerMapping[Data, Datas]) WithHandler ¶
func (mapping SetinHandlerMapping[Data, Datas]) WithHandler(name string, handler SetinHandler[Data, *Data, Datas]) SetinHandlerMapping[Data, Datas]
type SetinTester ¶ added in v1.0.4
type SetinTesters ¶ added in v1.0.4
type SetinTesters[Data any, Datas ~[]*Data] []SetinTester[Data, *Data, Datas]
func NewSetinTesters ¶ added in v1.0.4
func NewSetinTesters[Data any, Datas ~[]*Data](testers ...SetinTester[Data, *Data, Datas]) SetinTesters[Data, Datas]
func (SetinTesters[Data, Datas]) Append ¶ added in v1.0.4
func (testers SetinTesters[Data, Datas]) Append(more ...SetinTester[Data, *Data, Datas]) SetinTesters[Data, Datas]
func (SetinTesters[Data, Datas]) NewSetiner ¶ added in v1.0.4
func (testers SetinTesters[Data, Datas]) NewSetiner() *Setiner[Data, Datas, []Data]
type Setiner ¶
type Setiner[Data any, Datas ~[]*Data, DataInstances ~[]Data] struct { SetinTesters[Data, Datas] }
func NewSetiner ¶
func NewSetiner[Data any, Datas ~[]*Data, DataInstances ~[]Data](testers SetinTesters[Data, Datas]) *Setiner[Data, Datas, DataInstances]
func (*Setiner[Data, Datas, DataInstances]) Action ¶
func (setiner *Setiner[Data, Datas, DataInstances]) Action() *SetinAction[Data, Datas, DataInstances]
func (*Setiner[Data, Datas, DataInstances]) ActionFor ¶
func (setiner *Setiner[Data, Datas, DataInstances]) ActionFor(datas Datas) *SetinAction[Data, Datas, DataInstances]
func (*Setiner[Data, Datas, DataInstances]) SetinForData ¶
func (*Setiner[Data, Datas, DataInstances]) SetinForDataInstances ¶
type UnknownSetinError ¶
type UnknownSetinError struct {
// contains filtered or unexported fields
}
func NewUnknownSetinError ¶
func NewUnknownSetinError(setin string) UnknownSetinError
func (UnknownSetinError) Error ¶
func (e UnknownSetinError) Error() string
Click to show internal directories.
Click to hide internal directories.