Skip to content

Commit 5c6a358

Browse files
Scheme Encoding for generic. small fixes. Test Usages examples
1 parent 128d610 commit 5c6a358

4 files changed

Lines changed: 1192 additions & 9 deletions

File tree

access/put.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -535,6 +535,10 @@ func packAnyValueSortedMap(p *PutAccess, v any, useNumeric bool) error {
535535
return err
536536
}
537537

538+
func (p *PutAccess) AddAny(m any, useNumeric bool) error {
539+
return packAnyValue(p, m, useNumeric)
540+
}
541+
538542
func (p *PutAccess) AddMapAny(m map[string]any, useNumeric bool) error {
539543
p.offsets = binary.LittleEndian.AppendUint16(
540544
p.offsets,
@@ -651,3 +655,20 @@ func (p *PutAccess) PackBuff(buffer []byte) (int, error) {
651655
func (p *PutAccess) AddPackable(v Packable) {
652656
v.PackInto(p)
653657
}
658+
659+
func (p *PutAccess) BeginMap() *PutAccess {
660+
p.offsets = binary.LittleEndian.AppendUint16(p.offsets, types.EncodeHeader(p.position, types.TypeMap))
661+
return NewPutAccessFromPool()
662+
}
663+
664+
func (p *PutAccess) BeginTuple() *PutAccess {
665+
p.offsets = binary.LittleEndian.AppendUint16(
666+
p.offsets,
667+
types.EncodeHeader(p.position, types.TypeTuple),
668+
)
669+
return NewPutAccessFromPool()
670+
}
671+
672+
func (p *PutAccess) EndNested(nested *PutAccess) {
673+
p.appendAndReleaseNested(nested)
674+
}

0 commit comments

Comments
 (0)