types.ts 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. export interface Root {
  2. version: string;
  3. trackIds: TrackIds;
  4. video: ShowVideo | MovieVideo;
  5. }
  6. export interface TrackIds {
  7. nextEpisode: number;
  8. episodeSelector: number;
  9. }
  10. export interface ShowVideo {
  11. title: string;
  12. synopsis: string;
  13. rating: string;
  14. artwork: Artwork[];
  15. boxart: Boxart[];
  16. storyart: Storyart[];
  17. type: "show";
  18. unifiedEntityId: string;
  19. id: number;
  20. userRating: UserRating;
  21. skipMarkers: SkipMarkers;
  22. currentEpisode: number;
  23. hiddenEpisodeNumbers: boolean;
  24. requiresAdultVerification: boolean;
  25. requiresPin: boolean;
  26. requiresPreReleasePin: boolean;
  27. seasons: Season[];
  28. merchedVideoId: unknown;
  29. cinematch: Cinematch;
  30. }
  31. export interface MovieVideo {
  32. title: string;
  33. synopsis: string;
  34. rating: string;
  35. artwork: Artwork[];
  36. boxart: Boxart[];
  37. storyart: Storyart[];
  38. type: "movie";
  39. unifiedEntityId: string;
  40. id: number;
  41. userRating: UserRating;
  42. skipMarkers: SkipMarkers;
  43. start: number;
  44. end: number;
  45. year: number;
  46. requiresAdultVerification: boolean;
  47. requiresPin: boolean;
  48. requiresPreReleasePin: boolean;
  49. creditsOffset: number;
  50. runtime: number;
  51. displayRuntime: number;
  52. autoplayable: boolean;
  53. liveEvent: LiveEvent;
  54. taglineMessages: TaglineMessages;
  55. bookmark: Bookmark;
  56. hd: boolean;
  57. stills: Still[];
  58. hiddenEpisodeNumbers: boolean;
  59. merchedVideoId: unknown;
  60. cinematch: Cinematch;
  61. }
  62. export interface Artwork {
  63. w: number;
  64. h: number;
  65. url: string;
  66. }
  67. export interface Boxart {
  68. w: number;
  69. h: number;
  70. url: string;
  71. }
  72. export interface Storyart {
  73. w: number;
  74. h: number;
  75. url: string;
  76. }
  77. export interface UserRating {
  78. matchScore: number;
  79. tooNewForMatchScore: boolean;
  80. type: string;
  81. userRating: number;
  82. }
  83. export interface SkipMarkers {
  84. credit: Credit;
  85. recap: Recap;
  86. content: unknown[];
  87. }
  88. export interface Credit {
  89. start: unknown;
  90. end: unknown;
  91. }
  92. export interface Recap {
  93. start: unknown;
  94. end: unknown;
  95. }
  96. export interface Season {
  97. year: number;
  98. shortName: string;
  99. longName: string;
  100. hiddenEpisodeNumbers: boolean;
  101. title: string;
  102. id: number;
  103. seq: number;
  104. episodes: Episode[];
  105. }
  106. export interface Episode {
  107. start: number;
  108. end: number;
  109. synopsis: string;
  110. episodeId: number;
  111. liveEvent: LiveEvent;
  112. taglineMessages: TaglineMessages;
  113. requiresAdultVerification: boolean;
  114. requiresPin: boolean;
  115. requiresPreReleasePin: boolean;
  116. creditsOffset: number;
  117. runtime: number;
  118. displayRuntime: number;
  119. watchedToEndOffset: number;
  120. autoplayable: boolean;
  121. title: string;
  122. id: number;
  123. bookmark: Bookmark;
  124. skipMarkers: SkipMarkers2;
  125. hd: boolean;
  126. thumbs: Thumb[];
  127. stills: Still[];
  128. seq: number;
  129. hiddenEpisodeNumbers: boolean;
  130. }
  131. export interface LiveEvent {
  132. hasLiveEvent: boolean;
  133. }
  134. export interface TaglineMessages {
  135. tagline: string;
  136. classification: string;
  137. }
  138. export interface Bookmark {
  139. watchedDate: number;
  140. offset: number;
  141. }
  142. export interface SkipMarkers2 {
  143. credit: Credit2;
  144. recap: Recap2;
  145. content: unknown[];
  146. }
  147. export interface Credit2 {
  148. start: number;
  149. end: number;
  150. }
  151. export interface Recap2 {
  152. start: number;
  153. end: number;
  154. }
  155. export interface Thumb {
  156. w: number;
  157. h: number;
  158. url: string;
  159. }
  160. export interface Still {
  161. w: number;
  162. h: number;
  163. url: string;
  164. }
  165. export interface Cinematch {
  166. type: string;
  167. value: string;
  168. }