OptionalSnowflake
Represents a value that encapsulate a Snowflake's optional and value state in the Discord API.
Specifically:
Missing - a Snowflake field that was not present in the serialized entity.
Value - a Snowflake field that was assigned a non-null value in the serialized entity.
Note that there is no nullable variant present. Use
Snowflake?
orOptionalSnowflake?
for this case instead.
The base class is (de)serializable with kotlinx.serialization.
Note that kotlinx.serialization does not call serializers for values that are not present in the serialized format. Optional
fields should have a default value of OptionalSnowflake.Missing
:
@Serializable
class DiscordUser(
val id: Long,
val username: String,
val bot: OptionalSnowflake = OptionalSnowflake.Missing
)
Inheritors
Types
Represents a Snowflake field that was not present in the serialized entity.
Properties
returns null
if this is null
or OptionalSnowflake.Missing, calls OptionalSnowflake.Value.value otherwise.