// ------------------------------------------------------------------------ // Project atila // Active Thing (activething.com) git.activething.com/go // // File name object_packer.go // Created by DEV // Modified 23/01/2024 // // Copyright 2024 activething.com // ------------------------------------------------------------------------ // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // ------------------------------------------------------------------------ package pjson import ( "activething.com/go/gogo/packets" "time" ) func (p *Packer) Field (name string, value any) { p.addField(name,func(pk *Packer) { pk.Pack(value) }) } func (p *Packer) FieldRaw (name string, value []byte) { p.addField(name,func(pk *Packer) { pk.PackRaw(value) }) } func (p *Packer) FieldBinary( name string, value []byte) { p.addField(name,func(pk *Packer) { pk.PackBinary(value) }) } func (p *Packer) FieldString( name string, value string) { p.addField(name,func(pk *Packer) { pk.PackString(value) }) } func (p *Packer) FieldBool ( name string, value bool) { p.addField(name,func(pk *Packer) { pk.PackBool(value) }) } func (p *Packer) FieldInt8 ( name string, value int8) { p.addField(name,func(pk *Packer) { pk.PackInt64(int64(value)) }) } func (p *Packer) FieldInt16 ( name string, value int16) { p.addField(name,func(pk *Packer) { pk.PackInt64(int64(value)) }) } func (p *Packer) FieldInt32 ( name string, value int32) { p.addField(name,func(pk *Packer) { pk.PackInt64(int64(value)) }) } func (p *Packer) FieldInt64 ( name string, value int64) { p.addField(name,func(pk *Packer) { pk.PackInt64(value) }) } func (p *Packer) FieldUInt8 ( name string, value uint8) { p.addField(name,func(pk *Packer) { pk.PackUInt64(uint64(value)) }) } func (p *Packer) FieldUInt16 ( name string, value uint16) { p.addField(name,func(pk *Packer) { pk.PackUInt64(uint64(value)) }) } func (p *Packer) FieldUInt32 ( name string, value uint32) { p.addField(name,func(pk *Packer) { pk.PackUInt64(uint64(value)) }) } func (p *Packer) FieldUInt64 ( name string, value uint64) { p.addField(name,func(pk *Packer) { pk.PackUInt64(value) }) } func (p *Packer) FieldFloat32( name string, value float32) { p.addField(name,func(pk *Packer) { pk.PackFloat64(float64(value)) }) } func (p *Packer) FieldFloat64( name string, value float64) { p.addField(name,func(pk *Packer) { pk.PackFloat64(value) }) } func (p *Packer) FieldDate ( name string, value time.Time) { p.addField(name,func(pk *Packer) { pk.PackDate(value) }) } func (p *Packer) FieldList (name string, builder func(packer packs.ListPacker)) { p.addField(name,func(pk *Packer) { pk.PackList(builder) }) } func (p *Packer) FieldMap (name string, builder func(packer packs.MapPacker )) { p.addField(name,func(pk *Packer) { pk.PackMap(builder) }) } func (p *Packer) FieldObject(name string, builder func(packer packs.ObjectPacker)) { p.addField(name,func(pk *Packer) { pk.PackObject(builder) }) }