diff options
| author | Teddy Wing | 2020-05-06 02:01:00 +0200 | 
|---|---|---|
| committer | Teddy Wing | 2020-05-06 02:17:02 +0200 | 
| commit | 5c3ee5406f842cec9e4db2e297c006b12cbf5dfc (patch) | |
| tree | 848849f0c5cef25ffbdb9171303e258fdeabf004 | |
| parent | 175cd65ca3fa906ab3d9b663ae932b7d01f071a5 (diff) | |
| download | netflix-immersive-5c3ee5406f842cec9e4db2e297c006b12cbf5dfc.tar.bz2 | |
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.
| -rw-r--r-- | src/fullscreen_credits.ts | 16 | ||||
| -rw-r--r-- | src/player.ts | 16 | ||||
| -rw-r--r-- | tsconfig.json | 5 | 
3 files changed, 22 insertions, 15 deletions
| 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<HTMLElement> { +	return new Promise(function(resolve) { +		const interval = setInterval( +			function() { +				const player = document.querySelector('.NFPlayer.nf-player-container'); + +				if (player) { +					clearInterval(interval); + +					resolve(player); +				} +			}, +			1000 +		); +	}); +} diff --git a/tsconfig.json b/tsconfig.json index 7dc02bd..c521338 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,7 +3,10 @@  		"module": "commonjs",  		"target": "ES5",  		"outDir": "./build", -		"sourceMap": true +		"sourceMap": true, +		"lib": [ +			"ES2015" +		]  	},  	"files": [  		"src/index.ts" | 
