package modes

import "k8s.io/apimachinery/pkg/runtime/serializer/cbor/internal/modes"

Index

Variables

var Decode cbor.DecMode = func() cbor.DecMode {
	opts := decode.DecOptions()

	opts.JSONUnmarshalerTranscoder = TranscodeFunc(TranscodeToJSON)
	dm, err := opts.DecMode()
	if err != nil {
		panic(err)
	}
	return dm
}()
var DecodeLax cbor.DecMode = func() cbor.DecMode {
	opts := Decode.DecOptions()
	opts.ExtraReturnErrors &^= cbor.ExtraDecErrorUnknownField
	dm, err := opts.DecMode()
	if err != nil {
		panic(err)
	}
	return dm
}()

DecodeLax is derived from Decode, but does not complain about unknown fields in the input.

var Diagnostic cbor.DiagMode = func() cbor.DiagMode {
	opts := Decode.DecOptions()
	diagnostic, err := cbor.DiagOptions{
		ByteStringText: true,

		MaxNestedLevels:  opts.MaxNestedLevels,
		MaxArrayElements: opts.MaxArrayElements,
		MaxMapPairs:      opts.MaxMapPairs,
	}.DiagMode()
	if err != nil {
		panic(err)
	}
	return diagnostic
}()
var Encode = EncMode{
	// contains filtered or unexported fields
}
var EncodeNondeterministic = EncMode{
	// contains filtered or unexported fields
}

Functions

func TranscodeFromJSON

func TranscodeFromJSON(dst io.Writer, src io.Reader) error

func TranscodeToJSON

func TranscodeToJSON(dst io.Writer, src io.Reader) error

Types

type BufferProvider

type BufferProvider struct {
	// contains filtered or unexported fields
}

func (*BufferProvider) Get

func (b *BufferProvider) Get() *buffer

func (*BufferProvider) Put

func (b *BufferProvider) Put(buf *buffer)

type EncMode

type EncMode struct {
	// contains filtered or unexported fields
}

func (EncMode) Marshal

func (em EncMode) Marshal(v interface{}) ([]byte, error)

func (EncMode) MarshalTo

func (em EncMode) MarshalTo(v interface{}, w io.Writer) error

type TranscodeFunc

type TranscodeFunc func(dst io.Writer, src io.Reader) error

func (TranscodeFunc) Transcode

func (f TranscodeFunc) Transcode(dst io.Writer, src io.Reader) error

Source Files

buffers.go decode.go diagnostic.go encode.go transcoding.go

Version
v0.34.1
Published
Aug 16, 2025
Platform
linux/amd64
Imports
8 packages
Last checked
15 minutes ago

Tools for package owners.