flat

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2024 License: MIT Imports: 8 Imported by: 10

Documentation

Overview

Package flat provides a flat view of an arbitrary nested structs.

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrUnexpectedType is returned when flatten sees an unsupported type.
	ErrUnexpectedType = errors.New("Unexpected type, expecting a pointer to struct")
)

Functions

This section is empty.

Types

type Field

type Field interface {
	// Name returns the name for a given tag, if any
	// and also whatever the returned name is "explicit" by
	// the user or plugins are allowed to rewrite it.
	Name(tag string) (string, bool)

	Tag(key string) (string, bool)

	Meta() map[string]string

	String() string
	Set(string) error
	IsZero() bool
}

Field describe an interface to our flat structs fields.

type Fields

type Fields []Field

Fields is a slice of Field.

func View

func View(s interface{}) (Fields, error)

View provides a flat view of the provided structs an array of fields. sub-struct fields are prefixed with the struct key (not type) followed by a dot, this is repeated for each nested level.

Jump to

Keyboard shortcuts

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