[package]
name        = "layer-tl-types"
description = "Auto-generated Telegram TL types: constructors, functions, enums (Layer 224)"
readme = "README.md"
version.workspace    = true
edition.workspace    = true
license.workspace    = true
authors.workspace    = true
repository.workspace = true
homepage.workspace   = true
documentation = "https://docs.rs/layer-tl-types"
keywords             = ["telegram", "mtproto", "tl", "types", "api"]
categories           = ["api-bindings", "encoding"]

build = "build.rs"

[build-dependencies]
layer-tl-parser = { workspace = true }
layer-tl-gen    = { workspace = true }

[features]
default = ["impl-debug", "impl-from-type", "impl-from-enum", "tl-api"]

## Derive `Debug` for all generated types.
impl-debug               = []
## Implement `From<types::T> for enums::E`.
impl-from-type           = []
## Implement `TryFrom<enums::E> for types::T`.
impl-from-enum           = []
## Also implement `Deserializable` for function types (server-side use).
deserializable-functions = []
## Generate `name_for_id()` lookup function.
name-for-id              = []
## Include the high-level API TL schema (api.tl).
tl-api                   = []
## Include the low-level MTProto TL schema (mtproto.tl).
tl-mtproto               = []
## Derive serde `Serialize`/`Deserialize` on all types.
impl-serde               = []

[package.metadata.docs.rs]
features = ["impl-debug", "impl-from-type", "impl-from-enum", "tl-api", "tl-mtproto", "deserializable-functions", "name-for-id"]
rustdoc-args = ["--cfg", "docsrs"]
