Documentation
¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Lookup ¶
Example ¶
package main import ( "fmt" "go.llib.dev/frameless/port/crud/extid" ) type Entity struct { ID string `ext:"id"` } func main() { ent := Entity{} _, ok := extid.Lookup[string](ent) fmt.Println(`found:`, ok) // false ent.ID = `42` id, ok := extid.Lookup[string](ent) fmt.Println(`found:`, ok) // true fmt.Println(`id value:`, id) // "42" }
func RegisterType ¶
Types ¶
type Accessor ¶ added in v0.239.0
type Accessor[ENT, ID any] func(*ENT) *ID
Accessor is a function that allows describing how to access an ID field in an ENT type. The returned id pointer will be used to Lookup its value, or to set new value to this ID pointer. Its functions will panic if func is provided, but it returns a nil pointer, as it is considered as implementation error.
Example implementation:
extid.Accessor[Foo, FooID](func(v Foo) *FooID { return &v.ID })
default: extid.Lookup, extid.Set, which will use either the `ext:"id"` tag, or the `ENT.ID()` & `ENT.SetID()` methods.
type LookupIDFunc ¶ added in v0.242.0
Click to show internal directories.
Click to hide internal directories.