content

package
v0.9.10 Latest Latest
Warning

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

Go to latest
Published: Sep 27, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	JSONFormat            = "json"
	XMLFormat             = "xml"
	XLSFormat             = "xls"
	CSVFormat             = "csv"
	JSONDataFormatTabular = "tabular"
)
View Source
const (
	XLSContentType    = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
	CSVContentType    = "text/csv"
	JSONContentType   = "application/json"
	TabularJSONFormat = "application/json"
	XMLContentType    = "application/xml"
)
View Source
const (
	HeaderContentType = "Content-Type"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CSV

type CSV struct {
	Unmarshal
}

type CSVConfig

type CSVConfig struct {
	Separator string
	NullValue string

	InputMarshaller  *csv.Marshaller
	OutputMarshaller *csv.Marshaller
	// contains filtered or unexported fields
}

func (*CSVConfig) Unmarshal

func (c *CSVConfig) Unmarshal(bytes []byte, i interface{}) error

type Content

type Content struct {
	Marshaller  Marshaller         `json:",omitempty"`
	DateFormat  string             `json:",omitempty"`
	CSV         *CSVConfig         `json:",omitempty"`
	XLS         *XLSConfig         `json:",omitempty"`
	XML         *XMLConfig         `json:",omitempty"`
	TabularJSON *TabularJSONConfig `json:",omitempty"`
	Transforms  marshal.Transforms `json:"Transforms,omitempty" yaml:"Transforms,omitempty" `
	// contains filtered or unexported fields
}

func (*Content) InitMarshaller

func (c *Content) InitMarshaller(config *config.IOConfig, exclude []string, inputType, outputType reflect.Type) error

func (*Content) Marshal

func (c *Content) Marshal(format string, field string, response interface{}, options ...interface{}) ([]byte, error)

Marshal marshals response TODO refactor it to take just a marshaller for format, marshaller should only deal with response (requiring field, reader data seems code design issue)

func (*Content) UnmarshalFunc

func (c *Content) UnmarshalFunc(request *http.Request) shared.Unmarshal

func (*Content) UnmarshallerInterceptors

func (c *Content) UnmarshallerInterceptors() marshal.Transforms

type JSON

type JSON struct {
	Unmarshal
	JsonMarshaller *json.Marshaller
}

type Marshaller

type Marshaller struct {
	XLS  XLS
	JSON JSON
	XML  Unmarshal
	CSV  Unmarshal
}

func (*Marshaller) Init

func (m *Marshaller) Init(lookupType xreflect.LookupType) error

type TabularJSONConfig

type TabularJSONConfig struct {
	FloatPrecision string

	InputMarhsaller  *tabjson.Marshaller
	OutputMarshaller *tabjson.Marshaller
	// contains filtered or unexported fields
}

type Unmarshal

type Unmarshal struct {
	TypeName string
	// contains filtered or unexported fields
}

func (*Unmarshal) Init

func (u *Unmarshal) Init(lookupType xreflect.LookupType) error

func (*Unmarshal) Unmarshal

func (u *Unmarshal) Unmarshal(bytes []byte, dest interface{}) error

type Unmarshaller

type Unmarshaller interface {
	Unmarshal(bytes []byte, dest interface{}) error
}

type XLS

type XLS struct {
	Unmarshal
	XlsMarshaller *xlsy.Marshaller
}

type XLSConfig

type XLSConfig struct {
	DefaultStyle string
	SheetName    string
	Styles       map[string]string //name of style, values
}

func (*XLSConfig) Options

func (x *XLSConfig) Options() []xlsy.Option

type XMLConfig

type XMLConfig struct {
	FloatPrecision string

	InputMarshaller  *xmlify.Marshaller
	OutputMarshaller *xmlify.Marshaller
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

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