commonMain.app.bsky.feed.getTimeline.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bluesky Show documentation
Show all versions of bluesky Show documentation
Bluesky Social API bindings for Kotlin.
The newest version!
@file:Suppress("DEPRECATION")
package app.bsky.feed
import kotlin.Any
import kotlin.Long
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlinx.collections.immutable.toImmutableList
import kotlinx.serialization.Serializable
import sh.christian.ozone.api.model.ReadOnlyList
/**
* @param algorithm Variant 'algorithm' for timeline. Implementation-specific. NOTE: most feed
* flexibility has been moved to feed generator mechanism.
*/
@Serializable
public data class GetTimelineQueryParams(
/**
* Variant 'algorithm' for timeline. Implementation-specific. NOTE: most feed flexibility has been
* moved to feed generator mechanism.
*/
public val algorithm: String? = null,
public val limit: Long? = 50,
public val cursor: String? = null,
) {
init {
require(limit == null || limit >= 1) {
"limit must be >= 1, but was $limit"
}
require(limit == null || limit <= 100) {
"limit must be <= 100, but was $limit"
}
}
public fun asList(): ReadOnlyList> = buildList {
add("algorithm" to algorithm)
add("limit" to limit)
add("cursor" to cursor)
}.toImmutableList()
}
@Serializable
public data class GetTimelineResponse(
public val cursor: String? = null,
public val feed: ReadOnlyList,
)