mirror of
https://github.com/twitter/the-algorithm.git
synced 2024-06-23 19:46:05 +02:00
![twitter-team](/assets/img/avatar_default.png)
Please note we have force-pushed a new initial commit in order to remove some publicly-available Twitter user information. Note that this process may be required in the future.
27 lines
1.1 KiB
Scala
27 lines
1.1 KiB
Scala
package com.twitter.home_mixer.marshaller.timelines
|
|
|
|
import com.twitter.product_mixer.component_library.model.cursor.UrtOrderedCursor
|
|
import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.BottomCursor
|
|
import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.GapCursor
|
|
import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.TopCursor
|
|
import com.twitter.timelines.service.{thriftscala => t}
|
|
|
|
object ChronologicalCursorUnmarshaller {
|
|
|
|
def apply(requestCursor: t.RequestCursor): Option[UrtOrderedCursor] = {
|
|
requestCursor match {
|
|
case t.RequestCursor.ChronologicalCursor(cursor) =>
|
|
(cursor.top, cursor.bottom) match {
|
|
case (Some(top), None) =>
|
|
Some(UrtOrderedCursor(top, cursor.top, Some(BottomCursor)))
|
|
case (None, Some(bottom)) =>
|
|
Some(UrtOrderedCursor(bottom, cursor.bottom, Some(TopCursor)))
|
|
case (Some(top), Some(bottom)) =>
|
|
Some(UrtOrderedCursor(top, cursor.top, Some(GapCursor), cursor.bottom))
|
|
case _ => None
|
|
}
|
|
case _ => None
|
|
}
|
|
}
|
|
}
|