Sha256: 51ee3f28b306c3d78e3d23f83530fbe3883d3c0d3f145b925c0e7cb9a1a6ed55

Contents?: true

Size: 1.5 KB

Versions: 16

Compression:

Stored size: 1.5 KB

Contents

package xml

// mapEntryWrapper is the default member wrapper start element for XML Map entry
var mapEntryWrapper = StartElement{
	Name: Name{Local: "entry"},
}

// Map represents the encoding of a XML map type
type Map struct {
	w       writer
	scratch *[]byte

	// member start element is the map entry wrapper start element
	memberStartElement StartElement

	// isFlattened returns true if the map is a flattened map
	isFlattened bool
}

// newMap returns a map encoder which sets the default map
// entry wrapper to `entry`.
//
// A map `someMap : {{key:"abc", value:"123"}}` is represented as
// `<someMap><entry><key>abc<key><value>123</value></entry></someMap>`.
func newMap(w writer, scratch *[]byte) *Map {
	return &Map{
		w:                  w,
		scratch:            scratch,
		memberStartElement: mapEntryWrapper,
	}
}

// newFlattenedMap returns a map encoder which sets the map
// entry wrapper to the passed in memberWrapper`.
//
// A flattened map `someMap : {{key:"abc", value:"123"}}` is represented as
// `<someMap><key>abc<key><value>123</value></someMap>`.
func newFlattenedMap(w writer, scratch *[]byte, memberWrapper StartElement) *Map {
	return &Map{
		w:                  w,
		scratch:            scratch,
		memberStartElement: memberWrapper,
		isFlattened:        true,
	}
}

// Entry returns a Value encoder with map's element.
// It writes the member wrapper start tag for each entry.
func (m *Map) Entry() Value {
	v := newValue(m.w, m.scratch, m.memberStartElement)
	v.isFlattened = m.isFlattened
	return v
}

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
ruby_snowflake_client-1.3.7 ext/vendor/github.com/aws/smithy-go/encoding/xml/map.go
ruby_snowflake_client-1.3.6 ext/vendor/github.com/aws/smithy-go/encoding/xml/map.go
ruby_snowflake_client-1.3.5 ext/vendor/github.com/aws/smithy-go/encoding/xml/map.go
ruby_snowflake_client-1.3.4 ext/vendor/github.com/aws/smithy-go/encoding/xml/map.go
ruby_snowflake_client-1.3.4.pre.debug ext/vendor/github.com/aws/smithy-go/encoding/xml/map.go
ruby_snowflake_client-1.3.3.pre.debug ext/vendor/github.com/aws/smithy-go/encoding/xml/map.go
ruby_snowflake_client-1.3.2 ext/vendor/github.com/aws/smithy-go/encoding/xml/map.go
ruby_snowflake_client-1.3.1 ext/vendor/github.com/aws/smithy-go/encoding/xml/map.go
ruby_snowflake_client-1.3.0 ext/vendor/github.com/aws/smithy-go/encoding/xml/map.go
ruby_snowflake_client-1.2.1 ext/vendor/github.com/aws/smithy-go/encoding/xml/map.go
ruby_snowflake_client-1.2.0 ext/vendor/github.com/aws/smithy-go/encoding/xml/map.go
ruby_snowflake_client-1.1.1 ext/vendor/github.com/aws/smithy-go/encoding/xml/map.go
ruby_snowflake_client-1.1.0 ext/vendor/github.com/aws/smithy-go/encoding/xml/map.go
ruby_snowflake_client-1.0.2 ext/vendor/github.com/aws/smithy-go/encoding/xml/map.go
ruby_snowflake_client-1.0.1 ext/vendor/github.com/aws/smithy-go/encoding/xml/map.go
ruby_snowflake_client-1.0.0 ext/vendor/github.com/aws/smithy-go/encoding/xml/map.go