metadecoders

package
v0.74.0 Latest Latest
Warning

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

Go to latest
Published: Jul 13, 2020 License: Apache-2.0 Imports: 16 Imported by: 27

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Default = Decoder{
	Delimiter: ',',
}

Default is a Decoder in its default configuration.

Functions

This section is empty.

Types

type Decoder

type Decoder struct {
	// Delimiter is the field delimiter used in the CSV decoder. It defaults to ','.
	Delimiter rune

	// Comment, if not 0, is the comment character ued in the CSV decoder. Lines beginning with the
	// Comment character without preceding whitespace are ignored.
	Comment rune
}

Decoder provides some configuration options for the decoders.

func (Decoder) FormatFromContentString

func (d Decoder) FormatFromContentString(data string) Format

FormatFromContentString tries to detect the format (JSON, YAML or TOML) in the given string. It return an empty string if no format could be detected.

func (Decoder) OptionsKey

func (d Decoder) OptionsKey() string

OptionsKey is used in cache keys.

func (Decoder) Unmarshal

func (d Decoder) Unmarshal(data []byte, f Format) (interface{}, error)

Unmarshal will unmarshall data in format f into an interface{}. This is what's needed for Hugo's /data handling.

func (Decoder) UnmarshalFileToMap

func (d Decoder) UnmarshalFileToMap(fs afero.Fs, filename string) (map[string]interface{}, error)

UnmarshalFileToMap is the same as UnmarshalToMap, but reads the data from the given filename.

func (Decoder) UnmarshalStringTo added in v0.56.0

func (d Decoder) UnmarshalStringTo(data string, typ interface{}) (interface{}, error)

UnmarshalStringTo tries to unmarshal data to a new instance of type typ.

func (Decoder) UnmarshalTo added in v0.74.0

func (d Decoder) UnmarshalTo(data []byte, f Format, v interface{}) error

UnmarshalTo unmarshals data in format f into v.

func (Decoder) UnmarshalToMap

func (d Decoder) UnmarshalToMap(data []byte, f Format) (map[string]interface{}, error)

UnmarshalToMap will unmarshall data in format f into a new map. This is what's needed for Hugo's front matter decoding.

type Format

type Format string
const (
	// These are the supported metdata  formats in Hugo. Most of these are also
	// supported as /data formats.
	ORG  Format = "org"
	JSON Format = "json"
	TOML Format = "toml"
	YAML Format = "yaml"
	CSV  Format = "csv"
)

func FormatFromMediaType

func FormatFromMediaType(m media.Type) Format

FormatFromMediaType gets the Format given a MIME type, empty string if unknown.

func FormatFromString

func FormatFromString(formatStr string) Format

FormatFromString turns formatStr, typically a file extension without any ".", into a Format. It returns an empty string for unknown formats.

Jump to

Keyboard shortcuts

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