rsshub 1.0.0-master.ff3a9ce → 1.0.0-master.ff3ea5a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of rsshub might be problematic. Click here for more details.

Files changed (388) hide show
  1. package/lib/config.ts +38 -0
  2. package/lib/errors/index.tsx +3 -2
  3. package/lib/middleware/debug.ts +6 -4
  4. package/lib/middleware/header.ts +4 -2
  5. package/lib/registry.test.ts +24 -1
  6. package/lib/registry.ts +40 -11
  7. package/lib/router.js +1 -1
  8. package/lib/routes/121/namespace.ts +9 -0
  9. package/lib/routes/121/templates/description.art +17 -0
  10. package/lib/routes/121/weather-live.ts +104 -0
  11. package/lib/routes/141jav/index.ts +3 -0
  12. package/lib/routes/141ppv/index.ts +3 -0
  13. package/lib/routes/163/news/rank.ts +1 -1
  14. package/lib/routes/18comic/album.ts +59 -64
  15. package/lib/routes/18comic/index.ts +1 -0
  16. package/lib/routes/18comic/search.ts +53 -4
  17. package/lib/routes/18comic/utils.ts +70 -1
  18. package/lib/routes/2048/index.ts +1 -0
  19. package/lib/routes/30secondsofcode/utils.ts +0 -1
  20. package/lib/routes/6park/index.ts +1 -1
  21. package/lib/routes/7mmtv/index.ts +1 -0
  22. package/lib/routes/91porn/index.ts +1 -0
  23. package/lib/routes/95mm/tab.ts +1 -0
  24. package/lib/routes/agefans/detail.ts +1 -1
  25. package/lib/routes/aliyun/database-month.ts +1 -1
  26. package/lib/routes/anthropic/research.ts +112 -0
  27. package/lib/routes/apnews/topics.ts +2 -1
  28. package/lib/routes/apnews/utils.ts +1 -1
  29. package/lib/routes/apple/design.ts +54 -0
  30. package/lib/routes/apple/namespace.ts +1 -1
  31. package/lib/routes/aqara/post.ts +1 -1
  32. package/lib/routes/augmentcode/blog.ts +161 -0
  33. package/lib/routes/augmentcode/namespace.ts +9 -0
  34. package/lib/routes/augmentcode/templates/description.art +17 -0
  35. package/lib/routes/azul/namespace.ts +9 -0
  36. package/lib/routes/azul/packages.ts +105 -0
  37. package/lib/routes/banshujiang/index.ts +763 -0
  38. package/lib/routes/banshujiang/namespace.ts +9 -0
  39. package/lib/routes/banshujiang/templates/description.art +17 -0
  40. package/lib/routes/bfl/announcements.ts +1 -1
  41. package/lib/routes/bilibili/cache.ts +78 -0
  42. package/lib/routes/bilibili/danmaku.ts +1 -1
  43. package/lib/routes/bilibili/dynamic.ts +8 -2
  44. package/lib/routes/bilibili/video.ts +31 -73
  45. package/lib/routes/biquge/index.ts +1 -1
  46. package/lib/routes/bsky/keyword.ts +15 -10
  47. package/lib/routes/capitalmind/insights.ts +40 -0
  48. package/lib/routes/capitalmind/namespace.ts +8 -0
  49. package/lib/routes/capitalmind/podcasts.ts +41 -0
  50. package/lib/routes/capitalmind/utils.ts +122 -0
  51. package/lib/routes/cartoonmad/comic.ts +1 -1
  52. package/lib/routes/chikubi/index.ts +1 -0
  53. package/lib/routes/chikubi/tag.ts +1 -0
  54. package/lib/routes/chocolatey/namespace.ts +9 -0
  55. package/lib/routes/chocolatey/packages.ts +122 -0
  56. package/lib/routes/cmde/index.ts +1 -1
  57. package/lib/routes/cockroachlabs/blog.ts +113 -0
  58. package/lib/routes/cockroachlabs/namespace.ts +7 -0
  59. package/lib/routes/cool18/index.ts +4 -1
  60. package/lib/routes/coomer/index.ts +12 -6
  61. package/lib/routes/coomer/namespace.ts +1 -1
  62. package/lib/routes/copymanga/comic.ts +7 -9
  63. package/lib/routes/css-tricks/articles.ts +48 -0
  64. package/lib/routes/css-tricks/collections.ts +62 -0
  65. package/lib/routes/css-tricks/namespace.ts +8 -0
  66. package/lib/routes/css-tricks/popular.ts +39 -0
  67. package/lib/routes/css-tricks/utils.ts +103 -0
  68. package/lib/routes/cursor/changelog.ts +26 -17
  69. package/lib/routes/cursor/namespace.ts +1 -1
  70. package/lib/routes/cw/utils.ts +6 -13
  71. package/lib/routes/dealstreetasia/home.ts +1 -1
  72. package/lib/routes/dedao/index.ts +3 -3
  73. package/lib/routes/deepl/blog.ts +422 -0
  74. package/lib/routes/deepl/namespace.ts +9 -0
  75. package/lib/routes/deepl/templates/description.art +21 -0
  76. package/lib/routes/deeplearning/the-batch.ts +1 -1
  77. package/lib/routes/dev.to/guides.ts +100 -0
  78. package/lib/routes/dev.to/namespace.ts +8 -0
  79. package/lib/routes/dev.to/top.ts +105 -0
  80. package/lib/routes/dgut/jwb.ts +73 -0
  81. package/lib/routes/dgut/namespace.ts +9 -0
  82. package/lib/routes/digitalpolicyalert/activity-tracker.ts +135 -0
  83. package/lib/routes/digitalpolicyalert/namespace.ts +9 -0
  84. package/lib/routes/dnaindia/common.ts +26 -8
  85. package/lib/routes/douban/other/list.ts +3 -3
  86. package/lib/routes/e-hentai/index.ts +4 -1
  87. package/lib/routes/ehentai/tag.ts +1 -0
  88. package/lib/routes/englishhome/index.ts +55 -0
  89. package/lib/routes/englishhome/namespace.ts +6 -0
  90. package/lib/routes/epicgames/index.ts +2 -2
  91. package/lib/routes/espn/news.ts +1 -1
  92. package/lib/routes/expats/czech-news.ts +272 -0
  93. package/lib/routes/expats/namespace.ts +9 -0
  94. package/lib/routes/fanbox/index.ts +1 -0
  95. package/lib/routes/fanbox/utils.ts +1 -1
  96. package/lib/routes/fansly/tag.ts +1 -0
  97. package/lib/routes/fantia/search.ts +1 -1
  98. package/lib/routes/fantube/creator.ts +69 -0
  99. package/lib/routes/fantube/namespace.ts +7 -0
  100. package/lib/routes/fantube/templates/post.art +17 -0
  101. package/lib/routes/fantube/types.ts +100 -0
  102. package/lib/routes/fantube/utils.ts +268 -0
  103. package/lib/routes/follow/profile.ts +1 -1
  104. package/lib/routes/followin/news.ts +1 -1
  105. package/lib/routes/foresightnews/util.ts +1 -1
  106. package/lib/routes/freexcomic/book.ts +4 -1
  107. package/lib/routes/gamer/hot.ts +5 -5
  108. package/lib/routes/gaoyu/blog.ts +145 -0
  109. package/lib/routes/gaoyu/namespace.ts +9 -0
  110. package/lib/routes/gaoyu/templates/description.art +7 -0
  111. package/lib/routes/geocaching/blogs.ts +2 -2
  112. package/lib/routes/github/namespace.ts +1 -1
  113. package/lib/routes/github/private-feed.ts +229 -0
  114. package/lib/routes/github/star.ts +1 -1
  115. package/lib/routes/google/extension.ts +9 -10
  116. package/lib/routes/gov/beijing/bphc/index.ts +1 -1
  117. package/lib/routes/gov/ccdi/index.ts +1 -1
  118. package/lib/routes/gov/chongqing/sydwgkzp.ts +22 -6
  119. package/lib/routes/gov/customs/list.ts +1 -1
  120. package/lib/routes/gov/general/general.ts +1 -1
  121. package/lib/routes/gov/hangzhou/zwfw.ts +1 -1
  122. package/lib/routes/gov/pbc/goutongjiaoliu.ts +1 -1
  123. package/lib/routes/gov/shenzhen/szlh/index.ts +77 -0
  124. package/lib/routes/gov/shenzhen/szlh/namespace.ts +8 -0
  125. package/lib/routes/grist/utils.ts +5 -4
  126. package/lib/routes/hanime1/search.ts +4 -2
  127. package/lib/routes/hellogithub/report.ts +1 -1
  128. package/lib/routes/hit/hitgs.ts +240 -54
  129. package/lib/routes/hit/templates/description.art +7 -0
  130. package/lib/routes/hlju/namespace.ts +8 -0
  131. package/lib/routes/hlju/news.ts +141 -0
  132. package/lib/routes/hostmonit/cloudflareyes.ts +1 -1
  133. package/lib/routes/hotukdeals/index.ts +1 -1
  134. package/lib/routes/hyperdash/namespace.ts +7 -0
  135. package/lib/routes/hyperdash/templates/description.art +34 -0
  136. package/lib/routes/hyperdash/top-traders.ts +84 -0
  137. package/lib/routes/hyperdash/utils.ts +49 -0
  138. package/lib/routes/hypergryph/arknights/announce.ts +1 -1
  139. package/lib/routes/ielts/index.ts +1 -1
  140. package/lib/routes/infoq/topic.ts +16 -13
  141. package/lib/routes/instagram/web-api/index.ts +17 -13
  142. package/lib/routes/instagram/web-api/utils.ts +46 -63
  143. package/lib/routes/jamesclear/book-summaries.ts +40 -0
  144. package/lib/routes/jamesclear/great-speeches.ts +40 -0
  145. package/lib/routes/jamesclear/namespace.ts +8 -0
  146. package/lib/routes/jamesclear/quotes.ts +40 -0
  147. package/lib/routes/jamesclear/three-two-one.ts +41 -0
  148. package/lib/routes/jamesclear/utils.ts +22 -0
  149. package/lib/routes/japanpost/utils.ts +2 -2
  150. package/lib/routes/javbus/index.ts +3 -0
  151. package/lib/routes/javdb/tags.ts +1 -0
  152. package/lib/routes/javlibrary/star.ts +1 -0
  153. package/lib/routes/javtiful/actress.ts +3 -0
  154. package/lib/routes/javtiful/channel.ts +3 -0
  155. package/lib/routes/javtrailers/casts.ts +3 -0
  156. package/lib/routes/jetbrains/comments.ts +99 -0
  157. package/lib/routes/jetbrains/namespace.ts +8 -0
  158. package/lib/routes/jimmyspa/books.ts +1 -1
  159. package/lib/routes/jimmyspa/news.ts +1 -1
  160. package/lib/routes/jpxgmn/tab.ts +3 -0
  161. package/lib/routes/kakuyomu/works.ts +3 -0
  162. package/lib/routes/kaopu/news.ts +1 -1
  163. package/lib/routes/kemono/const.ts +1 -1
  164. package/lib/routes/kemono/index.ts +12 -11
  165. package/lib/routes/kemono/namespace.ts +1 -1
  166. package/lib/routes/kiro/blog.ts +131 -0
  167. package/lib/routes/kiro/changelog.ts +128 -0
  168. package/lib/routes/kiro/namespace.ts +9 -0
  169. package/lib/routes/konachan/post.ts +3 -0
  170. package/lib/routes/kovidgoyal/kitty/changelog.ts +83 -0
  171. package/lib/routes/kovidgoyal/namespace.ts +7 -0
  172. package/lib/routes/kunchengblog/essay.ts +1 -1
  173. package/lib/routes/landiannews/category.ts +1 -1
  174. package/lib/routes/landiannews/index.ts +1 -1
  175. package/lib/routes/landiannews/tag.ts +1 -1
  176. package/lib/routes/line/utils.ts +1 -1
  177. package/lib/routes/lineageos/changes.ts +79 -0
  178. package/lib/routes/lineageos/namespace.ts +9 -0
  179. package/lib/routes/linkedin/cn/renderer.ts +1 -1
  180. package/lib/routes/liquipedia/cs-matches.ts +42 -14
  181. package/lib/routes/literotica/new.ts +1 -0
  182. package/lib/routes/lofter/tag.ts +27 -3
  183. package/lib/routes/makerworld/contest.ts +51 -0
  184. package/lib/routes/makerworld/namespace.ts +7 -0
  185. package/lib/routes/makerworld/trending.ts +45 -0
  186. package/lib/routes/makerworld/user-upload.ts +54 -0
  187. package/lib/routes/makerworld/utils.ts +18 -0
  188. package/lib/routes/manhuagui/comic.ts +1 -1
  189. package/lib/routes/manus/blog.ts +77 -0
  190. package/lib/routes/manus/namespace.ts +7 -0
  191. package/lib/routes/mastodon/tag.ts +48 -0
  192. package/lib/routes/mathpix/blog.ts +155 -0
  193. package/lib/routes/mathpix/namespace.ts +9 -0
  194. package/lib/routes/mathpix/templates/description.art +21 -0
  195. package/lib/routes/mckinsey/cn/category-map.ts +9 -15
  196. package/lib/routes/mckinsey/cn/index.ts +77 -40
  197. package/lib/routes/melonbooks/search.ts +1 -0
  198. package/lib/routes/metacritic/index.ts +2 -2
  199. package/lib/routes/meteoblue/namespace.ts +8 -0
  200. package/lib/routes/meteoblue/weathernews.ts +75 -0
  201. package/lib/routes/meteor/index.ts +1 -1
  202. package/lib/routes/microsoft/addon.ts +7 -9
  203. package/lib/routes/mihoyo/zzz/news.ts +106 -0
  204. package/lib/routes/missav/new.ts +2 -1
  205. package/lib/routes/mit/hanlab.ts +61 -0
  206. package/lib/routes/mit/namespace.ts +6 -0
  207. package/lib/routes/mittrchina/index.ts +3 -3
  208. package/lib/routes/mixcloud/config.ts +129 -0
  209. package/lib/routes/mixcloud/index.ts +163 -107
  210. package/lib/routes/mixcloud/user-playlist.ts +31 -0
  211. package/lib/routes/mixi2/community.ts +72 -0
  212. package/lib/routes/mixi2/discovery.ts +52 -0
  213. package/lib/routes/mixi2/home.ts +51 -0
  214. package/lib/routes/mixi2/namespace.ts +8 -0
  215. package/lib/routes/mixi2/user.ts +77 -0
  216. package/lib/routes/mixi2/utils.ts +56 -0
  217. package/lib/routes/modelscope/learn.ts +94 -0
  218. package/lib/routes/moodysmismicrosite/report.ts +1 -1
  219. package/lib/routes/musify/index.ts +130 -0
  220. package/lib/routes/musify/namespace.ts +9 -0
  221. package/lib/routes/musikguru/namespace.ts +9 -0
  222. package/lib/routes/musikguru/news.ts +146 -0
  223. package/lib/routes/musikguru/templates/description.art +21 -0
  224. package/lib/routes/myfans/post.ts +1 -0
  225. package/lib/routes/nankai/cc-notice.ts +114 -0
  226. package/lib/routes/nankai/jwc.ts +131 -0
  227. package/lib/routes/nankai/namespace.ts +7 -0
  228. package/lib/routes/nankai/notice.ts +84 -0
  229. package/lib/routes/nankai/yzb.ts +97 -0
  230. package/lib/routes/neu/yz.ts +172 -0
  231. package/lib/routes/newslaundry/explainer.ts +30 -0
  232. package/lib/routes/newslaundry/namespace.ts +8 -0
  233. package/lib/routes/newslaundry/nl-cheatsheet.ts +30 -0
  234. package/lib/routes/newslaundry/nl-collaborations.ts +30 -0
  235. package/lib/routes/newslaundry/podcast.ts +61 -0
  236. package/lib/routes/newslaundry/reports.ts +30 -0
  237. package/lib/routes/newslaundry/shot.ts +30 -0
  238. package/lib/routes/newslaundry/subscriber-only.ts +30 -0
  239. package/lib/routes/newslaundry/templates/description.art +28 -0
  240. package/lib/routes/newslaundry/utils.ts +108 -0
  241. package/lib/routes/newswav/latest.ts +100 -0
  242. package/lib/routes/newswav/namespace.ts +7 -0
  243. package/lib/routes/nhentai/index.ts +1 -0
  244. package/lib/routes/nifd/research.ts +16 -0
  245. package/lib/routes/nio/namespace.ts +9 -0
  246. package/lib/routes/nio/nioradio.ts +75 -0
  247. package/lib/routes/njust/cs.ts +58 -0
  248. package/lib/routes/njust/utils.ts +1 -1
  249. package/lib/routes/ntdm/video.ts +1 -1
  250. package/lib/routes/nuaa/utils/pypasswaf.ts +1 -1
  251. package/lib/routes/oilchem/index.ts +1 -1
  252. package/lib/routes/oncc/money18.ts +1 -1
  253. package/lib/routes/openai/cookbook.ts +1 -1
  254. package/lib/routes/paulgraham/article.ts +2 -2
  255. package/lib/routes/picuki/profile.ts +4 -0
  256. package/lib/routes/pixiv/bookmarks.ts +1 -1
  257. package/lib/routes/pixiv/novel-api/series/sfw.ts +1 -1
  258. package/lib/routes/pixiv/novels.ts +2 -2
  259. package/lib/routes/pixiv/user.ts +1 -1
  260. package/lib/routes/playno1/av.ts +1 -0
  261. package/lib/routes/pornhub/model.ts +3 -7
  262. package/lib/routes/pornhub/pornstar.ts +2 -7
  263. package/lib/routes/pornhub/users.ts +2 -7
  264. package/lib/routes/pornhub/utils.ts +12 -1
  265. package/lib/routes/qingting/podcast.ts +2 -1
  266. package/lib/routes/qipamaijia/index.ts +1 -0
  267. package/lib/routes/questmobile/report.ts +1 -1
  268. package/lib/routes/railway/index.ts +73 -0
  269. package/lib/routes/railway/namespace.ts +8 -0
  270. package/lib/routes/reuters/common.ts +0 -3
  271. package/lib/routes/rockthejvm/articles.ts +167 -0
  272. package/lib/routes/rockthejvm/namespace.ts +9 -0
  273. package/lib/routes/rockthejvm/templates/description.art +7 -0
  274. package/lib/routes/samrdprc/namespace.ts +7 -0
  275. package/lib/routes/samrdprc/news.ts +79 -0
  276. package/lib/routes/sankei/namespace.ts +7 -0
  277. package/lib/routes/sankei/news.ts +68 -0
  278. package/lib/routes/sankei/topics.ts +71 -0
  279. package/lib/routes/sciencenet/user.ts +1 -1
  280. package/lib/routes/scoop/apps.ts +188 -0
  281. package/lib/routes/scoop/namespace.ts +9 -0
  282. package/lib/routes/scoop/templates/description.art +56 -0
  283. package/lib/routes/scpta/namespace.ts +8 -0
  284. package/lib/routes/scpta/news.ts +101 -0
  285. package/lib/routes/seekingalpha/index.ts +1 -1
  286. package/lib/routes/sehuatang/index.ts +29 -31
  287. package/lib/routes/setn/index.ts +11 -2
  288. package/lib/routes/seu/cyber/index.ts +78 -0
  289. package/lib/routes/sicau/jiaowu.ts +42 -34
  290. package/lib/routes/sis001/forum.ts +1 -0
  291. package/lib/routes/sjtu/seiee/icisee.ts +67 -0
  292. package/lib/routes/sketis/isabelle-dev/blog/index.ts +1 -1
  293. package/lib/routes/smartlink/index.ts +13 -3
  294. package/lib/routes/sohu/mp.ts +17 -6
  295. package/lib/routes/sotwe/namespace.ts +1 -0
  296. package/lib/routes/sotwe/user.ts +98 -0
  297. package/lib/routes/spankbang/new-videos.ts +1 -0
  298. package/lib/routes/spglobal/ratings.ts +1 -1
  299. package/lib/routes/stanford/blog.ts +77 -0
  300. package/lib/routes/stanford/namespace.ts +7 -0
  301. package/lib/routes/syosetu/index.ts +1 -1
  302. package/lib/routes/t66y/index.ts +1 -0
  303. package/lib/routes/taobao/mysql.ts +157 -0
  304. package/lib/routes/taobao/namespace.ts +2 -2
  305. package/lib/routes/techcrunch/category.ts +48 -0
  306. package/lib/routes/telegram/channel.ts +2 -2
  307. package/lib/routes/tesla/cx.ts +1 -1
  308. package/lib/routes/test/index.ts +1 -1
  309. package/lib/routes/themoviedb/episodes.ts +1 -1
  310. package/lib/routes/thewirehindi/category.ts +78 -0
  311. package/lib/routes/thewirehindi/index.ts +43 -0
  312. package/lib/routes/thewirehindi/namespace.ts +7 -0
  313. package/lib/routes/thewirehindi/templates/description.art +9 -0
  314. package/lib/routes/thewirehindi/utils.ts +33 -0
  315. package/lib/routes/threads/utils.ts +2 -2
  316. package/lib/routes/tidb/blog.ts +314 -0
  317. package/lib/routes/tidb/namespace.ts +9 -0
  318. package/lib/routes/tumblr/namespace.ts +17 -0
  319. package/lib/routes/tumblr/posts.ts +74 -0
  320. package/lib/routes/tumblr/utils.ts +110 -0
  321. package/lib/routes/tver/namespace.ts +7 -0
  322. package/lib/routes/tver/series.ts +98 -0
  323. package/lib/routes/twitter/api/web-api/login.ts +1 -3
  324. package/lib/routes/twitter/api/web-api/utils.ts +23 -1
  325. package/lib/routes/twitter/utils.ts +21 -21
  326. package/lib/routes/udn/breaking-news.ts +2 -2
  327. package/lib/routes/uestc/auto.ts +1 -1
  328. package/lib/routes/uestc/cqe.ts +1 -1
  329. package/lib/routes/uestc/scse.ts +1 -1
  330. package/lib/routes/uestc/sice.ts +1 -1
  331. package/lib/routes/uestc/sise.ts +1 -1
  332. package/lib/routes/upc/jwc.ts +32 -46
  333. package/lib/routes/uptimerobot/rss.ts +1 -1
  334. package/lib/routes/visionias/daily-news-summary.ts +65 -0
  335. package/lib/routes/visionias/monthly-magazine.ts +68 -0
  336. package/lib/routes/visionias/news-today.ts +3 -13
  337. package/lib/routes/visionias/utils.ts +5 -5
  338. package/lib/routes/visionias/weekly-focus.ts +2 -2
  339. package/lib/routes/wdfxw/bookfree.ts +528 -0
  340. package/lib/routes/wdfxw/namespace.ts +8 -0
  341. package/lib/routes/wdfxw/templates/description.art +13 -0
  342. package/lib/routes/whu/swrh.ts +1 -1
  343. package/lib/routes/windsurf/blog.ts +118 -0
  344. package/lib/routes/windsurf/changelog.ts +100 -0
  345. package/lib/routes/windsurf/namespace.ts +9 -0
  346. package/lib/routes/windsurf/templates/description.art +21 -0
  347. package/lib/routes/x6d/index.ts +1 -1
  348. package/lib/routes/xbookcn/blog.ts +1 -0
  349. package/lib/routes/xiaohongshu/util.ts +1 -3
  350. package/lib/routes/xiaoyuzhou/pickup.ts +1 -1
  351. package/lib/routes/ximalaya/album.ts +32 -70
  352. package/lib/routes/ximalaya/types.ts +48 -0
  353. package/lib/routes/ximalaya/utils.ts +9 -7
  354. package/lib/routes/xmanhua/index.ts +1 -0
  355. package/lib/routes/xueqiu/cookies.ts +1 -1
  356. package/lib/routes/xueqiu/user.ts +1 -1
  357. package/lib/routes/xwenming/index.ts +184 -0
  358. package/lib/routes/xwenming/namespace.ts +9 -0
  359. package/lib/routes/yahoo/news/utils.ts +1 -1
  360. package/lib/routes/yande/post.ts +3 -0
  361. package/lib/routes/ymgal/game.ts +1 -0
  362. package/lib/routes/youtube/api/google.ts +27 -0
  363. package/lib/routes/youtube/api/youtubei.ts +70 -20
  364. package/lib/routes/youtube/community.ts +3 -1
  365. package/lib/routes/youtube/utils.ts +16 -14
  366. package/lib/routes/zaobao/util.ts +8 -5
  367. package/lib/routes/zhihu/activities.ts +3 -0
  368. package/lib/routes/zhihu/execlib/x-zse-96-v3.ts +5 -5
  369. package/lib/routes/zhizhuan100/namespace.ts +7 -0
  370. package/lib/routes/zhizhuan100/report.ts +79 -0
  371. package/lib/routes/zimuxia/portfolio.ts +1 -1
  372. package/lib/routes/zju/sis/index.ts +161 -0
  373. package/lib/server.ts +5 -0
  374. package/lib/types.ts +58 -54
  375. package/lib/utils/helpers.ts +1 -1
  376. package/lib/utils/logger.ts +1 -1
  377. package/lib/utils/proxy/index.ts +102 -18
  378. package/lib/utils/proxy/multi-proxy.ts +139 -0
  379. package/lib/utils/proxy/unify-proxy.ts +3 -1
  380. package/lib/utils/puppeteer-utils.test.ts +1 -1
  381. package/lib/utils/puppeteer.test.ts +14 -27
  382. package/lib/utils/puppeteer.ts +51 -37
  383. package/lib/utils/readable-social.test.ts +65 -0
  384. package/lib/utils/readable-social.ts +15 -1
  385. package/lib/utils/request-rewriter/fetch.ts +42 -4
  386. package/package.json +54 -56
  387. package/lib/routes/mixcloud/queries.ts +0 -2274
  388. package/lib/routes-deprecated/dev.to/top.js +0 -40
@@ -1,2274 +0,0 @@
1
- const queries = {
2
- stream: {
3
- query: `query UserStreamQuery($lookup: UserLookup!) {
4
- user: userLookup(lookup: $lookup) {
5
- username
6
- ...UserStreamPage_user
7
- id
8
- }
9
- viewer {
10
- ...UserStreamPage_viewer
11
- id
12
- }
13
- }
14
-
15
- fragment AudioCardActions_cloudcast on Cloudcast {
16
- isExclusive
17
- audioType
18
- owner {
19
- username
20
- isSubscribedTo
21
- isViewer
22
- id
23
- }
24
- ...AudioCardFavoriteButton_cloudcast
25
- ...AudioCardRepostButton_cloudcast
26
- ...AudioCardShareButton_cloudcast
27
- ...AudioCardAddToButton_cloudcast
28
- ...AudioCardHighlightButton_cloudcast
29
- ...AudioCardBoostButton_cloudcast
30
- ...AudioCardStats_cloudcast
31
- ...AudioCardMoreOptions_cloudcast
32
- }
33
-
34
- fragment AudioCardActions_viewer on Viewer {
35
- ...AudioCardFavoriteButton_viewer
36
- ...AudioCardRepostButton_viewer
37
- ...AudioCardHighlightButton_viewer
38
- ...AudioCardMoreOptions_viewer
39
- }
40
-
41
- fragment AudioCardAddToButton_cloudcast on Cloudcast {
42
- id
43
- isUnlisted
44
- isPublic
45
- }
46
-
47
- fragment AudioCardBoostButton_cloudcast on Cloudcast {
48
- id
49
- isPublic
50
- owner {
51
- id
52
- isViewer
53
- }
54
- }
55
-
56
- fragment AudioCardFavoriteButton_cloudcast on Cloudcast {
57
- id
58
- isFavorited
59
- isPublic
60
- hiddenStats
61
- favorites {
62
- totalCount
63
- }
64
- slug
65
- owner {
66
- id
67
- isFollowing
68
- username
69
- isSelect
70
- displayName
71
- isViewer
72
- }
73
- }
74
-
75
- fragment AudioCardFavoriteButton_viewer on Viewer {
76
- me {
77
- id
78
- }
79
- }
80
-
81
- fragment AudioCardHighlightButton_cloudcast on Cloudcast {
82
- id
83
- isPublic
84
- isHighlighted
85
- owner {
86
- isViewer
87
- id
88
- }
89
- }
90
-
91
- fragment AudioCardHighlightButton_viewer on Viewer {
92
- me {
93
- id
94
- hasProFeatures
95
- highlighted {
96
- totalCount
97
- }
98
- }
99
- }
100
-
101
- fragment AudioCardMoreOptions_cloudcast on Cloudcast {
102
- id
103
- isPublic
104
- slug
105
- isUnlisted
106
- isScheduled
107
- isDraft
108
- audioType
109
- isDisabledCopyright
110
- viewerAttribution {
111
- status
112
- id
113
- }
114
- viewerAttributionRequest {
115
- id
116
- }
117
- creatorAttributions(first: 2) {
118
- edges {
119
- node {
120
- id
121
- }
122
- }
123
- }
124
- owner {
125
- id
126
- username
127
- isViewer
128
- hasProFeatures
129
- viewerIsAffiliate
130
- displayName
131
- affiliateUsers {
132
- totalCount
133
- }
134
- }
135
- }
136
-
137
- fragment AudioCardMoreOptions_viewer on Viewer {
138
- me {
139
- id
140
- hasProFeatures
141
- uploadLimits {
142
- tracksPublishRemaining
143
- showsPublishRemaining
144
- }
145
- }
146
- }
147
-
148
- fragment AudioCardPlayButton_cloudcast on Cloudcast {
149
- id
150
- restrictedReason
151
- owner {
152
- isSubscribedTo
153
- isViewer
154
- id
155
- }
156
- isAwaitingAudio
157
- isDraft
158
- isPlayable
159
- streamInfo {
160
- hlsUrl
161
- dashUrl
162
- url
163
- uuid
164
- }
165
- audioLength
166
- currentPosition
167
- repeatPlayAmount
168
- hasPlayCompleted
169
- seekRestriction
170
- previewUrl
171
- isExclusive
172
- isDisabledCopyright
173
- ...AudioCardStaticPlayButton_cloudcast
174
- ...useAudioPreview_cloudcast
175
- ...useExclusivePreviewModal_cloudcast
176
- ...useExclusiveCloudcastModal_cloudcast
177
- }
178
-
179
- fragment AudioCardProgress_cloudcast on Cloudcast {
180
- id
181
- proportionListened
182
- audioLength
183
- }
184
-
185
- fragment AudioCardRepostButton_cloudcast on Cloudcast {
186
- id
187
- isReposted
188
- isExclusive
189
- isPublic
190
- reposts {
191
- totalCount
192
- }
193
- owner {
194
- isViewer
195
- isSubscribedTo
196
- id
197
- }
198
- }
199
-
200
- fragment AudioCardRepostButton_viewer on Viewer {
201
- me {
202
- id
203
- }
204
- }
205
-
206
- fragment AudioCardShareButton_cloudcast on Cloudcast {
207
- id
208
- isUnlisted
209
- isPublic
210
- slug
211
- description
212
- audioType
213
- picture {
214
- urlRoot
215
- }
216
- owner {
217
- displayName
218
- isViewer
219
- username
220
- id
221
- }
222
- }
223
-
224
- fragment AudioCardStaticPlayButton_cloudcast on Cloudcast {
225
- owner {
226
- username
227
- id
228
- }
229
- slug
230
- id
231
- restrictedReason
232
- }
233
-
234
- fragment AudioCardStats_cloudcast on Cloudcast {
235
- isExclusive
236
- isDraft
237
- hiddenStats
238
- plays
239
- publishDate
240
- qualityScore
241
- listenerMinutes
242
- owner {
243
- isSubscribedTo
244
- id
245
- }
246
- tags(country: "GLOBAL") {
247
- ...AudioCardTagsPreviewer_tag
248
- }
249
- ...AudioCardTags_cloudcast
250
- }
251
-
252
- fragment AudioCardSubLinks_cloudcast on Cloudcast {
253
- id
254
- isExclusive
255
- owner {
256
- id
257
- displayName
258
- username
259
- ...Hovercard_user
260
- }
261
- creatorAttributions(first: 2) {
262
- totalCount
263
- edges {
264
- node {
265
- id
266
- displayName
267
- username
268
- ...Hovercard_user
269
- }
270
- }
271
- }
272
- }
273
-
274
- fragment AudioCardTagsPreviewer_tag on CloudcastTag {
275
- tag {
276
- name
277
- slug
278
- id
279
- }
280
- }
281
-
282
- fragment AudioCardTags_cloudcast on Cloudcast {
283
- tags(country: "GLOBAL") {
284
- tag {
285
- name
286
- slug
287
- id
288
- }
289
- }
290
- }
291
-
292
- fragment AudioCardTitle_cloudcast on Cloudcast {
293
- id
294
- slug
295
- name
296
- audioType
297
- audioQuality
298
- isLiveRecording
299
- isExclusive
300
- owner {
301
- id
302
- username
303
- ...UserBadge_user
304
- }
305
- creatorAttributions(first: 2) {
306
- totalCount
307
- }
308
- ...AudioCardSubLinks_cloudcast
309
- ...AudioCardPlayButton_cloudcast
310
- ...ExclusiveCloudcastBadgeContainer_cloudcast
311
- }
312
-
313
- fragment AudioCard_cloudcast on Cloudcast {
314
- id
315
- slug
316
- audioType
317
- isAwaitingAudio
318
- isDraft
319
- isScheduled
320
- restrictedReason
321
- publishDate
322
- isLiveRecording
323
- isDisabledCopyright
324
- owner {
325
- isViewer
326
- username
327
- id
328
- }
329
- ...ImageCloudcast_cloudcast
330
- ...AudioCardTitle_cloudcast
331
- ...AudioCardProgress_cloudcast
332
- ...AudioCardActions_cloudcast
333
- ...CopyrightSupport_cloudcast
334
- }
335
-
336
- fragment AudioCard_viewer on Viewer {
337
- ...AudioCardActions_viewer
338
- me {
339
- uploadLimits {
340
- tracksPublishRemaining
341
- showsPublishRemaining
342
- }
343
- id
344
- }
345
- }
346
-
347
- fragment CopyrightSupport_cloudcast on Cloudcast {
348
- name
349
- slug
350
- owner {
351
- username
352
- id
353
- }
354
- }
355
-
356
- fragment ExclusiveCloudcastBadgeContainer_cloudcast on Cloudcast {
357
- isExclusive
358
- isExclusivePreviewOnly
359
- slug
360
- id
361
- owner {
362
- username
363
- id
364
- }
365
- }
366
-
367
- fragment Hovercard_user on User {
368
- id
369
- }
370
-
371
- fragment ImageCloudcast_cloudcast on Cloudcast {
372
- name
373
- picture {
374
- urlRoot
375
- primaryColor
376
- }
377
- }
378
-
379
- fragment ShareAudioCardList_user on User {
380
- biog
381
- username
382
- displayName
383
- id
384
- isUploader
385
- picture {
386
- urlRoot
387
- }
388
- }
389
-
390
- fragment UserBadge_user on User {
391
- hasProFeatures
392
- isStaff
393
- hasPremiumFeatures
394
- }
395
-
396
- fragment UserStreamPage_user on User {
397
- id
398
- displayName
399
- username
400
- ...ShareAudioCardList_user
401
- stream(first: 10) {
402
- edges {
403
- repostedBy
404
- node {
405
- id
406
- ...AudioCard_cloudcast
407
- __typename
408
- }
409
- cursor
410
- }
411
- pageInfo {
412
- endCursor
413
- hasNextPage
414
- }
415
- }
416
- }
417
-
418
- fragment UserStreamPage_viewer on Viewer {
419
- ...AudioCard_viewer
420
- }
421
-
422
- fragment useAudioPreview_cloudcast on Cloudcast {
423
- id
424
- previewUrl
425
- }
426
-
427
- fragment useExclusiveCloudcastModal_cloudcast on Cloudcast {
428
- id
429
- isExclusive
430
- owner {
431
- username
432
- id
433
- }
434
- }
435
-
436
- fragment useExclusivePreviewModal_cloudcast on Cloudcast {
437
- id
438
- isExclusivePreviewOnly
439
- owner {
440
- username
441
- id
442
- }
443
- }`,
444
- },
445
- uploads: {
446
- query: `query UserUploadsQuery(
447
- $lookup: UserLookup!
448
- $orderBy: CloudcastOrderByEnum
449
- $onlyAttributedTo: ID!
450
- $hasAttributedTo: Boolean!
451
- ) {
452
- user: userLookup(lookup: $lookup) {
453
- username
454
- ...UserUploadsPage_user_38hcZE
455
- id
456
- }
457
- affiliateUser: user(id: $onlyAttributedTo) @include(if: $hasAttributedTo) {
458
- ...UserUploadsPageAffiliate_user
459
- id
460
- }
461
- viewer {
462
- ...UserUploadsPage_viewer
463
- id
464
- }
465
- }
466
-
467
- fragment AudioCardActions_cloudcast on Cloudcast {
468
- isExclusive
469
- audioType
470
- owner {
471
- username
472
- isSubscribedTo
473
- isViewer
474
- id
475
- }
476
- ...AudioCardFavoriteButton_cloudcast
477
- ...AudioCardRepostButton_cloudcast
478
- ...AudioCardShareButton_cloudcast
479
- ...AudioCardAddToButton_cloudcast
480
- ...AudioCardHighlightButton_cloudcast
481
- ...AudioCardBoostButton_cloudcast
482
- ...AudioCardStats_cloudcast
483
- ...AudioCardMoreOptions_cloudcast
484
- }
485
-
486
- fragment AudioCardActions_viewer on Viewer {
487
- ...AudioCardFavoriteButton_viewer
488
- ...AudioCardRepostButton_viewer
489
- ...AudioCardHighlightButton_viewer
490
- ...AudioCardMoreOptions_viewer
491
- }
492
-
493
- fragment AudioCardAddToButton_cloudcast on Cloudcast {
494
- id
495
- isUnlisted
496
- isPublic
497
- }
498
-
499
- fragment AudioCardBoostButton_cloudcast on Cloudcast {
500
- id
501
- isPublic
502
- owner {
503
- id
504
- isViewer
505
- }
506
- }
507
-
508
- fragment AudioCardFavoriteButton_cloudcast on Cloudcast {
509
- id
510
- isFavorited
511
- isPublic
512
- hiddenStats
513
- favorites {
514
- totalCount
515
- }
516
- slug
517
- owner {
518
- id
519
- isFollowing
520
- username
521
- isSelect
522
- displayName
523
- isViewer
524
- }
525
- }
526
-
527
- fragment AudioCardFavoriteButton_viewer on Viewer {
528
- me {
529
- id
530
- }
531
- }
532
-
533
- fragment AudioCardHighlightButton_cloudcast on Cloudcast {
534
- id
535
- isPublic
536
- isHighlighted
537
- owner {
538
- isViewer
539
- id
540
- }
541
- }
542
-
543
- fragment AudioCardHighlightButton_viewer on Viewer {
544
- me {
545
- id
546
- hasProFeatures
547
- highlighted {
548
- totalCount
549
- }
550
- }
551
- }
552
-
553
- fragment AudioCardMoreOptions_cloudcast on Cloudcast {
554
- id
555
- isPublic
556
- slug
557
- isUnlisted
558
- isScheduled
559
- isDraft
560
- audioType
561
- isDisabledCopyright
562
- viewerAttribution {
563
- status
564
- id
565
- }
566
- viewerAttributionRequest {
567
- id
568
- }
569
- creatorAttributions(first: 2) {
570
- edges {
571
- node {
572
- id
573
- }
574
- }
575
- }
576
- owner {
577
- id
578
- username
579
- isViewer
580
- hasProFeatures
581
- viewerIsAffiliate
582
- displayName
583
- affiliateUsers {
584
- totalCount
585
- }
586
- }
587
- }
588
-
589
- fragment AudioCardMoreOptions_viewer on Viewer {
590
- me {
591
- id
592
- hasProFeatures
593
- uploadLimits {
594
- tracksPublishRemaining
595
- showsPublishRemaining
596
- }
597
- }
598
- }
599
-
600
- fragment AudioCardPlayButton_cloudcast on Cloudcast {
601
- id
602
- restrictedReason
603
- owner {
604
- isSubscribedTo
605
- isViewer
606
- id
607
- }
608
- isAwaitingAudio
609
- isDraft
610
- isPlayable
611
- streamInfo {
612
- hlsUrl
613
- dashUrl
614
- url
615
- uuid
616
- }
617
- audioLength
618
- currentPosition
619
- repeatPlayAmount
620
- hasPlayCompleted
621
- seekRestriction
622
- previewUrl
623
- isExclusive
624
- isDisabledCopyright
625
- ...AudioCardStaticPlayButton_cloudcast
626
- ...useAudioPreview_cloudcast
627
- ...useExclusivePreviewModal_cloudcast
628
- ...useExclusiveCloudcastModal_cloudcast
629
- }
630
-
631
- fragment AudioCardProgress_cloudcast on Cloudcast {
632
- id
633
- proportionListened
634
- audioLength
635
- }
636
-
637
- fragment AudioCardRepostButton_cloudcast on Cloudcast {
638
- id
639
- isReposted
640
- isExclusive
641
- isPublic
642
- reposts {
643
- totalCount
644
- }
645
- owner {
646
- isViewer
647
- isSubscribedTo
648
- id
649
- }
650
- }
651
-
652
- fragment AudioCardRepostButton_viewer on Viewer {
653
- me {
654
- id
655
- }
656
- }
657
-
658
- fragment AudioCardShareButton_cloudcast on Cloudcast {
659
- id
660
- isUnlisted
661
- isPublic
662
- slug
663
- description
664
- audioType
665
- picture {
666
- urlRoot
667
- }
668
- owner {
669
- displayName
670
- isViewer
671
- username
672
- id
673
- }
674
- }
675
-
676
- fragment AudioCardStaticPlayButton_cloudcast on Cloudcast {
677
- owner {
678
- username
679
- id
680
- }
681
- slug
682
- id
683
- restrictedReason
684
- }
685
-
686
- fragment AudioCardStats_cloudcast on Cloudcast {
687
- isExclusive
688
- isDraft
689
- hiddenStats
690
- plays
691
- publishDate
692
- qualityScore
693
- listenerMinutes
694
- owner {
695
- isSubscribedTo
696
- id
697
- }
698
- tags(country: "GLOBAL") {
699
- ...AudioCardTagsPreviewer_tag
700
- }
701
- ...AudioCardTags_cloudcast
702
- }
703
-
704
- fragment AudioCardSubLinks_cloudcast on Cloudcast {
705
- id
706
- isExclusive
707
- owner {
708
- id
709
- displayName
710
- username
711
- ...Hovercard_user
712
- }
713
- creatorAttributions(first: 2) {
714
- totalCount
715
- edges {
716
- node {
717
- id
718
- displayName
719
- username
720
- ...Hovercard_user
721
- }
722
- }
723
- }
724
- }
725
-
726
- fragment AudioCardTagsPreviewer_tag on CloudcastTag {
727
- tag {
728
- name
729
- slug
730
- id
731
- }
732
- }
733
-
734
- fragment AudioCardTags_cloudcast on Cloudcast {
735
- tags(country: "GLOBAL") {
736
- tag {
737
- name
738
- slug
739
- id
740
- }
741
- }
742
- }
743
-
744
- fragment AudioCardTitle_cloudcast on Cloudcast {
745
- id
746
- slug
747
- name
748
- audioType
749
- audioQuality
750
- isLiveRecording
751
- isExclusive
752
- owner {
753
- id
754
- username
755
- ...UserBadge_user
756
- }
757
- creatorAttributions(first: 2) {
758
- totalCount
759
- }
760
- ...AudioCardSubLinks_cloudcast
761
- ...AudioCardPlayButton_cloudcast
762
- ...ExclusiveCloudcastBadgeContainer_cloudcast
763
- }
764
-
765
- fragment AudioCard_cloudcast on Cloudcast {
766
- id
767
- slug
768
- audioType
769
- isAwaitingAudio
770
- isDraft
771
- isScheduled
772
- restrictedReason
773
- publishDate
774
- isLiveRecording
775
- isDisabledCopyright
776
- owner {
777
- isViewer
778
- username
779
- id
780
- }
781
- ...ImageCloudcast_cloudcast
782
- ...AudioCardTitle_cloudcast
783
- ...AudioCardProgress_cloudcast
784
- ...AudioCardActions_cloudcast
785
- ...CopyrightSupport_cloudcast
786
- }
787
-
788
- fragment AudioCard_viewer on Viewer {
789
- ...AudioCardActions_viewer
790
- me {
791
- uploadLimits {
792
- tracksPublishRemaining
793
- showsPublishRemaining
794
- }
795
- id
796
- }
797
- }
798
-
799
- fragment CopyrightSupport_cloudcast on Cloudcast {
800
- name
801
- slug
802
- owner {
803
- username
804
- id
805
- }
806
- }
807
-
808
- fragment ExclusiveCloudcastBadgeContainer_cloudcast on Cloudcast {
809
- isExclusive
810
- isExclusivePreviewOnly
811
- slug
812
- id
813
- owner {
814
- username
815
- id
816
- }
817
- }
818
-
819
- fragment Hovercard_user on User {
820
- id
821
- }
822
-
823
- fragment ImageCloudcast_cloudcast on Cloudcast {
824
- name
825
- picture {
826
- urlRoot
827
- primaryColor
828
- }
829
- }
830
-
831
- fragment ProfileSearchAudioCardList_user on User {
832
- username
833
- displayName
834
- id
835
- picture {
836
- urlRoot
837
- }
838
- }
839
-
840
- fragment ShareAudioCardList_user on User {
841
- biog
842
- username
843
- displayName
844
- id
845
- isUploader
846
- picture {
847
- urlRoot
848
- }
849
- }
850
-
851
- fragment UserBadge_user on User {
852
- hasProFeatures
853
- isStaff
854
- hasPremiumFeatures
855
- }
856
-
857
- fragment UserUploadsPageAffiliate_user on User {
858
- displayName
859
- username
860
- id
861
- picture {
862
- urlRoot
863
- }
864
- }
865
-
866
- fragment UserUploadsPage_user_38hcZE on User {
867
- id
868
- displayName
869
- username
870
- isViewer
871
- hasProFeatures
872
- viewerIsAffiliate
873
- ...ShareAudioCardList_user
874
- ...ProfileSearchAudioCardList_user
875
- uploads(
876
- first: 10
877
- isPublic: true
878
- orderBy: $orderBy
879
- audioTypes: [SHOW]
880
- onlyAttributedTo: $onlyAttributedTo
881
- ) {
882
- edges {
883
- node {
884
- ...AudioCard_cloudcast
885
- id
886
- __typename
887
- }
888
- cursor
889
- }
890
- pageInfo {
891
- endCursor
892
- hasNextPage
893
- }
894
- totalCount
895
- }
896
- }
897
-
898
- fragment UserUploadsPage_viewer on Viewer {
899
- ...AudioCard_viewer
900
- }
901
-
902
- fragment useAudioPreview_cloudcast on Cloudcast {
903
- id
904
- previewUrl
905
- }
906
-
907
- fragment useExclusiveCloudcastModal_cloudcast on Cloudcast {
908
- id
909
- isExclusive
910
- owner {
911
- username
912
- id
913
- }
914
- }
915
-
916
- fragment useExclusivePreviewModal_cloudcast on Cloudcast {
917
- id
918
- isExclusivePreviewOnly
919
- owner {
920
- username
921
- id
922
- }
923
- }`,
924
- },
925
- reposts: {
926
- query: `query UserRepostsQuery($lookup: UserLookup!) {
927
- user: userLookup(lookup: $lookup) {
928
- username
929
- ...UserRepostsPage_user
930
- id
931
- }
932
- viewer {
933
- ...UserRepostsPage_viewer
934
- id
935
- }
936
- }
937
-
938
- fragment AudioCardActions_cloudcast on Cloudcast {
939
- isExclusive
940
- audioType
941
- owner {
942
- username
943
- isSubscribedTo
944
- isViewer
945
- id
946
- }
947
- ...AudioCardFavoriteButton_cloudcast
948
- ...AudioCardRepostButton_cloudcast
949
- ...AudioCardShareButton_cloudcast
950
- ...AudioCardAddToButton_cloudcast
951
- ...AudioCardHighlightButton_cloudcast
952
- ...AudioCardBoostButton_cloudcast
953
- ...AudioCardStats_cloudcast
954
- ...AudioCardMoreOptions_cloudcast
955
- }
956
-
957
- fragment AudioCardActions_viewer on Viewer {
958
- ...AudioCardFavoriteButton_viewer
959
- ...AudioCardRepostButton_viewer
960
- ...AudioCardHighlightButton_viewer
961
- ...AudioCardMoreOptions_viewer
962
- }
963
-
964
- fragment AudioCardAddToButton_cloudcast on Cloudcast {
965
- id
966
- isUnlisted
967
- isPublic
968
- }
969
-
970
- fragment AudioCardBoostButton_cloudcast on Cloudcast {
971
- id
972
- isPublic
973
- owner {
974
- id
975
- isViewer
976
- }
977
- }
978
-
979
- fragment AudioCardFavoriteButton_cloudcast on Cloudcast {
980
- id
981
- isFavorited
982
- isPublic
983
- hiddenStats
984
- favorites {
985
- totalCount
986
- }
987
- slug
988
- owner {
989
- id
990
- isFollowing
991
- username
992
- isSelect
993
- displayName
994
- isViewer
995
- }
996
- }
997
-
998
- fragment AudioCardFavoriteButton_viewer on Viewer {
999
- me {
1000
- id
1001
- }
1002
- }
1003
-
1004
- fragment AudioCardHighlightButton_cloudcast on Cloudcast {
1005
- id
1006
- isPublic
1007
- isHighlighted
1008
- owner {
1009
- isViewer
1010
- id
1011
- }
1012
- }
1013
-
1014
- fragment AudioCardHighlightButton_viewer on Viewer {
1015
- me {
1016
- id
1017
- hasProFeatures
1018
- highlighted {
1019
- totalCount
1020
- }
1021
- }
1022
- }
1023
-
1024
- fragment AudioCardMoreOptions_cloudcast on Cloudcast {
1025
- id
1026
- isPublic
1027
- slug
1028
- isUnlisted
1029
- isScheduled
1030
- isDraft
1031
- audioType
1032
- isDisabledCopyright
1033
- viewerAttribution {
1034
- status
1035
- id
1036
- }
1037
- viewerAttributionRequest {
1038
- id
1039
- }
1040
- creatorAttributions(first: 2) {
1041
- edges {
1042
- node {
1043
- id
1044
- }
1045
- }
1046
- }
1047
- owner {
1048
- id
1049
- username
1050
- isViewer
1051
- hasProFeatures
1052
- viewerIsAffiliate
1053
- displayName
1054
- affiliateUsers {
1055
- totalCount
1056
- }
1057
- }
1058
- }
1059
-
1060
- fragment AudioCardMoreOptions_viewer on Viewer {
1061
- me {
1062
- id
1063
- hasProFeatures
1064
- uploadLimits {
1065
- tracksPublishRemaining
1066
- showsPublishRemaining
1067
- }
1068
- }
1069
- }
1070
-
1071
- fragment AudioCardPlayButton_cloudcast on Cloudcast {
1072
- id
1073
- restrictedReason
1074
- owner {
1075
- isSubscribedTo
1076
- isViewer
1077
- id
1078
- }
1079
- isAwaitingAudio
1080
- isDraft
1081
- isPlayable
1082
- streamInfo {
1083
- hlsUrl
1084
- dashUrl
1085
- url
1086
- uuid
1087
- }
1088
- audioLength
1089
- currentPosition
1090
- repeatPlayAmount
1091
- hasPlayCompleted
1092
- seekRestriction
1093
- previewUrl
1094
- isExclusive
1095
- isDisabledCopyright
1096
- ...AudioCardStaticPlayButton_cloudcast
1097
- ...useAudioPreview_cloudcast
1098
- ...useExclusivePreviewModal_cloudcast
1099
- ...useExclusiveCloudcastModal_cloudcast
1100
- }
1101
-
1102
- fragment AudioCardProgress_cloudcast on Cloudcast {
1103
- id
1104
- proportionListened
1105
- audioLength
1106
- }
1107
-
1108
- fragment AudioCardRepostButton_cloudcast on Cloudcast {
1109
- id
1110
- isReposted
1111
- isExclusive
1112
- isPublic
1113
- reposts {
1114
- totalCount
1115
- }
1116
- owner {
1117
- isViewer
1118
- isSubscribedTo
1119
- id
1120
- }
1121
- }
1122
-
1123
- fragment AudioCardRepostButton_viewer on Viewer {
1124
- me {
1125
- id
1126
- }
1127
- }
1128
-
1129
- fragment AudioCardShareButton_cloudcast on Cloudcast {
1130
- id
1131
- isUnlisted
1132
- isPublic
1133
- slug
1134
- description
1135
- audioType
1136
- picture {
1137
- urlRoot
1138
- }
1139
- owner {
1140
- displayName
1141
- isViewer
1142
- username
1143
- id
1144
- }
1145
- }
1146
-
1147
- fragment AudioCardStaticPlayButton_cloudcast on Cloudcast {
1148
- owner {
1149
- username
1150
- id
1151
- }
1152
- slug
1153
- id
1154
- restrictedReason
1155
- }
1156
-
1157
- fragment AudioCardStats_cloudcast on Cloudcast {
1158
- isExclusive
1159
- isDraft
1160
- hiddenStats
1161
- plays
1162
- publishDate
1163
- qualityScore
1164
- listenerMinutes
1165
- owner {
1166
- isSubscribedTo
1167
- id
1168
- }
1169
- tags(country: "GLOBAL") {
1170
- ...AudioCardTagsPreviewer_tag
1171
- }
1172
- ...AudioCardTags_cloudcast
1173
- }
1174
-
1175
- fragment AudioCardSubLinks_cloudcast on Cloudcast {
1176
- id
1177
- isExclusive
1178
- owner {
1179
- id
1180
- displayName
1181
- username
1182
- ...Hovercard_user
1183
- }
1184
- creatorAttributions(first: 2) {
1185
- totalCount
1186
- edges {
1187
- node {
1188
- id
1189
- displayName
1190
- username
1191
- ...Hovercard_user
1192
- }
1193
- }
1194
- }
1195
- }
1196
-
1197
- fragment AudioCardTagsPreviewer_tag on CloudcastTag {
1198
- tag {
1199
- name
1200
- slug
1201
- id
1202
- }
1203
- }
1204
-
1205
- fragment AudioCardTags_cloudcast on Cloudcast {
1206
- tags(country: "GLOBAL") {
1207
- tag {
1208
- name
1209
- slug
1210
- id
1211
- }
1212
- }
1213
- }
1214
-
1215
- fragment AudioCardTitle_cloudcast on Cloudcast {
1216
- id
1217
- slug
1218
- name
1219
- audioType
1220
- audioQuality
1221
- isLiveRecording
1222
- isExclusive
1223
- owner {
1224
- id
1225
- username
1226
- ...UserBadge_user
1227
- }
1228
- creatorAttributions(first: 2) {
1229
- totalCount
1230
- }
1231
- ...AudioCardSubLinks_cloudcast
1232
- ...AudioCardPlayButton_cloudcast
1233
- ...ExclusiveCloudcastBadgeContainer_cloudcast
1234
- }
1235
-
1236
- fragment AudioCard_cloudcast on Cloudcast {
1237
- id
1238
- slug
1239
- audioType
1240
- isAwaitingAudio
1241
- isDraft
1242
- isScheduled
1243
- restrictedReason
1244
- publishDate
1245
- isLiveRecording
1246
- isDisabledCopyright
1247
- owner {
1248
- isViewer
1249
- username
1250
- id
1251
- }
1252
- ...ImageCloudcast_cloudcast
1253
- ...AudioCardTitle_cloudcast
1254
- ...AudioCardProgress_cloudcast
1255
- ...AudioCardActions_cloudcast
1256
- ...CopyrightSupport_cloudcast
1257
- }
1258
-
1259
- fragment AudioCard_viewer on Viewer {
1260
- ...AudioCardActions_viewer
1261
- me {
1262
- uploadLimits {
1263
- tracksPublishRemaining
1264
- showsPublishRemaining
1265
- }
1266
- id
1267
- }
1268
- }
1269
-
1270
- fragment CopyrightSupport_cloudcast on Cloudcast {
1271
- name
1272
- slug
1273
- owner {
1274
- username
1275
- id
1276
- }
1277
- }
1278
-
1279
- fragment ExclusiveCloudcastBadgeContainer_cloudcast on Cloudcast {
1280
- isExclusive
1281
- isExclusivePreviewOnly
1282
- slug
1283
- id
1284
- owner {
1285
- username
1286
- id
1287
- }
1288
- }
1289
-
1290
- fragment Hovercard_user on User {
1291
- id
1292
- }
1293
-
1294
- fragment ImageCloudcast_cloudcast on Cloudcast {
1295
- name
1296
- picture {
1297
- urlRoot
1298
- primaryColor
1299
- }
1300
- }
1301
-
1302
- fragment ShareAudioCardList_user on User {
1303
- biog
1304
- username
1305
- displayName
1306
- id
1307
- isUploader
1308
- picture {
1309
- urlRoot
1310
- }
1311
- }
1312
-
1313
- fragment UserBadge_user on User {
1314
- hasProFeatures
1315
- isStaff
1316
- hasPremiumFeatures
1317
- }
1318
-
1319
- fragment UserRepostsPage_user on User {
1320
- id
1321
- displayName
1322
- username
1323
- isViewer
1324
- ...ShareAudioCardList_user
1325
- reposted(first: 10, audioTypes: [SHOW, TRACK]) {
1326
- edges {
1327
- node {
1328
- ...AudioCard_cloudcast
1329
- id
1330
- __typename
1331
- }
1332
- cursor
1333
- }
1334
- pageInfo {
1335
- endCursor
1336
- hasNextPage
1337
- }
1338
- totalCount
1339
- }
1340
- }
1341
-
1342
- fragment UserRepostsPage_viewer on Viewer {
1343
- ...AudioCard_viewer
1344
- }
1345
-
1346
- fragment useAudioPreview_cloudcast on Cloudcast {
1347
- id
1348
- previewUrl
1349
- }
1350
-
1351
- fragment useExclusiveCloudcastModal_cloudcast on Cloudcast {
1352
- id
1353
- isExclusive
1354
- owner {
1355
- username
1356
- id
1357
- }
1358
- }
1359
-
1360
- fragment useExclusivePreviewModal_cloudcast on Cloudcast {
1361
- id
1362
- isExclusivePreviewOnly
1363
- owner {
1364
- username
1365
- id
1366
- }
1367
- }`,
1368
- },
1369
- favorites: {
1370
- query: `query UserFavoritesQuery($lookup: UserLookup!) {
1371
- user: userLookup(lookup: $lookup) {
1372
- username
1373
- hiddenFavorites: favorites {
1374
- isHidden
1375
- }
1376
- ...UserFavoritesPage_user
1377
- id
1378
- }
1379
- viewer {
1380
- ...UserFavoritesPage_viewer
1381
- id
1382
- }
1383
- }
1384
-
1385
- fragment AudioCardActions_cloudcast on Cloudcast {
1386
- isExclusive
1387
- audioType
1388
- owner {
1389
- username
1390
- isSubscribedTo
1391
- isViewer
1392
- id
1393
- }
1394
- ...AudioCardFavoriteButton_cloudcast
1395
- ...AudioCardRepostButton_cloudcast
1396
- ...AudioCardShareButton_cloudcast
1397
- ...AudioCardAddToButton_cloudcast
1398
- ...AudioCardHighlightButton_cloudcast
1399
- ...AudioCardBoostButton_cloudcast
1400
- ...AudioCardStats_cloudcast
1401
- ...AudioCardMoreOptions_cloudcast
1402
- }
1403
-
1404
- fragment AudioCardActions_viewer on Viewer {
1405
- ...AudioCardFavoriteButton_viewer
1406
- ...AudioCardRepostButton_viewer
1407
- ...AudioCardHighlightButton_viewer
1408
- ...AudioCardMoreOptions_viewer
1409
- }
1410
-
1411
- fragment AudioCardAddToButton_cloudcast on Cloudcast {
1412
- id
1413
- isUnlisted
1414
- isPublic
1415
- }
1416
-
1417
- fragment AudioCardBoostButton_cloudcast on Cloudcast {
1418
- id
1419
- isPublic
1420
- owner {
1421
- id
1422
- isViewer
1423
- }
1424
- }
1425
-
1426
- fragment AudioCardFavoriteButton_cloudcast on Cloudcast {
1427
- id
1428
- isFavorited
1429
- isPublic
1430
- hiddenStats
1431
- favorites {
1432
- totalCount
1433
- }
1434
- slug
1435
- owner {
1436
- id
1437
- isFollowing
1438
- username
1439
- isSelect
1440
- displayName
1441
- isViewer
1442
- }
1443
- }
1444
-
1445
- fragment AudioCardFavoriteButton_viewer on Viewer {
1446
- me {
1447
- id
1448
- }
1449
- }
1450
-
1451
- fragment AudioCardHighlightButton_cloudcast on Cloudcast {
1452
- id
1453
- isPublic
1454
- isHighlighted
1455
- owner {
1456
- isViewer
1457
- id
1458
- }
1459
- }
1460
-
1461
- fragment AudioCardHighlightButton_viewer on Viewer {
1462
- me {
1463
- id
1464
- hasProFeatures
1465
- highlighted {
1466
- totalCount
1467
- }
1468
- }
1469
- }
1470
-
1471
- fragment AudioCardMoreOptions_cloudcast on Cloudcast {
1472
- id
1473
- isPublic
1474
- slug
1475
- isUnlisted
1476
- isScheduled
1477
- isDraft
1478
- audioType
1479
- isDisabledCopyright
1480
- viewerAttribution {
1481
- status
1482
- id
1483
- }
1484
- viewerAttributionRequest {
1485
- id
1486
- }
1487
- creatorAttributions(first: 2) {
1488
- edges {
1489
- node {
1490
- id
1491
- }
1492
- }
1493
- }
1494
- owner {
1495
- id
1496
- username
1497
- isViewer
1498
- hasProFeatures
1499
- viewerIsAffiliate
1500
- displayName
1501
- affiliateUsers {
1502
- totalCount
1503
- }
1504
- }
1505
- }
1506
-
1507
- fragment AudioCardMoreOptions_viewer on Viewer {
1508
- me {
1509
- id
1510
- hasProFeatures
1511
- uploadLimits {
1512
- tracksPublishRemaining
1513
- showsPublishRemaining
1514
- }
1515
- }
1516
- }
1517
-
1518
- fragment AudioCardPlayButton_cloudcast on Cloudcast {
1519
- id
1520
- restrictedReason
1521
- owner {
1522
- isSubscribedTo
1523
- isViewer
1524
- id
1525
- }
1526
- isAwaitingAudio
1527
- isDraft
1528
- isPlayable
1529
- streamInfo {
1530
- hlsUrl
1531
- dashUrl
1532
- url
1533
- uuid
1534
- }
1535
- audioLength
1536
- currentPosition
1537
- repeatPlayAmount
1538
- hasPlayCompleted
1539
- seekRestriction
1540
- previewUrl
1541
- isExclusive
1542
- isDisabledCopyright
1543
- ...AudioCardStaticPlayButton_cloudcast
1544
- ...useAudioPreview_cloudcast
1545
- ...useExclusivePreviewModal_cloudcast
1546
- ...useExclusiveCloudcastModal_cloudcast
1547
- }
1548
-
1549
- fragment AudioCardProgress_cloudcast on Cloudcast {
1550
- id
1551
- proportionListened
1552
- audioLength
1553
- }
1554
-
1555
- fragment AudioCardRepostButton_cloudcast on Cloudcast {
1556
- id
1557
- isReposted
1558
- isExclusive
1559
- isPublic
1560
- reposts {
1561
- totalCount
1562
- }
1563
- owner {
1564
- isViewer
1565
- isSubscribedTo
1566
- id
1567
- }
1568
- }
1569
-
1570
- fragment AudioCardRepostButton_viewer on Viewer {
1571
- me {
1572
- id
1573
- }
1574
- }
1575
-
1576
- fragment AudioCardShareButton_cloudcast on Cloudcast {
1577
- id
1578
- isUnlisted
1579
- isPublic
1580
- slug
1581
- description
1582
- audioType
1583
- picture {
1584
- urlRoot
1585
- }
1586
- owner {
1587
- displayName
1588
- isViewer
1589
- username
1590
- id
1591
- }
1592
- }
1593
-
1594
- fragment AudioCardStaticPlayButton_cloudcast on Cloudcast {
1595
- owner {
1596
- username
1597
- id
1598
- }
1599
- slug
1600
- id
1601
- restrictedReason
1602
- }
1603
-
1604
- fragment AudioCardStats_cloudcast on Cloudcast {
1605
- isExclusive
1606
- isDraft
1607
- hiddenStats
1608
- plays
1609
- publishDate
1610
- qualityScore
1611
- listenerMinutes
1612
- owner {
1613
- isSubscribedTo
1614
- id
1615
- }
1616
- tags(country: "GLOBAL") {
1617
- ...AudioCardTagsPreviewer_tag
1618
- }
1619
- ...AudioCardTags_cloudcast
1620
- }
1621
-
1622
- fragment AudioCardSubLinks_cloudcast on Cloudcast {
1623
- id
1624
- isExclusive
1625
- owner {
1626
- id
1627
- displayName
1628
- username
1629
- ...Hovercard_user
1630
- }
1631
- creatorAttributions(first: 2) {
1632
- totalCount
1633
- edges {
1634
- node {
1635
- id
1636
- displayName
1637
- username
1638
- ...Hovercard_user
1639
- }
1640
- }
1641
- }
1642
- }
1643
-
1644
- fragment AudioCardTagsPreviewer_tag on CloudcastTag {
1645
- tag {
1646
- name
1647
- slug
1648
- id
1649
- }
1650
- }
1651
-
1652
- fragment AudioCardTags_cloudcast on Cloudcast {
1653
- tags(country: "GLOBAL") {
1654
- tag {
1655
- name
1656
- slug
1657
- id
1658
- }
1659
- }
1660
- }
1661
-
1662
- fragment AudioCardTitle_cloudcast on Cloudcast {
1663
- id
1664
- slug
1665
- name
1666
- audioType
1667
- audioQuality
1668
- isLiveRecording
1669
- isExclusive
1670
- owner {
1671
- id
1672
- username
1673
- ...UserBadge_user
1674
- }
1675
- creatorAttributions(first: 2) {
1676
- totalCount
1677
- }
1678
- ...AudioCardSubLinks_cloudcast
1679
- ...AudioCardPlayButton_cloudcast
1680
- ...ExclusiveCloudcastBadgeContainer_cloudcast
1681
- }
1682
-
1683
- fragment AudioCard_cloudcast on Cloudcast {
1684
- id
1685
- slug
1686
- audioType
1687
- isAwaitingAudio
1688
- isDraft
1689
- isScheduled
1690
- restrictedReason
1691
- publishDate
1692
- isLiveRecording
1693
- isDisabledCopyright
1694
- owner {
1695
- isViewer
1696
- username
1697
- id
1698
- }
1699
- ...ImageCloudcast_cloudcast
1700
- ...AudioCardTitle_cloudcast
1701
- ...AudioCardProgress_cloudcast
1702
- ...AudioCardActions_cloudcast
1703
- ...CopyrightSupport_cloudcast
1704
- }
1705
-
1706
- fragment AudioCard_viewer on Viewer {
1707
- ...AudioCardActions_viewer
1708
- me {
1709
- uploadLimits {
1710
- tracksPublishRemaining
1711
- showsPublishRemaining
1712
- }
1713
- id
1714
- }
1715
- }
1716
-
1717
- fragment CopyrightSupport_cloudcast on Cloudcast {
1718
- name
1719
- slug
1720
- owner {
1721
- username
1722
- id
1723
- }
1724
- }
1725
-
1726
- fragment ExclusiveCloudcastBadgeContainer_cloudcast on Cloudcast {
1727
- isExclusive
1728
- isExclusivePreviewOnly
1729
- slug
1730
- id
1731
- owner {
1732
- username
1733
- id
1734
- }
1735
- }
1736
-
1737
- fragment Hovercard_user on User {
1738
- id
1739
- }
1740
-
1741
- fragment ImageCloudcast_cloudcast on Cloudcast {
1742
- name
1743
- picture {
1744
- urlRoot
1745
- primaryColor
1746
- }
1747
- }
1748
-
1749
- fragment ShareAudioCardList_user on User {
1750
- biog
1751
- username
1752
- displayName
1753
- id
1754
- isUploader
1755
- picture {
1756
- urlRoot
1757
- }
1758
- }
1759
-
1760
- fragment UserBadge_user on User {
1761
- hasProFeatures
1762
- isStaff
1763
- hasPremiumFeatures
1764
- }
1765
-
1766
- fragment UserFavoritesPage_user on User {
1767
- id
1768
- displayName
1769
- username
1770
- isViewer
1771
- ...ShareAudioCardList_user
1772
- favorites(first: 10) {
1773
- edges {
1774
- node {
1775
- id
1776
- ...AudioCard_cloudcast
1777
- __typename
1778
- }
1779
- cursor
1780
- }
1781
- pageInfo {
1782
- endCursor
1783
- hasNextPage
1784
- }
1785
- }
1786
- }
1787
-
1788
- fragment UserFavoritesPage_viewer on Viewer {
1789
- me {
1790
- id
1791
- }
1792
- ...AudioCard_viewer
1793
- }
1794
-
1795
- fragment useAudioPreview_cloudcast on Cloudcast {
1796
- id
1797
- previewUrl
1798
- }
1799
-
1800
- fragment useExclusiveCloudcastModal_cloudcast on Cloudcast {
1801
- id
1802
- isExclusive
1803
- owner {
1804
- username
1805
- id
1806
- }
1807
- }
1808
-
1809
- fragment useExclusivePreviewModal_cloudcast on Cloudcast {
1810
- id
1811
- isExclusivePreviewOnly
1812
- owner {
1813
- username
1814
- id
1815
- }
1816
- }`,
1817
- },
1818
- listens: {
1819
- query: `query UserListensQuery($lookup: UserLookup!) {
1820
- user: userLookup(lookup: $lookup) {
1821
- username
1822
- hiddenListeningHistory: listeningHistory {
1823
- isHidden
1824
- }
1825
- ...UserListensPage_user
1826
- id
1827
- }
1828
- viewer {
1829
- ...UserListensPage_viewer
1830
- id
1831
- }
1832
- }
1833
-
1834
- fragment AudioCardActions_cloudcast on Cloudcast {
1835
- isExclusive
1836
- audioType
1837
- owner {
1838
- username
1839
- isSubscribedTo
1840
- isViewer
1841
- id
1842
- }
1843
- ...AudioCardFavoriteButton_cloudcast
1844
- ...AudioCardRepostButton_cloudcast
1845
- ...AudioCardShareButton_cloudcast
1846
- ...AudioCardAddToButton_cloudcast
1847
- ...AudioCardHighlightButton_cloudcast
1848
- ...AudioCardBoostButton_cloudcast
1849
- ...AudioCardStats_cloudcast
1850
- ...AudioCardMoreOptions_cloudcast
1851
- }
1852
-
1853
- fragment AudioCardActions_viewer on Viewer {
1854
- ...AudioCardFavoriteButton_viewer
1855
- ...AudioCardRepostButton_viewer
1856
- ...AudioCardHighlightButton_viewer
1857
- ...AudioCardMoreOptions_viewer
1858
- }
1859
-
1860
- fragment AudioCardAddToButton_cloudcast on Cloudcast {
1861
- id
1862
- isUnlisted
1863
- isPublic
1864
- }
1865
-
1866
- fragment AudioCardBoostButton_cloudcast on Cloudcast {
1867
- id
1868
- isPublic
1869
- owner {
1870
- id
1871
- isViewer
1872
- }
1873
- }
1874
-
1875
- fragment AudioCardFavoriteButton_cloudcast on Cloudcast {
1876
- id
1877
- isFavorited
1878
- isPublic
1879
- hiddenStats
1880
- favorites {
1881
- totalCount
1882
- }
1883
- slug
1884
- owner {
1885
- id
1886
- isFollowing
1887
- username
1888
- isSelect
1889
- displayName
1890
- isViewer
1891
- }
1892
- }
1893
-
1894
- fragment AudioCardFavoriteButton_viewer on Viewer {
1895
- me {
1896
- id
1897
- }
1898
- }
1899
-
1900
- fragment AudioCardHighlightButton_cloudcast on Cloudcast {
1901
- id
1902
- isPublic
1903
- isHighlighted
1904
- owner {
1905
- isViewer
1906
- id
1907
- }
1908
- }
1909
-
1910
- fragment AudioCardHighlightButton_viewer on Viewer {
1911
- me {
1912
- id
1913
- hasProFeatures
1914
- highlighted {
1915
- totalCount
1916
- }
1917
- }
1918
- }
1919
-
1920
- fragment AudioCardMoreOptions_cloudcast on Cloudcast {
1921
- id
1922
- isPublic
1923
- slug
1924
- isUnlisted
1925
- isScheduled
1926
- isDraft
1927
- audioType
1928
- isDisabledCopyright
1929
- viewerAttribution {
1930
- status
1931
- id
1932
- }
1933
- viewerAttributionRequest {
1934
- id
1935
- }
1936
- creatorAttributions(first: 2) {
1937
- edges {
1938
- node {
1939
- id
1940
- }
1941
- }
1942
- }
1943
- owner {
1944
- id
1945
- username
1946
- isViewer
1947
- hasProFeatures
1948
- viewerIsAffiliate
1949
- displayName
1950
- affiliateUsers {
1951
- totalCount
1952
- }
1953
- }
1954
- }
1955
-
1956
- fragment AudioCardMoreOptions_viewer on Viewer {
1957
- me {
1958
- id
1959
- hasProFeatures
1960
- uploadLimits {
1961
- tracksPublishRemaining
1962
- showsPublishRemaining
1963
- }
1964
- }
1965
- }
1966
-
1967
- fragment AudioCardPlayButton_cloudcast on Cloudcast {
1968
- id
1969
- restrictedReason
1970
- owner {
1971
- isSubscribedTo
1972
- isViewer
1973
- id
1974
- }
1975
- isAwaitingAudio
1976
- isDraft
1977
- isPlayable
1978
- streamInfo {
1979
- hlsUrl
1980
- dashUrl
1981
- url
1982
- uuid
1983
- }
1984
- audioLength
1985
- currentPosition
1986
- repeatPlayAmount
1987
- hasPlayCompleted
1988
- seekRestriction
1989
- previewUrl
1990
- isExclusive
1991
- isDisabledCopyright
1992
- ...AudioCardStaticPlayButton_cloudcast
1993
- ...useAudioPreview_cloudcast
1994
- ...useExclusivePreviewModal_cloudcast
1995
- ...useExclusiveCloudcastModal_cloudcast
1996
- }
1997
-
1998
- fragment AudioCardProgress_cloudcast on Cloudcast {
1999
- id
2000
- proportionListened
2001
- audioLength
2002
- }
2003
-
2004
- fragment AudioCardRepostButton_cloudcast on Cloudcast {
2005
- id
2006
- isReposted
2007
- isExclusive
2008
- isPublic
2009
- reposts {
2010
- totalCount
2011
- }
2012
- owner {
2013
- isViewer
2014
- isSubscribedTo
2015
- id
2016
- }
2017
- }
2018
-
2019
- fragment AudioCardRepostButton_viewer on Viewer {
2020
- me {
2021
- id
2022
- }
2023
- }
2024
-
2025
- fragment AudioCardShareButton_cloudcast on Cloudcast {
2026
- id
2027
- isUnlisted
2028
- isPublic
2029
- slug
2030
- description
2031
- audioType
2032
- picture {
2033
- urlRoot
2034
- }
2035
- owner {
2036
- displayName
2037
- isViewer
2038
- username
2039
- id
2040
- }
2041
- }
2042
-
2043
- fragment AudioCardStaticPlayButton_cloudcast on Cloudcast {
2044
- owner {
2045
- username
2046
- id
2047
- }
2048
- slug
2049
- id
2050
- restrictedReason
2051
- }
2052
-
2053
- fragment AudioCardStats_cloudcast on Cloudcast {
2054
- isExclusive
2055
- isDraft
2056
- hiddenStats
2057
- plays
2058
- publishDate
2059
- qualityScore
2060
- listenerMinutes
2061
- owner {
2062
- isSubscribedTo
2063
- id
2064
- }
2065
- tags(country: "GLOBAL") {
2066
- ...AudioCardTagsPreviewer_tag
2067
- }
2068
- ...AudioCardTags_cloudcast
2069
- }
2070
-
2071
- fragment AudioCardSubLinks_cloudcast on Cloudcast {
2072
- id
2073
- isExclusive
2074
- owner {
2075
- id
2076
- displayName
2077
- username
2078
- ...Hovercard_user
2079
- }
2080
- creatorAttributions(first: 2) {
2081
- totalCount
2082
- edges {
2083
- node {
2084
- id
2085
- displayName
2086
- username
2087
- ...Hovercard_user
2088
- }
2089
- }
2090
- }
2091
- }
2092
-
2093
- fragment AudioCardTagsPreviewer_tag on CloudcastTag {
2094
- tag {
2095
- name
2096
- slug
2097
- id
2098
- }
2099
- }
2100
-
2101
- fragment AudioCardTags_cloudcast on Cloudcast {
2102
- tags(country: "GLOBAL") {
2103
- tag {
2104
- name
2105
- slug
2106
- id
2107
- }
2108
- }
2109
- }
2110
-
2111
- fragment AudioCardTitle_cloudcast on Cloudcast {
2112
- id
2113
- slug
2114
- name
2115
- audioType
2116
- audioQuality
2117
- isLiveRecording
2118
- isExclusive
2119
- owner {
2120
- id
2121
- username
2122
- ...UserBadge_user
2123
- }
2124
- creatorAttributions(first: 2) {
2125
- totalCount
2126
- }
2127
- ...AudioCardSubLinks_cloudcast
2128
- ...AudioCardPlayButton_cloudcast
2129
- ...ExclusiveCloudcastBadgeContainer_cloudcast
2130
- }
2131
-
2132
- fragment AudioCard_cloudcast on Cloudcast {
2133
- id
2134
- slug
2135
- audioType
2136
- isAwaitingAudio
2137
- isDraft
2138
- isScheduled
2139
- restrictedReason
2140
- publishDate
2141
- isLiveRecording
2142
- isDisabledCopyright
2143
- owner {
2144
- isViewer
2145
- username
2146
- id
2147
- }
2148
- ...ImageCloudcast_cloudcast
2149
- ...AudioCardTitle_cloudcast
2150
- ...AudioCardProgress_cloudcast
2151
- ...AudioCardActions_cloudcast
2152
- ...CopyrightSupport_cloudcast
2153
- }
2154
-
2155
- fragment AudioCard_viewer on Viewer {
2156
- ...AudioCardActions_viewer
2157
- me {
2158
- uploadLimits {
2159
- tracksPublishRemaining
2160
- showsPublishRemaining
2161
- }
2162
- id
2163
- }
2164
- }
2165
-
2166
- fragment CopyrightSupport_cloudcast on Cloudcast {
2167
- name
2168
- slug
2169
- owner {
2170
- username
2171
- id
2172
- }
2173
- }
2174
-
2175
- fragment ExclusiveCloudcastBadgeContainer_cloudcast on Cloudcast {
2176
- isExclusive
2177
- isExclusivePreviewOnly
2178
- slug
2179
- id
2180
- owner {
2181
- username
2182
- id
2183
- }
2184
- }
2185
-
2186
- fragment Hovercard_user on User {
2187
- id
2188
- }
2189
-
2190
- fragment ImageCloudcast_cloudcast on Cloudcast {
2191
- name
2192
- picture {
2193
- urlRoot
2194
- primaryColor
2195
- }
2196
- }
2197
-
2198
- fragment ShareAudioCardList_user on User {
2199
- biog
2200
- username
2201
- displayName
2202
- id
2203
- isUploader
2204
- picture {
2205
- urlRoot
2206
- }
2207
- }
2208
-
2209
- fragment UserBadge_user on User {
2210
- hasProFeatures
2211
- isStaff
2212
- hasPremiumFeatures
2213
- }
2214
-
2215
- fragment UserListensPage_user on User {
2216
- id
2217
- isViewer
2218
- displayName
2219
- username
2220
- ...ShareAudioCardList_user
2221
- listeningHistory(first: 10) {
2222
- totalCount
2223
- edges {
2224
- node {
2225
- id
2226
- cloudcast {
2227
- ...AudioCard_cloudcast
2228
- id
2229
- }
2230
- __typename
2231
- }
2232
- cursor
2233
- }
2234
- pageInfo {
2235
- endCursor
2236
- hasNextPage
2237
- }
2238
- }
2239
- }
2240
-
2241
- fragment UserListensPage_viewer on Viewer {
2242
- id
2243
- me {
2244
- id
2245
- }
2246
- ...AudioCard_viewer
2247
- }
2248
-
2249
- fragment useAudioPreview_cloudcast on Cloudcast {
2250
- id
2251
- previewUrl
2252
- }
2253
-
2254
- fragment useExclusiveCloudcastModal_cloudcast on Cloudcast {
2255
- id
2256
- isExclusive
2257
- owner {
2258
- username
2259
- id
2260
- }
2261
- }
2262
-
2263
- fragment useExclusivePreviewModal_cloudcast on Cloudcast {
2264
- id
2265
- isExclusivePreviewOnly
2266
- owner {
2267
- username
2268
- id
2269
- }
2270
- }`,
2271
- },
2272
- };
2273
-
2274
- export { queries };