diff options
| author | 2025-03-09 17:47:56 +0100 | |
|---|---|---|
| committer | 2025-12-01 22:08:04 +0100 | |
| commit | b1af8fd87760b34e3ff2fd3bda38f211815a0473 (patch) | |
| tree | 9317fad1a7ec298d7a8d2678e4e422953bbc6f33 /vendor/github.com/ugorji/go/codec/binc.base.go | |
| parent | [chore] update URLs to forked source (diff) | |
| download | gotosocial-b1af8fd87760b34e3ff2fd3bda38f211815a0473.tar.xz | |
[chore] remove vendor
Diffstat (limited to 'vendor/github.com/ugorji/go/codec/binc.base.go')
| -rw-r--r-- | vendor/github.com/ugorji/go/codec/binc.base.go | 194 |
1 files changed, 0 insertions, 194 deletions
diff --git a/vendor/github.com/ugorji/go/codec/binc.base.go b/vendor/github.com/ugorji/go/codec/binc.base.go deleted file mode 100644 index 29da5acdb..000000000 --- a/vendor/github.com/ugorji/go/codec/binc.base.go +++ /dev/null @@ -1,194 +0,0 @@ -// Copyright (c) 2012-2020 Ugorji Nwoke. All rights reserved. -// Use of this source code is governed by a MIT license found in the LICENSE file. - -package codec - -import ( - "reflect" - "time" -) - -// Symbol management: -// - symbols are stored in a symbol map during encoding and decoding. -// - the symbols persist until the (En|De)coder ResetXXX method is called. - -const bincDoPrune = true - -// vd as low 4 bits (there are 16 slots) -const ( - bincVdSpecial byte = iota - bincVdPosInt - bincVdNegInt - bincVdFloat - - bincVdString - bincVdByteArray - bincVdArray - bincVdMap - - bincVdTimestamp - bincVdSmallInt - _ // bincVdUnicodeOther - bincVdSymbol - - _ // bincVdDecimal - _ // open slot - _ // open slot - bincVdCustomExt = 0x0f -) - -const ( - bincSpNil byte = iota - bincSpFalse - bincSpTrue - bincSpNan - bincSpPosInf - bincSpNegInf - bincSpZeroFloat - bincSpZero - bincSpNegOne -) - -const ( - _ byte = iota // bincFlBin16 - bincFlBin32 - _ // bincFlBin32e - bincFlBin64 - _ // bincFlBin64e - // others not currently supported -) - -const bincBdNil = 0 // bincVdSpecial<<4 | bincSpNil // staticcheck barfs on this (SA4016) - -var ( - bincdescSpecialVsNames = map[byte]string{ - bincSpNil: "nil", - bincSpFalse: "false", - bincSpTrue: "true", - bincSpNan: "float", - bincSpPosInf: "float", - bincSpNegInf: "float", - bincSpZeroFloat: "float", - bincSpZero: "uint", - bincSpNegOne: "int", - } - bincdescVdNames = map[byte]string{ - bincVdSpecial: "special", - bincVdSmallInt: "uint", - bincVdPosInt: "uint", - bincVdFloat: "float", - bincVdSymbol: "string", - bincVdString: "string", - bincVdByteArray: "bytes", - bincVdTimestamp: "time", - bincVdCustomExt: "ext", - bincVdArray: "array", - bincVdMap: "map", - } -) - -func bincdescbd(bd byte) (s string) { - return bincdesc(bd>>4, bd&0x0f) -} - -func bincdesc(vd, vs byte) (s string) { - if vd == bincVdSpecial { - s = bincdescSpecialVsNames[vs] - } else { - s = bincdescVdNames[vd] - } - if s == "" { - s = "unknown" - } - return -} - -type bincEncState struct { - m map[string]uint16 // symbols -} - -// func (e *bincEncState) restoreState(v interface{}) { e.m = v.(map[string]uint16) } -// func (e bincEncState) captureState() interface{} { return e.m } -// func (e *bincEncState) resetState() { e.m = nil } -// func (e *bincEncState) reset() { e.resetState() } -func (e *bincEncState) reset() { e.m = nil } - -type bincDecState struct { - bdRead bool - bd byte - vd byte - vs byte - - _ bool - // MARKER: consider using binary search here instead of a map (ie bincDecSymbol) - s map[uint16][]byte -} - -// func (x bincDecState) captureState() interface{} { return x } -// func (x *bincDecState) resetState() { *x = bincDecState{} } -// func (x *bincDecState) reset() { x.resetState() } -// func (x *bincDecState) restoreState(v interface{}) { *x = v.(bincDecState) } -func (x *bincDecState) reset() { *x = bincDecState{} } - -//------------------------------------ - -// BincHandle is a Handle for the Binc Schema-Free Encoding Format -// defined at https://github.com/ugorji/binc . -// -// BincHandle currently supports all Binc features with the following EXCEPTIONS: -// - only integers up to 64 bits of precision are supported. -// big integers are unsupported. -// - Only IEEE 754 binary32 and binary64 floats are supported (ie Go float32 and float64 types). -// extended precision and decimal IEEE 754 floats are unsupported. -// - Only UTF-8 strings supported. -// Unicode_Other Binc types (UTF16, UTF32) are currently unsupported. -// -// Note that these EXCEPTIONS are temporary and full support is possible and may happen soon. -type BincHandle struct { - binaryEncodingType - notJsonType - // noElemSeparators - BasicHandle - - // AsSymbols defines what should be encoded as symbols. - // - // Encoding as symbols can reduce the encoded size significantly. - // - // However, during decoding, each string to be encoded as a symbol must - // be checked to see if it has been seen before. Consequently, encoding time - // will increase if using symbols, because string comparisons has a clear cost. - // - // Values: - // - 0: default: library uses best judgement - // - 1: use symbols - // - 2: do not use symbols - AsSymbols uint8 - - // AsSymbols: may later on introduce more options ... - // - m: map keys - // - s: struct fields - // - n: none - // - a: all: same as m, s, ... - - // _ [7]uint64 // padding (cache-aligned) -} - -// Name returns the name of the handle: binc -func (h *BincHandle) Name() string { return "binc" } - -func (h *BincHandle) desc(bd byte) string { return bincdesc(bd>>4, bd&0x0f) } - -// SetBytesExt sets an extension -func (h *BincHandle) SetBytesExt(rt reflect.Type, tag uint64, ext BytesExt) (err error) { - return h.SetExt(rt, tag, makeExt(ext)) -} - -// var timeDigits = [...]byte{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'} - -func bincEncodeTime(t time.Time) []byte { - return customEncodeTime(t) -} - -func bincDecodeTime(bs []byte) (tt time.Time, err error) { - return customDecodeTime(bs) -} |
