Files
mautrix-telegram/pkg/gotd/tdapi/tl_thumbnail_format_gen.go
T
2025-06-27 20:03:37 -07:00

1162 lines
31 KiB
Go
Generated

// Code generated by gotdgen, DO NOT EDIT.
package tdapi
import (
"context"
"errors"
"fmt"
"sort"
"strings"
"go.uber.org/multierr"
"go.mau.fi/mautrix-telegram/pkg/gotd/bin"
"go.mau.fi/mautrix-telegram/pkg/gotd/tdjson"
"go.mau.fi/mautrix-telegram/pkg/gotd/tdp"
"go.mau.fi/mautrix-telegram/pkg/gotd/tgerr"
)
// No-op definition for keeping imports.
var (
_ = bin.Buffer{}
_ = context.Background()
_ = fmt.Stringer(nil)
_ = strings.Builder{}
_ = errors.Is
_ = multierr.AppendInto
_ = sort.Ints
_ = tdp.Format
_ = tgerr.Error{}
_ = tdjson.Encoder{}
)
// ThumbnailFormatJpeg represents TL type `thumbnailFormatJpeg#d90c5488`.
type ThumbnailFormatJpeg struct {
}
// ThumbnailFormatJpegTypeID is TL type id of ThumbnailFormatJpeg.
const ThumbnailFormatJpegTypeID = 0xd90c5488
// construct implements constructor of ThumbnailFormatClass.
func (t ThumbnailFormatJpeg) construct() ThumbnailFormatClass { return &t }
// Ensuring interfaces in compile-time for ThumbnailFormatJpeg.
var (
_ bin.Encoder = &ThumbnailFormatJpeg{}
_ bin.Decoder = &ThumbnailFormatJpeg{}
_ bin.BareEncoder = &ThumbnailFormatJpeg{}
_ bin.BareDecoder = &ThumbnailFormatJpeg{}
_ ThumbnailFormatClass = &ThumbnailFormatJpeg{}
)
func (t *ThumbnailFormatJpeg) Zero() bool {
if t == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (t *ThumbnailFormatJpeg) String() string {
if t == nil {
return "ThumbnailFormatJpeg(nil)"
}
type Alias ThumbnailFormatJpeg
return fmt.Sprintf("ThumbnailFormatJpeg%+v", Alias(*t))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*ThumbnailFormatJpeg) TypeID() uint32 {
return ThumbnailFormatJpegTypeID
}
// TypeName returns name of type in TL schema.
func (*ThumbnailFormatJpeg) TypeName() string {
return "thumbnailFormatJpeg"
}
// TypeInfo returns info about TL type.
func (t *ThumbnailFormatJpeg) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "thumbnailFormatJpeg",
ID: ThumbnailFormatJpegTypeID,
}
if t == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (t *ThumbnailFormatJpeg) Encode(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatJpeg#d90c5488 as nil")
}
b.PutID(ThumbnailFormatJpegTypeID)
return t.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (t *ThumbnailFormatJpeg) EncodeBare(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatJpeg#d90c5488 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (t *ThumbnailFormatJpeg) Decode(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatJpeg#d90c5488 to nil")
}
if err := b.ConsumeID(ThumbnailFormatJpegTypeID); err != nil {
return fmt.Errorf("unable to decode thumbnailFormatJpeg#d90c5488: %w", err)
}
return t.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (t *ThumbnailFormatJpeg) DecodeBare(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatJpeg#d90c5488 to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (t *ThumbnailFormatJpeg) EncodeTDLibJSON(b tdjson.Encoder) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatJpeg#d90c5488 as nil")
}
b.ObjStart()
b.PutID("thumbnailFormatJpeg")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (t *ThumbnailFormatJpeg) DecodeTDLibJSON(b tdjson.Decoder) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatJpeg#d90c5488 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("thumbnailFormatJpeg"); err != nil {
return fmt.Errorf("unable to decode thumbnailFormatJpeg#d90c5488: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// ThumbnailFormatGif represents TL type `thumbnailFormatGif#4aa3258a`.
type ThumbnailFormatGif struct {
}
// ThumbnailFormatGifTypeID is TL type id of ThumbnailFormatGif.
const ThumbnailFormatGifTypeID = 0x4aa3258a
// construct implements constructor of ThumbnailFormatClass.
func (t ThumbnailFormatGif) construct() ThumbnailFormatClass { return &t }
// Ensuring interfaces in compile-time for ThumbnailFormatGif.
var (
_ bin.Encoder = &ThumbnailFormatGif{}
_ bin.Decoder = &ThumbnailFormatGif{}
_ bin.BareEncoder = &ThumbnailFormatGif{}
_ bin.BareDecoder = &ThumbnailFormatGif{}
_ ThumbnailFormatClass = &ThumbnailFormatGif{}
)
func (t *ThumbnailFormatGif) Zero() bool {
if t == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (t *ThumbnailFormatGif) String() string {
if t == nil {
return "ThumbnailFormatGif(nil)"
}
type Alias ThumbnailFormatGif
return fmt.Sprintf("ThumbnailFormatGif%+v", Alias(*t))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*ThumbnailFormatGif) TypeID() uint32 {
return ThumbnailFormatGifTypeID
}
// TypeName returns name of type in TL schema.
func (*ThumbnailFormatGif) TypeName() string {
return "thumbnailFormatGif"
}
// TypeInfo returns info about TL type.
func (t *ThumbnailFormatGif) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "thumbnailFormatGif",
ID: ThumbnailFormatGifTypeID,
}
if t == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (t *ThumbnailFormatGif) Encode(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatGif#4aa3258a as nil")
}
b.PutID(ThumbnailFormatGifTypeID)
return t.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (t *ThumbnailFormatGif) EncodeBare(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatGif#4aa3258a as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (t *ThumbnailFormatGif) Decode(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatGif#4aa3258a to nil")
}
if err := b.ConsumeID(ThumbnailFormatGifTypeID); err != nil {
return fmt.Errorf("unable to decode thumbnailFormatGif#4aa3258a: %w", err)
}
return t.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (t *ThumbnailFormatGif) DecodeBare(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatGif#4aa3258a to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (t *ThumbnailFormatGif) EncodeTDLibJSON(b tdjson.Encoder) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatGif#4aa3258a as nil")
}
b.ObjStart()
b.PutID("thumbnailFormatGif")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (t *ThumbnailFormatGif) DecodeTDLibJSON(b tdjson.Decoder) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatGif#4aa3258a to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("thumbnailFormatGif"); err != nil {
return fmt.Errorf("unable to decode thumbnailFormatGif#4aa3258a: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// ThumbnailFormatMpeg4 represents TL type `thumbnailFormatMpeg4#109b57fe`.
type ThumbnailFormatMpeg4 struct {
}
// ThumbnailFormatMpeg4TypeID is TL type id of ThumbnailFormatMpeg4.
const ThumbnailFormatMpeg4TypeID = 0x109b57fe
// construct implements constructor of ThumbnailFormatClass.
func (t ThumbnailFormatMpeg4) construct() ThumbnailFormatClass { return &t }
// Ensuring interfaces in compile-time for ThumbnailFormatMpeg4.
var (
_ bin.Encoder = &ThumbnailFormatMpeg4{}
_ bin.Decoder = &ThumbnailFormatMpeg4{}
_ bin.BareEncoder = &ThumbnailFormatMpeg4{}
_ bin.BareDecoder = &ThumbnailFormatMpeg4{}
_ ThumbnailFormatClass = &ThumbnailFormatMpeg4{}
)
func (t *ThumbnailFormatMpeg4) Zero() bool {
if t == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (t *ThumbnailFormatMpeg4) String() string {
if t == nil {
return "ThumbnailFormatMpeg4(nil)"
}
type Alias ThumbnailFormatMpeg4
return fmt.Sprintf("ThumbnailFormatMpeg4%+v", Alias(*t))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*ThumbnailFormatMpeg4) TypeID() uint32 {
return ThumbnailFormatMpeg4TypeID
}
// TypeName returns name of type in TL schema.
func (*ThumbnailFormatMpeg4) TypeName() string {
return "thumbnailFormatMpeg4"
}
// TypeInfo returns info about TL type.
func (t *ThumbnailFormatMpeg4) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "thumbnailFormatMpeg4",
ID: ThumbnailFormatMpeg4TypeID,
}
if t == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (t *ThumbnailFormatMpeg4) Encode(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatMpeg4#109b57fe as nil")
}
b.PutID(ThumbnailFormatMpeg4TypeID)
return t.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (t *ThumbnailFormatMpeg4) EncodeBare(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatMpeg4#109b57fe as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (t *ThumbnailFormatMpeg4) Decode(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatMpeg4#109b57fe to nil")
}
if err := b.ConsumeID(ThumbnailFormatMpeg4TypeID); err != nil {
return fmt.Errorf("unable to decode thumbnailFormatMpeg4#109b57fe: %w", err)
}
return t.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (t *ThumbnailFormatMpeg4) DecodeBare(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatMpeg4#109b57fe to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (t *ThumbnailFormatMpeg4) EncodeTDLibJSON(b tdjson.Encoder) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatMpeg4#109b57fe as nil")
}
b.ObjStart()
b.PutID("thumbnailFormatMpeg4")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (t *ThumbnailFormatMpeg4) DecodeTDLibJSON(b tdjson.Decoder) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatMpeg4#109b57fe to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("thumbnailFormatMpeg4"); err != nil {
return fmt.Errorf("unable to decode thumbnailFormatMpeg4#109b57fe: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// ThumbnailFormatPng represents TL type `thumbnailFormatPng#5e0697f5`.
type ThumbnailFormatPng struct {
}
// ThumbnailFormatPngTypeID is TL type id of ThumbnailFormatPng.
const ThumbnailFormatPngTypeID = 0x5e0697f5
// construct implements constructor of ThumbnailFormatClass.
func (t ThumbnailFormatPng) construct() ThumbnailFormatClass { return &t }
// Ensuring interfaces in compile-time for ThumbnailFormatPng.
var (
_ bin.Encoder = &ThumbnailFormatPng{}
_ bin.Decoder = &ThumbnailFormatPng{}
_ bin.BareEncoder = &ThumbnailFormatPng{}
_ bin.BareDecoder = &ThumbnailFormatPng{}
_ ThumbnailFormatClass = &ThumbnailFormatPng{}
)
func (t *ThumbnailFormatPng) Zero() bool {
if t == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (t *ThumbnailFormatPng) String() string {
if t == nil {
return "ThumbnailFormatPng(nil)"
}
type Alias ThumbnailFormatPng
return fmt.Sprintf("ThumbnailFormatPng%+v", Alias(*t))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*ThumbnailFormatPng) TypeID() uint32 {
return ThumbnailFormatPngTypeID
}
// TypeName returns name of type in TL schema.
func (*ThumbnailFormatPng) TypeName() string {
return "thumbnailFormatPng"
}
// TypeInfo returns info about TL type.
func (t *ThumbnailFormatPng) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "thumbnailFormatPng",
ID: ThumbnailFormatPngTypeID,
}
if t == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (t *ThumbnailFormatPng) Encode(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatPng#5e0697f5 as nil")
}
b.PutID(ThumbnailFormatPngTypeID)
return t.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (t *ThumbnailFormatPng) EncodeBare(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatPng#5e0697f5 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (t *ThumbnailFormatPng) Decode(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatPng#5e0697f5 to nil")
}
if err := b.ConsumeID(ThumbnailFormatPngTypeID); err != nil {
return fmt.Errorf("unable to decode thumbnailFormatPng#5e0697f5: %w", err)
}
return t.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (t *ThumbnailFormatPng) DecodeBare(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatPng#5e0697f5 to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (t *ThumbnailFormatPng) EncodeTDLibJSON(b tdjson.Encoder) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatPng#5e0697f5 as nil")
}
b.ObjStart()
b.PutID("thumbnailFormatPng")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (t *ThumbnailFormatPng) DecodeTDLibJSON(b tdjson.Decoder) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatPng#5e0697f5 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("thumbnailFormatPng"); err != nil {
return fmt.Errorf("unable to decode thumbnailFormatPng#5e0697f5: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// ThumbnailFormatTgs represents TL type `thumbnailFormatTgs#4e694852`.
type ThumbnailFormatTgs struct {
}
// ThumbnailFormatTgsTypeID is TL type id of ThumbnailFormatTgs.
const ThumbnailFormatTgsTypeID = 0x4e694852
// construct implements constructor of ThumbnailFormatClass.
func (t ThumbnailFormatTgs) construct() ThumbnailFormatClass { return &t }
// Ensuring interfaces in compile-time for ThumbnailFormatTgs.
var (
_ bin.Encoder = &ThumbnailFormatTgs{}
_ bin.Decoder = &ThumbnailFormatTgs{}
_ bin.BareEncoder = &ThumbnailFormatTgs{}
_ bin.BareDecoder = &ThumbnailFormatTgs{}
_ ThumbnailFormatClass = &ThumbnailFormatTgs{}
)
func (t *ThumbnailFormatTgs) Zero() bool {
if t == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (t *ThumbnailFormatTgs) String() string {
if t == nil {
return "ThumbnailFormatTgs(nil)"
}
type Alias ThumbnailFormatTgs
return fmt.Sprintf("ThumbnailFormatTgs%+v", Alias(*t))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*ThumbnailFormatTgs) TypeID() uint32 {
return ThumbnailFormatTgsTypeID
}
// TypeName returns name of type in TL schema.
func (*ThumbnailFormatTgs) TypeName() string {
return "thumbnailFormatTgs"
}
// TypeInfo returns info about TL type.
func (t *ThumbnailFormatTgs) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "thumbnailFormatTgs",
ID: ThumbnailFormatTgsTypeID,
}
if t == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (t *ThumbnailFormatTgs) Encode(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatTgs#4e694852 as nil")
}
b.PutID(ThumbnailFormatTgsTypeID)
return t.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (t *ThumbnailFormatTgs) EncodeBare(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatTgs#4e694852 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (t *ThumbnailFormatTgs) Decode(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatTgs#4e694852 to nil")
}
if err := b.ConsumeID(ThumbnailFormatTgsTypeID); err != nil {
return fmt.Errorf("unable to decode thumbnailFormatTgs#4e694852: %w", err)
}
return t.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (t *ThumbnailFormatTgs) DecodeBare(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatTgs#4e694852 to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (t *ThumbnailFormatTgs) EncodeTDLibJSON(b tdjson.Encoder) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatTgs#4e694852 as nil")
}
b.ObjStart()
b.PutID("thumbnailFormatTgs")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (t *ThumbnailFormatTgs) DecodeTDLibJSON(b tdjson.Decoder) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatTgs#4e694852 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("thumbnailFormatTgs"); err != nil {
return fmt.Errorf("unable to decode thumbnailFormatTgs#4e694852: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// ThumbnailFormatWebm represents TL type `thumbnailFormatWebm#d8a7e727`.
type ThumbnailFormatWebm struct {
}
// ThumbnailFormatWebmTypeID is TL type id of ThumbnailFormatWebm.
const ThumbnailFormatWebmTypeID = 0xd8a7e727
// construct implements constructor of ThumbnailFormatClass.
func (t ThumbnailFormatWebm) construct() ThumbnailFormatClass { return &t }
// Ensuring interfaces in compile-time for ThumbnailFormatWebm.
var (
_ bin.Encoder = &ThumbnailFormatWebm{}
_ bin.Decoder = &ThumbnailFormatWebm{}
_ bin.BareEncoder = &ThumbnailFormatWebm{}
_ bin.BareDecoder = &ThumbnailFormatWebm{}
_ ThumbnailFormatClass = &ThumbnailFormatWebm{}
)
func (t *ThumbnailFormatWebm) Zero() bool {
if t == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (t *ThumbnailFormatWebm) String() string {
if t == nil {
return "ThumbnailFormatWebm(nil)"
}
type Alias ThumbnailFormatWebm
return fmt.Sprintf("ThumbnailFormatWebm%+v", Alias(*t))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*ThumbnailFormatWebm) TypeID() uint32 {
return ThumbnailFormatWebmTypeID
}
// TypeName returns name of type in TL schema.
func (*ThumbnailFormatWebm) TypeName() string {
return "thumbnailFormatWebm"
}
// TypeInfo returns info about TL type.
func (t *ThumbnailFormatWebm) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "thumbnailFormatWebm",
ID: ThumbnailFormatWebmTypeID,
}
if t == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (t *ThumbnailFormatWebm) Encode(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatWebm#d8a7e727 as nil")
}
b.PutID(ThumbnailFormatWebmTypeID)
return t.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (t *ThumbnailFormatWebm) EncodeBare(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatWebm#d8a7e727 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (t *ThumbnailFormatWebm) Decode(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatWebm#d8a7e727 to nil")
}
if err := b.ConsumeID(ThumbnailFormatWebmTypeID); err != nil {
return fmt.Errorf("unable to decode thumbnailFormatWebm#d8a7e727: %w", err)
}
return t.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (t *ThumbnailFormatWebm) DecodeBare(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatWebm#d8a7e727 to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (t *ThumbnailFormatWebm) EncodeTDLibJSON(b tdjson.Encoder) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatWebm#d8a7e727 as nil")
}
b.ObjStart()
b.PutID("thumbnailFormatWebm")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (t *ThumbnailFormatWebm) DecodeTDLibJSON(b tdjson.Decoder) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatWebm#d8a7e727 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("thumbnailFormatWebm"); err != nil {
return fmt.Errorf("unable to decode thumbnailFormatWebm#d8a7e727: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// ThumbnailFormatWebp represents TL type `thumbnailFormatWebp#fcce4c12`.
type ThumbnailFormatWebp struct {
}
// ThumbnailFormatWebpTypeID is TL type id of ThumbnailFormatWebp.
const ThumbnailFormatWebpTypeID = 0xfcce4c12
// construct implements constructor of ThumbnailFormatClass.
func (t ThumbnailFormatWebp) construct() ThumbnailFormatClass { return &t }
// Ensuring interfaces in compile-time for ThumbnailFormatWebp.
var (
_ bin.Encoder = &ThumbnailFormatWebp{}
_ bin.Decoder = &ThumbnailFormatWebp{}
_ bin.BareEncoder = &ThumbnailFormatWebp{}
_ bin.BareDecoder = &ThumbnailFormatWebp{}
_ ThumbnailFormatClass = &ThumbnailFormatWebp{}
)
func (t *ThumbnailFormatWebp) Zero() bool {
if t == nil {
return true
}
return true
}
// String implements fmt.Stringer.
func (t *ThumbnailFormatWebp) String() string {
if t == nil {
return "ThumbnailFormatWebp(nil)"
}
type Alias ThumbnailFormatWebp
return fmt.Sprintf("ThumbnailFormatWebp%+v", Alias(*t))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*ThumbnailFormatWebp) TypeID() uint32 {
return ThumbnailFormatWebpTypeID
}
// TypeName returns name of type in TL schema.
func (*ThumbnailFormatWebp) TypeName() string {
return "thumbnailFormatWebp"
}
// TypeInfo returns info about TL type.
func (t *ThumbnailFormatWebp) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "thumbnailFormatWebp",
ID: ThumbnailFormatWebpTypeID,
}
if t == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{}
return typ
}
// Encode implements bin.Encoder.
func (t *ThumbnailFormatWebp) Encode(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatWebp#fcce4c12 as nil")
}
b.PutID(ThumbnailFormatWebpTypeID)
return t.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (t *ThumbnailFormatWebp) EncodeBare(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatWebp#fcce4c12 as nil")
}
return nil
}
// Decode implements bin.Decoder.
func (t *ThumbnailFormatWebp) Decode(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatWebp#fcce4c12 to nil")
}
if err := b.ConsumeID(ThumbnailFormatWebpTypeID); err != nil {
return fmt.Errorf("unable to decode thumbnailFormatWebp#fcce4c12: %w", err)
}
return t.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (t *ThumbnailFormatWebp) DecodeBare(b *bin.Buffer) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatWebp#fcce4c12 to nil")
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (t *ThumbnailFormatWebp) EncodeTDLibJSON(b tdjson.Encoder) error {
if t == nil {
return fmt.Errorf("can't encode thumbnailFormatWebp#fcce4c12 as nil")
}
b.ObjStart()
b.PutID("thumbnailFormatWebp")
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (t *ThumbnailFormatWebp) DecodeTDLibJSON(b tdjson.Decoder) error {
if t == nil {
return fmt.Errorf("can't decode thumbnailFormatWebp#fcce4c12 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("thumbnailFormatWebp"); err != nil {
return fmt.Errorf("unable to decode thumbnailFormatWebp#fcce4c12: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// ThumbnailFormatClassName is schema name of ThumbnailFormatClass.
const ThumbnailFormatClassName = "ThumbnailFormat"
// ThumbnailFormatClass represents ThumbnailFormat generic type.
//
// Example:
//
// g, err := tdapi.DecodeThumbnailFormat(buf)
// if err != nil {
// panic(err)
// }
// switch v := g.(type) {
// case *tdapi.ThumbnailFormatJpeg: // thumbnailFormatJpeg#d90c5488
// case *tdapi.ThumbnailFormatGif: // thumbnailFormatGif#4aa3258a
// case *tdapi.ThumbnailFormatMpeg4: // thumbnailFormatMpeg4#109b57fe
// case *tdapi.ThumbnailFormatPng: // thumbnailFormatPng#5e0697f5
// case *tdapi.ThumbnailFormatTgs: // thumbnailFormatTgs#4e694852
// case *tdapi.ThumbnailFormatWebm: // thumbnailFormatWebm#d8a7e727
// case *tdapi.ThumbnailFormatWebp: // thumbnailFormatWebp#fcce4c12
// default: panic(v)
// }
type ThumbnailFormatClass interface {
bin.Encoder
bin.Decoder
bin.BareEncoder
bin.BareDecoder
construct() ThumbnailFormatClass
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
TypeID() uint32
// TypeName returns name of type in TL schema.
TypeName() string
// String implements fmt.Stringer.
String() string
// Zero returns true if current object has a zero value.
Zero() bool
EncodeTDLibJSON(b tdjson.Encoder) error
DecodeTDLibJSON(b tdjson.Decoder) error
}
// DecodeThumbnailFormat implements binary de-serialization for ThumbnailFormatClass.
func DecodeThumbnailFormat(buf *bin.Buffer) (ThumbnailFormatClass, error) {
id, err := buf.PeekID()
if err != nil {
return nil, err
}
switch id {
case ThumbnailFormatJpegTypeID:
// Decoding thumbnailFormatJpeg#d90c5488.
v := ThumbnailFormatJpeg{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode ThumbnailFormatClass: %w", err)
}
return &v, nil
case ThumbnailFormatGifTypeID:
// Decoding thumbnailFormatGif#4aa3258a.
v := ThumbnailFormatGif{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode ThumbnailFormatClass: %w", err)
}
return &v, nil
case ThumbnailFormatMpeg4TypeID:
// Decoding thumbnailFormatMpeg4#109b57fe.
v := ThumbnailFormatMpeg4{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode ThumbnailFormatClass: %w", err)
}
return &v, nil
case ThumbnailFormatPngTypeID:
// Decoding thumbnailFormatPng#5e0697f5.
v := ThumbnailFormatPng{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode ThumbnailFormatClass: %w", err)
}
return &v, nil
case ThumbnailFormatTgsTypeID:
// Decoding thumbnailFormatTgs#4e694852.
v := ThumbnailFormatTgs{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode ThumbnailFormatClass: %w", err)
}
return &v, nil
case ThumbnailFormatWebmTypeID:
// Decoding thumbnailFormatWebm#d8a7e727.
v := ThumbnailFormatWebm{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode ThumbnailFormatClass: %w", err)
}
return &v, nil
case ThumbnailFormatWebpTypeID:
// Decoding thumbnailFormatWebp#fcce4c12.
v := ThumbnailFormatWebp{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode ThumbnailFormatClass: %w", err)
}
return &v, nil
default:
return nil, fmt.Errorf("unable to decode ThumbnailFormatClass: %w", bin.NewUnexpectedID(id))
}
}
// DecodeTDLibJSONThumbnailFormat implements binary de-serialization for ThumbnailFormatClass.
func DecodeTDLibJSONThumbnailFormat(buf tdjson.Decoder) (ThumbnailFormatClass, error) {
id, err := buf.FindTypeID()
if err != nil {
return nil, err
}
switch id {
case "thumbnailFormatJpeg":
// Decoding thumbnailFormatJpeg#d90c5488.
v := ThumbnailFormatJpeg{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode ThumbnailFormatClass: %w", err)
}
return &v, nil
case "thumbnailFormatGif":
// Decoding thumbnailFormatGif#4aa3258a.
v := ThumbnailFormatGif{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode ThumbnailFormatClass: %w", err)
}
return &v, nil
case "thumbnailFormatMpeg4":
// Decoding thumbnailFormatMpeg4#109b57fe.
v := ThumbnailFormatMpeg4{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode ThumbnailFormatClass: %w", err)
}
return &v, nil
case "thumbnailFormatPng":
// Decoding thumbnailFormatPng#5e0697f5.
v := ThumbnailFormatPng{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode ThumbnailFormatClass: %w", err)
}
return &v, nil
case "thumbnailFormatTgs":
// Decoding thumbnailFormatTgs#4e694852.
v := ThumbnailFormatTgs{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode ThumbnailFormatClass: %w", err)
}
return &v, nil
case "thumbnailFormatWebm":
// Decoding thumbnailFormatWebm#d8a7e727.
v := ThumbnailFormatWebm{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode ThumbnailFormatClass: %w", err)
}
return &v, nil
case "thumbnailFormatWebp":
// Decoding thumbnailFormatWebp#fcce4c12.
v := ThumbnailFormatWebp{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode ThumbnailFormatClass: %w", err)
}
return &v, nil
default:
return nil, fmt.Errorf("unable to decode ThumbnailFormatClass: %w", tdjson.NewUnexpectedID(id))
}
}
// ThumbnailFormat boxes the ThumbnailFormatClass providing a helper.
type ThumbnailFormatBox struct {
ThumbnailFormat ThumbnailFormatClass
}
// Decode implements bin.Decoder for ThumbnailFormatBox.
func (b *ThumbnailFormatBox) Decode(buf *bin.Buffer) error {
if b == nil {
return fmt.Errorf("unable to decode ThumbnailFormatBox to nil")
}
v, err := DecodeThumbnailFormat(buf)
if err != nil {
return fmt.Errorf("unable to decode boxed value: %w", err)
}
b.ThumbnailFormat = v
return nil
}
// Encode implements bin.Encode for ThumbnailFormatBox.
func (b *ThumbnailFormatBox) Encode(buf *bin.Buffer) error {
if b == nil || b.ThumbnailFormat == nil {
return fmt.Errorf("unable to encode ThumbnailFormatClass as nil")
}
return b.ThumbnailFormat.Encode(buf)
}
// DecodeTDLibJSON implements bin.Decoder for ThumbnailFormatBox.
func (b *ThumbnailFormatBox) DecodeTDLibJSON(buf tdjson.Decoder) error {
if b == nil {
return fmt.Errorf("unable to decode ThumbnailFormatBox to nil")
}
v, err := DecodeTDLibJSONThumbnailFormat(buf)
if err != nil {
return fmt.Errorf("unable to decode boxed value: %w", err)
}
b.ThumbnailFormat = v
return nil
}
// EncodeTDLibJSON implements bin.Encode for ThumbnailFormatBox.
func (b *ThumbnailFormatBox) EncodeTDLibJSON(buf tdjson.Encoder) error {
if b == nil || b.ThumbnailFormat == nil {
return fmt.Errorf("unable to encode ThumbnailFormatClass as nil")
}
return b.ThumbnailFormat.EncodeTDLibJSON(buf)
}