resolver

package
v0.8.1 Latest Latest
Warning

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

Go to latest
Published: Dec 29, 2025 License: MIT Imports: 2 Imported by: 0

Documentation

Index

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.

Jump to

Keyboard shortcuts

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