Documentation
¶
Index ¶
- type DefaultResolver
- func (r *DefaultResolver) Default() errdef.Definition
- func (r *DefaultResolver) ResolveField(key errdef.FieldKey, want any) (errdef.Definition, bool)
- func (r *DefaultResolver) ResolveFieldFunc(key errdef.FieldKey, eq func(v errdef.FieldValue) bool) (errdef.Definition, bool)
- func (r *DefaultResolver) ResolveFieldFuncOrDefault(key errdef.FieldKey, eq func(v errdef.FieldValue) bool) errdef.Definition
- func (r *DefaultResolver) ResolveFieldOrDefault(key errdef.FieldKey, want any) errdef.Definition
- func (r *DefaultResolver) ResolveKind(kind errdef.Kind) (errdef.Definition, bool)
- func (r *DefaultResolver) ResolveKindOrDefault(kind errdef.Kind) errdef.Definition
- type Resolver
- type StrictResolver
- func (r *StrictResolver) ResolveField(key errdef.FieldKey, want any) (errdef.Definition, bool)
- func (r *StrictResolver) ResolveFieldFunc(key errdef.FieldKey, eq func(v errdef.FieldValue) bool) (errdef.Definition, bool)
- func (r *StrictResolver) ResolveKind(kind errdef.Kind) (errdef.Definition, bool)
- func (r *StrictResolver) WithDefault(defaultDef errdef.Definition) *DefaultResolver
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DefaultResolver ¶ added in v0.7.0
type DefaultResolver struct {
// contains filtered or unexported fields
}
DefaultResolver wraps a Resolver with default functionality, returning a default definition when resolution fails.
func (*DefaultResolver) Default ¶ added in v0.7.0
func (r *DefaultResolver) Default() errdef.Definition
Default returns the default definition.
func (*DefaultResolver) ResolveField ¶ added in v0.7.0
func (r *DefaultResolver) ResolveField(key errdef.FieldKey, want any) (errdef.Definition, bool)
ResolveField implements Resolver.
func (*DefaultResolver) ResolveFieldFunc ¶ added in v0.7.0
func (r *DefaultResolver) ResolveFieldFunc(key errdef.FieldKey, eq func(v errdef.FieldValue) bool) (errdef.Definition, bool)
ResolveFieldFunc implements Resolver.
func (*DefaultResolver) ResolveFieldFuncOrDefault ¶ added in v0.7.0
func (r *DefaultResolver) ResolveFieldFuncOrDefault(key errdef.FieldKey, eq func(v errdef.FieldValue) bool) errdef.Definition
ResolveFieldFuncOrDefault resolves a definition using a custom field evaluation function. Returns the default definition if resolution fails.
func (*DefaultResolver) ResolveFieldOrDefault ¶ added in v0.7.0
func (r *DefaultResolver) ResolveFieldOrDefault(key errdef.FieldKey, want any) errdef.Definition
ResolveFieldOrDefault resolves a definition by matching a field value. Returns the default definition if resolution fails.
func (*DefaultResolver) ResolveKind ¶ added in v0.7.0
func (r *DefaultResolver) ResolveKind(kind errdef.Kind) (errdef.Definition, bool)
ResolveKind implements Resolver.
func (*DefaultResolver) ResolveKindOrDefault ¶ added in v0.7.0
func (r *DefaultResolver) ResolveKindOrDefault(kind errdef.Kind) errdef.Definition
ResolveKindOrDefault resolves a definition by its Kind. Returns the default definition if resolution fails.
type Resolver ¶
type Resolver interface {
// ResolveKind resolves a definition by its Kind.
// Returns the definition and true if found, nil and false otherwise.
ResolveKind(kind errdef.Kind) (errdef.Definition, bool)
// ResolveField resolves a definition by matching a field value.
// Returns the first definition that has the specified field key with the exact value.
ResolveField(key errdef.FieldKey, want any) (errdef.Definition, bool)
// ResolveFieldFunc resolves a definition using a custom field evaluation function.
// Returns the first definition where the eq function returns true for the field value.
ResolveFieldFunc(key errdef.FieldKey, eq func(v errdef.FieldValue) bool) (errdef.Definition, bool)
}
Resolver provides error definitions for resolution.
type StrictResolver ¶
type StrictResolver struct {
// contains filtered or unexported fields
}
StrictResolver manages multiple error definitions and provides resolution functionality based on Kind or Field criteria.
func New ¶
func New(defs ...errdef.Definition) *StrictResolver
New creates a new Resolver with the given definitions. If multiple definitions have the same Kind, the first one wins.
func (*StrictResolver) ResolveField ¶ added in v0.7.0
func (r *StrictResolver) ResolveField(key errdef.FieldKey, want any) (errdef.Definition, bool)
ResolveField implements Resolver.
func (*StrictResolver) ResolveFieldFunc ¶ added in v0.7.0
func (r *StrictResolver) ResolveFieldFunc(key errdef.FieldKey, eq func(v errdef.FieldValue) bool) (errdef.Definition, bool)
ResolveFieldFunc implements Resolver.
func (*StrictResolver) ResolveKind ¶ added in v0.7.0
func (r *StrictResolver) ResolveKind(kind errdef.Kind) (errdef.Definition, bool)
ResolveKind implements Resolver.
func (*StrictResolver) WithDefault ¶ added in v0.7.0
func (r *StrictResolver) WithDefault(defaultDef errdef.Definition) *DefaultResolver
WithDefault creates a new DefaultResolver that uses the given definition as a default when resolution fails.