From 5c3ee5406f842cec9e4db2e297c006b12cbf5dfc Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Wed, 6 May 2020 02:01:00 +0200 Subject: Move `with_player` to a new module Move this function to a new module as I'd like to use it for checking the "Watch Credits" button. Also change from a callback to a `Promise`. Need to include the `Promise` lib via ES2015 in tsconfig to be able to build with promises. --- src/fullscreen_credits.ts | 16 ++-------------- src/player.ts | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 14 deletions(-) create mode 100644 src/player.ts (limited to 'src') diff --git a/src/fullscreen_credits.ts b/src/fullscreen_credits.ts index 6d174ed..d8b68b9 100644 --- a/src/fullscreen_credits.ts +++ b/src/fullscreen_credits.ts @@ -1,17 +1,5 @@ -function with_player (callback) { - var interval = setInterval( - function() { - var player = document.querySelector('.NFPlayer.nf-player-container'); +import with_player from './player'; - if (player) { - clearInterval(interval); - - callback(player); - } - }, - 1000 - ); -} function init_mutation_observer (player) { var observer = new MutationObserver(function(mutation_list) { @@ -60,7 +48,7 @@ function init_mutation_observer (player) { } export default function init () { - with_player(function(player) { + with_player().then(function(player) { init_mutation_observer(player); }); } diff --git a/src/player.ts b/src/player.ts new file mode 100644 index 0000000..ea0e541 --- /dev/null +++ b/src/player.ts @@ -0,0 +1,16 @@ +export default function with_player (): Promise { + return new Promise(function(resolve) { + const interval = setInterval( + function() { + const player = document.querySelector('.NFPlayer.nf-player-container'); + + if (player) { + clearInterval(interval); + + resolve(player); + } + }, + 1000 + ); + }); +} -- cgit v1.2.3