Some huge changes
This commit is contained in:
parent
e53e892606
commit
81e6bc0092
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
54
docs/classes/_internal_.LiveStream.html
Normal file
54
docs/classes/_internal_.LiveStream.html
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
docs/classes/_internal_.YouTubeThumbnail.html
Normal file
1
docs/classes/_internal_.YouTubeThumbnail.html
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -59,4 +59,4 @@
|
|||||||
<li><a href="https://github.com/play-dl/play-dl/tree/main/docs/SoundCloud">SoundCloud</a></li>
|
<li><a href="https://github.com/play-dl/play-dl/tree/main/docs/SoundCloud">SoundCloud</a></li>
|
||||||
<li><a href="https://github.com/play-dl/play-dl/tree/main/docs/Deezer">Deezer</a></li>
|
<li><a href="https://github.com/play-dl/play-dl/tree/main/docs/Deezer">Deezer</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class="current"><a href="modules.html">Exports</a></li><li class=" tsd-kind-namespace"><a href="modules/_internal_.html"><internal></a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-type-alias"><a href="modules.html#Deezer" class="tsd-kind-icon">Deezer</a></li><li class="tsd-kind-type-alias"><a href="modules.html#SoundCloud" class="tsd-kind-icon">Sound<wbr/>Cloud</a></li><li class="tsd-kind-type-alias"><a href="modules.html#SoundCloudStream" class="tsd-kind-icon">Sound<wbr/>Cloud<wbr/>Stream</a></li><li class="tsd-kind-type-alias"><a href="modules.html#Spotify" class="tsd-kind-icon">Spotify</a></li><li class="tsd-kind-type-alias"><a href="modules.html#YouTube" class="tsd-kind-icon">You<wbr/>Tube</a></li><li class="tsd-kind-type-alias"><a href="modules.html#YouTubeStream" class="tsd-kind-icon">You<wbr/>Tube<wbr/>Stream</a></li><li class="tsd-kind-function"><a href="modules.html#attachListeners" class="tsd-kind-icon">attach<wbr/>Listeners</a></li><li class="tsd-kind-function"><a href="modules.html#authorization" class="tsd-kind-icon">authorization</a></li><li class="tsd-kind-function"><a href="modules.html#cookieHeaders" class="tsd-kind-icon">cookie<wbr/>Headers</a></li><li class="tsd-kind-function"><a href="modules.html#decipher_info" class="tsd-kind-icon">decipher_<wbr/>info</a></li><li class="tsd-kind-function"><a href="modules.html#deezer" class="tsd-kind-icon">deezer</a></li><li class="tsd-kind-function"><a href="modules.html#dz_advanced_track_search" class="tsd-kind-icon">dz_<wbr/>advanced_<wbr/>track_<wbr/>search</a></li><li class="tsd-kind-function"><a href="modules.html#dz_search" class="tsd-kind-icon">dz_<wbr/>search</a></li><li class="tsd-kind-function"><a href="modules.html#dz_validate" class="tsd-kind-icon">dz_<wbr/>validate</a></li><li class="tsd-kind-function"><a href="modules.html#extractID" class="tsd-kind-icon">extractID</a></li><li class="tsd-kind-function"><a href="modules.html#getFreeClientID" class="tsd-kind-icon">get<wbr/>Free<wbr/>ClientID</a></li><li class="tsd-kind-function"><a href="modules.html#is_expired" class="tsd-kind-icon">is_<wbr/>expired</a></li><li class="tsd-kind-function"><a href="modules.html#playlist_info" class="tsd-kind-icon">playlist_<wbr/>info</a></li><li class="tsd-kind-function"><a href="modules.html#refreshToken" class="tsd-kind-icon">refresh<wbr/>Token</a></li><li class="tsd-kind-function"><a href="modules.html#search" class="tsd-kind-icon">search</a></li><li class="tsd-kind-function"><a href="modules.html#setToken" class="tsd-kind-icon">set<wbr/>Token</a></li><li class="tsd-kind-function"><a href="modules.html#so_validate" class="tsd-kind-icon">so_<wbr/>validate</a></li><li class="tsd-kind-function"><a href="modules.html#soundcloud" class="tsd-kind-icon">soundcloud</a></li><li class="tsd-kind-function"><a href="modules.html#sp_validate" class="tsd-kind-icon">sp_<wbr/>validate</a></li><li class="tsd-kind-function"><a href="modules.html#spotify" class="tsd-kind-icon">spotify</a></li><li class="tsd-kind-function"><a href="modules.html#stream" class="tsd-kind-icon">stream</a></li><li class="tsd-kind-function"><a href="modules.html#stream_from_info" class="tsd-kind-icon">stream_<wbr/>from_<wbr/>info</a></li><li class="tsd-kind-function"><a href="modules.html#validate" class="tsd-kind-icon">validate</a></li><li class="tsd-kind-function"><a href="modules.html#video_basic_info" class="tsd-kind-icon">video_<wbr/>basic_<wbr/>info</a></li><li class="tsd-kind-function"><a href="modules.html#video_info" class="tsd-kind-icon">video_<wbr/>info</a></li><li class="tsd-kind-function"><a href="modules.html#yt_validate" class="tsd-kind-icon">yt_<wbr/>validate</a></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="assets/main.js"></script></body></html>
|
</div></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class="current"><a href="modules.html">Exports</a></li><li class=" tsd-kind-namespace"><a href="modules/_internal_.html"><internal></a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-type-alias"><a href="modules.html#Deezer" class="tsd-kind-icon">Deezer</a></li><li class="tsd-kind-type-alias"><a href="modules.html#SoundCloud" class="tsd-kind-icon">Sound<wbr/>Cloud</a></li><li class="tsd-kind-type-alias"><a href="modules.html#SoundCloudStream" class="tsd-kind-icon">Sound<wbr/>Cloud<wbr/>Stream</a></li><li class="tsd-kind-type-alias"><a href="modules.html#Spotify" class="tsd-kind-icon">Spotify</a></li><li class="tsd-kind-type-alias"><a href="modules.html#YouTube" class="tsd-kind-icon">You<wbr/>Tube</a></li><li class="tsd-kind-type-alias"><a href="modules.html#YouTubeStream" class="tsd-kind-icon">You<wbr/>Tube<wbr/>Stream</a></li><li class="tsd-kind-function"><a href="modules.html#attachListeners" class="tsd-kind-icon">attach<wbr/>Listeners</a></li><li class="tsd-kind-function"><a href="modules.html#authorization" class="tsd-kind-icon">authorization</a></li><li class="tsd-kind-function"><a href="modules.html#cookieHeaders" class="tsd-kind-icon">cookie<wbr/>Headers</a></li><li class="tsd-kind-function"><a href="modules.html#decipher_info" class="tsd-kind-icon">decipher_<wbr/>info</a></li><li class="tsd-kind-function"><a href="modules.html#deezer" class="tsd-kind-icon">deezer</a></li><li class="tsd-kind-function"><a href="modules.html#dz_advanced_track_search" class="tsd-kind-icon">dz_<wbr/>advanced_<wbr/>track_<wbr/>search</a></li><li class="tsd-kind-function"><a href="modules.html#dz_validate" class="tsd-kind-icon">dz_<wbr/>validate</a></li><li class="tsd-kind-function"><a href="modules.html#extractID" class="tsd-kind-icon">extractID</a></li><li class="tsd-kind-function"><a href="modules.html#getFreeClientID" class="tsd-kind-icon">get<wbr/>Free<wbr/>ClientID</a></li><li class="tsd-kind-function"><a href="modules.html#is_expired" class="tsd-kind-icon">is_<wbr/>expired</a></li><li class="tsd-kind-function"><a href="modules.html#playlist_info" class="tsd-kind-icon">playlist_<wbr/>info</a></li><li class="tsd-kind-function"><a href="modules.html#refreshToken" class="tsd-kind-icon">refresh<wbr/>Token</a></li><li class="tsd-kind-function"><a href="modules.html#search" class="tsd-kind-icon">search</a></li><li class="tsd-kind-function"><a href="modules.html#setToken" class="tsd-kind-icon">set<wbr/>Token</a></li><li class="tsd-kind-function"><a href="modules.html#so_validate" class="tsd-kind-icon">so_<wbr/>validate</a></li><li class="tsd-kind-function"><a href="modules.html#soundcloud" class="tsd-kind-icon">soundcloud</a></li><li class="tsd-kind-function"><a href="modules.html#sp_validate" class="tsd-kind-icon">sp_<wbr/>validate</a></li><li class="tsd-kind-function"><a href="modules.html#spotify" class="tsd-kind-icon">spotify</a></li><li class="tsd-kind-function"><a href="modules.html#stream" class="tsd-kind-icon">stream</a></li><li class="tsd-kind-function"><a href="modules.html#stream_from_info" class="tsd-kind-icon">stream_<wbr/>from_<wbr/>info</a></li><li class="tsd-kind-function"><a href="modules.html#validate" class="tsd-kind-icon">validate</a></li><li class="tsd-kind-function"><a href="modules.html#video_basic_info" class="tsd-kind-icon">video_<wbr/>basic_<wbr/>info</a></li><li class="tsd-kind-function"><a href="modules.html#video_info" class="tsd-kind-icon">video_<wbr/>info</a></li><li class="tsd-kind-function"><a href="modules.html#yt_validate" class="tsd-kind-icon">yt_<wbr/>validate</a></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="assets/main.js"></script></body></html>
|
||||||
@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ChannelIconInterface | play-dl</title><meta name="description" content="Documentation for play-dl"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">play-dl</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">play-dl</a></li><li><a href="../modules/_internal_.html"><internal></a></li><li><a href="_internal_.ChannelIconInterface.html">ChannelIconInterface</a></li></ul><h1>Interface ChannelIconInterface</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">ChannelIconInterface</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelIconInterface.html#height" class="tsd-kind-icon">height</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelIconInterface.html#url" class="tsd-kind-icon">url</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelIconInterface.html#width" class="tsd-kind-icon">width</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="height" class="tsd-anchor"></a><h3>height</h3><div class="tsd-signature tsd-kind-icon">height<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/4285f1a/play-dl/YouTube/classes/Channel.ts#L13">play-dl/YouTube/classes/Channel.ts:13</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ChannelIconInterface | play-dl</title><meta name="description" content="Documentation for play-dl"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">play-dl</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">play-dl</a></li><li><a href="../modules/_internal_.html"><internal></a></li><li><a href="_internal_.ChannelIconInterface.html">ChannelIconInterface</a></li></ul><h1>Interface ChannelIconInterface</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">ChannelIconInterface</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelIconInterface.html#height" class="tsd-kind-icon">height</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelIconInterface.html#url" class="tsd-kind-icon">url</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelIconInterface.html#width" class="tsd-kind-icon">width</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="height" class="tsd-anchor"></a><h3>height</h3><div class="tsd-signature tsd-kind-icon">height<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Channel.ts#L13">play-dl/YouTube/classes/Channel.ts:13</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>YouTube Channel Icon Height</p>
|
<p>YouTube Channel Icon Height</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="url" class="tsd-anchor"></a><h3>url</h3><div class="tsd-signature tsd-kind-icon">url<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/4285f1a/play-dl/YouTube/classes/Channel.ts#L5">play-dl/YouTube/classes/Channel.ts:5</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="url" class="tsd-anchor"></a><h3>url</h3><div class="tsd-signature tsd-kind-icon">url<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Channel.ts#L5">play-dl/YouTube/classes/Channel.ts:5</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>YouTube Channel Icon URL</p>
|
<p>YouTube Channel Icon URL</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="width" class="tsd-anchor"></a><h3>width</h3><div class="tsd-signature tsd-kind-icon">width<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/4285f1a/play-dl/YouTube/classes/Channel.ts#L9">play-dl/YouTube/classes/Channel.ts:9</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="width" class="tsd-anchor"></a><h3>width</h3><div class="tsd-signature tsd-kind-icon">width<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Channel.ts#L9">play-dl/YouTube/classes/Channel.ts:9</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>YouTube Channel Icon Width</p>
|
<p>YouTube Channel Icon Width</p>
|
||||||
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li><li class="current tsd-kind-namespace"><a href="../modules/_internal_.html"><internal></a><ul><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_._node_stream_consumers_.html">"node:stream/consumers"</a></li><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_._node_stream_promises_.html">"node:stream/promises"</a></li><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_.EventEmitter.html">Event<wbr/>Emitter</a></li><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_.internal.html">internal</a></li></ul></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface tsd-parent-kind-namespace"><a href="_internal_.ChannelIconInterface.html" class="tsd-kind-icon">Channel<wbr/>Icon<wbr/>Interface</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelIconInterface.html#height" class="tsd-kind-icon">height</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelIconInterface.html#url" class="tsd-kind-icon">url</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelIconInterface.html#width" class="tsd-kind-icon">width</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
|
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li><li class="current tsd-kind-namespace"><a href="../modules/_internal_.html"><internal></a><ul><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_._node_stream_consumers_.html">"node:stream/consumers"</a></li><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_._node_stream_promises_.html">"node:stream/promises"</a></li><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_.EventEmitter.html">Event<wbr/>Emitter</a></li><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_.internal.html">internal</a></li></ul></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface tsd-parent-kind-namespace"><a href="_internal_.ChannelIconInterface.html" class="tsd-kind-icon">Channel<wbr/>Icon<wbr/>Interface</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelIconInterface.html#height" class="tsd-kind-icon">height</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelIconInterface.html#url" class="tsd-kind-icon">url</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelIconInterface.html#width" class="tsd-kind-icon">width</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
|
||||||
@ -1,17 +1,17 @@
|
|||||||
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ChannelJSON | play-dl</title><meta name="description" content="Documentation for play-dl"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">play-dl</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">play-dl</a></li><li><a href="../modules/_internal_.html"><internal></a></li><li><a href="_internal_.ChannelJSON.html">ChannelJSON</a></li></ul><h1>Interface ChannelJSON</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">ChannelJSON</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#artist" class="tsd-kind-icon">artist</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#icon" class="tsd-kind-icon">icon</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#name" class="tsd-kind-icon">name</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#subscribers" class="tsd-kind-icon">subscribers</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#type" class="tsd-kind-icon">type</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#url" class="tsd-kind-icon">url</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#verified" class="tsd-kind-icon">verified</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="artist" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> artist</h3><div class="tsd-signature tsd-kind-icon">artist<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/4285f1a/play-dl/YouTube/classes/Channel.ts#L115">play-dl/YouTube/classes/Channel.ts:115</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ChannelJSON | play-dl</title><meta name="description" content="Documentation for play-dl"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">play-dl</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">play-dl</a></li><li><a href="../modules/_internal_.html"><internal></a></li><li><a href="_internal_.ChannelJSON.html">ChannelJSON</a></li></ul><h1>Interface ChannelJSON</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">ChannelJSON</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#artist" class="tsd-kind-icon">artist</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#icon" class="tsd-kind-icon">icon</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#name" class="tsd-kind-icon">name</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#subscribers" class="tsd-kind-icon">subscribers</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#type" class="tsd-kind-icon">type</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#url" class="tsd-kind-icon">url</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#verified" class="tsd-kind-icon">verified</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="artist" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> artist</h3><div class="tsd-signature tsd-kind-icon">artist<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Channel.ts#L115">play-dl/YouTube/classes/Channel.ts:115</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>YouTube Channel artist if any.</p>
|
<p>YouTube Channel artist if any.</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="icon" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> icon</h3><div class="tsd-signature tsd-kind-icon">icon<span class="tsd-signature-symbol">?:</span> <a href="_internal_.ChannelIconInterface.html" class="tsd-signature-type" data-tsd-kind="Interface">ChannelIconInterface</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/4285f1a/play-dl/YouTube/classes/Channel.ts#L131">play-dl/YouTube/classes/Channel.ts:131</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="icon" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> icon</h3><div class="tsd-signature tsd-kind-icon">icon<span class="tsd-signature-symbol">?:</span> <a href="_internal_.ChannelIconInterface.html" class="tsd-signature-type" data-tsd-kind="Interface">ChannelIconInterface</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Channel.ts#L131">play-dl/YouTube/classes/Channel.ts:131</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>YouTube Channel Icon data.</p>
|
<p>YouTube Channel Icon data.</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="id" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> id</h3><div class="tsd-signature tsd-kind-icon">id<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/4285f1a/play-dl/YouTube/classes/Channel.ts#L119">play-dl/YouTube/classes/Channel.ts:119</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="id" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> id</h3><div class="tsd-signature tsd-kind-icon">id<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Channel.ts#L119">play-dl/YouTube/classes/Channel.ts:119</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>YouTube Channel ID.</p>
|
<p>YouTube Channel ID.</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="name" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> name</h3><div class="tsd-signature tsd-kind-icon">name<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/4285f1a/play-dl/YouTube/classes/Channel.ts#L107">play-dl/YouTube/classes/Channel.ts:107</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="name" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> name</h3><div class="tsd-signature tsd-kind-icon">name<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Channel.ts#L107">play-dl/YouTube/classes/Channel.ts:107</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>YouTube Channel Title</p>
|
<p>YouTube Channel Title</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="subscribers" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> subscribers</h3><div class="tsd-signature tsd-kind-icon">subscribers<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/4285f1a/play-dl/YouTube/classes/Channel.ts#L135">play-dl/YouTube/classes/Channel.ts:135</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="subscribers" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> subscribers</h3><div class="tsd-signature tsd-kind-icon">subscribers<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Channel.ts#L135">play-dl/YouTube/classes/Channel.ts:135</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>YouTube Channel subscribers count.</p>
|
<p>YouTube Channel subscribers count.</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="type" class="tsd-anchor"></a><h3>type</h3><div class="tsd-signature tsd-kind-icon">type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"video"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"playlist"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"channel"</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/4285f1a/play-dl/YouTube/classes/Channel.ts#L123">play-dl/YouTube/classes/Channel.ts:123</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="type" class="tsd-anchor"></a><h3>type</h3><div class="tsd-signature tsd-kind-icon">type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"playlist"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"channel"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"video"</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Channel.ts#L123">play-dl/YouTube/classes/Channel.ts:123</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>Type of Class [ Channel ]</p>
|
<p>Type of Class [ Channel ]</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="url" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> url</h3><div class="tsd-signature tsd-kind-icon">url<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/4285f1a/play-dl/YouTube/classes/Channel.ts#L127">play-dl/YouTube/classes/Channel.ts:127</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="url" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> url</h3><div class="tsd-signature tsd-kind-icon">url<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Channel.ts#L127">play-dl/YouTube/classes/Channel.ts:127</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>YouTube Channel Url</p>
|
<p>YouTube Channel Url</p>
|
||||||
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="verified" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> verified</h3><div class="tsd-signature tsd-kind-icon">verified<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/4285f1a/play-dl/YouTube/classes/Channel.ts#L111">play-dl/YouTube/classes/Channel.ts:111</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="verified" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> verified</h3><div class="tsd-signature tsd-kind-icon">verified<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Channel.ts#L111">play-dl/YouTube/classes/Channel.ts:111</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
<p>YouTube Channel Verified status.</p>
|
<p>YouTube Channel Verified status.</p>
|
||||||
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li><li class="current tsd-kind-namespace"><a href="../modules/_internal_.html"><internal></a><ul><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_._node_stream_consumers_.html">"node:stream/consumers"</a></li><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_._node_stream_promises_.html">"node:stream/promises"</a></li><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_.EventEmitter.html">Event<wbr/>Emitter</a></li><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_.internal.html">internal</a></li></ul></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface tsd-parent-kind-namespace"><a href="_internal_.ChannelJSON.html" class="tsd-kind-icon">ChannelJSON</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#artist" class="tsd-kind-icon">artist</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#icon" class="tsd-kind-icon">icon</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#name" class="tsd-kind-icon">name</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#subscribers" class="tsd-kind-icon">subscribers</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#type" class="tsd-kind-icon">type</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#url" class="tsd-kind-icon">url</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#verified" class="tsd-kind-icon">verified</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
|
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li><li class="current tsd-kind-namespace"><a href="../modules/_internal_.html"><internal></a><ul><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_._node_stream_consumers_.html">"node:stream/consumers"</a></li><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_._node_stream_promises_.html">"node:stream/promises"</a></li><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_.EventEmitter.html">Event<wbr/>Emitter</a></li><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_.internal.html">internal</a></li></ul></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface tsd-parent-kind-namespace"><a href="_internal_.ChannelJSON.html" class="tsd-kind-icon">ChannelJSON</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#artist" class="tsd-kind-icon">artist</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#icon" class="tsd-kind-icon">icon</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#name" class="tsd-kind-icon">name</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#subscribers" class="tsd-kind-icon">subscribers</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#type" class="tsd-kind-icon">type</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#url" class="tsd-kind-icon">url</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.ChannelJSON.html#verified" class="tsd-kind-icon">verified</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
docs/interfaces/_internal_.LiveStreamData.html
Normal file
1
docs/interfaces/_internal_.LiveStreamData.html
Normal file
File diff suppressed because one or more lines are too long
21
docs/interfaces/_internal_.PlaylistJSON.html
Normal file
21
docs/interfaces/_internal_.PlaylistJSON.html
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>PlaylistJSON | play-dl</title><meta name="description" content="Documentation for play-dl"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">play-dl</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">play-dl</a></li><li><a href="../modules/_internal_.html"><internal></a></li><li><a href="_internal_.PlaylistJSON.html">PlaylistJSON</a></li></ul><h1>Interface PlaylistJSON</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">PlaylistJSON</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#channel" class="tsd-kind-icon">channel</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#lastUpdate" class="tsd-kind-icon">last<wbr/>Update</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#link" class="tsd-kind-icon">link</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#thumbnail" class="tsd-kind-icon">thumbnail</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#title" class="tsd-kind-icon">title</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#url-1" class="tsd-kind-icon">url</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#videoCount" class="tsd-kind-icon">video<wbr/>Count</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#videos" class="tsd-kind-icon">videos</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#views" class="tsd-kind-icon">views</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="channel" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> channel</h3><div class="tsd-signature tsd-kind-icon">channel<span class="tsd-signature-symbol">?:</span> <a href="../classes/_internal_.YouTubeChannel.html" class="tsd-signature-type" data-tsd-kind="Class">YouTubeChannel</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Playlist.ts#L277">play-dl/YouTube/classes/Playlist.ts:277</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
|
<p>YouTube Playlist channel data</p>
|
||||||
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="id" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> id</h3><div class="tsd-signature tsd-kind-icon">id<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Playlist.ts#L249">play-dl/YouTube/classes/Playlist.ts:249</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
|
<p>YouTube Playlist ID</p>
|
||||||
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="lastUpdate" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> last<wbr/>Update</h3><div class="tsd-signature tsd-kind-icon">last<wbr/>Update<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Playlist.ts#L261">play-dl/YouTube/classes/Playlist.ts:261</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
|
<p>Time when playlist was last updated</p>
|
||||||
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="link" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> link</h3><div class="tsd-signature tsd-kind-icon">link<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Playlist.ts#L273">play-dl/YouTube/classes/Playlist.ts:273</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
|
<p>YouTube Playlist url with starting video url.</p>
|
||||||
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="thumbnail" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> thumbnail</h3><div class="tsd-signature tsd-kind-icon">thumbnail<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{ </span>height<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>url<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>width<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Playlist.ts#L281">play-dl/YouTube/classes/Playlist.ts:281</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
|
<p>YouTube Playlist thumbnail Data</p>
|
||||||
|
</div></div><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5>height<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span></h5></li><li class="tsd-parameter"><h5>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5></li><li class="tsd-parameter"><h5>url<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5></li><li class="tsd-parameter"><h5>width<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span></h5></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="title" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> title</h3><div class="tsd-signature tsd-kind-icon">title<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Playlist.ts#L253">play-dl/YouTube/classes/Playlist.ts:253</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
|
<p>YouTube Playlist Name</p>
|
||||||
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="url-1" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> url</h3><div class="tsd-signature tsd-kind-icon">url<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Playlist.ts#L269">play-dl/YouTube/classes/Playlist.ts:269</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
|
<p>YouTube Playlist url</p>
|
||||||
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="videoCount" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> video<wbr/>Count</h3><div class="tsd-signature tsd-kind-icon">video<wbr/>Count<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Playlist.ts#L257">play-dl/YouTube/classes/Playlist.ts:257</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
|
<p>Total no of videos in that playlist</p>
|
||||||
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="videos" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> videos</h3><div class="tsd-signature tsd-kind-icon">videos<span class="tsd-signature-symbol">?:</span> <a href="../classes/_internal_.YouTubeVideo.html" class="tsd-signature-type" data-tsd-kind="Class">YouTubeVideo</a><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Playlist.ts#L290">play-dl/YouTube/classes/Playlist.ts:290</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
|
<p>first 100 videos in that playlist</p>
|
||||||
|
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="views" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> views</h3><div class="tsd-signature tsd-kind-icon">views<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/play-dl/play-dl/blob/e53e892/play-dl/YouTube/classes/Playlist.ts#L265">play-dl/YouTube/classes/Playlist.ts:265</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
||||||
|
<p>Total views of that playlist</p>
|
||||||
|
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li><li class="current tsd-kind-namespace"><a href="../modules/_internal_.html"><internal></a><ul><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_._node_stream_consumers_.html">"node:stream/consumers"</a></li><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_._node_stream_promises_.html">"node:stream/promises"</a></li><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_.EventEmitter.html">Event<wbr/>Emitter</a></li><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="../modules/_internal_.internal.html">internal</a></li></ul></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface tsd-parent-kind-namespace"><a href="_internal_.PlaylistJSON.html" class="tsd-kind-icon">PlaylistJSON</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#channel" class="tsd-kind-icon">channel</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#id" class="tsd-kind-icon">id</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#lastUpdate" class="tsd-kind-icon">last<wbr/>Update</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#link" class="tsd-kind-icon">link</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#thumbnail" class="tsd-kind-icon">thumbnail</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#title" class="tsd-kind-icon">title</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#url-1" class="tsd-kind-icon">url</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#videoCount" class="tsd-kind-icon">video<wbr/>Count</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#videos" class="tsd-kind-icon">videos</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="_internal_.PlaylistJSON.html#views" class="tsd-kind-icon">views</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
docs/interfaces/_internal_.formatData.html
Normal file
1
docs/interfaces/_internal_.formatData.html
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -104,7 +104,7 @@ export class LiveStream {
|
|||||||
info.LiveStreamData.hlsManifestUrl !== null &&
|
info.LiveStreamData.hlsManifestUrl !== null &&
|
||||||
info.video_details.durationInSec === 0
|
info.video_details.durationInSec === 0
|
||||||
) {
|
) {
|
||||||
this.url = info.LiveStreamData.dashManifestUrl;
|
this.url = info.LiveStreamData.dashManifestUrl as string;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import { getPlaylistVideos, getContinuationToken } from '../utils/extractor';
|
|||||||
import { request } from '../../Request';
|
import { request } from '../../Request';
|
||||||
import { YouTubeChannel } from './Channel';
|
import { YouTubeChannel } from './Channel';
|
||||||
import { YouTubeVideo } from './Video';
|
import { YouTubeVideo } from './Video';
|
||||||
|
import { YouTubeThumbnail } from './Thumbnail';
|
||||||
const BASE_API = 'https://www.youtube.com/youtubei/v1/browse?key=';
|
const BASE_API = 'https://www.youtube.com/youtubei/v1/browse?key=';
|
||||||
/**
|
/**
|
||||||
* YouTube Playlist Class containing vital informations about playlist.
|
* YouTube Playlist Class containing vital informations about playlist.
|
||||||
@ -46,12 +47,7 @@ export class YouTubePlayList {
|
|||||||
/**
|
/**
|
||||||
* YouTube Playlist thumbnail Data
|
* YouTube Playlist thumbnail Data
|
||||||
*/
|
*/
|
||||||
thumbnail?: {
|
thumbnail?: YouTubeThumbnail
|
||||||
id: string | undefined;
|
|
||||||
width: number | undefined;
|
|
||||||
height: number | undefined;
|
|
||||||
url: string | undefined;
|
|
||||||
};
|
|
||||||
/**
|
/**
|
||||||
* Videos array containing data of first 100 videos
|
* Videos array containing data of first 100 videos
|
||||||
*/
|
*/
|
||||||
@ -238,7 +234,7 @@ export class YouTubePlayList {
|
|||||||
return {
|
return {
|
||||||
id: this.id,
|
id: this.id,
|
||||||
title: this.title,
|
title: this.title,
|
||||||
thumbnail: this.thumbnail,
|
thumbnail: this.thumbnail?.toJSON() || this.thumbnail,
|
||||||
channel: this.channel,
|
channel: this.channel,
|
||||||
url: this.url,
|
url: this.url,
|
||||||
videos: this.videos
|
videos: this.videos
|
||||||
|
|||||||
22
play-dl/YouTube/classes/Thumbnail.ts
Normal file
22
play-dl/YouTube/classes/Thumbnail.ts
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
export class YouTubeThumbnail {
|
||||||
|
id : string;
|
||||||
|
url : string;
|
||||||
|
width : number;
|
||||||
|
height : number;
|
||||||
|
|
||||||
|
constructor(data : any){
|
||||||
|
this.id = data.id
|
||||||
|
this.url = data.url
|
||||||
|
this.width = data.width
|
||||||
|
this.height = data.height
|
||||||
|
}
|
||||||
|
|
||||||
|
toJSON(){
|
||||||
|
return {
|
||||||
|
id : this.id,
|
||||||
|
url : this.url,
|
||||||
|
width : this.width,
|
||||||
|
height : this.height
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,56 +1,145 @@
|
|||||||
import { YouTubeChannel } from './Channel';
|
import { YouTubeChannel } from './Channel';
|
||||||
|
import { YouTubeThumbnail } from './Thumbnail';
|
||||||
|
|
||||||
interface VideoOptions {
|
interface VideoOptions {
|
||||||
|
/**
|
||||||
|
* YouTube Video ID
|
||||||
|
*/
|
||||||
id?: string;
|
id?: string;
|
||||||
url?: string;
|
/**
|
||||||
|
* YouTube video url
|
||||||
|
*/
|
||||||
|
url: string;
|
||||||
|
/**
|
||||||
|
* YouTube Video title
|
||||||
|
*/
|
||||||
title?: string;
|
title?: string;
|
||||||
|
/**
|
||||||
|
* YouTube Video description.
|
||||||
|
*/
|
||||||
description?: string;
|
description?: string;
|
||||||
|
/**
|
||||||
|
* YouTube Video Duration Formatted
|
||||||
|
*/
|
||||||
durationRaw: string;
|
durationRaw: string;
|
||||||
|
/**
|
||||||
|
* YouTube Video Duration in seconds
|
||||||
|
*/
|
||||||
durationInSec: number;
|
durationInSec: number;
|
||||||
|
/**
|
||||||
|
* YouTube Video Uploaded Date
|
||||||
|
*/
|
||||||
uploadedAt?: string;
|
uploadedAt?: string;
|
||||||
|
/**
|
||||||
|
* YouTube Views
|
||||||
|
*/
|
||||||
views: number;
|
views: number;
|
||||||
|
/**
|
||||||
|
* YouTube Thumbnail Data
|
||||||
|
*/
|
||||||
thumbnail?: {
|
thumbnail?: {
|
||||||
id: string | undefined;
|
id: string | undefined;
|
||||||
width: number | undefined;
|
width: number | undefined;
|
||||||
height: number | undefined;
|
height: number | undefined;
|
||||||
url: string | undefined;
|
url: string | undefined;
|
||||||
};
|
};
|
||||||
channel?: any;
|
/**
|
||||||
type: string;
|
* YouTube Video's uploader Channel Data
|
||||||
ratings: {
|
*/
|
||||||
|
channel?: YouTubeChannel;
|
||||||
|
/**
|
||||||
|
* YouTube Video's likes
|
||||||
|
*/
|
||||||
likes: number;
|
likes: number;
|
||||||
|
/**
|
||||||
|
* YouTube Video's dislikes
|
||||||
|
*/
|
||||||
dislikes: number;
|
dislikes: number;
|
||||||
};
|
/**
|
||||||
|
* YouTube Video live status
|
||||||
|
*/
|
||||||
live: boolean;
|
live: boolean;
|
||||||
|
/**
|
||||||
|
* YouTube Video private status
|
||||||
|
*/
|
||||||
private: boolean;
|
private: boolean;
|
||||||
|
/**
|
||||||
|
* YouTube Video tags
|
||||||
|
*/
|
||||||
tags: string[];
|
tags: string[];
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Class for YouTube Video url
|
* Class for YouTube Video url
|
||||||
*/
|
*/
|
||||||
export class YouTubeVideo {
|
export class YouTubeVideo {
|
||||||
|
/**
|
||||||
|
* YouTube Video ID
|
||||||
|
*/
|
||||||
id?: string;
|
id?: string;
|
||||||
|
/**
|
||||||
|
* YouTube video url
|
||||||
|
*/
|
||||||
url: string;
|
url: string;
|
||||||
|
/**
|
||||||
|
* YouTube Class type. == "video"
|
||||||
|
*/
|
||||||
type: 'video' | 'playlist' | 'channel';
|
type: 'video' | 'playlist' | 'channel';
|
||||||
|
/**
|
||||||
|
* YouTube Video title
|
||||||
|
*/
|
||||||
title?: string;
|
title?: string;
|
||||||
|
/**
|
||||||
|
* YouTube Video description.
|
||||||
|
*/
|
||||||
description?: string;
|
description?: string;
|
||||||
|
/**
|
||||||
|
* YouTube Video Duration Formatted
|
||||||
|
*/
|
||||||
durationRaw: string;
|
durationRaw: string;
|
||||||
|
/**
|
||||||
|
* YouTube Video Duration in seconds
|
||||||
|
*/
|
||||||
durationInSec: number;
|
durationInSec: number;
|
||||||
|
/**
|
||||||
|
* YouTube Video Uploaded Date
|
||||||
|
*/
|
||||||
uploadedAt?: string;
|
uploadedAt?: string;
|
||||||
|
/**
|
||||||
|
* YouTube Views
|
||||||
|
*/
|
||||||
views: number;
|
views: number;
|
||||||
thumbnail?: {
|
/**
|
||||||
id: string | undefined;
|
* YouTube Thumbnail Data
|
||||||
width: number | undefined;
|
*/
|
||||||
height: number | undefined;
|
thumbnail?: YouTubeThumbnail;
|
||||||
url: string | undefined;
|
/**
|
||||||
};
|
* YouTube Video's uploader Channel Data
|
||||||
|
*/
|
||||||
channel?: YouTubeChannel;
|
channel?: YouTubeChannel;
|
||||||
|
/**
|
||||||
|
* YouTube Video's likes
|
||||||
|
*/
|
||||||
likes: number;
|
likes: number;
|
||||||
|
/**
|
||||||
|
* YouTube Video's dislikes
|
||||||
|
*/
|
||||||
dislikes: number;
|
dislikes: number;
|
||||||
|
/**
|
||||||
|
* YouTube Video live status
|
||||||
|
*/
|
||||||
live: boolean;
|
live: boolean;
|
||||||
|
/**
|
||||||
|
* YouTube Video private status
|
||||||
|
*/
|
||||||
private: boolean;
|
private: boolean;
|
||||||
|
/**
|
||||||
|
* YouTube Video tags
|
||||||
|
*/
|
||||||
tags: string[];
|
tags: string[];
|
||||||
|
/**
|
||||||
|
* Constructor Class for YouTube Video
|
||||||
|
* @param data JSON parsed data.
|
||||||
|
*/
|
||||||
constructor(data: any) {
|
constructor(data: any) {
|
||||||
if (!data) throw new Error(`Can not initiate ${this.constructor.name} without data`);
|
if (!data) throw new Error(`Can not initiate ${this.constructor.name} without data`);
|
||||||
|
|
||||||
@ -71,12 +160,18 @@ export class YouTubeVideo {
|
|||||||
this.private = !!data.private;
|
this.private = !!data.private;
|
||||||
this.tags = data.tags || [];
|
this.tags = data.tags || [];
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
get toString(): string {
|
* Converts class to title name of video.
|
||||||
|
* @returns Title name
|
||||||
|
*/
|
||||||
|
toString(): string {
|
||||||
return this.url || '';
|
return this.url || '';
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
get toJSON(): VideoOptions {
|
* Converts class to JSON data
|
||||||
|
* @returns JSON data.
|
||||||
|
*/
|
||||||
|
toJSON(): VideoOptions {
|
||||||
return {
|
return {
|
||||||
id: this.id,
|
id: this.id,
|
||||||
url: this.url,
|
url: this.url,
|
||||||
@ -85,15 +180,12 @@ export class YouTubeVideo {
|
|||||||
durationInSec: this.durationInSec,
|
durationInSec: this.durationInSec,
|
||||||
durationRaw: this.durationRaw,
|
durationRaw: this.durationRaw,
|
||||||
uploadedAt: this.uploadedAt,
|
uploadedAt: this.uploadedAt,
|
||||||
thumbnail: this.thumbnail,
|
thumbnail: this.thumbnail?.toJSON() || this.thumbnail,
|
||||||
channel: this.channel,
|
channel: this.channel,
|
||||||
views: this.views,
|
views: this.views,
|
||||||
type: this.type,
|
|
||||||
tags: this.tags,
|
tags: this.tags,
|
||||||
ratings: {
|
|
||||||
likes: this.likes,
|
likes: this.likes,
|
||||||
dislikes: this.dislikes
|
dislikes: this.dislikes,
|
||||||
},
|
|
||||||
live: this.live,
|
live: this.live,
|
||||||
private: this.private
|
private: this.private
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import { video_info } from '.';
|
import { video_info } from '.';
|
||||||
import { LiveStream, Stream } from './classes/LiveStream';
|
import { LiveStream, Stream } from './classes/LiveStream';
|
||||||
import { ProxyOptions as Proxy } from './../Request';
|
import { ProxyOptions as Proxy } from './../Request';
|
||||||
|
import { InfoData } from './utils/constants';
|
||||||
|
|
||||||
export enum StreamType {
|
export enum StreamType {
|
||||||
Arbitrary = 'arbitrary',
|
Arbitrary = 'arbitrary',
|
||||||
@ -16,16 +17,6 @@ export interface StreamOptions {
|
|||||||
htmldata?: boolean;
|
htmldata?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface InfoData {
|
|
||||||
LiveStreamData: {
|
|
||||||
isLive: boolean;
|
|
||||||
dashManifestUrl: string;
|
|
||||||
hlsManifestUrl: string;
|
|
||||||
};
|
|
||||||
html5player: string;
|
|
||||||
format: any[];
|
|
||||||
video_details: any;
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* Command to find audio formats from given format array
|
* Command to find audio formats from given format array
|
||||||
* @param formats Formats to search from
|
* @param formats Formats to search from
|
||||||
@ -58,12 +49,12 @@ export async function stream(url: string, options: StreamOptions = {}): Promise<
|
|||||||
const final: any[] = [];
|
const final: any[] = [];
|
||||||
if (
|
if (
|
||||||
info.LiveStreamData.isLive === true &&
|
info.LiveStreamData.isLive === true &&
|
||||||
info.LiveStreamData.hlsManifestUrl !== null &&
|
info.LiveStreamData.dashManifestUrl !== null &&
|
||||||
info.video_details.durationInSec === 0
|
info.video_details.durationInSec === 0
|
||||||
) {
|
) {
|
||||||
return new LiveStream(
|
return new LiveStream(
|
||||||
info.LiveStreamData.dashManifestUrl,
|
info.LiveStreamData.dashManifestUrl,
|
||||||
info.format[info.format.length - 1].targetDurationSec,
|
info.format[info.format.length - 1].targetDurationSec as number,
|
||||||
info.video_details.url
|
info.video_details.url
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -95,12 +86,12 @@ export async function stream_from_info(info: InfoData, options: StreamOptions =
|
|||||||
const final: any[] = [];
|
const final: any[] = [];
|
||||||
if (
|
if (
|
||||||
info.LiveStreamData.isLive === true &&
|
info.LiveStreamData.isLive === true &&
|
||||||
info.LiveStreamData.hlsManifestUrl !== null &&
|
info.LiveStreamData.dashManifestUrl !== null &&
|
||||||
info.video_details.durationInSec === 0
|
info.video_details.durationInSec === 0
|
||||||
) {
|
) {
|
||||||
return new LiveStream(
|
return new LiveStream(
|
||||||
info.LiveStreamData.dashManifestUrl,
|
info.LiveStreamData.dashManifestUrl,
|
||||||
info.format[info.format.length - 1].targetDurationSec,
|
info.format[info.format.length - 1].targetDurationSec as number,
|
||||||
info.video_details.url
|
info.video_details.url
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
39
play-dl/YouTube/utils/constants.ts
Normal file
39
play-dl/YouTube/utils/constants.ts
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
import { YouTubeVideo } from "../classes/Video";
|
||||||
|
|
||||||
|
export interface LiveStreamData {
|
||||||
|
isLive: boolean;
|
||||||
|
dashManifestUrl: string | null
|
||||||
|
hlsManifestUrl: string | null
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface formatData {
|
||||||
|
itag: number;
|
||||||
|
mimeType: string
|
||||||
|
bitrate: number
|
||||||
|
width: number
|
||||||
|
height: number
|
||||||
|
lastModified: string
|
||||||
|
contentLength: string
|
||||||
|
quality: string
|
||||||
|
fps: number
|
||||||
|
qualityLabel: string
|
||||||
|
projectionType: string
|
||||||
|
averageBitrate: number
|
||||||
|
audioQuality: string
|
||||||
|
approxDurationMs: string
|
||||||
|
audioSampleRate: string
|
||||||
|
audioChannels: number
|
||||||
|
url : string
|
||||||
|
signatureCipher : string;
|
||||||
|
cipher : string;
|
||||||
|
loudnessDb : number;
|
||||||
|
targetDurationSec : number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface InfoData{
|
||||||
|
LiveStreamData : LiveStreamData
|
||||||
|
html5player : string
|
||||||
|
format : Partial<formatData>[]
|
||||||
|
video_details : YouTubeVideo
|
||||||
|
related_videos: string[]
|
||||||
|
}
|
||||||
@ -2,7 +2,7 @@ import { ProxyOptions as Proxy, request } from './../../Request/index';
|
|||||||
import { format_decipher } from './cipher';
|
import { format_decipher } from './cipher';
|
||||||
import { YouTubeVideo } from '../classes/Video';
|
import { YouTubeVideo } from '../classes/Video';
|
||||||
import { YouTubePlayList } from '../classes/Playlist';
|
import { YouTubePlayList } from '../classes/Playlist';
|
||||||
import { InfoData } from '../stream';
|
import { InfoData } from './constants';
|
||||||
|
|
||||||
interface InfoOptions {
|
interface InfoOptions {
|
||||||
proxy?: Proxy[];
|
proxy?: Proxy[];
|
||||||
@ -79,7 +79,7 @@ export function extractID(url: string): string {
|
|||||||
* @param options cookie and proxy parameters to add
|
* @param options cookie and proxy parameters to add
|
||||||
* @returns Data containing video_details, LiveStreamData and formats of video url.
|
* @returns Data containing video_details, LiveStreamData and formats of video url.
|
||||||
*/
|
*/
|
||||||
export async function video_basic_info(url: string, options: InfoOptions = {}) {
|
export async function video_basic_info(url: string, options: InfoOptions = {}) : Promise<InfoData> {
|
||||||
let body: string;
|
let body: string;
|
||||||
if (options.htmldata) {
|
if (options.htmldata) {
|
||||||
body = url;
|
body = url;
|
||||||
@ -187,7 +187,7 @@ function parseSeconds(seconds: number): string {
|
|||||||
* @param options cookie and proxy parameters to add
|
* @param options cookie and proxy parameters to add
|
||||||
* @returns Data containing video_details, LiveStreamData and formats of video url.
|
* @returns Data containing video_details, LiveStreamData and formats of video url.
|
||||||
*/
|
*/
|
||||||
export async function video_info(url: string, options: InfoOptions = {}) {
|
export async function video_info(url: string, options: InfoOptions = {}): Promise<InfoData> {
|
||||||
const data = await video_basic_info(url, options);
|
const data = await video_basic_info(url, options);
|
||||||
if (data.LiveStreamData.isLive === true && data.LiveStreamData.hlsManifestUrl !== null) {
|
if (data.LiveStreamData.isLive === true && data.LiveStreamData.hlsManifestUrl !== null) {
|
||||||
return data;
|
return data;
|
||||||
|
|||||||
@ -11,7 +11,7 @@ export {
|
|||||||
} from './YouTube';
|
} from './YouTube';
|
||||||
export { spotify, sp_validate, refreshToken, is_expired, Spotify } from './Spotify';
|
export { spotify, sp_validate, refreshToken, is_expired, Spotify } from './Spotify';
|
||||||
export { soundcloud, so_validate, SoundCloud, SoundCloudStream, getFreeClientID } from './SoundCloud';
|
export { soundcloud, so_validate, SoundCloud, SoundCloudStream, getFreeClientID } from './SoundCloud';
|
||||||
export { deezer, dz_validate, dz_search, dz_advanced_track_search, Deezer } from './Deezer';
|
export { deezer, dz_validate, dz_advanced_track_search, Deezer } from './Deezer';
|
||||||
export { setToken } from './token';
|
export { setToken } from './token';
|
||||||
|
|
||||||
enum AudioPlayerStatus {
|
enum AudioPlayerStatus {
|
||||||
@ -30,6 +30,7 @@ interface SearchOptions {
|
|||||||
soundcloud?: 'tracks' | 'playlists' | 'albums';
|
soundcloud?: 'tracks' | 'playlists' | 'albums';
|
||||||
deezer?: 'track' | 'playlist' | 'album';
|
deezer?: 'track' | 'playlist' | 'album';
|
||||||
};
|
};
|
||||||
|
fuzzy?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
import readline from 'node:readline';
|
import readline from 'node:readline';
|
||||||
@ -46,11 +47,17 @@ import {
|
|||||||
} from '.';
|
} from '.';
|
||||||
import { SpotifyAuthorize, sp_search } from './Spotify';
|
import { SpotifyAuthorize, sp_search } from './Spotify';
|
||||||
import { check_id, so_search, stream as so_stream, stream_from_info as so_stream_info } from './SoundCloud';
|
import { check_id, so_search, stream as so_stream, stream_from_info as so_stream_info } from './SoundCloud';
|
||||||
import { InfoData, stream as yt_stream, StreamOptions, stream_from_info as yt_stream_info } from './YouTube/stream';
|
import { stream as yt_stream, StreamOptions, stream_from_info as yt_stream_info } from './YouTube/stream';
|
||||||
import { SoundCloudTrack } from './SoundCloud/classes';
|
import { SoundCloudPlaylist, SoundCloudTrack } from './SoundCloud/classes';
|
||||||
import { yt_search } from './YouTube/search';
|
import { yt_search } from './YouTube/search';
|
||||||
import { EventEmitter } from 'stream';
|
import { EventEmitter } from 'stream';
|
||||||
import { Deezer, dz_search, dz_validate } from './Deezer';
|
import { Deezer, dz_search, dz_validate } from './Deezer';
|
||||||
|
import { InfoData } from './YouTube/utils/constants';
|
||||||
|
import { YouTubeVideo } from './YouTube/classes/Video';
|
||||||
|
import { YouTubePlayList } from './YouTube/classes/Playlist';
|
||||||
|
import { YouTubeChannel } from './YouTube/classes/Channel';
|
||||||
|
import { SpotifyAlbum, SpotifyPlaylist, SpotifyTrack } from './Spotify/classes';
|
||||||
|
import { DeezerAlbum, DeezerPlaylist, DeezerTrack } from './Deezer/classes';
|
||||||
/**
|
/**
|
||||||
* Main stream Command for streaming through various sources
|
* Main stream Command for streaming through various sources
|
||||||
* @param url The video / track url to make stream of
|
* @param url The video / track url to make stream of
|
||||||
@ -79,7 +86,21 @@ export async function stream(url: string, options: StreamOptions = {}): Promise<
|
|||||||
* @param query string to search.
|
* @param query string to search.
|
||||||
* @param options contains limit and source to choose.
|
* @param options contains limit and source to choose.
|
||||||
* @returns Array of YouTube or Spotify or SoundCloud or Deezer
|
* @returns Array of YouTube or Spotify or SoundCloud or Deezer
|
||||||
|
deezer?: 'track' | 'playlist' | 'album';
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
export async function search( query: string, options: { source : { deezer : "album" } } & SearchOptions) : Promise<DeezerAlbum[]>;
|
||||||
|
export async function search( query: string, options: { source : { deezer : "playlist" } } & SearchOptions) : Promise<DeezerPlaylist[]>;
|
||||||
|
export async function search( query: string, options: { source : { deezer : "track" } } & SearchOptions) : Promise<DeezerTrack[]>;
|
||||||
|
export async function search( query: string, options: { source : { soundcloud : "albums" } } & SearchOptions) : Promise<SoundCloudPlaylist[]>;
|
||||||
|
export async function search( query: string, options: { source : { soundcloud : "playlists" } } & SearchOptions) : Promise<SoundCloudPlaylist[]>;
|
||||||
|
export async function search( query: string, options: { source : { soundcloud : "tracks" } } & SearchOptions) : Promise<SoundCloudTrack[]>;
|
||||||
|
export async function search( query: string, options: { source : { spotify : "album" } } & SearchOptions) : Promise<SpotifyAlbum[]>;
|
||||||
|
export async function search( query: string, options: { source : { spotify : "playlist" } } & SearchOptions) : Promise<SpotifyPlaylist[]>;
|
||||||
|
export async function search( query: string, options: { source : { spotify : "track" } } & SearchOptions) : Promise<SpotifyTrack[]>;
|
||||||
|
export async function search( query: string, options: { source : { youtube : "channel" } } & SearchOptions) : Promise<YouTubeChannel[]>;
|
||||||
|
export async function search( query: string, options: { source : { youtube : "playlist" } } & SearchOptions) : Promise<YouTubePlayList[]>;
|
||||||
|
export async function search( query: string, options: { source : { youtube : "video" } } & SearchOptions) : Promise<YouTubeVideo[]>;
|
||||||
export async function search(
|
export async function search(
|
||||||
query: string,
|
query: string,
|
||||||
options: SearchOptions = {}
|
options: SearchOptions = {}
|
||||||
@ -90,7 +111,7 @@ export async function search(
|
|||||||
else if (options.source.spotify) return await sp_search(query, options.source.spotify, options.limit);
|
else if (options.source.spotify) return await sp_search(query, options.source.spotify, options.limit);
|
||||||
else if (options.source.soundcloud) return await so_search(query, options.source.soundcloud, options.limit);
|
else if (options.source.soundcloud) return await so_search(query, options.source.soundcloud, options.limit);
|
||||||
else if (options.source.deezer)
|
else if (options.source.deezer)
|
||||||
return await dz_search(query, { limit: options.limit, type: options.source.deezer });
|
return await dz_search(query, { limit: options.limit, type: options.source.deezer, fuzzy : options.fuzzy });
|
||||||
else throw new Error('Not possible to reach Here LOL. Easter Egg of play-dl if someone get this.');
|
else throw new Error('Not possible to reach Here LOL. Easter Egg of play-dl if someone get this.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user