tv.ts 706 B

1234567891011121314151617181920212223242526272829303132333435
  1. import { Resolver, truncateAfter } from "../util";
  2. import { getChannelURL, getVideoID } from "./default";
  3. function isActive(): boolean {
  4. return (
  5. !!document.querySelector(".player-video-title") &&
  6. !!getTitle() &&
  7. !!getUploader() &&
  8. !!getVideoID() &&
  9. !!getChannelURL()
  10. );
  11. }
  12. function getTitle(): string {
  13. return document.querySelector(".player-video-title")?.textContent.trim();
  14. }
  15. function getUploader(): string {
  16. let title = document
  17. .querySelector(".player-video-details")
  18. ?.textContent.trim();
  19. if (title) title = truncateAfter(title, "•");
  20. return title;
  21. }
  22. const resolver: Resolver = {
  23. isActive,
  24. getTitle,
  25. getUploader,
  26. getChannelURL,
  27. getVideoID,
  28. };
  29. export default resolver;