Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard
data class Actor(val name: String, val image: String? = null)
Link copied to clipboard
data class ActorData(val actor: Actor, val role: ActorRole? = null, val roleString: String? = null, val voiceActor: Actor? = null)
Link copied to clipboard
Link copied to clipboard
data class AnimeLoadResponse(var engName: String? = null, var japName: String? = null, var name: String, var url: String, var apiName: String, var type: TvType, var posterUrl: String? = null, var year: Int? = null, var episodes: MutableMap<DubStatus, List<Episode>> = mutableMapOf(), var showStatus: ShowStatus? = null, var plot: String? = null, var tags: List<String>? = null, var synonyms: List<String>? = null, var rating: Int? = null, var duration: Int? = null, var trailers: MutableList<TrailerData> = mutableListOf(), var recommendations: List<SearchResponse>? = null, var actors: List<ActorData>? = null, var comingSoon: Boolean = false, var syncData: MutableMap<String, String> = mutableMapOf(), var posterHeaders: Map<String, String>? = null, var nextAiring: NextAiring? = null, var seasonNames: List<SeasonData>? = null, var backgroundPosterUrl: String? = null, var contentRating: String? = null) : LoadResponse, EpisodeResponse
Link copied to clipboard
data class AnimeSearchResponse(val name: String, val url: String, val apiName: String, var type: TvType? = null, var posterUrl: String? = null, var year: Int? = null, var dubStatus: EnumSet<DubStatus>? = null, var otherName: String? = null, var episodes: MutableMap<DubStatus, Int> = mutableMapOf(), var id: Int? = null, var quality: SearchQuality? = null, var posterHeaders: Map<String, String>? = null) : SearchResponse
Link copied to clipboard
data class AniSearch(var data: AniSearch.Data? = Data())
Link copied to clipboard
object APIHolder
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class Episode(var data: String, var name: String? = null, var season: Int? = null, var episode: Int? = null, var posterUrl: String? = null, var rating: Int? = null, var description: String? = null, var date: Long? = null, var runTime: Int? = null)

Episode information that will be passed to LoadLinks function & showed on UI

Link copied to clipboard
interface EpisodeResponse
Link copied to clipboard
class ErrorLoadingException(message: String? = null) : Exception
Link copied to clipboard
class ExceptionHandler(val errorFile: File, val onError: () -> Unit) : Thread.UncaughtExceptionHandler
Link copied to clipboard
Link copied to clipboard
data class HomePageList(val name: String, var list: List<SearchResponse>, val isHorizontalImages: Boolean = false)
Link copied to clipboard
data class HomePageResponse(val items: List<HomePageList>, val hasNext: Boolean = false)
Link copied to clipboard
Link copied to clipboard
data class LiveSearchResponse(val name: String, val url: String, val apiName: String, var type: TvType? = null, var posterUrl: String? = null, var id: Int? = null, var quality: SearchQuality? = null, var posterHeaders: Map<String, String>? = null, val lang: String? = null) : SearchResponse
Link copied to clipboard
data class LiveStreamLoadResponse(var name: String, var url: String, var apiName: String, var dataUrl: String, var posterUrl: String? = null, var year: Int? = null, var plot: String? = null, var type: TvType = TvType.Live, var rating: Int? = null, var tags: List<String>? = null, var duration: Int? = null, var trailers: MutableList<TrailerData> = mutableListOf(), var recommendations: List<SearchResponse>? = null, var actors: List<ActorData>? = null, var comingSoon: Boolean = false, var syncData: MutableMap<String, String> = mutableMapOf(), var posterHeaders: Map<String, String>? = null, var backgroundPosterUrl: String? = null, var contentRating: String? = null) : LoadResponse
Link copied to clipboard
interface LoadResponse
Link copied to clipboard
abstract class MainAPI

Every provider will not have try catch built in, so handle exceptions when calling these functions

Link copied to clipboard
data class MainPageData(val name: String, val data: String, val horizontalImages: Boolean = false)
Link copied to clipboard
data class MainPageRequest(val name: String, val data: String, val horizontalImages: Boolean)
Link copied to clipboard
data class MovieLoadResponse(var name: String, var url: String, var apiName: String, var type: TvType, var dataUrl: String, var posterUrl: String? = null, var year: Int? = null, var plot: String? = null, var rating: Int? = null, var tags: List<String>? = null, var duration: Int? = null, var trailers: MutableList<TrailerData> = mutableListOf(), var recommendations: List<SearchResponse>? = null, var actors: List<ActorData>? = null, var comingSoon: Boolean = false, var syncData: MutableMap<String, String> = mutableMapOf(), var posterHeaders: Map<String, String>? = null, var backgroundPosterUrl: String? = null, var contentRating: String? = null) : LoadResponse
Link copied to clipboard
data class MovieSearchResponse(val name: String, val url: String, val apiName: String, var type: TvType? = null, var posterUrl: String? = null, var year: Int? = null, var id: Int? = null, var quality: SearchQuality? = null, var posterHeaders: Map<String, String>? = null) : SearchResponse
Link copied to clipboard
data class NextAiring(val episode: Int, val unixTime: Long, val season: Int? = null)
Link copied to clipboard
data class ProvidersInfoJson(var name: String, var url: String, var credentials: String? = null, var status: Int)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
interface SearchResponse
Link copied to clipboard
data class SeasonData(val season: Int, val name: String? = null, val displaySeason: Int? = null)
Link copied to clipboard
data class SettingsJson(var enableAdult: Boolean = false)
Link copied to clipboard
Link copied to clipboard

Set of sync services simkl is compatible with. Add more as required: https://simkl.docs.apiary.io/#reference/search/id-lookup/get-items-by-id

Link copied to clipboard
data class SubtitleFile(val lang: String, val url: String)
Link copied to clipboard
data class TorrentLoadResponse(var name: String, var url: String, var apiName: String, var magnet: String?, var torrent: String?, var plot: String?, var type: TvType = TvType.Torrent, var posterUrl: String? = null, var year: Int? = null, var rating: Int? = null, var tags: List<String>? = null, var duration: Int? = null, var trailers: MutableList<TrailerData> = mutableListOf(), var recommendations: List<SearchResponse>? = null, var actors: List<ActorData>? = null, var comingSoon: Boolean = false, var syncData: MutableMap<String, String> = mutableMapOf(), var posterHeaders: Map<String, String>? = null, var backgroundPosterUrl: String? = null, var contentRating: String? = null) : LoadResponse
Link copied to clipboard
data class TorrentSearchResponse(val name: String, val url: String, val apiName: String, var type: TvType?, var posterUrl: String?, var id: Int? = null, var quality: SearchQuality? = null, var posterHeaders: Map<String, String>? = null) : SearchResponse
Link copied to clipboard
data class Tracker(val malId: Int? = null, val aniId: String? = null, val image: String? = null, val cover: String? = null)
Link copied to clipboard

used for the getTracker() method

Link copied to clipboard
data class TrailerData(val extractorUrl: String, val referer: String?, val raw: Boolean)
Link copied to clipboard
data class TvSeriesLoadResponse(var name: String, var url: String, var apiName: String, var type: TvType, var episodes: List<Episode>, var posterUrl: String? = null, var year: Int? = null, var plot: String? = null, var showStatus: ShowStatus? = null, var rating: Int? = null, var tags: List<String>? = null, var duration: Int? = null, var trailers: MutableList<TrailerData> = mutableListOf(), var recommendations: List<SearchResponse>? = null, var actors: List<ActorData>? = null, var comingSoon: Boolean = false, var syncData: MutableMap<String, String> = mutableMapOf(), var posterHeaders: Map<String, String>? = null, var nextAiring: NextAiring? = null, var seasonNames: List<SeasonData>? = null, var backgroundPosterUrl: String? = null, var contentRating: String? = null) : LoadResponse, EpisodeResponse
Link copied to clipboard
data class TvSeriesSearchResponse(val name: String, val url: String, val apiName: String, var type: TvType? = null, var posterUrl: String? = null, val year: Int? = null, val episodes: Int? = null, var id: Int? = null, var quality: SearchQuality? = null, var posterHeaders: Map<String, String>? = null) : SearchResponse
Link copied to clipboard
enum TvType : Enum<TvType>
Link copied to clipboard

Properties

Link copied to clipboard

Defines the constant for the all languages preference, if this is set then it is the equivalent of all languages being set

Link copied to clipboard
var app: <Error class: unknown class>
Link copied to clipboard
val mapper: <Error class: unknown class>
Link copied to clipboard
Link copied to clipboard
const val PROVIDER_STATUS_DOWN: Int = 0
Link copied to clipboard
Link copied to clipboard
const val PROVIDER_STATUS_OK: Int = 1
Link copied to clipboard
const val PROVIDER_STATUS_SLOW: Int = 2
Link copied to clipboard
const val USER_AGENT: String

Functions

Link copied to clipboard
fun Episode.addDate(date: Date?)
fun Episode.addDate(date: String?, format: String = "yyyy-MM-dd")
Link copied to clipboard
Link copied to clipboard
fun AnimeSearchResponse.addDubStatus(status: DubStatus, episodes: Int? = null)
fun AnimeSearchResponse.addDubStatus(isDub: Boolean, episodes: Int? = null)
fun AnimeSearchResponse.addDubStatus(status: String, episodes: Int? = null)
fun AnimeSearchResponse.addDubStatus(dubExist: Boolean, subExist: Boolean, dubEpisodes: Int? = null, subEpisodes: Int? = null)
Link copied to clipboard

If episodes already exist appends the list.

Link copied to clipboard
fun LoadResponse.addPoster(url: String?, headers: Map<String, String>? = null)
fun SearchResponse.addPoster(url: String?, headers: Map<String, String>? = null)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
suspend fun <A, B> List<A>.amap(f: suspend (A) -> B): List<B>
suspend fun <K, V, R> Map<out K, V>.amap(f: suspend (Map.Entry<K, V>) -> R): List<R>
Link copied to clipboard
suspend fun <A, B> List<A>.amapIndexed(f: suspend (index: Int, A) -> B): List<B>
Link copied to clipboard
fun <A, B> List<A>.apmap(f: suspend (A) -> B): List<B>
fun <K, V, R> Map<out K, V>.apmap(f: suspend (Map.Entry<K, V>) -> R): List<R>
Link copied to clipboard
fun <A, B> List<A>.apmapIndexed(f: suspend (index: Int, A) -> B): List<B>
Link copied to clipboard
fun <R> argamap(vararg transforms: suspend () -> R): <Error class: unknown class>
Link copied to clipboard
fun base64Decode(string: String): String

Might need a different implementation for desktop

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun fetchUrls(text: String?): List<String>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Add anything to here if you find a site that uses some specific naming convention

Link copied to clipboard
suspend fun getRhinoContext(): <Error class: unknown class>

Get rhino context in a safe way as it needs to be initialized on the main thread. Make sure you get the scope using: val scope: Scriptable = rhino.initSafeStandardObjects() Use like the following: rhino.evaluateString(scope, js, "JavaScript", 1, null)

Link copied to clipboard

https://www.imdb.com/title/tt2861424/ -> tt2861424

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun mainPage(url: String, name: String, horizontalImages: Boolean = false): MainPageData
Link copied to clipboard
fun mainPageOf(vararg elements: <Error class: unknown class><String, String>): List<MainPageData>

return list of MainPageData with url to name, make for more readable code

fun mainPageOf(vararg elements: MainPageData): List<MainPageData>
Link copied to clipboard
suspend fun MainAPI.newAnimeLoadResponse(name: String, url: String, type: TvType, comingSoonIfNone: Boolean = true, initializer: suspend AnimeLoadResponse.() -> Unit = { }): AnimeLoadResponse
Link copied to clipboard
fun MainAPI.newAnimeSearchResponse(name: String, url: String, type: TvType = TvType.Anime, fix: Boolean = true, initializer: AnimeSearchResponse.() -> Unit = { }): AnimeSearchResponse
Link copied to clipboard
fun <T> MainAPI.newEpisode(data: T, initializer: Episode.() -> Unit = { }): Episode
fun MainAPI.newEpisode(url: String, initializer: Episode.() -> Unit = { }, fix: Boolean = true): Episode
Link copied to clipboard
Link copied to clipboard
suspend fun <T> MainAPI.newMovieLoadResponse(name: String, url: String, type: TvType, data: T?, initializer: suspend MovieLoadResponse.() -> Unit = { }): MovieLoadResponse
suspend fun MainAPI.newMovieLoadResponse(name: String, url: String, type: TvType, dataUrl: String, initializer: suspend MovieLoadResponse.() -> Unit = { }): MovieLoadResponse
Link copied to clipboard
fun MainAPI.newMovieSearchResponse(name: String, url: String, type: TvType = TvType.Movie, fix: Boolean = true, initializer: MovieSearchResponse.() -> Unit = { }): MovieSearchResponse
Link copied to clipboard
suspend fun MainAPI.newTvSeriesLoadResponse(name: String, url: String, type: TvType, episodes: List<Episode>, initializer: suspend TvSeriesLoadResponse.() -> Unit = { }): TvSeriesLoadResponse
Link copied to clipboard
fun MainAPI.newTvSeriesSearchResponse(name: String, url: String, type: TvType = TvType.TvSeries, fix: Boolean = true, initializer: TvSeriesSearchResponse.() -> Unit = { }): TvSeriesSearchResponse
Link copied to clipboard
fun setHeaderDecoration(view: <Error class: unknown class>, headerViewRes: Int)
Link copied to clipboard
Link copied to clipboard