jsonstd

package
v0.22.0 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2023 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// KnownTypeFields holds the list of json property names
	// that can contain type discriminators.
	KnownTypeFields = []string{"$type", "@type"}

	// KnownValuesFields holds the list of json property names
	// that can contain values for discriminated arrays.
	KnownValuesFields = []string{"$values", "@values"}
)
View Source
var (
	// CamelCase directs the json encoding of keys to use camelcase notation.
	CamelCase = miruken.Options(Options{
		Transformers: []transform.Transformer{
			transform.OnlyForDirection(
				transform.Marshal,
				transform.CamelCaseKeys(false)),
		},
	})
)

Functions

func Feature

func Feature(config ...func(installer *Installer)) miruken.Feature

Types

type Installer

type Installer struct{}

Installer configure json support.

func (*Installer) Install

func (i *Installer) Install(setup *miruken.SetupBuilder) error

type Mapper

type Mapper struct{}

Mapper formats to and from json using encoding/json.

func (*Mapper) FromJson

func (m *Mapper) FromJson(
	_ *struct {
		maps.It
		maps.Format `from:"application/json"`
	}, jsonString string,
	_ *struct {
		miruken.Optional
		miruken.FromOptions
	}, options Options,
	_ *struct {
		miruken.Optional
		miruken.FromOptions
	}, apiOptions api.Options,
	maps *maps.It,
	ctx miruken.HandleContext,
) (any, error)

func (*Mapper) FromJsonStream

func (m *Mapper) FromJsonStream(
	_ *struct {
		maps.It
		maps.Format `from:"application/json"`
	}, stream io.Reader,
	_ *struct {
		miruken.Optional
		miruken.FromOptions
	}, options Options,
	_ *struct {
		miruken.Optional
		miruken.FromOptions
	}, apiOptions api.Options,
	maps *maps.It,
	ctx miruken.HandleContext,
) (any, error)

func (*Mapper) ToJson

func (m *Mapper) ToJson(
	_ *struct {
		maps.It
		maps.Format `to:"application/json"`
	}, maps *maps.It,
	_ *struct {
		miruken.Optional
		miruken.FromOptions
	}, options Options,
	_ *struct {
		miruken.Optional
		miruken.FromOptions
	}, apiOptions api.Options,
	ctx miruken.HandleContext,
) (js string, err error)

func (*Mapper) ToJsonStream

func (m *Mapper) ToJsonStream(
	_ *struct {
		maps.It
		maps.Format `to:"application/json"`
	}, maps *maps.It,
	_ *struct {
		miruken.Optional
		miruken.FromOptions
	}, options Options,
	_ *struct {
		miruken.Optional
		miruken.FromOptions
	}, apiOptions api.Options,
	ctx miruken.HandleContext,
) (stream io.Writer, err error)

type Options

type Options struct {
	Prefix       string
	Indent       string
	EscapeHTML   miruken.Option[bool]
	Transformers []transform.Transformer
}

Options provide options for controlling json encoding.

Jump to

Keyboard shortcuts

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