mirror of
https://github.com/LuanRT/YouTube.js.git
synced 2026-06-13 09:32:12 +00:00
Compare commits
1407 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4f916354df | ||
|
|
20bdd156c8 | ||
|
|
b317ec1bb9 | ||
|
|
3df6a212d5 | ||
|
|
0091f51dd2 | ||
|
|
d134fd2e9e | ||
|
|
b6386e4027 | ||
|
|
2b4befbc36 | ||
|
|
42bcf197bc | ||
|
|
4a4b87afe0 | ||
|
|
8f81d54e40 | ||
|
|
dfaf1501c9 | ||
|
|
bc386db6ba | ||
|
|
2996ebb334 | ||
|
|
e94ef3748e | ||
|
|
e9d6483e5a | ||
|
|
64f995585f | ||
|
|
2196afbc37 | ||
|
|
3fcf987aec | ||
|
|
c16feee065 | ||
|
|
638697696f | ||
|
|
7ae4ccf70a | ||
|
|
76504c0d08 | ||
|
|
d6f13e20ac | ||
|
|
1705470558 | ||
|
|
60137e6a0e | ||
|
|
505e21eeb2 | ||
|
|
147efd0614 | ||
|
|
f87b5af98c | ||
|
|
e1650e1297 | ||
|
|
b15f623dab | ||
|
|
689fb0b90e | ||
|
|
056b12c3db | ||
|
|
8cf658151f | ||
|
|
065e9a4e7c | ||
|
|
bb022e8285 | ||
|
|
876e94ad03 | ||
|
|
698121ab8f | ||
|
|
11c419a96c | ||
|
|
561e60b934 | ||
|
|
f202bcdeb7 | ||
|
|
f6fa735ac1 | ||
|
|
09718a717f | ||
|
|
0f1fd7223c | ||
|
|
92b8623374 | ||
|
|
a10c6a1c23 | ||
|
|
6ee21c5d24 | ||
|
|
b4981ca1fd | ||
|
|
7c97350785 | ||
|
|
7f1eeb6b5b | ||
|
|
5e665e8f0b | ||
|
|
677d4db19a | ||
|
|
ff1aa67b8b | ||
|
|
dce51cdc4a | ||
|
|
4808d2e13a | ||
|
|
98a2ba8c46 | ||
|
|
a1fd51fbb5 | ||
|
|
c7048368cc | ||
|
|
458c4900d7 | ||
|
|
f8690118c3 | ||
|
|
14ea875c67 | ||
|
|
95d9211eae | ||
|
|
393c243495 | ||
|
|
df6b0cccc4 | ||
|
|
a95f52a477 | ||
|
|
4284fa6d06 | ||
|
|
d8f731b2fa | ||
|
|
9694a48270 | ||
|
|
edfd65f5e0 | ||
|
|
cbb2535b24 | ||
|
|
1d4024fae5 | ||
|
|
216cb3139a | ||
|
|
4a4c37001d | ||
|
|
219d88b200 | ||
|
|
923e9c28e3 | ||
|
|
5ef7ea8034 | ||
|
|
00c199ac69 | ||
|
|
06a0090ae6 | ||
|
|
401b4c3858 | ||
|
|
5aecd0ace9 | ||
|
|
432571769e | ||
|
|
2b4219959c | ||
|
|
b731db86c5 | ||
|
|
e2ee822b9d | ||
|
|
3243339b37 | ||
|
|
c9328c59f9 | ||
|
|
a3fafe2f79 | ||
|
|
ca7c3164e1 | ||
|
|
02dfcae612 | ||
|
|
0cb92d9620 | ||
|
|
5394edc9bd | ||
|
|
7d5c972c98 | ||
|
|
b5c9581bec | ||
|
|
774b3a7524 | ||
|
|
b3a4862151 | ||
|
|
75d39e7afb | ||
|
|
c776b9f349 | ||
|
|
0e869020db | ||
|
|
d0d48bf525 | ||
|
|
3f960effa2 | ||
|
|
1c1577e85f | ||
|
|
424c65356c | ||
|
|
3ffdee9554 | ||
|
|
083aec1c80 | ||
|
|
6d57353a80 | ||
|
|
32125c7045 | ||
|
|
0802cb8abd | ||
|
|
ad8baac76f | ||
|
|
e54e499ff5 | ||
|
|
a035b71696 | ||
|
|
49be72dd04 | ||
|
|
7a7139e32d | ||
|
|
06887e99fb | ||
|
|
4d36655b2d | ||
|
|
83de198351 | ||
|
|
50e4b4ee0b | ||
|
|
57eba83cb6 | ||
|
|
1a3d663cc5 | ||
|
|
33c27ddcb5 | ||
|
|
50539bca9c | ||
|
|
2913d5f43d | ||
|
|
360b29ee60 | ||
|
|
732a30c09f | ||
|
|
0a3104bafc | ||
|
|
9025122484 | ||
|
|
66cbee268d | ||
|
|
f3c777b316 | ||
|
|
f76a8e5d75 | ||
|
|
3c28c0d2c2 | ||
|
|
48460e4184 | ||
|
|
6536801ec2 | ||
|
|
b4a947a9eb | ||
|
|
00546909c0 | ||
|
|
5f899fcdb3 | ||
|
|
c6310228fe | ||
|
|
3a11b99429 | ||
|
|
a602a317aa | ||
|
|
c2dd803eea | ||
|
|
88af6d89a5 | ||
|
|
826a9541a4 | ||
|
|
913dcc74ea | ||
|
|
b7c0421490 | ||
|
|
75b8964180 | ||
|
|
5f83a7416d | ||
|
|
ef37aa0a5a | ||
|
|
06df214bc9 | ||
|
|
5050f4866b | ||
|
|
78e79519e6 | ||
|
|
c3d4b2d60a | ||
|
|
45b734288e | ||
|
|
e571ee2426 | ||
|
|
5e8e42c9ed | ||
|
|
c61db19f2e | ||
|
|
342fdd1db3 | ||
|
|
73362c68fb | ||
|
|
29e8d3015a | ||
|
|
523700b728 | ||
|
|
0b73702bdd | ||
|
|
e95402731e | ||
|
|
5da8a66551 | ||
|
|
c0043d0194 | ||
|
|
3ec1609974 | ||
|
|
25fd979363 | ||
|
|
0c319aacde | ||
|
|
69d42b291c | ||
|
|
9a9bb76a92 | ||
|
|
0b2b0da957 | ||
|
|
eeaae6209f | ||
|
|
13e796123b | ||
|
|
5f233ae34e | ||
|
|
c1de097ce1 | ||
|
|
67f13fffac | ||
|
|
c8173c88e0 | ||
|
|
8e97bbc058 | ||
|
|
283172f220 | ||
|
|
ce4996cea7 | ||
|
|
ad2ae51b97 | ||
|
|
4bf125b6a5 | ||
|
|
eaf6d1ab4e | ||
|
|
8b2907169b | ||
|
|
478205b9d4 | ||
|
|
acfb0c58be | ||
|
|
6771325bb3 | ||
|
|
d10fe6834a | ||
|
|
ec85b0f942 | ||
|
|
a7bb981731 | ||
|
|
386257c7b3 | ||
|
|
af3a91645d | ||
|
|
bbaefb12b3 | ||
|
|
8e50ebd925 | ||
|
|
92acd6ca4d | ||
|
|
2824900852 | ||
|
|
c2b2d7ad52 | ||
|
|
790f8172fc | ||
|
|
ed8d43a799 | ||
|
|
fcd65b4dba | ||
|
|
4729016fb9 | ||
|
|
951256c641 | ||
|
|
cf09f7bab1 | ||
|
|
d8dca8cc09 | ||
|
|
91fa215235 | ||
|
|
2f087d47a0 | ||
|
|
2c7f0ca155 | ||
|
|
4e9d64404e | ||
|
|
fc5571629e | ||
|
|
9cf0d3f3b3 | ||
|
|
7397aa3f64 | ||
|
|
7156a585c0 | ||
|
|
cfb48fab89 | ||
|
|
71d9ebc5fd | ||
|
|
0914299215 | ||
|
|
038efff17f | ||
|
|
4b178e4bfb | ||
|
|
680da9f501 | ||
|
|
7fb00fa378 | ||
|
|
53d1c759b6 | ||
|
|
bdebb9f741 | ||
|
|
2940f7b908 | ||
|
|
c68810d502 | ||
|
|
dc2ed046b8 | ||
|
|
ad448f8106 | ||
|
|
80dbd6fe71 | ||
|
|
bc9a0ed6c1 | ||
|
|
ad302b8b17 | ||
|
|
126a66f317 | ||
|
|
daa5a2982b | ||
|
|
8bf9eb7044 | ||
|
|
8ab760ea2e | ||
|
|
feeb21b3eb | ||
|
|
d36ddb804a | ||
|
|
b0965c7ac9 | ||
|
|
d3f6af0775 | ||
|
|
556c3d68eb | ||
|
|
4a1397f1bc | ||
|
|
fdb754043b | ||
|
|
0a99342ccb | ||
|
|
e4ca991d30 | ||
|
|
360580ea6e | ||
|
|
20f7971299 | ||
|
|
b83a32f6a6 | ||
|
|
0bb28a95fc | ||
|
|
4e9c2a585b | ||
|
|
34ae38cbf4 | ||
|
|
a4394dbb82 | ||
|
|
2e782cff90 | ||
|
|
50be8a8f54 | ||
|
|
677e1f0807 | ||
|
|
4ec4be64ee | ||
|
|
182bf42d3c | ||
|
|
dba0be7bc8 | ||
|
|
31d1caf06a | ||
|
|
22dd71d7da | ||
|
|
15d3865398 | ||
|
|
305a398158 | ||
|
|
85d623c463 | ||
|
|
d9ec23c73c | ||
|
|
d84273163f | ||
|
|
01057f6dfa | ||
|
|
a4ef2249ff | ||
|
|
0081e11ebc | ||
|
|
d9ac99d332 | ||
|
|
bb3f114aa3 | ||
|
|
b45609aa0f | ||
|
|
91d3081496 | ||
|
|
02513b76ed | ||
|
|
43cef9e67e | ||
|
|
5ff30e12de | ||
|
|
289996ae7a | ||
|
|
d6cc8016aa | ||
|
|
910c9791e7 | ||
|
|
74659fd03f | ||
|
|
dd7f5cf778 | ||
|
|
00dd409d58 | ||
|
|
eb21af33db | ||
|
|
f209315216 | ||
|
|
eaf218f5da | ||
|
|
5db449cc6d | ||
|
|
2e61b99428 | ||
|
|
7a39326821 | ||
|
|
425027ce89 | ||
|
|
0a5d3aa76d | ||
|
|
94bc596048 | ||
|
|
e1e76ee616 | ||
|
|
bf6cc00699 | ||
|
|
094a96fb5d | ||
|
|
4fca6c354e | ||
|
|
93906e0539 | ||
|
|
aaebcca90b | ||
|
|
36121878b1 | ||
|
|
d89909a19a | ||
|
|
367a6f7ec5 | ||
|
|
05a663710d | ||
|
|
cc0fc7145a | ||
|
|
bdff3eae1c | ||
|
|
5a66d0ba93 | ||
|
|
370cb0b29e | ||
|
|
fcd00b0fb0 | ||
|
|
2dae5634f3 | ||
|
|
2c43a5705f | ||
|
|
83801ebc37 | ||
|
|
c14a687e65 | ||
|
|
f9ccba4af5 | ||
|
|
4b60b97132 | ||
|
|
7afc3da80e | ||
|
|
bb6e647b8c | ||
|
|
f1973c11d9 | ||
|
|
4942992630 | ||
|
|
0e91a08ae2 | ||
|
|
261f2ac12b | ||
|
|
041aebc358 | ||
|
|
c9f0ddd573 | ||
|
|
25d268beba | ||
|
|
2c0bb237e1 | ||
|
|
4f5635ad07 | ||
|
|
3b3cf1b2aa | ||
|
|
d85fbc56cf | ||
|
|
e55d4af100 | ||
|
|
04369be620 | ||
|
|
a89a5ac2dd | ||
|
|
5529a6aca0 | ||
|
|
94a6765c97 | ||
|
|
9b9fb82131 | ||
|
|
3153375bca | ||
|
|
a9bf225a62 | ||
|
|
1e29019a07 | ||
|
|
6765f4e0d7 | ||
|
|
3048f70f60 | ||
|
|
090539b28f | ||
|
|
6d0bc89be1 | ||
|
|
a5f62093a1 | ||
|
|
a352ddeb9d | ||
|
|
0f8f92a28a | ||
|
|
7d03469e64 | ||
|
|
62ac2f6f32 | ||
|
|
142a7d0428 | ||
|
|
efa7205723 | ||
|
|
84f90aaf29 | ||
|
|
858cdd197c | ||
|
|
5a8fd3ad37 | ||
|
|
a19511de24 | ||
|
|
bd9f6ac64c | ||
|
|
e5aab9a9b3 | ||
|
|
d6fa134c3d | ||
|
|
fe953072a2 | ||
|
|
055fa33403 | ||
|
|
14c3a06d40 | ||
|
|
67376afae6 | ||
|
|
4cbaa7983f | ||
|
|
9802483233 | ||
|
|
2980a608b6 | ||
|
|
b6cecb10f5 | ||
|
|
040a091639 | ||
|
|
3939405cc6 | ||
|
|
978ab1ed29 | ||
|
|
5cdb9e1e2f | ||
|
|
15f3b5fdba | ||
|
|
384b80ee41 | ||
|
|
b588554ce1 | ||
|
|
583fd9f8d7 | ||
|
|
7953296580 | ||
|
|
cf29664d37 | ||
|
|
4015a5e560 | ||
|
|
184df79b3a | ||
|
|
000f3f0915 | ||
|
|
8372b3d22f | ||
|
|
b9d50daa57 | ||
|
|
031ffb696e | ||
|
|
8e942ada3b | ||
|
|
aa3f34c428 | ||
|
|
c82bb70180 | ||
|
|
766045049d | ||
|
|
b6ce5f903f | ||
|
|
6bb2086875 | ||
|
|
810665407e | ||
|
|
1b00e2c6ce | ||
|
|
ea82beaa10 | ||
|
|
0ba8c54257 | ||
|
|
7315fca1b4 | ||
|
|
0602dd2c3d | ||
|
|
13321888e8 | ||
|
|
d48b9d0946 | ||
|
|
592ddac30f | ||
|
|
1ec2ea85e2 | ||
|
|
064436cef3 | ||
|
|
4022d7aa89 | ||
|
|
cd69ce73c1 | ||
|
|
1c08bfe113 | ||
|
|
a624963384 | ||
|
|
66e34f9388 | ||
|
|
0c2cdc1599 | ||
|
|
010704929f | ||
|
|
d4a938771b | ||
|
|
5ecfb08772 | ||
|
|
2029aec90d | ||
|
|
d589365ea2 | ||
|
|
45f33d8c04 | ||
|
|
92117eaaa0 | ||
|
|
39725374e3 | ||
|
|
213d78b1ab | ||
|
|
28f53a698d | ||
|
|
776a156f65 | ||
|
|
4a9bd32fd7 | ||
|
|
3170659880 | ||
|
|
e6f1f078a8 | ||
|
|
900f557202 | ||
|
|
7ca2a0c3e4 | ||
|
|
f95283b236 | ||
|
|
f6a7bcc44a | ||
|
|
c444843799 | ||
|
|
5fe91d6642 | ||
|
|
bff65f8889 | ||
|
|
dac5eb712d | ||
|
|
2068dfb73e | ||
|
|
3e84775fd3 | ||
|
|
89fa3b27a8 | ||
|
|
ab7201f0cc | ||
|
|
b21eb9f33d | ||
|
|
0751793380 | ||
|
|
5c91c2af4a | ||
|
|
47cad4c6e1 | ||
|
|
4fb9dff0f2 | ||
|
|
81dd5d3288 | ||
|
|
c7f42220db | ||
|
|
5204b29e81 | ||
|
|
cbaa838cee | ||
|
|
379e63d2f6 | ||
|
|
e86a0daf45 | ||
|
|
7fbc37f9d1 | ||
|
|
2e710dc9f7 | ||
|
|
fed3512461 | ||
|
|
6dd03e1658 | ||
|
|
2073aa910a | ||
|
|
f7b7bbd47a | ||
|
|
04d55d04c7 | ||
|
|
6082b4a52e | ||
|
|
3980f97b8f | ||
|
|
59f4cfb4db | ||
|
|
254f77944f | ||
|
|
586bb5f139 | ||
|
|
562e6a20f0 | ||
|
|
b7cacc34f3 | ||
|
|
8f07e49512 | ||
|
|
abd8a82cd0 | ||
|
|
7ffd0fc25e | ||
|
|
b50408fc1c | ||
|
|
9618f38fe1 | ||
|
|
e7efec2cf4 | ||
|
|
82d5d1e3e1 | ||
|
|
9c503f4fa8 | ||
|
|
4dd977e375 | ||
|
|
e4f2a00c84 | ||
|
|
fcd3044982 | ||
|
|
14578ac96a | ||
|
|
5c83e999df | ||
|
|
4e67240ff9 | ||
|
|
f938c34ee8 | ||
|
|
bd487f8bef | ||
|
|
48a5d4e7c3 | ||
|
|
37ae55a7c3 | ||
|
|
923232de07 | ||
|
|
a1c3ef8fbb | ||
|
|
5c9c231cc2 | ||
|
|
572e16c541 | ||
|
|
ed2cbf8a13 | ||
|
|
4261915fd4 | ||
|
|
f74ed5a1cf | ||
|
|
5ae15be63d | ||
|
|
a32aa8c633 | ||
|
|
4806fc6c11 | ||
|
|
95ed60207a | ||
|
|
b50e2001aa | ||
|
|
b60930a0c1 | ||
|
|
c66eb1fecf | ||
|
|
6a5a579e39 | ||
|
|
ff4ab1680e | ||
|
|
9007b65237 | ||
|
|
e02139532b | ||
|
|
db7f6209b2 | ||
|
|
312c636ec4 | ||
|
|
4c0de199e8 | ||
|
|
9ab528ec82 | ||
|
|
24ffb01aef | ||
|
|
eaac38c919 | ||
|
|
e627887fe0 | ||
|
|
beaa28f4c6 | ||
|
|
a45273fec4 | ||
|
|
bc97e07ac6 | ||
|
|
f35b4c2c8c | ||
|
|
c934325648 | ||
|
|
cd27acd25b | ||
|
|
83b42d2585 | ||
|
|
e54c0c4bf1 | ||
|
|
8e372d5c67 | ||
|
|
987f50604a | ||
|
|
69702085c6 | ||
|
|
d2959b3a55 | ||
|
|
68df321858 | ||
|
|
f4bc8508d0 | ||
|
|
e216124bb0 | ||
|
|
6d98abbd53 | ||
|
|
fba3fc9714 | ||
|
|
f94ea6cf91 | ||
|
|
86fb33ed03 | ||
|
|
bff4210349 | ||
|
|
91de6e5c0e | ||
|
|
c26972c42a | ||
|
|
8bc2aaa358 | ||
|
|
2e5f076fd7 | ||
|
|
0412fa05ff | ||
|
|
10c15bfb9f | ||
|
|
4862c35cee | ||
|
|
2eed1726d5 | ||
|
|
8b69587787 | ||
|
|
ed7be2a675 | ||
|
|
361fb4a9f1 | ||
|
|
1c3ea2acd3 | ||
|
|
859c4585d9 | ||
|
|
751f2b90fd | ||
|
|
90be877d28 | ||
|
|
052632314b | ||
|
|
22a38c0762 | ||
|
|
f7614634b6 | ||
|
|
bf1510b235 | ||
|
|
815e54b854 | ||
|
|
f7666051f6 | ||
|
|
494ee8776a | ||
|
|
87ed3960ff | ||
|
|
eb3cca1e2e | ||
|
|
9971ffe021 | ||
|
|
7949b3df66 | ||
|
|
aa385142e4 | ||
|
|
6c8a916f0f | ||
|
|
31d27b1bca | ||
|
|
cb37c6a17b | ||
|
|
1ff3e1a440 | ||
|
|
46fe18b763 | ||
|
|
0dda97e0b0 | ||
|
|
e370116092 | ||
|
|
3bc53a8c12 | ||
|
|
74e1a5e068 | ||
|
|
0fa5a859ae | ||
|
|
02a111250a | ||
|
|
c1886f9a83 | ||
|
|
5f4cbdb904 | ||
|
|
d91695a9ec | ||
|
|
137464ca66 | ||
|
|
6997982cf2 | ||
|
|
18cbc8c038 | ||
|
|
30ff087587 | ||
|
|
1a034733f6 | ||
|
|
c477b824c0 | ||
|
|
7e5c3648c1 | ||
|
|
bdd98a3b9b | ||
|
|
06750aaa74 | ||
|
|
708c5f7394 | ||
|
|
a9cdbf7010 | ||
|
|
b50d1ef67d | ||
|
|
555d257459 | ||
|
|
2aef67876e | ||
|
|
ae2557d15c | ||
|
|
8c688efb4a | ||
|
|
cffa868c6e | ||
|
|
f267fcd8be | ||
|
|
23c22a93c4 | ||
|
|
1ca20836bf | ||
|
|
5f058e69ae | ||
|
|
3500e92632 | ||
|
|
3f57c2fa5c | ||
|
|
7528ebdb60 | ||
|
|
5e3846259f | ||
|
|
222dfce6bb | ||
|
|
83cbfd631b | ||
|
|
4f9427d752 | ||
|
|
07c1b3e0e5 | ||
|
|
89548ad48a | ||
|
|
519be72445 | ||
|
|
e434bb2632 | ||
|
|
a11e5962c6 | ||
|
|
77b39c79ee | ||
|
|
7c530d30ee | ||
|
|
1e07a184ff | ||
|
|
5de7b24dc5 | ||
|
|
01fd1ee72a | ||
|
|
84b4f1efd1 | ||
|
|
046103a4d8 | ||
|
|
beb4733e84 | ||
|
|
66b026bf49 | ||
|
|
26734194ab | ||
|
|
38a83c3c2a | ||
|
|
b1f19f16ac | ||
|
|
891d889408 | ||
|
|
d4adb9eb6b | ||
|
|
3b0498b68b | ||
|
|
154a5d2868 | ||
|
|
7c0abfccd7 | ||
|
|
8f50c668aa | ||
|
|
4f7ec07c3f | ||
|
|
ab3d5ab16c | ||
|
|
dd21f8c75a | ||
|
|
3a7e58d2b9 | ||
|
|
75ea09dde8 | ||
|
|
95e0294eab | ||
|
|
22ae6c93ee | ||
|
|
257bd475a0 | ||
|
|
f66f0bd656 | ||
|
|
05de3ec97a | ||
|
|
a0566969ba | ||
|
|
a9cad49333 | ||
|
|
096bf362c9 | ||
|
|
ec9c0979f5 | ||
|
|
342d1d95e9 | ||
|
|
dbfc569602 | ||
|
|
c16a967987 | ||
|
|
a07375eb20 | ||
|
|
ce9d9c56b4 | ||
|
|
f50ce1a06b | ||
|
|
3b6ccfa3d8 | ||
|
|
878488d1b3 | ||
|
|
3c94c9da4b | ||
|
|
0b301de6a1 | ||
|
|
c9135e66d3 | ||
|
|
e82c843928 | ||
|
|
be71d7c937 | ||
|
|
470d8d9406 | ||
|
|
2c5907f80f | ||
|
|
ade5feb31c | ||
|
|
13ebf0a039 | ||
|
|
cb8fafe94b | ||
|
|
bd35faa597 | ||
|
|
a8b507ee65 | ||
|
|
e7eacd9742 | ||
|
|
1c72a41675 | ||
|
|
62a68b207c | ||
|
|
1d9587e8c1 | ||
|
|
a90e5e0d07 | ||
|
|
955c8010a6 | ||
|
|
b2269deb79 | ||
|
|
573c8643aa | ||
|
|
e21542c227 | ||
|
|
9d912e5938 | ||
|
|
7ca0607004 | ||
|
|
20d84265b5 | ||
|
|
b13bf6e992 | ||
|
|
3d3436472f | ||
|
|
1a2fc3abd7 | ||
|
|
8ef4b42d44 | ||
|
|
b71f03caf2 | ||
|
|
dae7d6e40c | ||
|
|
2cee59024c | ||
|
|
ffd7d79308 | ||
|
|
9b005d62d6 | ||
|
|
a8e7e644ec | ||
|
|
ad1d3dbf91 | ||
|
|
3df3261488 | ||
|
|
1b1ce41c00 | ||
|
|
b82b720e4b | ||
|
|
4784dfa563 | ||
|
|
3e4d41bf06 | ||
|
|
9f1c31d7a0 | ||
|
|
9cb4530299 | ||
|
|
cb9a0c5410 | ||
|
|
427db5bbc2 | ||
|
|
2b29244b41 | ||
|
|
f9754f5ac6 | ||
|
|
b2253df802 | ||
|
|
f3517708ff | ||
|
|
0d35fe0ca5 | ||
|
|
3e3dc351bb | ||
|
|
197bb759cd | ||
|
|
c76b24b3f4 | ||
|
|
574b67a1f7 | ||
|
|
9b2738f128 | ||
|
|
95f1d4077f | ||
|
|
a511608f18 | ||
|
|
cf8a33c79f | ||
|
|
cfc1a183e0 | ||
|
|
95033e723e | ||
|
|
2cc7b8bcd6 | ||
|
|
2d774e26aa | ||
|
|
214aa147ce | ||
|
|
ce53ac1843 | ||
|
|
0ad26f28d9 | ||
|
|
4c7b8a3403 | ||
|
|
33a6e740d7 | ||
|
|
0b1840a62c | ||
|
|
f4e0f30e6e | ||
|
|
200632f374 | ||
|
|
f933cb45bc | ||
|
|
a0e6cef00f | ||
|
|
a0bfe16427 | ||
|
|
9d352b58eb | ||
|
|
6b6c80ddf1 | ||
|
|
58a6c84121 | ||
|
|
63b1261b7c | ||
|
|
d2eff3bfb8 | ||
|
|
b668ba8cfb | ||
|
|
0b88575614 | ||
|
|
bed0ff4154 | ||
|
|
27a50a2a7e | ||
|
|
d4f2d704bb | ||
|
|
97f181b212 | ||
|
|
251ed74bba | ||
|
|
1cdf701c84 | ||
|
|
bf12740333 | ||
|
|
0d77b59945 | ||
|
|
6e30309f56 | ||
|
|
e37cf62732 | ||
|
|
567fdbaf52 | ||
|
|
0a22319d9e | ||
|
|
eb72c2f6ef | ||
|
|
2ccbe2ce62 | ||
|
|
a69e43bf3a | ||
|
|
b2900f48a7 | ||
|
|
d612590530 | ||
|
|
e82e23dfbb | ||
|
|
f62c66db39 | ||
|
|
de61782f1a | ||
|
|
ceefbed98c | ||
|
|
315d89f84a | ||
|
|
2ea3602b61 | ||
|
|
b7df3d6df4 | ||
|
|
2acb7da019 | ||
|
|
0b991800a5 | ||
|
|
50ef71284d | ||
|
|
d6c5a9b971 | ||
|
|
0fc29f0bbf | ||
|
|
2bbefefbb7 | ||
|
|
13ad3774c9 | ||
|
|
8051a7dee6 | ||
|
|
2842b1d917 | ||
|
|
870b2811d9 | ||
|
|
1aedbd3ea6 | ||
|
|
e8af2a603d | ||
|
|
8e37efa575 | ||
|
|
5a362a0bd5 | ||
|
|
89ee68b084 | ||
|
|
dca61c3a22 | ||
|
|
56e6e23453 | ||
|
|
00fa514b03 | ||
|
|
d36389c865 | ||
|
|
55ca986888 | ||
|
|
b04df7e119 | ||
|
|
d8d92866d1 | ||
|
|
b4b0731589 | ||
|
|
d69d701869 | ||
|
|
cd4d28c951 | ||
|
|
22b9c174bb | ||
|
|
b704c8e78c | ||
|
|
bbfeb99f55 | ||
|
|
f2adeeeab4 | ||
|
|
3756e63996 | ||
|
|
a27807b6c1 | ||
|
|
5cfb969e33 | ||
|
|
1163125f5c | ||
|
|
9ac5043309 | ||
|
|
6a4b4f3359 | ||
|
|
2b3642ba63 | ||
|
|
fb2e237284 | ||
|
|
6f3deaf16a | ||
|
|
d4382e81c3 | ||
|
|
89956cab46 | ||
|
|
ac9341c769 | ||
|
|
cac762569a | ||
|
|
9978ebf085 | ||
|
|
b036e2fcdc | ||
|
|
e37f42f41b | ||
|
|
883a023624 | ||
|
|
506834b253 | ||
|
|
87e7ef77eb | ||
|
|
27fdd8268a | ||
|
|
d4ea87b8b0 | ||
|
|
ec87eea20d | ||
|
|
e43ad202f4 | ||
|
|
104c36b450 | ||
|
|
f5d61d70f2 | ||
|
|
c76f5f478d | ||
|
|
49d1432b5a | ||
|
|
be157ef016 | ||
|
|
9f703203b6 | ||
|
|
516eeeff45 | ||
|
|
6caa679df6 | ||
|
|
2a87f42b32 | ||
|
|
f7c1e0f249 | ||
|
|
fe4c5433cf | ||
|
|
0e5e0c0fab | ||
|
|
f0fd6146c7 | ||
|
|
43061970c6 | ||
|
|
746023d9bb | ||
|
|
3102479dd9 | ||
|
|
c7a13c948c | ||
|
|
ec875ba321 | ||
|
|
db77bba802 | ||
|
|
5ea0a0ebf8 | ||
|
|
0130229236 | ||
|
|
da517fe6d1 | ||
|
|
95ff1e6c5e | ||
|
|
0f8adfd9b8 | ||
|
|
b514765354 | ||
|
|
3cbcd71a3a | ||
|
|
4c00f15f55 | ||
|
|
ea1d206b26 | ||
|
|
aa334aacbd | ||
|
|
1eda93ee08 | ||
|
|
fe0ac0a961 | ||
|
|
8740deb1f2 | ||
|
|
d71b762df5 | ||
|
|
dc14d3785f | ||
|
|
088f909515 | ||
|
|
2a78d77aa3 | ||
|
|
1b2862c00f | ||
|
|
477c030084 | ||
|
|
19d579df13 | ||
|
|
5313c57783 | ||
|
|
190f7681be | ||
|
|
6e027bcc85 | ||
|
|
6b531dd0ea | ||
|
|
92f24076db | ||
|
|
a9eba7ca62 | ||
|
|
2f56c15ecc | ||
|
|
95e0479745 | ||
|
|
556c7cd6e8 | ||
|
|
a4a88419ef | ||
|
|
aefecd061e | ||
|
|
7485726f1e | ||
|
|
9e703abe3a | ||
|
|
affbe84284 | ||
|
|
fcbdae3e34 | ||
|
|
059c858021 | ||
|
|
4ecd3360e0 | ||
|
|
08e9527931 | ||
|
|
a9f03a1523 | ||
|
|
c8980c7985 | ||
|
|
2e5688f235 | ||
|
|
dcf2b720a0 | ||
|
|
a90f5eb853 | ||
|
|
c6482e07b9 | ||
|
|
2de77c8f2c | ||
|
|
2aaa209906 | ||
|
|
ab028ba1ec | ||
|
|
f2f48af1bc | ||
|
|
3a7da21fd1 | ||
|
|
89794d65da | ||
|
|
91847ae3cc | ||
|
|
eb44b71939 | ||
|
|
88ebb5e2ae | ||
|
|
b237b6af4e | ||
|
|
9e618cc576 | ||
|
|
daf95cfe87 | ||
|
|
bc03c91df9 | ||
|
|
e00be25bf4 | ||
|
|
c9856a8359 | ||
|
|
4b29ad74de | ||
|
|
60730a5531 | ||
|
|
70f2398180 | ||
|
|
5b3109afef | ||
|
|
60fe4b1829 | ||
|
|
ddbf9e93da | ||
|
|
e3d483ed75 | ||
|
|
320c007396 | ||
|
|
28a651ea3a | ||
|
|
85fc468cc9 | ||
|
|
f9da261441 | ||
|
|
4484f78394 | ||
|
|
4181969d52 | ||
|
|
ecac5f4d7e | ||
|
|
a8322e35f5 | ||
|
|
3a6f4ffa9d | ||
|
|
3dc357bee0 | ||
|
|
982a086760 | ||
|
|
75959105bd | ||
|
|
80496d30a3 | ||
|
|
4bddc771b2 | ||
|
|
c26a07dc73 | ||
|
|
e498815795 | ||
|
|
60ef3eabd3 | ||
|
|
1da8043c18 | ||
|
|
4f015536ac | ||
|
|
c3f98246f0 | ||
|
|
53cb26546e | ||
|
|
e3d38ad107 | ||
|
|
74d53f388a | ||
|
|
7a7c657733 | ||
|
|
d34a8d7fc4 | ||
|
|
f8c07101bf | ||
|
|
dccb2b7e50 | ||
|
|
573ebf2568 | ||
|
|
898cb56c71 | ||
|
|
b9e6e16ce9 | ||
|
|
c99364942c | ||
|
|
317bca261c | ||
|
|
173aec65f5 | ||
|
|
13a86cb4e7 | ||
|
|
05b4593e0a | ||
|
|
6fe4d235ff | ||
|
|
f4ce4d2f74 | ||
|
|
541cdc455f | ||
|
|
c000bd8d5f | ||
|
|
f3d77b3e97 | ||
|
|
22b2953ec8 | ||
|
|
a4965ee43d | ||
|
|
842c185f4d | ||
|
|
790d528a2d | ||
|
|
ed79551314 | ||
|
|
34281e2445 | ||
|
|
b101a39d30 | ||
|
|
dc2f0055cc | ||
|
|
ecdac38458 | ||
|
|
31326ec9eb | ||
|
|
dba34dc5ae | ||
|
|
713fd13c74 | ||
|
|
f6a2a418be | ||
|
|
e82302a6ea | ||
|
|
59d37e9ed6 | ||
|
|
c10cce1e2a | ||
|
|
63ae9061eb | ||
|
|
03b183be70 | ||
|
|
2d7fe04a8a | ||
|
|
4d6067937a | ||
|
|
52207df393 | ||
|
|
9a914e29ba | ||
|
|
34022fddfb | ||
|
|
9b4d86b81f | ||
|
|
dc79b19d56 | ||
|
|
ad3ab4f637 | ||
|
|
60ff0513f1 | ||
|
|
4ab2bb744a | ||
|
|
40fc24b043 | ||
|
|
709c448053 | ||
|
|
3833b333a7 | ||
|
|
38280290f7 | ||
|
|
d5f34982f4 | ||
|
|
3ff3d3c633 | ||
|
|
a788c9c80f | ||
|
|
9e2443d1aa | ||
|
|
bb3ed9dcd3 | ||
|
|
51f9eb15ae | ||
|
|
d6398296c3 | ||
|
|
af6856ced4 | ||
|
|
3cdaab8b7a | ||
|
|
daaba3745e | ||
|
|
323b90a98c | ||
|
|
3abcde7e67 | ||
|
|
2599e734b8 | ||
|
|
c10006fa57 | ||
|
|
61f8b2a9a0 | ||
|
|
cdbdfec057 | ||
|
|
4d332402db | ||
|
|
c66940ae65 | ||
|
|
ff9aeeedce | ||
|
|
88a6ee907e | ||
|
|
72c3af84b0 | ||
|
|
99233bcf7a | ||
|
|
adae925367 | ||
|
|
5a99190136 | ||
|
|
6008d4cf0d | ||
|
|
f4b947f8e2 | ||
|
|
00cd35867a | ||
|
|
7ba09a66d8 | ||
|
|
c16d632b31 | ||
|
|
9ef765dbc1 | ||
|
|
dbfcb36fd7 | ||
|
|
0393ab7f38 | ||
|
|
eb5d49d14e | ||
|
|
a83518d021 | ||
|
|
95079ced09 | ||
|
|
616b1405c3 | ||
|
|
ef6ec59402 | ||
|
|
a2103963b4 | ||
|
|
8ed6cc9e24 | ||
|
|
9c44cfc7f8 | ||
|
|
c487a65e8f | ||
|
|
9c7850d197 | ||
|
|
c12b1482fe | ||
|
|
851afddf51 | ||
|
|
8b9cd236ae | ||
|
|
0fb0c2318a | ||
|
|
dfd09e9683 | ||
|
|
6da69b4f18 | ||
|
|
60e6326402 | ||
|
|
4bf4639902 | ||
|
|
0f8c25a5f0 | ||
|
|
6a5ebeb8ee | ||
|
|
fb68e6bcfe | ||
|
|
e2f455d7bd | ||
|
|
39d2c4c09d | ||
|
|
2e3b1c2bf2 | ||
|
|
0d4bca5a9d | ||
|
|
1ce2feb18b | ||
|
|
7ded405de0 | ||
|
|
7400b8a9d9 | ||
|
|
2247026da1 | ||
|
|
d8266ff786 | ||
|
|
d1f2369e43 | ||
|
|
4fe349389c | ||
|
|
68cb841c00 | ||
|
|
947fd7895b | ||
|
|
0509b704a8 | ||
|
|
f924a39409 | ||
|
|
03f9fc5c2e | ||
|
|
8a5073b0b9 | ||
|
|
0356dafa96 | ||
|
|
bd7279f800 | ||
|
|
11d553b2c0 | ||
|
|
670b918642 | ||
|
|
5a14fe3c4c | ||
|
|
ae1a2a7f84 | ||
|
|
1837d4929c | ||
|
|
d729972251 | ||
|
|
d7267d9aa5 | ||
|
|
650b563301 | ||
|
|
fd52556603 | ||
|
|
ff81c2afe8 | ||
|
|
9c97434e5e | ||
|
|
021a7fd97a | ||
|
|
a011f62a90 | ||
|
|
dff535a9e2 | ||
|
|
f52d15cdb0 | ||
|
|
84d5edb6f0 | ||
|
|
d7d6a4e019 | ||
|
|
3bdcdf7cf1 | ||
|
|
b314458ed9 | ||
|
|
1d62e469a9 | ||
|
|
0a851bde31 | ||
|
|
3e2b932844 | ||
|
|
263b4887c3 | ||
|
|
4f994c338b | ||
|
|
ef9a22e85a | ||
|
|
8849a01ecf | ||
|
|
a948c2e480 | ||
|
|
f5c6dbc63e | ||
|
|
829181ba6f | ||
|
|
7ec6d6dd21 | ||
|
|
d2b3eead41 | ||
|
|
96857ccadf | ||
|
|
c24e6256c5 | ||
|
|
00c2db791f | ||
|
|
20556970a7 | ||
|
|
1681a9b84c | ||
|
|
b3c5e340af | ||
|
|
bb3f3cc584 | ||
|
|
86291fe1f9 | ||
|
|
6eef4b746b | ||
|
|
4088ef59c6 | ||
|
|
4a7c9d7b31 | ||
|
|
36f02cdcdb | ||
|
|
97d4cc1056 | ||
|
|
e90285bfab | ||
|
|
7fc9b526b0 | ||
|
|
99b88e2684 | ||
|
|
748e34758f | ||
|
|
a556aacfdd | ||
|
|
9ffaaacb3e | ||
|
|
4c7a42d8d4 | ||
|
|
1d2c1ed69b | ||
|
|
5af2a9972e | ||
|
|
1efbef6f49 | ||
|
|
4e1f6af736 | ||
|
|
98e7afda87 | ||
|
|
58809c2280 | ||
|
|
1484e3c2aa | ||
|
|
e0546944a8 | ||
|
|
d246008eab | ||
|
|
455556ba89 | ||
|
|
eaa16244d2 | ||
|
|
919a35d024 | ||
|
|
d54fc282ad | ||
|
|
51f7adf397 | ||
|
|
d990fc9b88 | ||
|
|
418dcac80a | ||
|
|
60075f8726 | ||
|
|
41aa54b8d9 | ||
|
|
662bccf2c2 | ||
|
|
abe045762b | ||
|
|
67d526e15d | ||
|
|
940b8322cc | ||
|
|
d6bbe8f183 | ||
|
|
28d51fcc4f | ||
|
|
e8a81084e6 | ||
|
|
4ef546b3f0 | ||
|
|
ec5a2aa7fd | ||
|
|
2cbb0179ae | ||
|
|
b594dad510 | ||
|
|
6d7609c32a | ||
|
|
75e0453f69 | ||
|
|
f6af3faa41 | ||
|
|
3458bb422a | ||
|
|
521029de52 | ||
|
|
4a102878d8 | ||
|
|
43470efb6e | ||
|
|
0067ccd438 | ||
|
|
62811bd8f1 | ||
|
|
71309a0788 | ||
|
|
7e6f944a4b | ||
|
|
3d0b217743 | ||
|
|
3c98244c3b | ||
|
|
20600fcc04 | ||
|
|
564a5deaec | ||
|
|
54a50d5704 | ||
|
|
49688a0ad6 | ||
|
|
040b382590 | ||
|
|
60b67a399c | ||
|
|
3f22a44ba9 | ||
|
|
6aa30648fe | ||
|
|
5f08be7991 | ||
|
|
79d6b84dda | ||
|
|
7142a63b1d | ||
|
|
5fd9f7ea83 | ||
|
|
ee71e6a55f | ||
|
|
b6a898f733 | ||
|
|
797c545b80 | ||
|
|
b3da6b11f8 | ||
|
|
81bbbaebe2 | ||
|
|
2254b69670 | ||
|
|
a7ee98820a | ||
|
|
c7474d7087 | ||
|
|
d167a0b807 | ||
|
|
95f713ff53 | ||
|
|
53965630b7 | ||
|
|
9840acc63d | ||
|
|
1676b11b0e | ||
|
|
afa39753d5 | ||
|
|
659df51115 | ||
|
|
dab89545fe | ||
|
|
73de36b946 | ||
|
|
049fd16aab | ||
|
|
bcaa02f10c | ||
|
|
153238aefc | ||
|
|
b2014c80f4 | ||
|
|
018092eb78 | ||
|
|
4ee6ec0d20 | ||
|
|
cbac2e1c81 | ||
|
|
fc191ae3d9 | ||
|
|
0661563656 | ||
|
|
2c3f37191d | ||
|
|
4f7de3cc50 | ||
|
|
5ec2a5512e | ||
|
|
ebbfb86600 | ||
|
|
07b83a823c | ||
|
|
688fd55117 | ||
|
|
87534c6489 | ||
|
|
12618c1a0b | ||
|
|
55fd4e8143 | ||
|
|
359020193b | ||
|
|
0b4853cb81 | ||
|
|
4ad5a5da64 | ||
|
|
f05270daee | ||
|
|
4ccb4b07b7 | ||
|
|
71c4b16654 | ||
|
|
82e8620a77 | ||
|
|
91dc854668 | ||
|
|
f0565ec924 | ||
|
|
15437e3937 | ||
|
|
c7c0ac8b54 | ||
|
|
1e23cdb510 | ||
|
|
a85e9ef667 | ||
|
|
865b6870a1 | ||
|
|
7284425618 | ||
|
|
05f74fe004 | ||
|
|
864f10f2e9 | ||
|
|
369e1048d1 | ||
|
|
b1cf5d33b8 | ||
|
|
19008e126d | ||
|
|
c525163f28 | ||
|
|
155dc9bd15 | ||
|
|
5560ba3ce4 | ||
|
|
6aaf9c70b9 | ||
|
|
e0c7496e37 | ||
|
|
fa79e5cad2 | ||
|
|
98a2b49395 | ||
|
|
17978193d0 | ||
|
|
13f571a6dc | ||
|
|
9f3f8ad820 | ||
|
|
2ba7a5c64e | ||
|
|
d7d1c96d8c | ||
|
|
0219c075c7 | ||
|
|
759351c38e | ||
|
|
6312e97f95 | ||
|
|
c60babcf25 | ||
|
|
c48cfcd8a0 | ||
|
|
594202d61d | ||
|
|
7a5490452a | ||
|
|
b4bb44b797 | ||
|
|
43f3c3fbf8 | ||
|
|
b48ae0b8d3 | ||
|
|
8cf3e67f79 | ||
|
|
ffa243bc07 | ||
|
|
a08580eeee | ||
|
|
039ebb7c0c | ||
|
|
46a385aa06 | ||
|
|
f656ccd690 | ||
|
|
ddd276d99f | ||
|
|
5fbeaeabb6 | ||
|
|
18e62f6ff8 | ||
|
|
6235985871 | ||
|
|
4eef0ddab0 | ||
|
|
6127690b4c | ||
|
|
b6cfdb733c | ||
|
|
b565213f11 | ||
|
|
a5c9c9d863 | ||
|
|
cf95d82d3e | ||
|
|
00e0131672 | ||
|
|
2315306d9f | ||
|
|
1dfd4b6263 | ||
|
|
b0a861dec8 | ||
|
|
4943685e57 | ||
|
|
b773f5668c | ||
|
|
4fd7371cf3 | ||
|
|
16bb879689 | ||
|
|
a852cd22c8 | ||
|
|
90bb3e20c0 | ||
|
|
eab40c0034 | ||
|
|
19f7336a48 | ||
|
|
75895e5492 | ||
|
|
0cdfac1812 | ||
|
|
446966fb2d | ||
|
|
29897981f0 | ||
|
|
7e8a517de9 | ||
|
|
a8b9487b58 | ||
|
|
80a338e5ff | ||
|
|
e2ca022a47 | ||
|
|
2ebcd49f02 | ||
|
|
98a62c31da | ||
|
|
1bfe2676d8 | ||
|
|
4db0a0358f | ||
|
|
6bdccb89e5 | ||
|
|
bbfecdb015 | ||
|
|
f79d4b635d | ||
|
|
283c06e64f | ||
|
|
5c572dba66 | ||
|
|
aa943a46a8 | ||
|
|
d634892b01 | ||
|
|
2010714f50 | ||
|
|
c6c96fd223 | ||
|
|
db41fa40d2 | ||
|
|
02ece1ddda | ||
|
|
b175e02f6d | ||
|
|
d3394f846a | ||
|
|
07b73ab78d | ||
|
|
d743b5a088 | ||
|
|
bb206c044c | ||
|
|
d48065405d | ||
|
|
dbc8b62ba2 | ||
|
|
e32981728b | ||
|
|
7b33dcbb79 | ||
|
|
4c6bf49bbe | ||
|
|
4bbc2d50f4 | ||
|
|
440d80063d | ||
|
|
c49147523a | ||
|
|
e221c79448 | ||
|
|
291d04e703 | ||
|
|
12baec0b0d | ||
|
|
b793c61fd8 | ||
|
|
b9e15b5fbd | ||
|
|
d0c54f2b8b | ||
|
|
6ff984df66 | ||
|
|
4fa2e5c127 | ||
|
|
725f186bd9 | ||
|
|
07340931a0 | ||
|
|
46d62bf83f | ||
|
|
c28da62ec1 | ||
|
|
c7fc18b516 | ||
|
|
7230a2d927 | ||
|
|
924693349c | ||
|
|
1ab302319d | ||
|
|
bbc1d0135b | ||
|
|
9c1e34c9ab | ||
|
|
c5eea2b4ff | ||
|
|
60130f4d0f | ||
|
|
5090c572d5 | ||
|
|
c9c72d0f31 | ||
|
|
7635f49191 | ||
|
|
c932e65dad | ||
|
|
23717aab11 | ||
|
|
85df28a7fb | ||
|
|
9f4970b3ee | ||
|
|
82bbc715ff | ||
|
|
3ec111212c | ||
|
|
7ca4b2bb45 | ||
|
|
8d411f25c8 | ||
|
|
80fe969917 | ||
|
|
13c94fbb8a | ||
|
|
60ce869054 | ||
|
|
1268ac83a6 | ||
|
|
5e588d0db5 | ||
|
|
8b37bd99b1 | ||
|
|
08741de831 | ||
|
|
574a595a01 | ||
|
|
16928ee71b | ||
|
|
de6283080b | ||
|
|
23ab8bca4d | ||
|
|
068b86b410 | ||
|
|
0b001c0956 | ||
|
|
4c14662d42 | ||
|
|
f1a9d5d77b | ||
|
|
398cd8728d | ||
|
|
459c30528e | ||
|
|
6e1e96610c | ||
|
|
6d30aa3228 | ||
|
|
d33cb0b576 | ||
|
|
51af4c3ffe | ||
|
|
b577a79893 | ||
|
|
da0c5e5887 | ||
|
|
b47350894d | ||
|
|
c0387017e3 | ||
|
|
b286bc43df | ||
|
|
61028a2ab9 | ||
|
|
254588da81 | ||
|
|
ef3e54775c | ||
|
|
30cec36660 | ||
|
|
427a1bd396 | ||
|
|
cf4901fd3c | ||
|
|
2fd98a021f | ||
|
|
cd64e30b69 | ||
|
|
2b5027eb06 | ||
|
|
0c9f7135bf | ||
|
|
ce8a109398 | ||
|
|
6aaa3360e8 | ||
|
|
89c018c431 | ||
|
|
339a01f3a9 | ||
|
|
dd3f4c0009 | ||
|
|
7cd41e1d8a | ||
|
|
6ac8561af2 | ||
|
|
b4607d531f | ||
|
|
b3a1cdc1cd | ||
|
|
fd662df93d | ||
|
|
8a1f4b4e55 | ||
|
|
4ff83bdc3f | ||
|
|
c81e8e29ac | ||
|
|
d5f884ff9b | ||
|
|
5517c2f202 | ||
|
|
3493a82765 | ||
|
|
07f02d0dc1 | ||
|
|
b2afa86744 | ||
|
|
a1caa60750 | ||
|
|
e1dd718832 | ||
|
|
222bf1e61f | ||
|
|
3b48de20dd | ||
|
|
348d901935 | ||
|
|
94b12002ff | ||
|
|
2720e8f251 | ||
|
|
a8a1ec2182 | ||
|
|
ee0d1bef40 | ||
|
|
5cad39ee44 | ||
|
|
e8ca248919 | ||
|
|
44d09026b5 | ||
|
|
ff044f4216 | ||
|
|
8153e6178c | ||
|
|
ee3f1b4638 | ||
|
|
86c8a7e0d2 | ||
|
|
b375ae2f06 | ||
|
|
2ff4b2ea95 | ||
|
|
599ab69107 | ||
|
|
c6c6dc24bd | ||
|
|
fa2e0724c6 | ||
|
|
6af689ada6 | ||
|
|
9997c0d939 | ||
|
|
3dee7fc12f | ||
|
|
4dff129b74 | ||
|
|
7e86bb15e0 | ||
|
|
d0de164722 | ||
|
|
5d165ebb61 | ||
|
|
2ad19adbe4 | ||
|
|
cabbdc9f50 | ||
|
|
fe84f31432 | ||
|
|
22c605f528 | ||
|
|
6777b59116 | ||
|
|
de70d851d8 | ||
|
|
e20e671d16 | ||
|
|
d0e1140029 | ||
|
|
bf483256fe | ||
|
|
d4c32d47e1 | ||
|
|
70feab80da | ||
|
|
c006f49dc1 | ||
|
|
aeff0c3fdc | ||
|
|
00d67ed417 | ||
|
|
78f93c7118 | ||
|
|
6db3f0ad91 | ||
|
|
cf48385f72 | ||
|
|
e70eab2416 | ||
|
|
771c6050c4 | ||
|
|
5670228a4f | ||
|
|
62ae384f27 | ||
|
|
185cdbd6ce | ||
|
|
5dd6ef9e24 | ||
|
|
309942090d | ||
|
|
af4a4b8b82 | ||
|
|
b9c9d40077 | ||
|
|
62fbc166c5 | ||
|
|
c3991dda32 | ||
|
|
95e804e8ea | ||
|
|
67a8435421 | ||
|
|
1847558d50 | ||
|
|
bde915bce3 | ||
|
|
a9ad3a31b5 | ||
|
|
e52e6138bd | ||
|
|
76248ad143 | ||
|
|
94f441a4e2 | ||
|
|
685e14fcc1 | ||
|
|
3cd115461f | ||
|
|
6da4ee8fd4 | ||
|
|
b095044baa | ||
|
|
ba2b757fdb | ||
|
|
9d7d0d83e1 | ||
|
|
b893e46634 | ||
|
|
d8ab6f3887 | ||
|
|
eea5ebfd04 | ||
|
|
b2117f11b9 |
12
.editorconfig
Normal file
12
.editorconfig
Normal file
@@ -0,0 +1,12 @@
|
||||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = false
|
||||
insert_final_newline = false
|
||||
12
.github/FUNDING.yml
vendored
12
.github/FUNDING.yml
vendored
@@ -1,12 +0,0 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||
patreon: # Replace with a single Patreon username
|
||||
open_collective: # Replace with a single Open Collective username
|
||||
ko_fi: luanrt
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
liberapay: # Replace with a single Liberapay username
|
||||
issuehunt: # Replace with a single IssueHunt username
|
||||
otechie: # Replace with a single Otechie username
|
||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
||||
1
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
1
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1 @@
|
||||
blank_issues_enabled: true
|
||||
33
.github/ISSUE_TEMPLATE/feature.yml
vendored
Normal file
33
.github/ISSUE_TEMPLATE/feature.yml
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
name: Feature request
|
||||
description: Use this template to suggest new features
|
||||
labels: [enhancement]
|
||||
body:
|
||||
|
||||
- type: textarea
|
||||
id: feature-description
|
||||
attributes:
|
||||
label: Describe your suggestion
|
||||
placeholder: How would it work?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: other-details
|
||||
attributes:
|
||||
label: Other details
|
||||
placeholder: |
|
||||
Additional details and attachments.
|
||||
|
||||
- type: checkboxes
|
||||
id: checklist
|
||||
attributes:
|
||||
label: Checklist
|
||||
options:
|
||||
- label: I am running the latest version.
|
||||
required: true
|
||||
- label: I checked the documentation and found no answer.
|
||||
required: true
|
||||
- label: I have searched the existing issues and made sure this is not a duplicate.
|
||||
required: true
|
||||
- label: I have provided sufficient information.
|
||||
required: true
|
||||
77
.github/ISSUE_TEMPLATE/issue.yml
vendored
Normal file
77
.github/ISSUE_TEMPLATE/issue.yml
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
name: Issue Report
|
||||
title: "<version> <title>"
|
||||
description: Use this template to report a problem
|
||||
labels: [bug]
|
||||
body:
|
||||
- type: textarea
|
||||
id: reproduce-steps
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
description: Please provide detailed steps for reproducing the issue.
|
||||
placeholder: |
|
||||
Example:
|
||||
1. Step 1
|
||||
2. Step 2
|
||||
3. You get it..
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: failure-logs
|
||||
attributes:
|
||||
label: Failure Logs
|
||||
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
|
||||
render: shell
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: expected-behavior
|
||||
attributes:
|
||||
label: Expected behavior
|
||||
description: What did you expect to happen?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: current-behavior
|
||||
attributes:
|
||||
label: Current behavior
|
||||
description: What is the current behavior?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: version
|
||||
attributes:
|
||||
label: Version
|
||||
description: What version of the library are you running?
|
||||
options:
|
||||
- Default
|
||||
- Edge
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Anything else?
|
||||
description: |
|
||||
Links? References? Anything that will give us more context about the issue you are encountering!
|
||||
|
||||
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: checkboxes
|
||||
id: checklist
|
||||
attributes:
|
||||
label: Checklist
|
||||
options:
|
||||
- label: I am running the latest version.
|
||||
required: false
|
||||
- label: I checked the documentation and found no answer.
|
||||
required: true
|
||||
- label: I have searched the existing issues and made sure this is not a duplicate.
|
||||
required: true
|
||||
- label: I have provided sufficient information.
|
||||
required: true
|
||||
33
.github/ISSUE_TEMPLATE/question.yml
vendored
Normal file
33
.github/ISSUE_TEMPLATE/question.yml
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
name: Question
|
||||
description: Use this template to ask a question about the project
|
||||
labels: [question]
|
||||
body:
|
||||
|
||||
- type: textarea
|
||||
id: question
|
||||
attributes:
|
||||
label: Question
|
||||
placeholder: What do you want to know?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: other-details
|
||||
attributes:
|
||||
label: Other details
|
||||
placeholder: |
|
||||
Additional details and attachments.
|
||||
|
||||
- type: checkboxes
|
||||
id: checklist
|
||||
attributes:
|
||||
label: Checklist
|
||||
options:
|
||||
- label: I am running the latest version.
|
||||
required: true
|
||||
- label: I checked the documentation and found no answer.
|
||||
required: true
|
||||
- label: I have searched the existing issues and made sure this is not a duplicate.
|
||||
required: true
|
||||
- label: I have provided sufficient information.
|
||||
required: true
|
||||
53
.github/labeler_config.yml
vendored
Normal file
53
.github/labeler_config.yml
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
version: 1
|
||||
labels:
|
||||
- label: "breaking-change"
|
||||
title: "^refactor!:.*"
|
||||
|
||||
- label: "github"
|
||||
files:
|
||||
- ".github/.*"
|
||||
|
||||
- label: "git"
|
||||
files:
|
||||
- ".gitignore"
|
||||
- ".gitattributes"
|
||||
|
||||
- label: "tests"
|
||||
files:
|
||||
- "test/.*"
|
||||
|
||||
- label: "docs"
|
||||
files:
|
||||
- "docs/.*"
|
||||
- "README.md"
|
||||
|
||||
- label: "parser"
|
||||
files:
|
||||
- "src/parser/.*"
|
||||
- "src/Innertube.ts"
|
||||
|
||||
- label: "core"
|
||||
files:
|
||||
- "src/core/.*"
|
||||
|
||||
- label: "protobuf"
|
||||
files:
|
||||
- "src/proto/.*"
|
||||
|
||||
- label: "xsmall-diff"
|
||||
size-below: 10
|
||||
|
||||
- label: "small-diff"
|
||||
size-above: 9
|
||||
size-below: 100
|
||||
|
||||
- label: "medium-diff"
|
||||
size-above: 99
|
||||
size-below: 500
|
||||
|
||||
- label: "large-diff"
|
||||
size-above: 499
|
||||
size-below: 1000
|
||||
|
||||
- label: "xlarge-diff"
|
||||
size-above: 999
|
||||
6
.github/pull_request_template.md
vendored
Normal file
6
.github/pull_request_template.md
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<!-- Thank you for submitting a Pull Request! Please:
|
||||
* Read our contributing guidelines: https://github.com/LuanRT/YouTube.js/blob/main/CONTRIBUTING.md
|
||||
* Add "Fixes #<issue_number>" to the PR description if you are fixing an issue.
|
||||
* Ensure that the code is up-to-date with the `main` branch.
|
||||
* Include a description of the proposed changes and how to test them.
|
||||
-->
|
||||
14
.github/workflows/labeler.yml
vendored
Normal file
14
.github/workflows/labeler.yml
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
name: Label PRs
|
||||
|
||||
on:
|
||||
- pull_request_target
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: srvaroa/labeler@master
|
||||
with:
|
||||
config_path: .github/labeler_config.yml
|
||||
env:
|
||||
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||
18
.github/workflows/lint.yml
vendored
Normal file
18
.github/workflows/lint.yml
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
name: lint
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "20"
|
||||
- run: npm ci
|
||||
- run: npm run lint
|
||||
30
.github/workflows/node.js.yml
vendored
30
.github/workflows/node.js.yml
vendored
@@ -1,30 +0,0 @@
|
||||
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
|
||||
# TODO: Make actual tests instead of just running the examples file
|
||||
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [ 12.x, 14.x, 15.x]
|
||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- run: npm install
|
||||
- run: node ./examples
|
||||
61
.github/workflows/release-please.yml
vendored
Normal file
61
.github/workflows/release-please.yml
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
name: release-please
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
release-please:
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: googleapis/release-please-action@v4
|
||||
id: release
|
||||
with:
|
||||
release-type: node
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "20"
|
||||
- name: Build for Deno
|
||||
run: |
|
||||
npm ci
|
||||
npm run build:deno
|
||||
if: ${{ steps.release.outputs.release_created }}
|
||||
- name: Move Deno files
|
||||
run: |
|
||||
mkdir build
|
||||
mv deno build/deno
|
||||
cp deno.ts build/deno.ts
|
||||
cp {LICENSE,README.md} build
|
||||
if: ${{ steps.release.outputs.release_created }}
|
||||
- name: Push to the Deno branch
|
||||
uses: s0/git-publish-subdir-action@develop
|
||||
env:
|
||||
REPO: self
|
||||
BRANCH: deno
|
||||
FOLDER: ./build
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
SKIP_EMPTY_COMMITS: true
|
||||
MESSAGE: "chore: ${{ steps.release.outputs.tag_name }} release"
|
||||
TAG: ${{ steps.release.outputs.tag_name }}-deno
|
||||
if: ${{ steps.release.outputs.release_created }}
|
||||
- name: Remove Deno folder
|
||||
run: rm -rf build
|
||||
if: ${{ steps.release.outputs.release_created }}
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "20"
|
||||
registry-url: "https://registry.npmjs.org"
|
||||
if: ${{ steps.release.outputs.release_created }}
|
||||
- name: Publish package to npmjs
|
||||
run: |
|
||||
npm ci
|
||||
npm publish
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
if: ${{ steps.release.outputs.release_created }}
|
||||
11
.github/workflows/stale.yml
vendored
11
.github/workflows/stale.yml
vendored
@@ -8,12 +8,11 @@ jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v3
|
||||
- uses: actions/stale@v4
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: 'This issue has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed if no further activity occurs. Thank you
|
||||
for your contributions.'
|
||||
stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.'
|
||||
stale-pr-message: 'This PR has been automatically marked as stale because it has not had recent activity. Remove the stale label or comment or this will be closed in 2 days'
|
||||
days-before-stale: 6
|
||||
days-before-close: 2
|
||||
any-of-issue-labels: 'needs-more-info,cannot-reproduce,question,help-wanted'
|
||||
days-before-stale: 60
|
||||
days-before-close: 4
|
||||
18
.github/workflows/test.yml
vendored
Normal file
18
.github/workflows/test.yml
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
name: test
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
- run: npm ci
|
||||
- run: npm run test
|
||||
83
.gitignore
vendored
Normal file
83
.gitignore
vendored
Normal file
@@ -0,0 +1,83 @@
|
||||
# YouTube player cache directory
|
||||
cache/
|
||||
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
lerna-debug.log*
|
||||
.pnpm-debug.log*
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
*.lcov
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# TypeScript cache
|
||||
*.tsbuildinfo
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional stylelint cache
|
||||
.stylelintcache
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variable files
|
||||
.env
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
.env.local
|
||||
|
||||
# yarn v2
|
||||
.yarn/cache
|
||||
.yarn/unplugged
|
||||
.yarn/build-state.yml
|
||||
.yarn/install-state.gz
|
||||
.pnp.*
|
||||
|
||||
# pnpm
|
||||
.pnpm-debug.log*
|
||||
pnpm-lock.yaml
|
||||
|
||||
# Downloaded assets
|
||||
*.mp4
|
||||
*.m4a
|
||||
*.webm
|
||||
*.mkv
|
||||
|
||||
# Temporary files for testing
|
||||
tmp/
|
||||
|
||||
# Build output
|
||||
dist/
|
||||
bundle/*.js.*
|
||||
bundle/*.js
|
||||
bundle/*.cjs
|
||||
bundle/*.cjs.*
|
||||
deno/
|
||||
|
||||
# VSCode files
|
||||
.vscode/
|
||||
|
||||
# Webstorm files
|
||||
.idea/
|
||||
|
||||
# MacOS
|
||||
.DS_Store
|
||||
|
||||
*.bin
|
||||
8
.npmignore
Normal file
8
.npmignore
Normal file
@@ -0,0 +1,8 @@
|
||||
**
|
||||
|
||||
src/
|
||||
docs/
|
||||
!dist/**
|
||||
!README.md
|
||||
!LICENSE
|
||||
!bundle/**
|
||||
1075
CHANGELOG.md
Normal file
1075
CHANGELOG.md
Normal file
File diff suppressed because it is too large
Load Diff
20
COLLABORATORS.md
Normal file
20
COLLABORATORS.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Collaborators
|
||||
|
||||
This page lists the collaborators who have contributed to the development and success of the project.
|
||||
|
||||
## [LuanRT](https://github.com/LuanRT)
|
||||
[](https://github.com/sponsors/LuanRT)
|
||||
|
||||
Owner and maintainer.
|
||||
|
||||
## [Wykerd](https://github.com/wykerd/)
|
||||
Initial parser implementation, several bug fixes, major refactorings and general maintenance.
|
||||
|
||||
## [MasterOfBob777](https://github.com/MasterOfBob777)
|
||||
Bug fixes and TypeScript support.
|
||||
|
||||
## [patrickkfkan](https://github.com/patrickkfkan)
|
||||
Major refactorings, improved YouTube Music support, and bug fixes.
|
||||
|
||||
## [Absidue](https://github.com/absidue)
|
||||
Several bug fixes, new features & improved MPD support.
|
||||
66
CONTRIBUTING.md
Normal file
66
CONTRIBUTING.md
Normal file
@@ -0,0 +1,66 @@
|
||||
Welcome to YouTube.js! We're thrilled to have you interested in contributing to our project. As a community-driven project, we believe in the power of collaboration and look forward to working with you. To get started, please follow our guidelines:
|
||||
|
||||
## Issues
|
||||
|
||||
### Creating a new issue
|
||||
Before creating a new issue, we recommend searching for similar or related issues to avoid duplication efforts. However, if you can't find one, you're more than welcome to create a new issue using a relevant issue form. Please make sure to describe the issue as clearly and concisely as possible.
|
||||
|
||||
### Solving an issue
|
||||
If you want to lend a hand by solving an issue, it's always good to browse existing issues to find one that grabs your attention. You can narrow down the search using tags as filters. If you find an issue you'd like to help with, please feel free to open a Pull Request with a fix. We appreciate documentation updates and grammar fixes too!
|
||||
|
||||
## Making Changes
|
||||
|
||||
1. Fork the repository on GitHub.
|
||||
2. Ensure that you have the latest Node.js v20 version installed.
|
||||
3. Create a working branch and start making your changes and improvements!
|
||||
|
||||
### Committing updates
|
||||
When you're done with the changes, make sure to commit them. Don't forget to write a clear, descriptive commit message. We recommend following the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification.
|
||||
|
||||
### Creating a Pull Request
|
||||
Once you're happy with your updates, create a pull request on GitHub. This is the most efficient way to get your contribution reviewed and eventually merged into our codebase.
|
||||
|
||||
- Use the pull request template to fill in the necessary details.
|
||||
- If you're solving an issue, link the pull request to that issue.
|
||||
- Enable the checkbox to allow maintainers to edit the branch and update it for merging.
|
||||
- Changes may be required before we can merge your changes, and we'll let you know what needs to be done.
|
||||
|
||||
### Testing, Linting, and Building
|
||||
We have some automated processes set up for testing, linting, and building. Please run the following commands to test, lint, and build your code before submitting it:
|
||||
|
||||
Testing:
|
||||
```sh
|
||||
npm run test
|
||||
```
|
||||
|
||||
Linting:
|
||||
```sh
|
||||
npm run lint
|
||||
```
|
||||
|
||||
Building:
|
||||
```sh
|
||||
# Build all
|
||||
npm run build
|
||||
|
||||
# Protobuf
|
||||
npm run build:proto
|
||||
|
||||
# Parser map
|
||||
npm run build:parser-map
|
||||
|
||||
# Deno
|
||||
npm run build:deno
|
||||
|
||||
# ES Module
|
||||
npm run build:esm
|
||||
|
||||
# Node
|
||||
npm run bundle:node
|
||||
|
||||
# Browser
|
||||
npm run bundle:browser
|
||||
npm run bundle:browser:prod
|
||||
```
|
||||
|
||||
We appreciate your efforts and contributions to YouTube.js! Together, we can make this project even better.
|
||||
2
LICENSE
2
LICENSE
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
SOFTWARE.
|
||||
724
README.md
724
README.md
@@ -1,691 +1,77 @@
|
||||
# YouTube.js
|
||||
<!-- BADGE LINKS -->
|
||||
[npm]: https://www.npmjs.com/package/youtubei.js
|
||||
[versions]: https://www.npmjs.com/package/youtubei.js?activeTab=versions
|
||||
[codefactor]: https://www.codefactor.io/repository/github/luanrt/youtube.js
|
||||
[actions]: https://github.com/LuanRT/YouTube.js/actions
|
||||
[discord]: https://discord.gg/syDu7Yks54
|
||||
|
||||
[](https://github.com/LuanRT/YouTube.js/actions/workflows/node.js.yml)
|
||||
[](https://www.npmjs.com/package/youtubei.js)
|
||||
[](https://www.codefactor.io/repository/github/luanrt/youtube.js)
|
||||
<div align="center">
|
||||
<br/>
|
||||
<p>
|
||||
<a href="https://github.com/LuanRT/YouTube.js">
|
||||
<img src="https://luanrt.github.io/assets/img/ytjs.svg" alt="YouTube.js Logo" width="200" />
|
||||
</a>
|
||||
</p>
|
||||
<p>A JavaScript client for YouTube's private API</p>
|
||||
|
||||
An object-oriented wrapper around the Innertube API, which is what YouTube itself uses. This makes YouTube.js fast, simple & efficient. And big thanks to [@gatecrasher777](https://github.com/gatecrasher777/ytcog) for his research on the workings of the Innertube API!
|
||||
[][discord]
|
||||
[][actions]
|
||||
[][versions]
|
||||
[][npm]
|
||||
[][codefactor]
|
||||
|
||||
#### What can it do?
|
||||
</div>
|
||||
|
||||
As of now, this is one of the most advanced & stable YouTube libraries out there, here's a short summary of what it can do:
|
||||
|
||||
- Search videos
|
||||
- Get detailed info about any video
|
||||
- Fetch live chat & live stats in real time
|
||||
- Fetch notifications
|
||||
- Fetch subscriptions feed
|
||||
- Change notifications preferences for a channel
|
||||
- Subscribe/Unsubscribe/Like/Dislike/Comment
|
||||
- Easily sign into your account in an easy & reliable way.
|
||||
- Last but not least, you can also download videos!
|
||||
|
||||
Do note that you must be signed-in to perform actions that involve an account, such as commenting, subscribing, sending messages to a live chat, etc.
|
||||
|
||||
#### Do I need an API key to use this?
|
||||
|
||||
No, YouTube.js does not use any official API so no API keys are required.
|
||||
YouTube.js is a JavaScript client for YouTube's private API, known as "InnerTube". It allows you to interact with YouTube programmatically, providing access to videos, comments, live chats, streaming data and more. It works seamlessly across Node.js, Deno, and modern browsers.
|
||||
|
||||
## Installation
|
||||
|
||||
Before installing, make sure your environment meets the [prerequisites](https://ytjs.dev/guide/getting-started.html#prerequisites).
|
||||
|
||||
```bash
|
||||
npm install youtubei.js
|
||||
# NPM
|
||||
npm install youtubei.js@latest
|
||||
|
||||
# Yarn
|
||||
yarn add youtubei.js@latest
|
||||
|
||||
# Git (edge version)
|
||||
npm install github:LuanRT/YouTube.js
|
||||
|
||||
# Deno
|
||||
deno add npm:youtubei.js@latest
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
[1. Basic Usage](https://github.com/LuanRT/YouTube.js#usage)
|
||||
|
||||
[2. Interactions](https://github.com/LuanRT/YouTube.js#interactions)
|
||||
|
||||
[3. Fetching live chats](https://github.com/LuanRT/YouTube.js#fetching-live-chats)
|
||||
|
||||
[4. Downloading videos](https://github.com/LuanRT/YouTube.js#downloading-videos)
|
||||
|
||||
[5. Signing-in](https://github.com/LuanRT/YouTube.js#signing-in)
|
||||
|
||||
[6. Disclaimer](https://github.com/LuanRT/YouTube.js#disclaimer)
|
||||
|
||||
First of all we're gonna start by initializing the Innertube class:
|
||||
|
||||
```js
|
||||
const Innertube = require('youtubei.js');
|
||||
|
||||
async function start() {
|
||||
const youtube = await new Innertube();
|
||||
//...
|
||||
}
|
||||
|
||||
start();
|
||||
Deno (deprecated):
|
||||
```ts
|
||||
import { Innertube } from 'https://deno.land/x/youtubei/deno.ts';
|
||||
```
|
||||
|
||||
After this you should be good to go, so let's dive into it!
|
||||
## Basic Usage
|
||||
|
||||
Doing a simple search:
|
||||
|
||||
```js
|
||||
const search = await youtube.search('Looking for life on Mars - Documentary');
|
||||
```ts
|
||||
import { Innertube } from 'youtubei.js';
|
||||
const innertube = await Innertube.create(/* options */);
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>Output</summary>
|
||||
<p>
|
||||
|
||||
```js
|
||||
{
|
||||
"search_metadata":{
|
||||
"query":"Looking for life on Mars - documentary",
|
||||
"corrected_query":"Looking for life on Mars - documentary",
|
||||
"estimated_results":17949539
|
||||
},
|
||||
"videos":[
|
||||
{
|
||||
"title":"Looking for Life on Mars | NOVA | PBS",
|
||||
"description":"Follow along as NASA launches the Mars 2020 Mission, perhaps the most ambitious hunt yet for signs of ancient life on Mars.",
|
||||
"author":"NOVA PBS Official",
|
||||
"id":"fhtw7Dpntb4",
|
||||
"url":"https://youtu.be/fhtw7Dpntb4",
|
||||
"channel_url":"https://www.youtube.com/user/NOVAonline",
|
||||
"metadata":{
|
||||
"view_count":"3,912,774 views",
|
||||
"short_view_count_text":{
|
||||
"simple_text":"3.9M views",
|
||||
"accessibility_label":"3.9 million views"
|
||||
},
|
||||
"thumbnails":[
|
||||
{
|
||||
"url":"https://i.ytimg.com/vi/fhtw7Dpntb4/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDHHsKMNZtmzWn4t14vmmJbBotdQg",
|
||||
"width":360,
|
||||
"height":202
|
||||
},
|
||||
{
|
||||
"url":"https://i.ytimg.com/vi/fhtw7Dpntb4/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBHzmdEUoQM_Sl-6a-bwMOIm-mM7A",
|
||||
"width":720,
|
||||
"height":404
|
||||
}
|
||||
],
|
||||
"duration":{
|
||||
"seconds":3243,
|
||||
"simple_text":"54:03",
|
||||
"accessibility_label":"54 minutes, 3 seconds"
|
||||
},
|
||||
"published":"7 months ago",
|
||||
"badges":[
|
||||
"CC"
|
||||
],
|
||||
"owner_badges":[
|
||||
"Verified"
|
||||
]
|
||||
}
|
||||
}
|
||||
//...
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
|
||||
|
||||
Get details about a specific video:
|
||||
|
||||
```js
|
||||
const video = await youtube.getDetails(search.videos[0].id);
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>Output</summary>
|
||||
<p>
|
||||
|
||||
```js
|
||||
{
|
||||
"title":"Looking for Life on Mars | NOVA | PBS",
|
||||
"description":"Follow along as NASA launches the Mars 2020 Mission, perhaps the most ambitious hunt yet for signs of ancient life on Mars. \n\nThe spacecraft will blaze into the Martian atmosphere at some 12,000 miles per hour and attempt to lower the Perseverance Rover in the rocky Jezero Crater, home to a dried-up river delta scientists think could have harbored life. Perseverance will comb the area for signs of life and collect samples for possible return to Earth. Traveling onboard is a four-pound helicopter that will conduct a series of test flights—the first on another planet. \n\nDuring its journey, Perseverance will also test technology designed to produce oxygen from the Martian atmosphere, in hopes that the gas could be used for fuel—or for humans to breathe—on future missions.\n\n© 2020 WGBH Educational Foundation\n\nAll rights reserved\n\nThis program was produced by GBH, which is solely responsible for its content. Some funders of NOVA also fund basic science research. Experts featured in this film may have received support from funders of this program.\n\nFunding for NOVA is provided by Draper, the David H. Koch Fund for Science, the NOVA Science Trust, the Corporation for Public Broadcasting, and PBS viewers.\n\nThis program is made possible by viewers like you. Support your local PBS station here: https://pbs.org/donate/",
|
||||
"thumbnail":{
|
||||
"url":"https://i.ytimg.com/vi/fhtw7Dpntb4/hq720.jpg?sqp=-oaymwEcCK4FEIIDSEbyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAJV-Cg2bHh4zs_svidj8fmaOQRng",
|
||||
"width":686,
|
||||
"height":386
|
||||
},
|
||||
"metadata":{
|
||||
"embed":{
|
||||
"iframeUrl":"https://www.youtube.com/embed/fhtw7Dpntb4",
|
||||
"flashUrl":"http://www.youtube.com/v/fhtw7Dpntb4?version=3&autohide=1",
|
||||
"width":1280,
|
||||
"height":720,
|
||||
"flashSecureUrl":"https://www.youtube.com/v/fhtw7Dpntb4?version=3&autohide=1"
|
||||
},
|
||||
"likes":22674,
|
||||
"dislikes":1771,
|
||||
"view_count":3913553,
|
||||
"average_rating":4.7102065,
|
||||
"length_seconds":"3243",
|
||||
"channel_id":"UCjHz5SVHeMT0AViCYZvsGDA",
|
||||
"channel_url":"http://www.youtube.com/user/NOVAonline",
|
||||
"external_channel_id":"UCjHz5SVHeMT0AViCYZvsGDA",
|
||||
"is_live_content":false,
|
||||
"is_family_safe":true,
|
||||
"is_unlisted":false,
|
||||
"is_private":false,
|
||||
"has_ypc_metadata":false,
|
||||
"category":"Science & Technology",
|
||||
"channel_name":"NOVA PBS Official",
|
||||
"publish_date":"2021-02-24",
|
||||
"upload_date":"2021-02-24",
|
||||
"keywords":[
|
||||
"mars",
|
||||
"nova",
|
||||
"pbs",
|
||||
"documentary",
|
||||
"science",
|
||||
"Perseverance",
|
||||
"space"
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
Get comments:
|
||||
|
||||
```js
|
||||
const video = await youtube.getDetails(VIDEO_ID_HERE);
|
||||
const comments = await video.getComments();
|
||||
|
||||
// If you want to load more comments simply call:
|
||||
const comments_continuation = await comments.getContinuation();
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>Output</summary>
|
||||
<p>
|
||||
|
||||
```js
|
||||
{
|
||||
"comments":[
|
||||
{
|
||||
"text":"The amazing thing to me is the engineering. It's truly remarkable that we can build machines like these.",
|
||||
"author":{
|
||||
"name":"Mark B",
|
||||
"thumbnail":[
|
||||
{
|
||||
"url":"https://yt3.ggpht.com/ytc/AKedOLTKxmup9YqNEMvf-nSdOe7F6CwWhUtu4mpUsg=s48-c-k-c0x00ffffff-no-rj",
|
||||
"width":48,
|
||||
"height":48
|
||||
},
|
||||
{
|
||||
"url":"https://yt3.ggpht.com/ytc/AKedOLTKxmup9YqNEMvf-nSdOe7F6CwWhUtu4mpUsg=s88-c-k-c0x00ffffff-no-rj",
|
||||
"width":88,
|
||||
"height":88
|
||||
},
|
||||
{
|
||||
"url":"https://yt3.ggpht.com/ytc/AKedOLTKxmup9YqNEMvf-nSdOe7F6CwWhUtu4mpUsg=s176-c-k-c0x00ffffff-no-rj",
|
||||
"width":176,
|
||||
"height":176
|
||||
}
|
||||
],
|
||||
"channel_id":"UClnPXUOtCLnKsbS2reuN7wg"
|
||||
},
|
||||
"metadata":{
|
||||
"published":"2 months ago",
|
||||
"is_liked":false,
|
||||
"is_channel_owner":false,
|
||||
"like_count":"54",
|
||||
"reply_count":3,
|
||||
"id":"Ugy-bGGepYil_2dAQUp4AaABAg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"text":"May 25th, 2021 and everything has gone perfectly! Ingenuity, moxy and perseverance all working to plan. Unbelievable accomplishments!!!",
|
||||
"author":{
|
||||
"name":"cliff luebke",
|
||||
"thumbnail":[
|
||||
{
|
||||
"url":"https://yt3.ggpht.com/ytc/AKedOLR1_6jvPZa_ycrkUEVxVxo0Alo25e7O8fOcm5v9ww=s48-c-k-c0x00ffffff-no-rj",
|
||||
"width":48,
|
||||
"height":48
|
||||
},
|
||||
{
|
||||
"url":"https://yt3.ggpht.com/ytc/AKedOLR1_6jvPZa_ycrkUEVxVxo0Alo25e7O8fOcm5v9ww=s88-c-k-c0x00ffffff-no-rj",
|
||||
"width":88,
|
||||
"height":88
|
||||
},
|
||||
{
|
||||
"url":"https://yt3.ggpht.com/ytc/AKedOLR1_6jvPZa_ycrkUEVxVxo0Alo25e7O8fOcm5v9ww=s176-c-k-c0x00ffffff-no-rj",
|
||||
"width":176,
|
||||
"height":176
|
||||
}
|
||||
],
|
||||
"channel_id":"UCeVFeX4jCgaJpvNJ4f_I4RA"
|
||||
},
|
||||
"metadata":{
|
||||
"published":"4 months ago",
|
||||
"is_liked":false,
|
||||
"is_channel_owner":false,
|
||||
"like_count":"54",
|
||||
"reply_count":0,
|
||||
"id":"UgylkZHOe7v78hxHPpl4AaABAg"
|
||||
}
|
||||
},
|
||||
//...
|
||||
],
|
||||
"comment_count":"3,231" // not available in continuations
|
||||
}
|
||||
```
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
Get subscriptions feed:
|
||||
```js
|
||||
const mysubfeed = await youtube.getSubscriptionsFeed();
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>Output</summary>
|
||||
<p>
|
||||
|
||||
```js
|
||||
{
|
||||
"today":[
|
||||
{
|
||||
"title":"Life As My P*nis",
|
||||
"id":"udDINILQH10",
|
||||
"channel":"penguinz0",
|
||||
"metadata":{
|
||||
"view_count":"220,432 views",
|
||||
"thumbnail":[
|
||||
{
|
||||
"url":"https://i.ytimg.com/vi/udDINILQH10/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQ7bbeUhCxRSg-g-CPek-soixUMQ",
|
||||
"width":210,
|
||||
"height":118
|
||||
},
|
||||
{
|
||||
"url":"https://i.ytimg.com/vi/udDINILQH10/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB6fuvBJMeLtkM0TLkZwharsyojjA",
|
||||
"width":246,
|
||||
"height":138
|
||||
},
|
||||
{
|
||||
"url":"https://i.ytimg.com/vi/udDINILQH10/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDd7BncH1QuZD-Hada_n6dAVRTnmg",
|
||||
"width":336,
|
||||
"height":188
|
||||
}
|
||||
],
|
||||
"published":"2 hours ago",
|
||||
"badges":"N/A",
|
||||
"owner_badges":[
|
||||
"Verified"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"title":"Perseverance and Ingenuity went two weeks without contacting Earth",
|
||||
"id":"VsmYZMVCHuc",
|
||||
"channel":"Mars Guy",
|
||||
"metadata":{
|
||||
"view_count":"2,633 views",
|
||||
"thumbnail":[
|
||||
{
|
||||
"url":"https://i.ytimg.com/vi/VsmYZMVCHuc/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA0-vwAgpFbMO1zG4HTzdHZey1kZQ",
|
||||
"width":210,
|
||||
"height":118
|
||||
},
|
||||
{
|
||||
"url":"https://i.ytimg.com/vi/VsmYZMVCHuc/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBtM3W-RXsCfPnxgnrktaBkiL9zzg",
|
||||
"width":246,
|
||||
"height":138
|
||||
},
|
||||
{
|
||||
"url":"https://i.ytimg.com/vi/VsmYZMVCHuc/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDTil7At4FUVYeSNySOoFoKlPXWSA",
|
||||
"width":336,
|
||||
"height":188
|
||||
}
|
||||
],
|
||||
"published":"15 hours ago",
|
||||
"badges":"N/A",
|
||||
"owner_badges":"N/A"
|
||||
}
|
||||
}
|
||||
//...
|
||||
],
|
||||
"yesterday":[
|
||||
{
|
||||
"title":"Fortnite - S.T.A.R.S (Resident Evil) | PS5, PS4",
|
||||
"id":"-ZLEQOVbWD4",
|
||||
"channel":"PlayStation",
|
||||
"metadata":{
|
||||
"view_count":"157,197 views",
|
||||
"thumbnail":[
|
||||
{
|
||||
"url":"https://i.ytimg.com/vi/-ZLEQOVbWD4/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAeA1fLzsEA0ZIouNJuMDJOqOc9Ng",
|
||||
"width":210,
|
||||
"height":118
|
||||
},
|
||||
{
|
||||
"url":"https://i.ytimg.com/vi/-ZLEQOVbWD4/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDzvhxJ6m2ztykk2ezNH2Din33hEw",
|
||||
"width":246,
|
||||
"height":138
|
||||
},
|
||||
{
|
||||
"url":"https://i.ytimg.com/vi/-ZLEQOVbWD4/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDo67DvnaiKzOVfNm9lJg_Edd1UDQ",
|
||||
"width":336,
|
||||
"height":188
|
||||
}
|
||||
],
|
||||
"published":"1 day ago",
|
||||
"badges":"N/A",
|
||||
"owner_badges":[
|
||||
"Verified"
|
||||
]
|
||||
}
|
||||
},
|
||||
//...
|
||||
],
|
||||
"this_week":[
|
||||
{
|
||||
"title":"Horrible $100 Million Gold Mansion",
|
||||
"id":"F-d3CEYJyrg",
|
||||
"channel":"penguinz0",
|
||||
"metadata":{
|
||||
"view_count":"693,041 views",
|
||||
"thumbnail":[
|
||||
{
|
||||
"url":"https://i.ytimg.com/vi/F-d3CEYJyrg/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdMMGG-50O4U5uIcoZ2FoiO6Mopg",
|
||||
"width":210,
|
||||
"height":118
|
||||
},
|
||||
{
|
||||
"url":"https://i.ytimg.com/vi/F-d3CEYJyrg/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAwqMy1ekLaxWGnjWwCJl7z7Nw2aQ",
|
||||
"width":246,
|
||||
"height":138
|
||||
},
|
||||
{
|
||||
"url":"https://i.ytimg.com/vi/F-d3CEYJyrg/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLADaPBg0vh52e6clHvUf5otBZO9HA",
|
||||
"width":336,
|
||||
"height":188
|
||||
}
|
||||
],
|
||||
"published":"2 days ago",
|
||||
"badges":"N/A",
|
||||
"owner_badges":[
|
||||
"Verified"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"title":"OOopsieeee",
|
||||
"id":"mJ2WOIhEPm8",
|
||||
"channel":"PewDiePie",
|
||||
"metadata":{
|
||||
"view_count":"1,953,970 views",
|
||||
"thumbnail":[
|
||||
{
|
||||
"url":"https://i.ytimg.com/vi/mJ2WOIhEPm8/hqdefault.jpg?sqp=-oaymwEbCNIBEHZIVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrJe2a6rasJICj_jchMquZ2YGVrQ",
|
||||
"width":210,
|
||||
"height":118
|
||||
},
|
||||
{
|
||||
"url":"https://i.ytimg.com/vi/mJ2WOIhEPm8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCpxERsiLJayuKegeb5mHw3Ok6wGA",
|
||||
"width":246,
|
||||
"height":138
|
||||
},
|
||||
{
|
||||
"url":"https://i.ytimg.com/vi/mJ2WOIhEPm8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAlRLjypimzrE3GD_iGYDGwTlCGvA",
|
||||
"width":336,
|
||||
"height":188
|
||||
}
|
||||
],
|
||||
"published":"2 days ago",
|
||||
"badges":"N/A",
|
||||
"owner_badges":[
|
||||
"Verified"
|
||||
]
|
||||
}
|
||||
},
|
||||
//...
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
Get notifications:
|
||||
|
||||
```js
|
||||
const notifications = await youtube.getNotifications();
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>Output</summary>
|
||||
<p>
|
||||
|
||||
```js
|
||||
[
|
||||
{
|
||||
"title":"PewDiePie uploaded: Spoiled Kids Needs To Be Stopped..",
|
||||
"sent_time":"2 hours ago",
|
||||
"channel_name":"PewDiePie",
|
||||
"channel_thumbnail":{
|
||||
"url":"https://yt3.ggpht.com/ytc/AKedOLTjRAMaQkJaABC59u63AB9s7UTyQ8enbSoo_TI8cA=s88-c-k-c0x00ffffff-no-rj",
|
||||
"width":96,
|
||||
"height":96
|
||||
},
|
||||
"video_thumbnail":{
|
||||
"url":"https://i.ytimg.com/vi/raspGsvKf48/hqdefault.jpg",
|
||||
"width":640,
|
||||
"height":360
|
||||
},
|
||||
"video_url":"https://youtu.be/raspGsvKf48",
|
||||
"read":false,
|
||||
"notification_id":"1633455444762970"
|
||||
},
|
||||
//...
|
||||
]
|
||||
```
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
### Interactions:
|
||||
|
||||
---
|
||||
|
||||
* Subscribe/Unsubscribe:
|
||||
```js
|
||||
const video = await youtube.getDetails(VIDEO_ID_HERE); // this is equivalent to opening the watch page on YouTube
|
||||
|
||||
await video.subscribe();
|
||||
await video.unsubscribe();
|
||||
```
|
||||
|
||||
* Like/Dislike:
|
||||
```js
|
||||
const video = await youtube.getDetails(VIDEO_ID_HERE); // this is equivalent to opening the watch page on YouTube
|
||||
|
||||
await video.like();
|
||||
await video.dislike();
|
||||
await video.removeLike(); // removes either a like or dislike
|
||||
```
|
||||
|
||||
* Comment:
|
||||
```js
|
||||
const video = await youtube.getDetails(VIDEO_ID_HERE);
|
||||
await video.comment('Haha, nice!');
|
||||
```
|
||||
|
||||
* Change notification preferences:
|
||||
```js
|
||||
const video = await youtube.getDetails(VIDEO_ID_HERE);
|
||||
await video.setNotificationPref('ALL'); // ALL | NONE | PERSONALIZED
|
||||
```
|
||||
|
||||
All of the above interactions will return ```{ success: true, status_code: 200 }``` if everything goes alright.
|
||||
|
||||
### Fetching live chats:
|
||||
---
|
||||
YouTube.js isn't able to download live content yet, but it does allow you to fetch live chats plus you can also send messages!
|
||||
```js
|
||||
const Innertube = require('youtubei.js');
|
||||
|
||||
async function start() {
|
||||
const youtube = await new Innertube();
|
||||
|
||||
const search = await youtube.search('Some random live');
|
||||
const video = await youtube.getDetails(search.videos[0].id);
|
||||
|
||||
// This should only be called if you're sure it's a live and that it's still ongoing
|
||||
const livechat = video.getLivechat();
|
||||
|
||||
// Updated stats about the livestream
|
||||
livechat.on('update-metadata', (data) => {
|
||||
console.info('Info:', data);
|
||||
});
|
||||
|
||||
// Fired whenever there is a new message or other chat events
|
||||
livechat.on('chat-update', (message) => {
|
||||
console.info(`- ${message.author.name}\n${message.text}\n\n`);
|
||||
|
||||
if(message.text == '!info') {
|
||||
livechat.sendMessage('Hello! This message was sent from YouTube.js');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
start();
|
||||
```
|
||||
Stop fetching the live chat:
|
||||
```js
|
||||
livechat.stop();
|
||||
```
|
||||
|
||||
Deleting a message:
|
||||
```js
|
||||
const msg = await livechat.sendMessage('Nice live!');
|
||||
await msg.deleteMessage();
|
||||
```
|
||||
|
||||
### Downloading videos:
|
||||
---
|
||||
|
||||
YouTube.js provides an easy-to-use and simple downloader:
|
||||
|
||||
```js
|
||||
const fs = require('fs');
|
||||
const Innertube = require('youtubei.js');
|
||||
|
||||
async function start() {
|
||||
const youtube = await new Innertube();
|
||||
const search = await youtube.search('Looking for life on Mars - documentary');
|
||||
const stream = youtube.download(search.videos[0].id, {
|
||||
format: 'mp4', // Optional, ignored when type is set to audio and defaults to mp4, and I recommend to leave it as it is
|
||||
quality: '360p', // if a video doesn't have a specific quality it'll fall back to 360p, this is ignored when type is set to audio
|
||||
type: 'videoandaudio' // can be “video”, “audio” and “videoandaudio”
|
||||
});
|
||||
|
||||
stream.pipe(fs.createWriteStream(`./${search.videos[0].title}.mp4`));
|
||||
|
||||
stream.on('start', () => {
|
||||
console.info('[DOWNLOADER]', 'Starting download now!');
|
||||
});
|
||||
|
||||
stream.on('info', (info) => {
|
||||
console.info('[DOWNLOADER]', `Downloading ${info.video_details.title} by ${info.video_details.metadata.channel_name}`);
|
||||
});
|
||||
|
||||
stream.on('progress', (info) => {
|
||||
process.stdout.clearLine();
|
||||
process.stdout.cursorTo(0);
|
||||
process.stdout.write(`[DOWNLOADER] Downloaded ${info.percentage}% (${info.downloaded_size}MB) of ${info.size}MB`);
|
||||
});
|
||||
|
||||
stream.on('end', () => {
|
||||
process.stdout.clearLine();
|
||||
process.stdout.cursorTo(0);
|
||||
console.info('[DOWNLOADER]', 'Done!');
|
||||
});
|
||||
|
||||
stream.on('error', (err) => console.error('[ERROR]', err));
|
||||
}
|
||||
|
||||
start();
|
||||
```
|
||||
|
||||
Cancelling a download:
|
||||
```js
|
||||
stream.cancel();
|
||||
```
|
||||
|
||||
### Signing-in:
|
||||
---
|
||||
|
||||
This library allows you to sign-in in two different ways:
|
||||
|
||||
- Using OAuth 2.0, easy, simple & reliable.
|
||||
- Cookies, usually more complicated to get and unreliable.
|
||||
|
||||
OAuth:
|
||||
|
||||
```js
|
||||
const fs = require('fs');
|
||||
const Innertube = require('youtubei.js');
|
||||
const creds_path = './yt_oauth_creds.json';
|
||||
|
||||
async function start() {
|
||||
const creds = fs.existsSync(creds_path) && JSON.parse(fs.readFileSync(creds_path).toString()) || {};
|
||||
const youtube = await new Innertube();
|
||||
|
||||
// Only triggered when signing-in.
|
||||
youtube.on('auth', (data) => {
|
||||
if (data.status === 'AUTHORIZATION_PENDING') {
|
||||
console.info(`Hello!\nOn your phone or computer, go to ${data.verification_url} and enter the code ${data.code}`);
|
||||
} else if (data.status === 'SUCCESS') {
|
||||
fs.writeFileSync(creds_path, JSON.stringify({ access_token: data.access_token, refresh_token: data.refresh_token }));
|
||||
console.info('Successfully signed-in, enjoy!');
|
||||
}
|
||||
});
|
||||
|
||||
// Triggered whenever the access token is refreshed.
|
||||
youtube.on('update-credentials', (data) => {
|
||||
fs.writeFileSync(creds_path, JSON.stringify({ access_token: data.access_token, refresh_token: data.refresh_token }));
|
||||
console.info('Credentials updated!', data);
|
||||
});
|
||||
|
||||
await youtube.signIn(creds);
|
||||
|
||||
//...
|
||||
}
|
||||
|
||||
start();
|
||||
```
|
||||
|
||||
Cookies:
|
||||
|
||||
```js
|
||||
const Innertube = require('youtubei.js');
|
||||
|
||||
async function start() {
|
||||
const youtube = await new Innertube(COOKIE_HERE);
|
||||
//...
|
||||
}
|
||||
|
||||
start();
|
||||
```
|
||||
|
||||
## Note
|
||||
Never sign-in with your personal account, you might get banned if you spam (don't ever do that) or simply because YouTube detected unusual activity coming from your account. Also, I'm not responsible if any of that happens to you.
|
||||
For detailed usage, check out the [YouTube.js Guide and API Documentation](https://ytjs.dev).
|
||||
|
||||
## Contributing
|
||||
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
|
||||
We welcome all contributions, issues and feature requests, whether small or large. If you want to contribute, feel free to check out our [issues page](https://github.com/LuanRT/YouTube.js/issues) and our [guidelines](https://github.com/LuanRT/YouTube.js/blob/main/CONTRIBUTING.md).
|
||||
|
||||
## Contributors
|
||||
<a href="https://github.com/LuanRT/YouTube.js/graphs/contributors">
|
||||
<img src="https://contrib.rocks/image?repo=LuanRT/YouTube.js" />
|
||||
</a>
|
||||
|
||||
Please make sure to update tests as appropriate.
|
||||
## Disclaimer
|
||||
This project is not affiliated with, endorsed, or sponsored by YouTube or any of their affiliates or subsidiaries.
|
||||
All trademarks, logos and brand names are the property of their respective owners.
|
||||
This project is not affiliated with, endorsed, or sponsored by YouTube or any of its affiliates or subsidiaries. All trademarks, logos, and brand names used in this project are the property of their respective owners and are used solely to describe the services provided.
|
||||
|
||||
Should you have any questions or concerns please contact me directly via email.
|
||||
As such, any usage of trademarks to refer to such services is considered nominative use. If you have any questions or concerns, please contact me.
|
||||
|
||||
## License
|
||||
[MIT](https://choosealicense.com/licenses/mit/)
|
||||
Distributed under the [MIT](https://choosealicense.com/licenses/mit/) License.
|
||||
|
||||
<p align="right">
|
||||
(<a href="#top">back to top</a>)
|
||||
</p>
|
||||
|
||||
1
bundle/browser.d.ts
vendored
Normal file
1
bundle/browser.d.ts
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export * from '../dist/src/platform/lib.js';
|
||||
1
bundle/cf-worker.d.ts
vendored
Normal file
1
bundle/cf-worker.d.ts
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export * from '../dist/src/platform/lib.js';
|
||||
1
bundle/react-native.d.ts
vendored
Normal file
1
bundle/react-native.d.ts
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export * from '../dist/src/platform/lib.js';
|
||||
3
deno.ts
Normal file
3
deno.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
export * from './deno/src/platform/deno.ts';
|
||||
import Innertube from './deno/src/platform/deno.ts';
|
||||
export default Innertube;
|
||||
186
dev-scripts/enum-optimising-transformer.cjs
Normal file
186
dev-scripts/enum-optimising-transformer.cjs
Normal file
@@ -0,0 +1,186 @@
|
||||
/**
|
||||
* @param {import('typescript').Program} program
|
||||
* @param {import('ts-patch').PluginConfig} pluginConfig
|
||||
* @param {import('ts-patch').TransformerExtras} extras
|
||||
*/
|
||||
module.exports = (program, pluginConfig, { ts: tsInstance }) => {
|
||||
/** @param {import('typescript').TransformationContext} context */
|
||||
return (context) => {
|
||||
const { factory } = context
|
||||
|
||||
/** @param {import('typescript').SourceFile} sourceFile */
|
||||
return (sourceFile) => {
|
||||
/**
|
||||
* @param {import('typescript').Node} node
|
||||
* @returns {import('typescript').Node}
|
||||
*/
|
||||
const visitor = (node) => {
|
||||
if (
|
||||
tsInstance.isEnumDeclaration(node) &&
|
||||
(!node.modifiers || node.modifiers.every(modifier => modifier.kind !== tsInstance.SyntaxKind.DeclareKeyword))
|
||||
) {
|
||||
let variableStatementModifiers
|
||||
|
||||
if (node.modifiers?.some(modifier => modifier.kind === tsInstance.SyntaxKind.ExportKeyword)) {
|
||||
variableStatementModifiers = [
|
||||
factory.createModifier(tsInstance.SyntaxKind.ExportKeyword)
|
||||
]
|
||||
}
|
||||
|
||||
const properties = []
|
||||
let currentValue = 0
|
||||
|
||||
for (const member of node.members) {
|
||||
const name = member.name.text
|
||||
let value
|
||||
let isNumeric = true
|
||||
let hasMinus = false
|
||||
|
||||
if (!member.initializer) {
|
||||
value = currentValue.toString()
|
||||
currentValue++
|
||||
} else if (tsInstance.isStringLiteral(member.initializer)) {
|
||||
value = member.initializer.text
|
||||
isNumeric = false
|
||||
} else if (tsInstance.isNumericLiteral(member.initializer)) {
|
||||
value = member.initializer.text
|
||||
currentValue = Number(value) + 1
|
||||
} else if (
|
||||
tsInstance.isPrefixUnaryExpression(member.initializer) &&
|
||||
member.initializer.operator === tsInstance.SyntaxKind.MinusToken
|
||||
) {
|
||||
value = member.initializer.operand.text
|
||||
hasMinus = true
|
||||
currentValue = (-1 * Number(value)) + 1
|
||||
} else {
|
||||
console.warn(`Unsupported enum member initializer "${tsInstance.SyntaxKind[member.initializer.kind]}" in "${node.name.text}", using original enum output.`)
|
||||
return tsInstance.visitEachChild(node, visitor, context);
|
||||
}
|
||||
|
||||
if (isNumeric) {
|
||||
if (hasMinus) {
|
||||
const mapping = factory.createPropertyAssignment(
|
||||
name,
|
||||
factory.createPrefixUnaryExpression(
|
||||
tsInstance.SyntaxKind.MinusToken,
|
||||
factory.createNumericLiteral(value)
|
||||
)
|
||||
)
|
||||
|
||||
tsInstance.setOriginalNode(mapping, member)
|
||||
tsInstance.setTextRange(mapping, member)
|
||||
|
||||
tsInstance.setOriginalNode(mapping.name, member.name)
|
||||
tsInstance.setTextRange(mapping.name, member.name)
|
||||
|
||||
if (member.initializer) {
|
||||
tsInstance.setOriginalNode(mapping.initializer, member.initializer)
|
||||
tsInstance.setTextRange(mapping.initializer, member.initializer)
|
||||
}
|
||||
|
||||
const reverseMapping = factory.createPropertyAssignment(
|
||||
factory.createStringLiteral(`-${value}`),
|
||||
factory.createStringLiteral(name)
|
||||
)
|
||||
|
||||
tsInstance.setOriginalNode(reverseMapping, member)
|
||||
tsInstance.setTextRange(reverseMapping, member)
|
||||
|
||||
tsInstance.setOriginalNode(reverseMapping.initializer, member.name)
|
||||
tsInstance.setTextRange(reverseMapping.initializer, member.name)
|
||||
|
||||
if (member.initializer) {
|
||||
tsInstance.setOriginalNode(reverseMapping.name, member.initializer)
|
||||
tsInstance.setTextRange(reverseMapping.name, member.initializer)
|
||||
}
|
||||
|
||||
properties.push(mapping, reverseMapping)
|
||||
} else {
|
||||
const mapping = factory.createPropertyAssignment(
|
||||
name,
|
||||
factory.createNumericLiteral(value)
|
||||
)
|
||||
|
||||
tsInstance.setOriginalNode(mapping, member)
|
||||
tsInstance.setTextRange(mapping, member)
|
||||
|
||||
tsInstance.setOriginalNode(mapping.name, member.name)
|
||||
tsInstance.setTextRange(mapping.name, member.name)
|
||||
|
||||
if (member.initializer) {
|
||||
tsInstance.setOriginalNode(mapping.initializer, member.initializer)
|
||||
tsInstance.setTextRange(mapping.initializer, member.initializer)
|
||||
}
|
||||
|
||||
const reverseMapping = factory.createPropertyAssignment(
|
||||
value,
|
||||
factory.createStringLiteral(name)
|
||||
)
|
||||
|
||||
tsInstance.setOriginalNode(reverseMapping, member)
|
||||
tsInstance.setTextRange(reverseMapping, member)
|
||||
|
||||
tsInstance.setOriginalNode(reverseMapping.initializer, member.name)
|
||||
tsInstance.setTextRange(reverseMapping.initializer, member.name)
|
||||
|
||||
if (member.initializer) {
|
||||
tsInstance.setOriginalNode(reverseMapping.name, member.initializer)
|
||||
tsInstance.setTextRange(reverseMapping.name, member.initializer)
|
||||
}
|
||||
|
||||
properties.push(mapping, reverseMapping)
|
||||
}
|
||||
} else {
|
||||
const mapping = factory.createPropertyAssignment(
|
||||
name,
|
||||
factory.createStringLiteral(value)
|
||||
)
|
||||
|
||||
tsInstance.setOriginalNode(mapping, member)
|
||||
tsInstance.setTextRange(mapping, member)
|
||||
|
||||
tsInstance.setOriginalNode(mapping.name, member.name)
|
||||
tsInstance.setTextRange(mapping.name, member.name)
|
||||
|
||||
tsInstance.setOriginalNode(mapping.initializer, member.initializer)
|
||||
tsInstance.setTextRange(mapping.initializer, member.initializer)
|
||||
|
||||
properties.push(mapping)
|
||||
}
|
||||
}
|
||||
|
||||
const convertedNameIdentifier = factory.createIdentifier(node.name.text)
|
||||
tsInstance.setOriginalNode(convertedNameIdentifier, node.name)
|
||||
tsInstance.setTextRange(convertedNameIdentifier, node.name)
|
||||
|
||||
const convertedEnum = factory.createVariableStatement(
|
||||
variableStatementModifiers,
|
||||
factory.createVariableDeclarationList(
|
||||
[
|
||||
factory.createVariableDeclaration(
|
||||
convertedNameIdentifier,
|
||||
undefined,
|
||||
undefined,
|
||||
factory.createObjectLiteralExpression(
|
||||
properties,
|
||||
true
|
||||
)
|
||||
)
|
||||
],
|
||||
tsInstance.NodeFlags.Const
|
||||
)
|
||||
)
|
||||
|
||||
tsInstance.setOriginalNode(convertedEnum, node)
|
||||
tsInstance.setTextRange(convertedEnum, node)
|
||||
|
||||
return convertedEnum
|
||||
}
|
||||
|
||||
return tsInstance.visitEachChild(node, visitor, context);
|
||||
};
|
||||
|
||||
return tsInstance.visitNode(sourceFile, visitor);
|
||||
}
|
||||
}
|
||||
}
|
||||
42
dev-scripts/gen-parser-map.mjs
Normal file
42
dev-scripts/gen-parser-map.mjs
Normal file
@@ -0,0 +1,42 @@
|
||||
import glob from 'glob';
|
||||
import path from 'path';
|
||||
import fs from 'fs';
|
||||
import url from 'url';
|
||||
|
||||
const import_list = [];
|
||||
const misc_imports = [];
|
||||
|
||||
const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
|
||||
|
||||
glob.sync('../src/parser/classes/**/*.{js,ts}', { cwd: __dirname })
|
||||
.forEach((file) => {
|
||||
// Trim path
|
||||
const is_misc = file.includes('/misc/');
|
||||
file = file.replace('../src/parser/classes/', '').replace('.js', '').replace('.ts', '');
|
||||
const import_name = file.split('/').pop();
|
||||
|
||||
if (is_misc) {
|
||||
const class_name = file.split('/').pop().replace('.js', '').replace('.ts', '');
|
||||
misc_imports.push(`export { default as ${class_name} } from './classes/${file}.js';`);
|
||||
} else {
|
||||
import_list.push(`export { default as ${import_name} } from './classes/${file}.js';`);
|
||||
}
|
||||
});
|
||||
|
||||
fs.writeFileSync(
|
||||
path.resolve(__dirname, '../src/parser/nodes.ts'),
|
||||
`// This file was auto generated, do not edit.
|
||||
// See ./scripts/build-parser-map.js
|
||||
|
||||
${import_list.join('\n')}
|
||||
`
|
||||
);
|
||||
|
||||
fs.writeFileSync(
|
||||
path.resolve(__dirname, '../src/parser/misc.ts'),
|
||||
`// This file was auto generated, do not edit.
|
||||
// See ./scripts/build-parser-map.js
|
||||
|
||||
${misc_imports.join('\n')}
|
||||
`
|
||||
);
|
||||
54
dev-scripts/generate-proto.mjs
Normal file
54
dev-scripts/generate-proto.mjs
Normal file
@@ -0,0 +1,54 @@
|
||||
import { exec } from 'child_process';
|
||||
import { existsSync, mkdirSync, readdirSync, statSync } from 'fs';
|
||||
import { join } from 'path';
|
||||
import path from 'path';
|
||||
import url from 'url';
|
||||
import os from 'os';
|
||||
|
||||
const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
|
||||
|
||||
const protoDir = './protos';
|
||||
const outDir = './protos/generated';
|
||||
|
||||
if (!existsSync(outDir)) {
|
||||
mkdirSync(outDir, { recursive: true });
|
||||
}
|
||||
|
||||
const protocGenTs = path.join(
|
||||
__dirname,
|
||||
'../node_modules',
|
||||
'.bin',
|
||||
os.platform() === 'win32' ? 'protoc-gen-ts_proto.cmd' : 'protoc-gen-ts_proto'
|
||||
);
|
||||
|
||||
function listProtoFiles(dir) {
|
||||
let protoFiles = [];
|
||||
const items = readdirSync(dir);
|
||||
|
||||
for (const item of items) {
|
||||
const fullPath = join(dir, item);
|
||||
if (statSync(fullPath).isDirectory()) {
|
||||
protoFiles = protoFiles.concat(listProtoFiles(fullPath));
|
||||
} else if (item.endsWith('.proto')) {
|
||||
protoFiles.push(fullPath);
|
||||
}
|
||||
}
|
||||
|
||||
return protoFiles;
|
||||
}
|
||||
|
||||
const protoFiles = listProtoFiles(protoDir);
|
||||
|
||||
if (!protoFiles.length) {
|
||||
console.log('No .proto files found.');
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
protoFiles.forEach((file) => {
|
||||
const command = `protoc --proto_path=${protoDir} --plugin=protoc-gen-ts=${protocGenTs} --ts_opt=env=browser --ts_opt=importSuffix=.js --ts_out=${outDir} --ts_opt=outputJsonMethods=false --ts_opt=outputPartialMethods=false ${file}`;
|
||||
exec(command, (error, _stdout, stderr) => {
|
||||
if (error) {
|
||||
console.error(`Error compiling ${file}:`, stderr);
|
||||
}
|
||||
});
|
||||
});
|
||||
48
dev-scripts/get-agents.mjs
Normal file
48
dev-scripts/get-agents.mjs
Normal file
@@ -0,0 +1,48 @@
|
||||
import { fetch } from 'undici';
|
||||
import { gunzip } from 'zlib';
|
||||
import { dirname, resolve } from 'path';
|
||||
import { fileURLToPath } from 'url';
|
||||
import { writeFile } from 'fs/promises';
|
||||
|
||||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
const buf = await (await fetch('https://github.com/intoli/user-agents/blob/master/src/user-agents.json.gz?raw=true')).arrayBuffer();
|
||||
const bytes = new Uint8Array(buf);
|
||||
|
||||
// Only get desktop and mobile agents
|
||||
const allowed_agents = new Set([
|
||||
'desktop',
|
||||
'mobile'
|
||||
]);
|
||||
|
||||
const decompressed = await new Promise((resolve, reject) => {
|
||||
gunzip(bytes, (err, result) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(result.buffer);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
const contents = new TextDecoder().decode(decompressed);
|
||||
|
||||
const agents = JSON.parse(contents);
|
||||
|
||||
if (!Array.isArray(agents)) {
|
||||
throw new Error('Invalid user-agents.json');
|
||||
}
|
||||
|
||||
const agentsByDevice = agents.reduce((acc, agent) => {
|
||||
const device = agent.deviceCategory;
|
||||
if (!allowed_agents.has(device))
|
||||
return acc;
|
||||
if (!acc[device]) {
|
||||
acc[device] = [];
|
||||
}
|
||||
// We dont want to massive of a list of agents for each device
|
||||
if (acc[device].length <= 25) acc[device].push(agent.userAgent);
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
await writeFile(resolve(__dirname, '..', 'src', 'utils', 'user-agents.ts'), `/* eslint-disable */\n/* Generated file do not edit */\nexport default ${JSON.stringify(agentsByDevice, null, 2)} as { desktop: string[], mobile: string[] };`);
|
||||
397
docs/api/README.md
Normal file
397
docs/api/README.md
Normal file
@@ -0,0 +1,397 @@
|
||||
# youtubei.js
|
||||
|
||||
## References
|
||||
|
||||
### AddToPlaylistServiceRequest
|
||||
|
||||
Re-exports [AddToPlaylistServiceRequest](namespaces/APIResponseTypes/type-aliases/AddToPlaylistServiceRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### AppendContinuationItemsAction
|
||||
|
||||
Re-exports [AppendContinuationItemsAction](namespaces/YTNodes/classes/AppendContinuationItemsAction.md)
|
||||
|
||||
***
|
||||
|
||||
### BrowseRequest
|
||||
|
||||
Re-exports [BrowseRequest](namespaces/APIResponseTypes/type-aliases/BrowseRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### BrowseRequestSupportedMetadata
|
||||
|
||||
Re-exports [BrowseRequestSupportedMetadata](namespaces/APIResponseTypes/type-aliases/BrowseRequestSupportedMetadata.md)
|
||||
|
||||
***
|
||||
|
||||
### ContinuationRequest
|
||||
|
||||
Re-exports [ContinuationRequest](namespaces/APIResponseTypes/type-aliases/ContinuationRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### CreateCommentRequest
|
||||
|
||||
Re-exports [CreateCommentRequest](namespaces/APIResponseTypes/type-aliases/CreateCommentRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### CreatePlaylistServiceRequest
|
||||
|
||||
Re-exports [CreatePlaylistServiceRequest](namespaces/APIResponseTypes/type-aliases/CreatePlaylistServiceRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### default
|
||||
|
||||
Renames and re-exports [Innertube](classes/Innertube.md)
|
||||
|
||||
***
|
||||
|
||||
### DeletePlaylistServiceRequest
|
||||
|
||||
Re-exports [DeletePlaylistServiceRequest](namespaces/APIResponseTypes/type-aliases/DeletePlaylistServiceRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### FeedbackContext
|
||||
|
||||
Re-exports [FeedbackContext](namespaces/APIResponseTypes/type-aliases/FeedbackContext.md)
|
||||
|
||||
***
|
||||
|
||||
### FeedbackRequest
|
||||
|
||||
Re-exports [FeedbackRequest](namespaces/APIResponseTypes/type-aliases/FeedbackRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### FormData
|
||||
|
||||
Re-exports [FormData](namespaces/APIResponseTypes/type-aliases/FormData.md)
|
||||
|
||||
***
|
||||
|
||||
### GetAccountsListInnertubeRequest
|
||||
|
||||
Re-exports [GetAccountsListInnertubeRequest](namespaces/APIResponseTypes/type-aliases/GetAccountsListInnertubeRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### GetKidsBlocklistPickerRequest
|
||||
|
||||
Re-exports [GetKidsBlocklistPickerRequest](namespaces/APIResponseTypes/type-aliases/GetKidsBlocklistPickerRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### IBotguardChallenge
|
||||
|
||||
Re-exports [IBotguardChallenge](namespaces/APIResponseTypes/interfaces/IBotguardChallenge.md)
|
||||
|
||||
***
|
||||
|
||||
### IBrowseResponse
|
||||
|
||||
Re-exports [IBrowseResponse](namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)
|
||||
|
||||
***
|
||||
|
||||
### IEndpoint
|
||||
|
||||
Re-exports [IEndpoint](namespaces/APIResponseTypes/interfaces/IEndpoint.md)
|
||||
|
||||
***
|
||||
|
||||
### IGetChallengeResponse
|
||||
|
||||
Re-exports [IGetChallengeResponse](namespaces/APIResponseTypes/type-aliases/IGetChallengeResponse.md)
|
||||
|
||||
***
|
||||
|
||||
### IGetNotificationsMenuResponse
|
||||
|
||||
Re-exports [IGetNotificationsMenuResponse](namespaces/APIResponseTypes/type-aliases/IGetNotificationsMenuResponse.md)
|
||||
|
||||
***
|
||||
|
||||
### IGetTranscriptResponse
|
||||
|
||||
Re-exports [IGetTranscriptResponse](namespaces/APIResponseTypes/type-aliases/IGetTranscriptResponse.md)
|
||||
|
||||
***
|
||||
|
||||
### IGuideResponse
|
||||
|
||||
Re-exports [IGuideResponse](namespaces/APIResponseTypes/type-aliases/IGuideResponse.md)
|
||||
|
||||
***
|
||||
|
||||
### INextResponse
|
||||
|
||||
Re-exports [INextResponse](namespaces/APIResponseTypes/type-aliases/INextResponse.md)
|
||||
|
||||
***
|
||||
|
||||
### InlineSettingStatus
|
||||
|
||||
Re-exports [InlineSettingStatus](namespaces/APIResponseTypes/type-aliases/InlineSettingStatus.md)
|
||||
|
||||
***
|
||||
|
||||
### IParsedResponse
|
||||
|
||||
Re-exports [IParsedResponse](namespaces/APIResponseTypes/interfaces/IParsedResponse.md)
|
||||
|
||||
***
|
||||
|
||||
### IPlayabilityStatus
|
||||
|
||||
Re-exports [IPlayabilityStatus](namespaces/APIResponseTypes/interfaces/IPlayabilityStatus.md)
|
||||
|
||||
***
|
||||
|
||||
### IPlaybackTracking
|
||||
|
||||
Re-exports [IPlaybackTracking](namespaces/APIResponseTypes/interfaces/IPlaybackTracking.md)
|
||||
|
||||
***
|
||||
|
||||
### IPlayerConfig
|
||||
|
||||
Re-exports [IPlayerConfig](namespaces/APIResponseTypes/interfaces/IPlayerConfig.md)
|
||||
|
||||
***
|
||||
|
||||
### IPlayerResponse
|
||||
|
||||
Re-exports [IPlayerResponse](namespaces/APIResponseTypes/type-aliases/IPlayerResponse.md)
|
||||
|
||||
***
|
||||
|
||||
### IRawBotguardChallenge
|
||||
|
||||
Re-exports [IRawBotguardChallenge](namespaces/APIResponseTypes/interfaces/IRawBotguardChallenge.md)
|
||||
|
||||
***
|
||||
|
||||
### IRawPlayerConfig
|
||||
|
||||
Re-exports [IRawPlayerConfig](namespaces/APIResponseTypes/interfaces/IRawPlayerConfig.md)
|
||||
|
||||
***
|
||||
|
||||
### IRawResponse
|
||||
|
||||
Re-exports [IRawResponse](namespaces/APIResponseTypes/interfaces/IRawResponse.md)
|
||||
|
||||
***
|
||||
|
||||
### IRawTrustedResource
|
||||
|
||||
Re-exports [IRawTrustedResource](namespaces/APIResponseTypes/interfaces/IRawTrustedResource.md)
|
||||
|
||||
***
|
||||
|
||||
### IResolveURLResponse
|
||||
|
||||
Re-exports [IResolveURLResponse](namespaces/APIResponseTypes/type-aliases/IResolveURLResponse.md)
|
||||
|
||||
***
|
||||
|
||||
### ISearchResponse
|
||||
|
||||
Re-exports [ISearchResponse](namespaces/APIResponseTypes/type-aliases/ISearchResponse.md)
|
||||
|
||||
***
|
||||
|
||||
### IStreamingData
|
||||
|
||||
Re-exports [IStreamingData](namespaces/APIResponseTypes/interfaces/IStreamingData.md)
|
||||
|
||||
***
|
||||
|
||||
### ITrustedResource
|
||||
|
||||
Re-exports [ITrustedResource](namespaces/APIResponseTypes/interfaces/ITrustedResource.md)
|
||||
|
||||
***
|
||||
|
||||
### IUpdatedMetadataResponse
|
||||
|
||||
Re-exports [IUpdatedMetadataResponse](namespaces/APIResponseTypes/type-aliases/IUpdatedMetadataResponse.md)
|
||||
|
||||
***
|
||||
|
||||
### LikeRequest
|
||||
|
||||
Re-exports [LikeRequest](namespaces/APIResponseTypes/type-aliases/LikeRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### LikeTarget
|
||||
|
||||
Re-exports [LikeTarget](namespaces/APIResponseTypes/type-aliases/LikeTarget.md)
|
||||
|
||||
***
|
||||
|
||||
### LiveChatItemContextMenuRequest
|
||||
|
||||
Re-exports [LiveChatItemContextMenuRequest](namespaces/APIResponseTypes/type-aliases/LiveChatItemContextMenuRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### ModifyChannelNotificationPreferenceRequest
|
||||
|
||||
Re-exports [ModifyChannelNotificationPreferenceRequest](namespaces/APIResponseTypes/type-aliases/ModifyChannelNotificationPreferenceRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### NextNavendpoint
|
||||
|
||||
Re-exports [NextNavendpoint](namespaces/APIResponseTypes/type-aliases/NextNavendpoint.md)
|
||||
|
||||
***
|
||||
|
||||
### PerformCommentActionRequest
|
||||
|
||||
Re-exports [PerformCommentActionRequest](namespaces/APIResponseTypes/type-aliases/PerformCommentActionRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### PlaylistEditRequest
|
||||
|
||||
Re-exports [PlaylistEditRequest](namespaces/APIResponseTypes/type-aliases/PlaylistEditRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### PlaylistPrivacyStatus
|
||||
|
||||
Re-exports [PlaylistPrivacyStatus](namespaces/APIResponseTypes/type-aliases/PlaylistPrivacyStatus.md)
|
||||
|
||||
***
|
||||
|
||||
### RawData
|
||||
|
||||
Re-exports [RawData](namespaces/APIResponseTypes/type-aliases/RawData.md)
|
||||
|
||||
***
|
||||
|
||||
### RawNode
|
||||
|
||||
Re-exports [RawNode](namespaces/APIResponseTypes/type-aliases/RawNode.md)
|
||||
|
||||
***
|
||||
|
||||
### ReelWatchRequest
|
||||
|
||||
Re-exports [ReelWatchRequest](namespaces/APIResponseTypes/type-aliases/ReelWatchRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### SearchRequest
|
||||
|
||||
Re-exports [SearchRequest](namespaces/APIResponseTypes/type-aliases/SearchRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### ShareEntityServiceRequest
|
||||
|
||||
Re-exports [ShareEntityServiceRequest](namespaces/APIResponseTypes/type-aliases/ShareEntityServiceRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### SubscribeRequest
|
||||
|
||||
Re-exports [SubscribeRequest](namespaces/APIResponseTypes/type-aliases/SubscribeRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### UnsubscribeRequest
|
||||
|
||||
Re-exports [UnsubscribeRequest](namespaces/APIResponseTypes/type-aliases/UnsubscribeRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### WatchNextRequest
|
||||
|
||||
Re-exports [WatchNextRequest](namespaces/APIResponseTypes/type-aliases/WatchNextRequest.md)
|
||||
|
||||
***
|
||||
|
||||
### WatchRequest
|
||||
|
||||
Re-exports [WatchRequest](namespaces/APIResponseTypes/type-aliases/WatchRequest.md)
|
||||
|
||||
## Namespaces
|
||||
|
||||
- [APIResponseTypes](namespaces/APIResponseTypes/README.md)
|
||||
- [Clients](namespaces/Clients/README.md)
|
||||
- [Constants](namespaces/Constants/README.md)
|
||||
- [FormatUtils](namespaces/FormatUtils/README.md)
|
||||
- [Generator](namespaces/Generator/README.md)
|
||||
- [Helpers](namespaces/Helpers/README.md)
|
||||
- [Log](namespaces/Log/README.md)
|
||||
- [LZW](namespaces/LZW/README.md)
|
||||
- [Managers](namespaces/Managers/README.md)
|
||||
- [Misc](namespaces/Misc/README.md)
|
||||
- [Mixins](namespaces/Mixins/README.md)
|
||||
- [Parser](namespaces/Parser/README.md)
|
||||
- [ProtoUtils](namespaces/ProtoUtils/README.md)
|
||||
- [Types](namespaces/Types/README.md)
|
||||
- [Utils](namespaces/Utils/README.md)
|
||||
- [YT](namespaces/YT/README.md)
|
||||
- [YTKids](namespaces/YTKids/README.md)
|
||||
- [YTMusic](namespaces/YTMusic/README.md)
|
||||
- [YTNodes](namespaces/YTNodes/README.md)
|
||||
- [YTShorts](namespaces/YTShorts/README.md)
|
||||
|
||||
## Enumerations
|
||||
|
||||
- [ClientType](enumerations/ClientType.md)
|
||||
|
||||
## Classes
|
||||
|
||||
- [Actions](classes/Actions.md)
|
||||
- [Continuation](classes/Continuation.md)
|
||||
- [ContinuationCommand](classes/ContinuationCommand.md)
|
||||
- [EventEmitter](classes/EventEmitter.md)
|
||||
- [GridContinuation](classes/GridContinuation.md)
|
||||
- [HTTPClient](classes/HTTPClient.md)
|
||||
- [Innertube](classes/Innertube.md)
|
||||
- [ItemSectionContinuation](classes/ItemSectionContinuation.md)
|
||||
- [LiveChatContinuation](classes/LiveChatContinuation.md)
|
||||
- [MusicPlaylistShelfContinuation](classes/MusicPlaylistShelfContinuation.md)
|
||||
- [MusicShelfContinuation](classes/MusicShelfContinuation.md)
|
||||
- [NavigateAction](classes/NavigateAction.md)
|
||||
- [OAuth2](classes/OAuth2.md)
|
||||
- [Platform](classes/Platform.md)
|
||||
- [Player](classes/Player.md)
|
||||
- [PlaylistPanelContinuation](classes/PlaylistPanelContinuation.md)
|
||||
- [ReloadContinuationItemsCommand](classes/ReloadContinuationItemsCommand.md)
|
||||
- [SectionListContinuation](classes/SectionListContinuation.md)
|
||||
- [Session](classes/Session.md)
|
||||
- [ShowMiniplayerCommand](classes/ShowMiniplayerCommand.md)
|
||||
- [UniversalCache](classes/UniversalCache.md)
|
||||
|
||||
## Interfaces
|
||||
|
||||
- [ApiResponse](interfaces/ApiResponse.md)
|
||||
- [HTTPClientInit](interfaces/HTTPClientInit.md)
|
||||
|
||||
## Type Aliases
|
||||
|
||||
- [Context](type-aliases/Context.md)
|
||||
- [DeviceAndUserCode](type-aliases/DeviceAndUserCode.md)
|
||||
- [InnertubeEndpoint](type-aliases/InnertubeEndpoint.md)
|
||||
- [OAuth2AuthErrorEventHandler](type-aliases/OAuth2AuthErrorEventHandler.md)
|
||||
- [OAuth2AuthEventHandler](type-aliases/OAuth2AuthEventHandler.md)
|
||||
- [OAuth2AuthPendingEventHandler](type-aliases/OAuth2AuthPendingEventHandler.md)
|
||||
- [OAuth2ClientID](type-aliases/OAuth2ClientID.md)
|
||||
- [OAuth2Tokens](type-aliases/OAuth2Tokens.md)
|
||||
- [ParsedResponse](type-aliases/ParsedResponse.md)
|
||||
- [SessionArgs](type-aliases/SessionArgs.md)
|
||||
- [SessionData](type-aliases/SessionData.md)
|
||||
- [SessionOptions](type-aliases/SessionOptions.md)
|
||||
- [SWSessionData](type-aliases/SWSessionData.md)
|
||||
135
docs/api/classes/Actions.md
Normal file
135
docs/api/classes/Actions.md
Normal file
@@ -0,0 +1,135 @@
|
||||
[youtubei.js](../README.md) / Actions
|
||||
|
||||
# Class: Actions
|
||||
|
||||
## Constructors
|
||||
|
||||
### new Actions()
|
||||
|
||||
> **new Actions**(`session`): [`Actions`](Actions.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **session**: [`Session`](Session.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Actions`](Actions.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Actions.ts:49](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Actions.ts#L49)
|
||||
|
||||
## Properties
|
||||
|
||||
### session
|
||||
|
||||
> **session**: [`Session`](Session.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Actions.ts:47](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Actions.ts#L47)
|
||||
|
||||
## Methods
|
||||
|
||||
### execute()
|
||||
|
||||
#### execute(endpoint, args)
|
||||
|
||||
> **execute**\<`T`\>(`endpoint`, `args`): `Promise`\<[`ParsedResponse`](../type-aliases/ParsedResponse.md)\<`T`\>\>
|
||||
|
||||
Executes an API call.
|
||||
|
||||
##### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
##### Parameters
|
||||
|
||||
• **endpoint**: `T`
|
||||
|
||||
The endpoint to call.
|
||||
|
||||
• **args**
|
||||
|
||||
Call arguments
|
||||
|
||||
• **args.parse**: `true`
|
||||
|
||||
• **args.protobuf?**: `false`
|
||||
|
||||
• **args.serialized\_data?**: `any`
|
||||
|
||||
• **args.skip\_auth\_check?**: `boolean`
|
||||
|
||||
##### Returns
|
||||
|
||||
`Promise`\<[`ParsedResponse`](../type-aliases/ParsedResponse.md)\<`T`\>\>
|
||||
|
||||
##### Defined in
|
||||
|
||||
[src/core/Actions.ts:81](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Actions.ts#L81)
|
||||
|
||||
#### execute(endpoint, args)
|
||||
|
||||
> **execute**\<`T`\>(`endpoint`, `args`?): `Promise`\<[`ApiResponse`](../interfaces/ApiResponse.md)\>
|
||||
|
||||
##### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
##### Parameters
|
||||
|
||||
• **endpoint**: `T`
|
||||
|
||||
• **args?**
|
||||
|
||||
• **args.parse?**: `false`
|
||||
|
||||
• **args.protobuf?**: `true`
|
||||
|
||||
• **args.serialized\_data?**: `any`
|
||||
|
||||
• **args.skip\_auth\_check?**: `boolean`
|
||||
|
||||
##### Returns
|
||||
|
||||
`Promise`\<[`ApiResponse`](../interfaces/ApiResponse.md)\>
|
||||
|
||||
##### Defined in
|
||||
|
||||
[src/core/Actions.ts:88](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Actions.ts#L88)
|
||||
|
||||
***
|
||||
|
||||
### stats()
|
||||
|
||||
> **stats**(`url`, `client`, `params`): `Promise`\<`Response`\>
|
||||
|
||||
Makes calls to the playback tracking API.
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **url**: `string`
|
||||
|
||||
The URL to call.
|
||||
|
||||
• **client**
|
||||
|
||||
The client to use.
|
||||
|
||||
• **client.client\_name**: `string`
|
||||
|
||||
• **client.client\_version**: `string`
|
||||
|
||||
• **params**
|
||||
|
||||
Call parameters.
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`Response`\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Actions.ts:59](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Actions.ts#L59)
|
||||
241
docs/api/classes/Continuation.md
Normal file
241
docs/api/classes/Continuation.md
Normal file
@@ -0,0 +1,241 @@
|
||||
[youtubei.js](../README.md) / Continuation
|
||||
|
||||
# Class: Continuation
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### new Continuation()
|
||||
|
||||
> **new Continuation**(`data`): [`Continuation`](Continuation.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Continuation`](Continuation.md)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:147](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L147)
|
||||
|
||||
## Properties
|
||||
|
||||
### continuation\_type
|
||||
|
||||
> **continuation\_type**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:142](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L142)
|
||||
|
||||
***
|
||||
|
||||
### time\_until\_last\_message\_ms?
|
||||
|
||||
> `optional` **time\_until\_last\_message\_ms**: `number`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:144](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L144)
|
||||
|
||||
***
|
||||
|
||||
### timeout\_ms?
|
||||
|
||||
> `optional` **timeout\_ms**: `number`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:143](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L143)
|
||||
|
||||
***
|
||||
|
||||
### token
|
||||
|
||||
> **token**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:145](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L145)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L8)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"continuation"` = `'continuation'`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:140](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L140)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The types to cast to
|
||||
|
||||
#### Returns
|
||||
|
||||
`InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
The node cast to one of the given types
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node is not of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L29)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is Continuation & { [k in string]: R }`
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is Continuation & { [k in string]: R }`
|
||||
|
||||
Whether the node has the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The type to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is InstanceType<K[number]>`
|
||||
|
||||
whether the node is of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L19)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
The value of the key wrapped in a Maybe
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node does not have the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L51)
|
||||
221
docs/api/classes/ContinuationCommand.md
Normal file
221
docs/api/classes/ContinuationCommand.md
Normal file
@@ -0,0 +1,221 @@
|
||||
[youtubei.js](../README.md) / ContinuationCommand
|
||||
|
||||
# Class: ContinuationCommand
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### new ContinuationCommand()
|
||||
|
||||
> **new ContinuationCommand**(`data`): [`ContinuationCommand`](ContinuationCommand.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
[`ContinuationCommand`](ContinuationCommand.md)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:220](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L220)
|
||||
|
||||
## Properties
|
||||
|
||||
### request
|
||||
|
||||
> **request**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:217](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L217)
|
||||
|
||||
***
|
||||
|
||||
### token
|
||||
|
||||
> **token**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:218](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L218)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L8)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"ContinuationCommand"` = `'ContinuationCommand'`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:215](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L215)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The types to cast to
|
||||
|
||||
#### Returns
|
||||
|
||||
`InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
The node cast to one of the given types
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node is not of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L29)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is ContinuationCommand & { [k in string]: R }`
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is ContinuationCommand & { [k in string]: R }`
|
||||
|
||||
Whether the node has the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The type to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is InstanceType<K[number]>`
|
||||
|
||||
whether the node is of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L19)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
The value of the key wrapped in a Maybe
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node does not have the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L51)
|
||||
208
docs/api/classes/EventEmitter.md
Normal file
208
docs/api/classes/EventEmitter.md
Normal file
@@ -0,0 +1,208 @@
|
||||
[youtubei.js](../README.md) / EventEmitter
|
||||
|
||||
# Class: EventEmitter
|
||||
|
||||
## Extends
|
||||
|
||||
- `EventTarget`
|
||||
|
||||
## Extended by
|
||||
|
||||
- [`Session`](Session.md)
|
||||
- [`LiveChat`](../namespaces/YT/classes/LiveChat.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### new EventEmitter()
|
||||
|
||||
> **new EventEmitter**(): [`EventEmitter`](EventEmitter.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
[`EventEmitter`](EventEmitter.md)
|
||||
|
||||
#### Overrides
|
||||
|
||||
`EventTarget.constructor`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/utils/EventEmitterLike.ts:6](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/utils/EventEmitterLike.ts#L6)
|
||||
|
||||
## Methods
|
||||
|
||||
### addEventListener()
|
||||
|
||||
> **addEventListener**(`type`, `callback`, `options`?): `void`
|
||||
|
||||
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
|
||||
|
||||
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
|
||||
|
||||
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
|
||||
|
||||
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
|
||||
|
||||
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
|
||||
|
||||
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
|
||||
|
||||
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
|
||||
|
||||
[MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **type**: `string`
|
||||
|
||||
• **callback**: `null` \| `EventListenerOrEventListenerObject`
|
||||
|
||||
• **options?**: `boolean` \| `AddEventListenerOptions`
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
`EventTarget.addEventListener`
|
||||
|
||||
#### Defined in
|
||||
|
||||
node\_modules/typescript/lib/lib.dom.d.ts:8256
|
||||
|
||||
***
|
||||
|
||||
### dispatchEvent()
|
||||
|
||||
> **dispatchEvent**(`event`): `boolean`
|
||||
|
||||
Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
|
||||
|
||||
[MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **event**: `Event`
|
||||
|
||||
#### Returns
|
||||
|
||||
`boolean`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
`EventTarget.dispatchEvent`
|
||||
|
||||
#### Defined in
|
||||
|
||||
node\_modules/typescript/lib/lib.dom.d.ts:8262
|
||||
|
||||
***
|
||||
|
||||
### emit()
|
||||
|
||||
> **emit**(`type`, ...`args`): `void`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **type**: `string`
|
||||
|
||||
• ...**args**: `any`[]
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/utils/EventEmitterLike.ts:10](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/utils/EventEmitterLike.ts#L10)
|
||||
|
||||
***
|
||||
|
||||
### off()
|
||||
|
||||
> **off**(`type`, `listener`): `void`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **type**: `string`
|
||||
|
||||
• **listener**
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/utils/EventEmitterLike.ts:40](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/utils/EventEmitterLike.ts#L40)
|
||||
|
||||
***
|
||||
|
||||
### on()
|
||||
|
||||
> **on**(`type`, `listener`): `void`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **type**: `string`
|
||||
|
||||
• **listener**
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/utils/EventEmitterLike.ts:15](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/utils/EventEmitterLike.ts#L15)
|
||||
|
||||
***
|
||||
|
||||
### once()
|
||||
|
||||
> **once**(`type`, `listener`): `void`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **type**: `string`
|
||||
|
||||
• **listener**
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/utils/EventEmitterLike.ts:27](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/utils/EventEmitterLike.ts#L27)
|
||||
|
||||
***
|
||||
|
||||
### removeEventListener()
|
||||
|
||||
> **removeEventListener**(`type`, `callback`, `options`?): `void`
|
||||
|
||||
Removes the event listener in target's event listener list with the same type, callback, and options.
|
||||
|
||||
[MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **type**: `string`
|
||||
|
||||
• **callback**: `null` \| `EventListenerOrEventListenerObject`
|
||||
|
||||
• **options?**: `boolean` \| `EventListenerOptions`
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
`EventTarget.removeEventListener`
|
||||
|
||||
#### Defined in
|
||||
|
||||
node\_modules/typescript/lib/lib.dom.d.ts:8268
|
||||
235
docs/api/classes/GridContinuation.md
Normal file
235
docs/api/classes/GridContinuation.md
Normal file
@@ -0,0 +1,235 @@
|
||||
[youtubei.js](../README.md) / GridContinuation
|
||||
|
||||
# Class: GridContinuation
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### new GridContinuation()
|
||||
|
||||
> **new GridContinuation**(`data`): [`GridContinuation`](GridContinuation.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
[`GridContinuation`](GridContinuation.md)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:114](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L114)
|
||||
|
||||
## Properties
|
||||
|
||||
### continuation
|
||||
|
||||
> **continuation**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:111](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L111)
|
||||
|
||||
***
|
||||
|
||||
### items
|
||||
|
||||
> **items**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:112](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L112)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L8)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"gridContinuation"` = `'gridContinuation'`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:109](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L109)
|
||||
|
||||
## Accessors
|
||||
|
||||
### contents
|
||||
|
||||
> `get` **contents**(): `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:120](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L120)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The types to cast to
|
||||
|
||||
#### Returns
|
||||
|
||||
`InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
The node cast to one of the given types
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node is not of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L29)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is GridContinuation & { [k in string]: R }`
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is GridContinuation & { [k in string]: R }`
|
||||
|
||||
Whether the node has the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The type to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is InstanceType<K[number]>`
|
||||
|
||||
whether the node is of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L19)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
The value of the key wrapped in a Maybe
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node does not have the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L51)
|
||||
71
docs/api/classes/HTTPClient.md
Normal file
71
docs/api/classes/HTTPClient.md
Normal file
@@ -0,0 +1,71 @@
|
||||
[youtubei.js](../README.md) / HTTPClient
|
||||
|
||||
# Class: HTTPClient
|
||||
|
||||
## Constructors
|
||||
|
||||
### new HTTPClient()
|
||||
|
||||
> **new HTTPClient**(`session`, `cookie`?, `fetch`?): [`HTTPClient`](HTTPClient.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **session**: [`Session`](Session.md)
|
||||
|
||||
• **cookie?**: `string`
|
||||
|
||||
• **fetch?**
|
||||
|
||||
#### Returns
|
||||
|
||||
[`HTTPClient`](HTTPClient.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/utils/HTTPClient.ts:30](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/utils/HTTPClient.ts#L30)
|
||||
|
||||
## Accessors
|
||||
|
||||
### fetch\_function
|
||||
|
||||
> `get` **fetch\_function**(): (`input`, `init`?) => `Promise`\<`Response`\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`Function`
|
||||
|
||||
[MDN Reference](https://developer.mozilla.org/docs/Web/API/fetch)
|
||||
|
||||
##### Parameters
|
||||
|
||||
• **input**: `URL` \| `RequestInfo`
|
||||
|
||||
• **init?**: `RequestInit`
|
||||
|
||||
##### Returns
|
||||
|
||||
`Promise`\<`Response`\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/utils/HTTPClient.ts:36](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/utils/HTTPClient.ts#L36)
|
||||
|
||||
## Methods
|
||||
|
||||
### fetch()
|
||||
|
||||
> **fetch**(`input`, `init`?): `Promise`\<`Response`\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **input**: `string` \| `URL` \| `Request`
|
||||
|
||||
• **init?**: `RequestInit` & [`HTTPClientInit`](../interfaces/HTTPClientInit.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`Response`\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/utils/HTTPClient.ts:40](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/utils/HTTPClient.ts#L40)
|
||||
702
docs/api/classes/Innertube.md
Normal file
702
docs/api/classes/Innertube.md
Normal file
@@ -0,0 +1,702 @@
|
||||
[youtubei.js](../README.md) / Innertube
|
||||
|
||||
# Class: Innertube
|
||||
|
||||
Provides access to various services and modules in the YouTube API.
|
||||
|
||||
## Example
|
||||
|
||||
```ts
|
||||
import { Innertube, UniversalCache } from 'youtubei.js';
|
||||
const innertube = await Innertube.create({ cache: new UniversalCache(true)});
|
||||
```
|
||||
|
||||
## Constructors
|
||||
|
||||
### new Innertube()
|
||||
|
||||
> **new Innertube**(`session`): [`Innertube`](Innertube.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **session**: [`Session`](Session.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Innertube`](Innertube.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:65](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L65)
|
||||
|
||||
## Accessors
|
||||
|
||||
### account
|
||||
|
||||
> `get` **account**(): [`AccountManager`](../namespaces/Managers/classes/AccountManager.md)
|
||||
|
||||
An interface for managing and retrieving account information.
|
||||
|
||||
#### Returns
|
||||
|
||||
[`AccountManager`](../namespaces/Managers/classes/AccountManager.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:602](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L602)
|
||||
|
||||
***
|
||||
|
||||
### actions
|
||||
|
||||
> `get` **actions**(): [`Actions`](Actions.md)
|
||||
|
||||
An internal class used to dispatch requests.
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Actions`](Actions.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:623](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L623)
|
||||
|
||||
***
|
||||
|
||||
### interact
|
||||
|
||||
> `get` **interact**(): [`InteractionManager`](../namespaces/Managers/classes/InteractionManager.md)
|
||||
|
||||
An interface for directly interacting with certain YouTube features.
|
||||
|
||||
#### Returns
|
||||
|
||||
[`InteractionManager`](../namespaces/Managers/classes/InteractionManager.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:616](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L616)
|
||||
|
||||
***
|
||||
|
||||
### kids
|
||||
|
||||
> `get` **kids**(): [`Kids`](../namespaces/Clients/classes/Kids.md)
|
||||
|
||||
An interface for interacting with YouTube Kids.
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Kids`](../namespaces/Clients/classes/Kids.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:595](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L595)
|
||||
|
||||
***
|
||||
|
||||
### music
|
||||
|
||||
> `get` **music**(): [`Music`](../namespaces/Clients/classes/Music.md)
|
||||
|
||||
An interface for interacting with YouTube Music.
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Music`](../namespaces/Clients/classes/Music.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:581](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L581)
|
||||
|
||||
***
|
||||
|
||||
### playlist
|
||||
|
||||
> `get` **playlist**(): [`PlaylistManager`](../namespaces/Managers/classes/PlaylistManager.md)
|
||||
|
||||
An interface for managing playlists.
|
||||
|
||||
#### Returns
|
||||
|
||||
[`PlaylistManager`](../namespaces/Managers/classes/PlaylistManager.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:609](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L609)
|
||||
|
||||
***
|
||||
|
||||
### session
|
||||
|
||||
> `get` **session**(): [`Session`](Session.md)
|
||||
|
||||
The session used by this instance.
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Session`](Session.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:630](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L630)
|
||||
|
||||
***
|
||||
|
||||
### studio
|
||||
|
||||
> `get` **studio**(): [`Studio`](../namespaces/Clients/classes/Studio.md)
|
||||
|
||||
An interface for interacting with YouTube Studio.
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Studio`](../namespaces/Clients/classes/Studio.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:588](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L588)
|
||||
|
||||
## Methods
|
||||
|
||||
### call()
|
||||
|
||||
#### call(endpoint, args)
|
||||
|
||||
> **call**\<`T`\>(`endpoint`, `args`): `Promise`\<`T`\>
|
||||
|
||||
Utility method to call an endpoint without having to use [Actions](Actions.md).
|
||||
|
||||
##### Type Parameters
|
||||
|
||||
• **T** *extends* [`IParsedResponse`](../namespaces/APIResponseTypes/interfaces/IParsedResponse.md)
|
||||
|
||||
##### Parameters
|
||||
|
||||
• **endpoint**: [`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)
|
||||
|
||||
• **args**
|
||||
|
||||
• **args.parse**: `true`
|
||||
|
||||
##### Returns
|
||||
|
||||
`Promise`\<`T`\>
|
||||
|
||||
##### Defined in
|
||||
|
||||
[src/Innertube.ts:572](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L572)
|
||||
|
||||
#### call(endpoint, args)
|
||||
|
||||
> **call**(`endpoint`, `args`?): `Promise`\<[`ApiResponse`](../interfaces/ApiResponse.md)\>
|
||||
|
||||
##### Parameters
|
||||
|
||||
• **endpoint**: [`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)
|
||||
|
||||
• **args?**
|
||||
|
||||
• **args.parse?**: `false`
|
||||
|
||||
##### Returns
|
||||
|
||||
`Promise`\<[`ApiResponse`](../interfaces/ApiResponse.md)\>
|
||||
|
||||
##### Defined in
|
||||
|
||||
[src/Innertube.ts:573](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L573)
|
||||
|
||||
***
|
||||
|
||||
### download()
|
||||
|
||||
> **download**(`video_id`, `options`?): `Promise`\<`ReadableStream`\<`Uint8Array`\>\>
|
||||
|
||||
Downloads a given video. If all you need the direct download link, see [getStreamingData](Innertube.md#getstreamingdata).
|
||||
If you wish to retrieve the video info too, have a look at [getBasicInfo](Innertube.md#getbasicinfo) or [getInfo](Innertube.md#getinfo).
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **video\_id**: `string`
|
||||
|
||||
The video id.
|
||||
|
||||
• **options?**: [`DownloadOptions`](../namespaces/Types/interfaces/DownloadOptions.md)
|
||||
|
||||
Download options.
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`ReadableStream`\<`Uint8Array`\>\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:462](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L462)
|
||||
|
||||
***
|
||||
|
||||
### getAttestationChallenge()
|
||||
|
||||
> **getAttestationChallenge**(`engagement_type`, `ids`?): `Promise`\<[`IGetChallengeResponse`](../namespaces/APIResponseTypes/type-aliases/IGetChallengeResponse.md)\>
|
||||
|
||||
Fetches an attestation challenge.
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **engagement\_type**: [`EngagementType`](../namespaces/Types/type-aliases/EngagementType.md)
|
||||
|
||||
• **ids?**: `Record`\<`string`, `any`\>[]
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`IGetChallengeResponse`](../namespaces/APIResponseTypes/type-aliases/IGetChallengeResponse.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:558](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L558)
|
||||
|
||||
***
|
||||
|
||||
### getBasicInfo()
|
||||
|
||||
> **getBasicInfo**(`video_id`, `client`?): `Promise`\<[`VideoInfo`](../namespaces/YT/classes/VideoInfo.md)\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **video\_id**: `string`
|
||||
|
||||
• **client?**: [`InnerTubeClient`](../namespaces/Types/type-aliases/InnerTubeClient.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`VideoInfo`](../namespaces/YT/classes/VideoInfo.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:118](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L118)
|
||||
|
||||
***
|
||||
|
||||
### getChannel()
|
||||
|
||||
> **getChannel**(`id`): `Promise`\<[`Channel`](../namespaces/YT/classes/Channel.md)\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **id**: `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Channel`](../namespaces/YT/classes/Channel.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:381](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L381)
|
||||
|
||||
***
|
||||
|
||||
### getChannelsFeed()
|
||||
|
||||
> **getChannelsFeed**(): `Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:375](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L375)
|
||||
|
||||
***
|
||||
|
||||
### getComments()
|
||||
|
||||
> **getComments**(`video_id`, `sort_by`?, `comment_id`?): `Promise`\<[`Comments`](../namespaces/YT/classes/Comments.md)\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **video\_id**: `string`
|
||||
|
||||
• **sort\_by?**: `"TOP_COMMENTS"` \| `"NEWEST_FIRST"`
|
||||
|
||||
• **comment\_id?**: `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Comments`](../namespaces/YT/classes/Comments.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:296](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L296)
|
||||
|
||||
***
|
||||
|
||||
### getCourses()
|
||||
|
||||
> **getCourses**(): `Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:363](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L363)
|
||||
|
||||
***
|
||||
|
||||
### getGuide()
|
||||
|
||||
> **getGuide**(): `Promise`\<[`Guide`](../namespaces/YT/classes/Guide.md)\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Guide`](../namespaces/YT/classes/Guide.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:340](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L340)
|
||||
|
||||
***
|
||||
|
||||
### getHashtag()
|
||||
|
||||
> **getHashtag**(`hashtag`): `Promise`\<[`HashtagFeed`](../namespaces/YT/classes/HashtagFeed.md)\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **hashtag**: `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`HashtagFeed`](../namespaces/YT/classes/HashtagFeed.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:421](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L421)
|
||||
|
||||
***
|
||||
|
||||
### getHistory()
|
||||
|
||||
> **getHistory**(): `Promise`\<[`History`](../namespaces/YT/classes/History.md)\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`History`](../namespaces/YT/classes/History.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:351](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L351)
|
||||
|
||||
***
|
||||
|
||||
### getHomeFeed()
|
||||
|
||||
> **getHomeFeed**(): `Promise`\<[`HomeFeed`](../namespaces/YT/classes/HomeFeed.md)\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`HomeFeed`](../namespaces/YT/classes/HomeFeed.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:334](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L334)
|
||||
|
||||
***
|
||||
|
||||
### getInfo()
|
||||
|
||||
> **getInfo**(`target`, `client`?): `Promise`\<[`VideoInfo`](../namespaces/YT/classes/VideoInfo.md)\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **target**: `string` \| [`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)
|
||||
|
||||
• **client?**: [`InnerTubeClient`](../namespaces/Types/type-aliases/InnerTubeClient.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`VideoInfo`](../namespaces/YT/classes/VideoInfo.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:73](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L73)
|
||||
|
||||
***
|
||||
|
||||
### getLibrary()
|
||||
|
||||
> **getLibrary**(): `Promise`\<[`Library`](../namespaces/YT/classes/Library.md)\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Library`](../namespaces/YT/classes/Library.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:345](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L345)
|
||||
|
||||
***
|
||||
|
||||
### getNotifications()
|
||||
|
||||
> **getNotifications**(): `Promise`\<[`NotificationsMenu`](../namespaces/YT/classes/NotificationsMenu.md)\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`NotificationsMenu`](../namespaces/YT/classes/NotificationsMenu.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:388](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L388)
|
||||
|
||||
***
|
||||
|
||||
### getPlaylist()
|
||||
|
||||
> **getPlaylist**(`id`): `Promise`\<[`Playlist`](../namespaces/YT/classes/Playlist.md)\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **id**: `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Playlist`](../namespaces/YT/classes/Playlist.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:408](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L408)
|
||||
|
||||
***
|
||||
|
||||
### getPlaylists()
|
||||
|
||||
> **getPlaylists**(): `Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
Retrieves the user's playlists.
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:402](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L402)
|
||||
|
||||
***
|
||||
|
||||
### getPost()
|
||||
|
||||
> **getPost**(`post_id`, `channel_id`): `Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
Gets a post page given a post id and the channel id
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **post\_id**: `string`
|
||||
|
||||
• **channel\_id**: `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:482](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L482)
|
||||
|
||||
***
|
||||
|
||||
### getPostComments()
|
||||
|
||||
> **getPostComments**(`post_id`, `channel_id`, `sort_by`?): `Promise`\<[`Comments`](../namespaces/YT/classes/Comments.md)\>
|
||||
|
||||
Gets the comments of a post.
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **post\_id**: `string`
|
||||
|
||||
• **channel\_id**: `string`
|
||||
|
||||
• **sort\_by?**: `"TOP_COMMENTS"` \| `"NEWEST_FIRST"`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Comments`](../namespaces/YT/classes/Comments.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:506](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L506)
|
||||
|
||||
***
|
||||
|
||||
### getSearchSuggestions()
|
||||
|
||||
> **getSearchSuggestions**(`query`, `previous_query`?): `Promise`\<`string`[]\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **query**: `string`
|
||||
|
||||
• **previous\_query?**: `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`string`[]\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:267](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L267)
|
||||
|
||||
***
|
||||
|
||||
### getShortsVideoInfo()
|
||||
|
||||
> **getShortsVideoInfo**(`video_id`, `client`?): `Promise`\<[`ShortFormVideoInfo`](../namespaces/YTShorts/classes/ShortFormVideoInfo.md)\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **video\_id**: `string`
|
||||
|
||||
• **client?**: [`InnerTubeClient`](../namespaces/Types/type-aliases/InnerTubeClient.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`ShortFormVideoInfo`](../namespaces/YTShorts/classes/ShortFormVideoInfo.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:156](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L156)
|
||||
|
||||
***
|
||||
|
||||
### getStreamingData()
|
||||
|
||||
> **getStreamingData**(`video_id`, `options`): `Promise`\<[`Format`](../namespaces/Misc/classes/Format.md)\>
|
||||
|
||||
An alternative to [download](Innertube.md#download).
|
||||
Returns deciphered streaming data.
|
||||
|
||||
If you wish to retrieve the video info too, have a look at [getBasicInfo](Innertube.md#getbasicinfo) or [getInfo](Innertube.md#getinfo).
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **video\_id**: `string`
|
||||
|
||||
The video id.
|
||||
|
||||
• **options**: [`FormatOptions`](../namespaces/Types/interfaces/FormatOptions.md) = `{}`
|
||||
|
||||
Format options.
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Format`](../namespaces/Misc/classes/Format.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:447](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L447)
|
||||
|
||||
***
|
||||
|
||||
### getSubscriptionsFeed()
|
||||
|
||||
> **getSubscriptionsFeed**(): `Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:369](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L369)
|
||||
|
||||
***
|
||||
|
||||
### getTrending()
|
||||
|
||||
> **getTrending**(): `Promise`\<[`TabbedFeed`](../namespaces/Mixins/classes/TabbedFeed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`TabbedFeed`](../namespaces/Mixins/classes/TabbedFeed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:357](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L357)
|
||||
|
||||
***
|
||||
|
||||
### getUnseenNotificationsCount()
|
||||
|
||||
> **getUnseenNotificationsCount**(): `Promise`\<`number`\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`number`\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:393](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L393)
|
||||
|
||||
***
|
||||
|
||||
### resolveURL()
|
||||
|
||||
> **resolveURL**(`url`): `Promise`\<[`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)\>
|
||||
|
||||
Resolves the given URL.
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **url**: `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:470](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L470)
|
||||
|
||||
***
|
||||
|
||||
### search()
|
||||
|
||||
> **search**(`query`, `filters`): `Promise`\<[`Search`](../namespaces/YT/classes/Search.md)\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **query**: `string`
|
||||
|
||||
• **filters**: [`SearchFilters`](../namespaces/Types/type-aliases/SearchFilters.md) = `{}`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Search`](../namespaces/YT/classes/Search.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:191](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L191)
|
||||
|
||||
***
|
||||
|
||||
### create()
|
||||
|
||||
> `static` **create**(`config`): `Promise`\<[`Innertube`](Innertube.md)\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **config**: [`SessionOptions`](../type-aliases/SessionOptions.md) = `{}`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Innertube`](Innertube.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/Innertube.ts:69](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/Innertube.ts#L69)
|
||||
221
docs/api/classes/ItemSectionContinuation.md
Normal file
221
docs/api/classes/ItemSectionContinuation.md
Normal file
@@ -0,0 +1,221 @@
|
||||
[youtubei.js](../README.md) / ItemSectionContinuation
|
||||
|
||||
# Class: ItemSectionContinuation
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### new ItemSectionContinuation()
|
||||
|
||||
> **new ItemSectionContinuation**(`data`): [`ItemSectionContinuation`](ItemSectionContinuation.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
[`ItemSectionContinuation`](ItemSectionContinuation.md)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:15](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L15)
|
||||
|
||||
## Properties
|
||||
|
||||
### contents
|
||||
|
||||
> **contents**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:12](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L12)
|
||||
|
||||
***
|
||||
|
||||
### continuation?
|
||||
|
||||
> `optional` **continuation**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:13](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L13)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L8)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"itemSectionContinuation"` = `'itemSectionContinuation'`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:10](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L10)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The types to cast to
|
||||
|
||||
#### Returns
|
||||
|
||||
`InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
The node cast to one of the given types
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node is not of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L29)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is ItemSectionContinuation & { [k in string]: R }`
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is ItemSectionContinuation & { [k in string]: R }`
|
||||
|
||||
Whether the node has the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The type to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is InstanceType<K[number]>`
|
||||
|
||||
whether the node is of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L19)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
The value of the key wrapped in a Maybe
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node does not have the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L51)
|
||||
291
docs/api/classes/LiveChatContinuation.md
Normal file
291
docs/api/classes/LiveChatContinuation.md
Normal file
@@ -0,0 +1,291 @@
|
||||
[youtubei.js](../README.md) / LiveChatContinuation
|
||||
|
||||
# Class: LiveChatContinuation
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### new LiveChatContinuation()
|
||||
|
||||
> **new LiveChatContinuation**(`data`): [`LiveChatContinuation`](LiveChatContinuation.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
[`LiveChatContinuation`](LiveChatContinuation.md)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:174](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L174)
|
||||
|
||||
## Properties
|
||||
|
||||
### action\_panel
|
||||
|
||||
> **action\_panel**: `null` \| [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:160](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L160)
|
||||
|
||||
***
|
||||
|
||||
### actions
|
||||
|
||||
> **actions**: [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:159](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L159)
|
||||
|
||||
***
|
||||
|
||||
### continuation
|
||||
|
||||
> **continuation**: [`Continuation`](Continuation.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:171](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L171)
|
||||
|
||||
***
|
||||
|
||||
### emojis
|
||||
|
||||
> **emojis**: `object`[]
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:165](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L165)
|
||||
|
||||
***
|
||||
|
||||
### header
|
||||
|
||||
> **header**: `null` \| [`LiveChatHeader`](../namespaces/YTNodes/classes/LiveChatHeader.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:162](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L162)
|
||||
|
||||
***
|
||||
|
||||
### item\_list
|
||||
|
||||
> **item\_list**: `null` \| [`LiveChatItemList`](../namespaces/YTNodes/classes/LiveChatItemList.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:161](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L161)
|
||||
|
||||
***
|
||||
|
||||
### participants\_list
|
||||
|
||||
> **participants\_list**: `null` \| [`LiveChatParticipantsList`](../namespaces/YTNodes/classes/LiveChatParticipantsList.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:163](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L163)
|
||||
|
||||
***
|
||||
|
||||
### popout\_message
|
||||
|
||||
> **popout\_message**: `null` \| [`Message`](../namespaces/YTNodes/classes/Message.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:164](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L164)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L8)
|
||||
|
||||
***
|
||||
|
||||
### viewer\_name
|
||||
|
||||
> **viewer\_name**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:172](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L172)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"liveChatContinuation"` = `'liveChatContinuation'`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:157](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L157)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The types to cast to
|
||||
|
||||
#### Returns
|
||||
|
||||
`InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
The node cast to one of the given types
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node is not of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L29)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is LiveChatContinuation & { [k in string]: R }`
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is LiveChatContinuation & { [k in string]: R }`
|
||||
|
||||
Whether the node has the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The type to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is InstanceType<K[number]>`
|
||||
|
||||
whether the node is of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L19)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
The value of the key wrapped in a Maybe
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node does not have the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L51)
|
||||
221
docs/api/classes/MusicPlaylistShelfContinuation.md
Normal file
221
docs/api/classes/MusicPlaylistShelfContinuation.md
Normal file
@@ -0,0 +1,221 @@
|
||||
[youtubei.js](../README.md) / MusicPlaylistShelfContinuation
|
||||
|
||||
# Class: MusicPlaylistShelfContinuation
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### new MusicPlaylistShelfContinuation()
|
||||
|
||||
> **new MusicPlaylistShelfContinuation**(`data`): [`MusicPlaylistShelfContinuation`](MusicPlaylistShelfContinuation.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
[`MusicPlaylistShelfContinuation`](MusicPlaylistShelfContinuation.md)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:86](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L86)
|
||||
|
||||
## Properties
|
||||
|
||||
### contents
|
||||
|
||||
> **contents**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:84](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L84)
|
||||
|
||||
***
|
||||
|
||||
### continuation
|
||||
|
||||
> **continuation**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:83](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L83)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L8)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"musicPlaylistShelfContinuation"` = `'musicPlaylistShelfContinuation'`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:81](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L81)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The types to cast to
|
||||
|
||||
#### Returns
|
||||
|
||||
`InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
The node cast to one of the given types
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node is not of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L29)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is MusicPlaylistShelfContinuation & { [k in string]: R }`
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is MusicPlaylistShelfContinuation & { [k in string]: R }`
|
||||
|
||||
Whether the node has the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The type to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is InstanceType<K[number]>`
|
||||
|
||||
whether the node is of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L19)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
The value of the key wrapped in a Maybe
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node does not have the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L51)
|
||||
221
docs/api/classes/MusicShelfContinuation.md
Normal file
221
docs/api/classes/MusicShelfContinuation.md
Normal file
@@ -0,0 +1,221 @@
|
||||
[youtubei.js](../README.md) / MusicShelfContinuation
|
||||
|
||||
# Class: MusicShelfContinuation
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### new MusicShelfContinuation()
|
||||
|
||||
> **new MusicShelfContinuation**(`data`): [`MusicShelfContinuation`](MusicShelfContinuation.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
[`MusicShelfContinuation`](MusicShelfContinuation.md)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:99](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L99)
|
||||
|
||||
## Properties
|
||||
|
||||
### contents
|
||||
|
||||
> **contents**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:97](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L97)
|
||||
|
||||
***
|
||||
|
||||
### continuation
|
||||
|
||||
> **continuation**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:96](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L96)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L8)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"musicShelfContinuation"` = `'musicShelfContinuation'`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:94](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L94)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The types to cast to
|
||||
|
||||
#### Returns
|
||||
|
||||
`InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
The node cast to one of the given types
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node is not of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L29)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is MusicShelfContinuation & { [k in string]: R }`
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is MusicShelfContinuation & { [k in string]: R }`
|
||||
|
||||
Whether the node has the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The type to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is InstanceType<K[number]>`
|
||||
|
||||
whether the node is of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L19)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
The value of the key wrapped in a Maybe
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node does not have the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L51)
|
||||
211
docs/api/classes/NavigateAction.md
Normal file
211
docs/api/classes/NavigateAction.md
Normal file
@@ -0,0 +1,211 @@
|
||||
[youtubei.js](../README.md) / NavigateAction
|
||||
|
||||
# Class: NavigateAction
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### new NavigateAction()
|
||||
|
||||
> **new NavigateAction**(`data`): [`NavigateAction`](NavigateAction.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
[`NavigateAction`](NavigateAction.md)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:29](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L29)
|
||||
|
||||
## Properties
|
||||
|
||||
### endpoint
|
||||
|
||||
> **endpoint**: [`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:27](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L27)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L8)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"navigateAction"` = `'navigateAction'`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:25](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L25)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The types to cast to
|
||||
|
||||
#### Returns
|
||||
|
||||
`InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
The node cast to one of the given types
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node is not of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L29)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is NavigateAction & { [k in string]: R }`
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is NavigateAction & { [k in string]: R }`
|
||||
|
||||
Whether the node has the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The type to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is InstanceType<K[number]>`
|
||||
|
||||
whether the node is of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L19)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
The value of the key wrapped in a Maybe
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node does not have the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L51)
|
||||
251
docs/api/classes/OAuth2.md
Normal file
251
docs/api/classes/OAuth2.md
Normal file
@@ -0,0 +1,251 @@
|
||||
[youtubei.js](../README.md) / OAuth2
|
||||
|
||||
# Class: OAuth2
|
||||
|
||||
## Constructors
|
||||
|
||||
### new OAuth2()
|
||||
|
||||
> **new OAuth2**(`session`): [`OAuth2`](OAuth2.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **session**: [`Session`](Session.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
[`OAuth2`](OAuth2.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/OAuth2.ts:46](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/OAuth2.ts#L46)
|
||||
|
||||
## Properties
|
||||
|
||||
### AUTH\_SERVER\_CODE\_URL
|
||||
|
||||
> **AUTH\_SERVER\_CODE\_URL**: `URL`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/OAuth2.ts:39](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/OAuth2.ts#L39)
|
||||
|
||||
***
|
||||
|
||||
### AUTH\_SERVER\_REVOKE\_TOKEN\_URL
|
||||
|
||||
> **AUTH\_SERVER\_REVOKE\_TOKEN\_URL**: `URL`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/OAuth2.ts:41](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/OAuth2.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
### AUTH\_SERVER\_TOKEN\_URL
|
||||
|
||||
> **AUTH\_SERVER\_TOKEN\_URL**: `URL`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/OAuth2.ts:40](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/OAuth2.ts#L40)
|
||||
|
||||
***
|
||||
|
||||
### client\_id
|
||||
|
||||
> **client\_id**: `undefined` \| [`OAuth2ClientID`](../type-aliases/OAuth2ClientID.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/OAuth2.ts:43](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/OAuth2.ts#L43)
|
||||
|
||||
***
|
||||
|
||||
### oauth2\_tokens
|
||||
|
||||
> **oauth2\_tokens**: `undefined` \| [`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/OAuth2.ts:44](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/OAuth2.ts#L44)
|
||||
|
||||
***
|
||||
|
||||
### YTTV\_URL
|
||||
|
||||
> **YTTV\_URL**: `URL`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/OAuth2.ts:38](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/OAuth2.ts#L38)
|
||||
|
||||
## Methods
|
||||
|
||||
### cacheCredentials()
|
||||
|
||||
> **cacheCredentials**(): `Promise`\<`void`\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`void`\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/OAuth2.ts:105](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/OAuth2.ts#L105)
|
||||
|
||||
***
|
||||
|
||||
### getClientID()
|
||||
|
||||
> **getClientID**(): `Promise`\<[`OAuth2ClientID`](../type-aliases/OAuth2ClientID.md)\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`OAuth2ClientID`](../type-aliases/OAuth2ClientID.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/OAuth2.ts:268](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/OAuth2.ts#L268)
|
||||
|
||||
***
|
||||
|
||||
### getDeviceAndUserCode()
|
||||
|
||||
> **getDeviceAndUserCode**(): `Promise`\<[`DeviceAndUserCode`](../type-aliases/DeviceAndUserCode.md)\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`DeviceAndUserCode`](../type-aliases/DeviceAndUserCode.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/OAuth2.ts:236](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/OAuth2.ts#L236)
|
||||
|
||||
***
|
||||
|
||||
### init()
|
||||
|
||||
> **init**(`tokens`?): `Promise`\<`void`\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **tokens?**: [`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`void`\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/OAuth2.ts:54](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/OAuth2.ts#L54)
|
||||
|
||||
***
|
||||
|
||||
### pollForAccessToken()
|
||||
|
||||
> **pollForAccessToken**(`device_and_user_code`): `void`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **device\_and\_user\_code**: [`DeviceAndUserCode`](../type-aliases/DeviceAndUserCode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/OAuth2.ts:130](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/OAuth2.ts#L130)
|
||||
|
||||
***
|
||||
|
||||
### refreshAccessToken()
|
||||
|
||||
> **refreshAccessToken**(): `Promise`\<`void`\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`void`\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/OAuth2.ts:197](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/OAuth2.ts#L197)
|
||||
|
||||
***
|
||||
|
||||
### removeCache()
|
||||
|
||||
> **removeCache**(): `Promise`\<`void`\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`void`\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/OAuth2.ts:126](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/OAuth2.ts#L126)
|
||||
|
||||
***
|
||||
|
||||
### revokeCredentials()
|
||||
|
||||
> **revokeCredentials**(): `Promise`\<`undefined` \| `Response`\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`undefined` \| `Response`\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/OAuth2.ts:185](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/OAuth2.ts#L185)
|
||||
|
||||
***
|
||||
|
||||
### setTokens()
|
||||
|
||||
> **setTokens**(`tokens`): `void`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **tokens**: [`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/OAuth2.ts:85](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/OAuth2.ts#L85)
|
||||
|
||||
***
|
||||
|
||||
### shouldRefreshToken()
|
||||
|
||||
> **shouldRefreshToken**(): `boolean`
|
||||
|
||||
#### Returns
|
||||
|
||||
`boolean`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/OAuth2.ts:313](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/OAuth2.ts#L313)
|
||||
|
||||
***
|
||||
|
||||
### validateTokens()
|
||||
|
||||
> **validateTokens**(`tokens`): `boolean`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **tokens**: [`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`boolean`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/OAuth2.ts:319](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/OAuth2.ts#L319)
|
||||
45
docs/api/classes/Platform.md
Normal file
45
docs/api/classes/Platform.md
Normal file
@@ -0,0 +1,45 @@
|
||||
[youtubei.js](../README.md) / Platform
|
||||
|
||||
# Class: Platform
|
||||
|
||||
## Constructors
|
||||
|
||||
### new Platform()
|
||||
|
||||
> **new Platform**(): [`Platform`](Platform.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Platform`](Platform.md)
|
||||
|
||||
## Accessors
|
||||
|
||||
### shim
|
||||
|
||||
> `get` `static` **shim**(): [`PlatformShim`](../namespaces/Types/interfaces/PlatformShim.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
[`PlatformShim`](../namespaces/Types/interfaces/PlatformShim.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/utils/Utils.ts:22](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/utils/Utils.ts#L22)
|
||||
|
||||
## Methods
|
||||
|
||||
### load()
|
||||
|
||||
> `static` **load**(`platform`): `void`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **platform**: [`PlatformShim`](../namespaces/Types/interfaces/PlatformShim.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/utils/Utils.ts:18](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/utils/Utils.ts#L18)
|
||||
299
docs/api/classes/Player.md
Normal file
299
docs/api/classes/Player.md
Normal file
@@ -0,0 +1,299 @@
|
||||
[youtubei.js](../README.md) / Player
|
||||
|
||||
# Class: Player
|
||||
|
||||
Represents YouTube's player script. This is required to decipher signatures.
|
||||
|
||||
## Constructors
|
||||
|
||||
### new Player()
|
||||
|
||||
> **new Player**(`player_id`, `signature_timestamp`, `sig_sc`?, `nsig_sc`?): [`Player`](Player.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **player\_id**: `string`
|
||||
|
||||
• **signature\_timestamp**: `number`
|
||||
|
||||
• **sig\_sc?**: `string`
|
||||
|
||||
• **nsig\_sc?**: `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Player`](Player.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Player.ts:26](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Player.ts#L26)
|
||||
|
||||
## Properties
|
||||
|
||||
### nsig\_sc?
|
||||
|
||||
> `optional` **nsig\_sc**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Player.ts:22](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Player.ts#L22)
|
||||
|
||||
***
|
||||
|
||||
### player\_id
|
||||
|
||||
> **player\_id**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Player.ts:20](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Player.ts#L20)
|
||||
|
||||
***
|
||||
|
||||
### po\_token?
|
||||
|
||||
> `optional` **po\_token**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Player.ts:24](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Player.ts#L24)
|
||||
|
||||
***
|
||||
|
||||
### sig\_sc?
|
||||
|
||||
> `optional` **sig\_sc**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Player.ts:23](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Player.ts#L23)
|
||||
|
||||
***
|
||||
|
||||
### sts
|
||||
|
||||
> **sts**: `number`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Player.ts:21](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Player.ts#L21)
|
||||
|
||||
## Accessors
|
||||
|
||||
### url
|
||||
|
||||
> `get` **url**(): `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Player.ts:324](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Player.ts#L324)
|
||||
|
||||
***
|
||||
|
||||
### LIBRARY\_VERSION
|
||||
|
||||
> `get` `static` **LIBRARY\_VERSION**(): `number`
|
||||
|
||||
#### Returns
|
||||
|
||||
`number`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Player.ts:328](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Player.ts#L328)
|
||||
|
||||
## Methods
|
||||
|
||||
### cache()
|
||||
|
||||
> **cache**(`cache`?): `Promise`\<`void`\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **cache?**: [`ICache`](../namespaces/Types/interfaces/ICache.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`void`\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Player.ts:218](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Player.ts#L218)
|
||||
|
||||
***
|
||||
|
||||
### decipher()
|
||||
|
||||
> **decipher**(`url`?, `signature_cipher`?, `cipher`?, `this_response_nsig_cache`?): `string`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **url?**: `string`
|
||||
|
||||
• **signature\_cipher?**: `string`
|
||||
|
||||
• **cipher?**: `string`
|
||||
|
||||
• **this\_response\_nsig\_cache?**: `Map`\<`string`, `string`\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Player.ts:93](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Player.ts#L93)
|
||||
|
||||
***
|
||||
|
||||
### create()
|
||||
|
||||
> `static` **create**(`cache`, `fetch`, `po_token`?, `player_id`?): `Promise`\<[`Player`](Player.md)\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **cache**: `undefined` \| [`ICache`](../namespaces/Types/interfaces/ICache.md)
|
||||
|
||||
• **fetch** = `Platform.shim.fetch`
|
||||
|
||||
• **po\_token?**: `string`
|
||||
|
||||
• **player\_id?**: `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Player`](Player.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Player.ts:33](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Player.ts#L33)
|
||||
|
||||
***
|
||||
|
||||
### extractGlobalVariable()
|
||||
|
||||
> `static` **extractGlobalVariable**(`data`, `ast`): `undefined` \| [`ASTLookupResult`](../namespaces/Utils/type-aliases/ASTLookupResult.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **data**: `string`
|
||||
|
||||
• **ast**: `ExtendNode`\<`Program`\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`undefined` \| [`ASTLookupResult`](../namespaces/Utils/type-aliases/ASTLookupResult.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Player.ts:244](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Player.ts#L244)
|
||||
|
||||
***
|
||||
|
||||
### extractNSigSourceCode()
|
||||
|
||||
> `static` **extractNSigSourceCode**(`data`, `ast`?, `global_variable`?): `undefined` \| `string`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **data**: `string`
|
||||
|
||||
• **ast?**: `ExtendNode`\<`Program`\>
|
||||
|
||||
• **global\_variable?**: [`ASTLookupResult`](../namespaces/Utils/type-aliases/ASTLookupResult.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`undefined` \| `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Player.ts:292](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Player.ts#L292)
|
||||
|
||||
***
|
||||
|
||||
### extractSigSourceCode()
|
||||
|
||||
> `static` **extractSigSourceCode**(`data`, `global_variable`?): `undefined` \| `string`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **data**: `string`
|
||||
|
||||
• **global\_variable?**: [`ASTLookupResult`](../namespaces/Utils/type-aliases/ASTLookupResult.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`undefined` \| `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Player.ts:263](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Player.ts#L263)
|
||||
|
||||
***
|
||||
|
||||
### extractSigTimestamp()
|
||||
|
||||
> `static` **extractSigTimestamp**(`data`): `number`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **data**: `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`number`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Player.ts:240](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Player.ts#L240)
|
||||
|
||||
***
|
||||
|
||||
### fromCache()
|
||||
|
||||
> `static` **fromCache**(`cache`, `player_id`): `Promise`\<`null` \| [`Player`](Player.md)\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **cache**: [`ICache`](../namespaces/Types/interfaces/ICache.md)
|
||||
|
||||
• **player\_id**: `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`null` \| [`Player`](Player.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Player.ts:188](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Player.ts#L188)
|
||||
|
||||
***
|
||||
|
||||
### fromSource()
|
||||
|
||||
> `static` **fromSource**(`player_id`, `sig_timestamp`, `cache`?, `sig_sc`?, `nsig_sc`?): `Promise`\<[`Player`](Player.md)\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **player\_id**: `string`
|
||||
|
||||
• **sig\_timestamp**: `number`
|
||||
|
||||
• **cache?**: [`ICache`](../namespaces/Types/interfaces/ICache.md)
|
||||
|
||||
• **sig\_sc?**: `string`
|
||||
|
||||
• **nsig\_sc?**: `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Player`](Player.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Player.ts:212](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Player.ts#L212)
|
||||
221
docs/api/classes/PlaylistPanelContinuation.md
Normal file
221
docs/api/classes/PlaylistPanelContinuation.md
Normal file
@@ -0,0 +1,221 @@
|
||||
[youtubei.js](../README.md) / PlaylistPanelContinuation
|
||||
|
||||
# Class: PlaylistPanelContinuation
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### new PlaylistPanelContinuation()
|
||||
|
||||
> **new PlaylistPanelContinuation**(`data`): [`PlaylistPanelContinuation`](PlaylistPanelContinuation.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
[`PlaylistPanelContinuation`](PlaylistPanelContinuation.md)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:131](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L131)
|
||||
|
||||
## Properties
|
||||
|
||||
### contents
|
||||
|
||||
> **contents**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:129](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L129)
|
||||
|
||||
***
|
||||
|
||||
### continuation
|
||||
|
||||
> **continuation**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:128](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L128)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L8)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"playlistPanelContinuation"` = `'playlistPanelContinuation'`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:126](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L126)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The types to cast to
|
||||
|
||||
#### Returns
|
||||
|
||||
`InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
The node cast to one of the given types
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node is not of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L29)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is PlaylistPanelContinuation & { [k in string]: R }`
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is PlaylistPanelContinuation & { [k in string]: R }`
|
||||
|
||||
Whether the node has the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The type to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is InstanceType<K[number]>`
|
||||
|
||||
whether the node is of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L19)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
The value of the key wrapped in a Maybe
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node does not have the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L51)
|
||||
231
docs/api/classes/ReloadContinuationItemsCommand.md
Normal file
231
docs/api/classes/ReloadContinuationItemsCommand.md
Normal file
@@ -0,0 +1,231 @@
|
||||
[youtubei.js](../README.md) / ReloadContinuationItemsCommand
|
||||
|
||||
# Class: ReloadContinuationItemsCommand
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### new ReloadContinuationItemsCommand()
|
||||
|
||||
> **new ReloadContinuationItemsCommand**(`data`): [`ReloadContinuationItemsCommand`](ReloadContinuationItemsCommand.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
[`ReloadContinuationItemsCommand`](ReloadContinuationItemsCommand.md)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:57](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L57)
|
||||
|
||||
## Properties
|
||||
|
||||
### contents
|
||||
|
||||
> **contents**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:54](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L54)
|
||||
|
||||
***
|
||||
|
||||
### slot?
|
||||
|
||||
> `optional` **slot**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:55](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L55)
|
||||
|
||||
***
|
||||
|
||||
### target\_id
|
||||
|
||||
> **target\_id**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:53](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L53)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L8)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"reloadContinuationItemsCommand"` = `'reloadContinuationItemsCommand'`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:51](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L51)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The types to cast to
|
||||
|
||||
#### Returns
|
||||
|
||||
`InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
The node cast to one of the given types
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node is not of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L29)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is ReloadContinuationItemsCommand & { [k in string]: R }`
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is ReloadContinuationItemsCommand & { [k in string]: R }`
|
||||
|
||||
Whether the node has the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The type to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is InstanceType<K[number]>`
|
||||
|
||||
whether the node is of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L19)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
The value of the key wrapped in a Maybe
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node does not have the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L51)
|
||||
221
docs/api/classes/SectionListContinuation.md
Normal file
221
docs/api/classes/SectionListContinuation.md
Normal file
@@ -0,0 +1,221 @@
|
||||
[youtubei.js](../README.md) / SectionListContinuation
|
||||
|
||||
# Class: SectionListContinuation
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### new SectionListContinuation()
|
||||
|
||||
> **new SectionListContinuation**(`data`): [`SectionListContinuation`](SectionListContinuation.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
[`SectionListContinuation`](SectionListContinuation.md)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:71](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L71)
|
||||
|
||||
## Properties
|
||||
|
||||
### contents
|
||||
|
||||
> **contents**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:69](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L69)
|
||||
|
||||
***
|
||||
|
||||
### continuation
|
||||
|
||||
> **continuation**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:68](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L68)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L8)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"sectionListContinuation"` = `'sectionListContinuation'`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:66](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L66)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The types to cast to
|
||||
|
||||
#### Returns
|
||||
|
||||
`InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
The node cast to one of the given types
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node is not of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L29)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is SectionListContinuation & { [k in string]: R }`
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is SectionListContinuation & { [k in string]: R }`
|
||||
|
||||
Whether the node has the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The type to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is InstanceType<K[number]>`
|
||||
|
||||
whether the node is of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L19)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
The value of the key wrapped in a Maybe
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node does not have the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L51)
|
||||
685
docs/api/classes/Session.md
Normal file
685
docs/api/classes/Session.md
Normal file
@@ -0,0 +1,685 @@
|
||||
[youtubei.js](../README.md) / Session
|
||||
|
||||
# Class: Session
|
||||
|
||||
Represents an InnerTube session. This holds all the data needed to make requests to YouTube.
|
||||
|
||||
## Extends
|
||||
|
||||
- [`EventEmitter`](EventEmitter.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### new Session()
|
||||
|
||||
> **new Session**(`context`, `api_key`, `api_version`, `account_index`, `config_data`?, `player`?, `cookie`?, `fetch`?, `cache`?, `po_token`?): [`Session`](Session.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **context**: [`Context`](../type-aliases/Context.md)
|
||||
|
||||
• **api\_key**: `string`
|
||||
|
||||
• **api\_version**: `string`
|
||||
|
||||
• **account\_index**: `number`
|
||||
|
||||
• **config\_data?**: `string`
|
||||
|
||||
• **player?**: [`Player`](Player.md)
|
||||
|
||||
• **cookie?**: `string`
|
||||
|
||||
• **fetch?**
|
||||
|
||||
• **cache?**: [`ICache`](../namespaces/Types/interfaces/ICache.md)
|
||||
|
||||
• **po\_token?**: `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Session`](Session.md)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`EventEmitter`](EventEmitter.md).[`constructor`](EventEmitter.md#constructors)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:254](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L254)
|
||||
|
||||
## Properties
|
||||
|
||||
### account\_index
|
||||
|
||||
> **account\_index**: `number`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:258](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L258)
|
||||
|
||||
***
|
||||
|
||||
### actions
|
||||
|
||||
> **actions**: [`Actions`](Actions.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:251](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L251)
|
||||
|
||||
***
|
||||
|
||||
### api\_key
|
||||
|
||||
> **api\_key**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:256](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L256)
|
||||
|
||||
***
|
||||
|
||||
### api\_version
|
||||
|
||||
> **api\_version**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:257](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L257)
|
||||
|
||||
***
|
||||
|
||||
### cache?
|
||||
|
||||
> `optional` **cache**: [`ICache`](../namespaces/Types/interfaces/ICache.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:263](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L263)
|
||||
|
||||
***
|
||||
|
||||
### config\_data?
|
||||
|
||||
> `optional` **config\_data**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:259](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L259)
|
||||
|
||||
***
|
||||
|
||||
### context
|
||||
|
||||
> **context**: [`Context`](../type-aliases/Context.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:255](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L255)
|
||||
|
||||
***
|
||||
|
||||
### cookie?
|
||||
|
||||
> `optional` **cookie**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:261](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L261)
|
||||
|
||||
***
|
||||
|
||||
### http
|
||||
|
||||
> **http**: [`HTTPClient`](HTTPClient.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:249](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L249)
|
||||
|
||||
***
|
||||
|
||||
### logged\_in
|
||||
|
||||
> **logged\_in**: `boolean`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:250](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L250)
|
||||
|
||||
***
|
||||
|
||||
### oauth
|
||||
|
||||
> **oauth**: [`OAuth2`](OAuth2.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:248](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L248)
|
||||
|
||||
***
|
||||
|
||||
### player?
|
||||
|
||||
> `optional` **player**: [`Player`](Player.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:260](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L260)
|
||||
|
||||
***
|
||||
|
||||
### po\_token?
|
||||
|
||||
> `optional` **po\_token**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:264](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L264)
|
||||
|
||||
***
|
||||
|
||||
### user\_agent?
|
||||
|
||||
> `optional` **user\_agent**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:252](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L252)
|
||||
|
||||
## Accessors
|
||||
|
||||
### client\_name
|
||||
|
||||
> `get` **client\_name**(): `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:686](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L686)
|
||||
|
||||
***
|
||||
|
||||
### client\_version
|
||||
|
||||
> `get` **client\_version**(): `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:682](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L682)
|
||||
|
||||
***
|
||||
|
||||
### lang
|
||||
|
||||
> `get` **lang**(): `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:690](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L690)
|
||||
|
||||
## Methods
|
||||
|
||||
### addEventListener()
|
||||
|
||||
> **addEventListener**(`type`, `callback`, `options`?): `void`
|
||||
|
||||
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
|
||||
|
||||
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
|
||||
|
||||
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
|
||||
|
||||
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
|
||||
|
||||
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
|
||||
|
||||
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
|
||||
|
||||
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
|
||||
|
||||
[MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **type**: `string`
|
||||
|
||||
• **callback**: `null` \| `EventListenerOrEventListenerObject`
|
||||
|
||||
• **options?**: `boolean` \| `AddEventListenerOptions`
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`EventEmitter`](EventEmitter.md).[`addEventListener`](EventEmitter.md#addeventlistener)
|
||||
|
||||
#### Defined in
|
||||
|
||||
node\_modules/typescript/lib/lib.dom.d.ts:8256
|
||||
|
||||
***
|
||||
|
||||
### dispatchEvent()
|
||||
|
||||
> **dispatchEvent**(`event`): `boolean`
|
||||
|
||||
Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
|
||||
|
||||
[MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **event**: `Event`
|
||||
|
||||
#### Returns
|
||||
|
||||
`boolean`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`EventEmitter`](EventEmitter.md).[`dispatchEvent`](EventEmitter.md#dispatchevent)
|
||||
|
||||
#### Defined in
|
||||
|
||||
node\_modules/typescript/lib/lib.dom.d.ts:8262
|
||||
|
||||
***
|
||||
|
||||
### emit()
|
||||
|
||||
> **emit**(`type`, ...`args`): `void`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **type**: `string`
|
||||
|
||||
• ...**args**: `any`[]
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`EventEmitter`](EventEmitter.md).[`emit`](EventEmitter.md#emit)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/utils/EventEmitterLike.ts:10](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/utils/EventEmitterLike.ts#L10)
|
||||
|
||||
***
|
||||
|
||||
### off()
|
||||
|
||||
> **off**(`type`, `listener`): `void`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **type**: `string`
|
||||
|
||||
• **listener**
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`EventEmitter`](EventEmitter.md).[`off`](EventEmitter.md#off)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/utils/EventEmitterLike.ts:40](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/utils/EventEmitterLike.ts#L40)
|
||||
|
||||
***
|
||||
|
||||
### on()
|
||||
|
||||
#### on(type, listener)
|
||||
|
||||
> **on**(`type`, `listener`): `void`
|
||||
|
||||
##### Parameters
|
||||
|
||||
• **type**: `"auth"`
|
||||
|
||||
• **listener**: [`OAuth2AuthEventHandler`](../type-aliases/OAuth2AuthEventHandler.md)
|
||||
|
||||
##### Returns
|
||||
|
||||
`void`
|
||||
|
||||
##### Overrides
|
||||
|
||||
[`EventEmitter`](EventEmitter.md).[`on`](EventEmitter.md#on)
|
||||
|
||||
##### Defined in
|
||||
|
||||
[src/core/Session.ts:274](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L274)
|
||||
|
||||
#### on(type, listener)
|
||||
|
||||
> **on**(`type`, `listener`): `void`
|
||||
|
||||
##### Parameters
|
||||
|
||||
• **type**: `"auth-pending"`
|
||||
|
||||
• **listener**: [`OAuth2AuthPendingEventHandler`](../type-aliases/OAuth2AuthPendingEventHandler.md)
|
||||
|
||||
##### Returns
|
||||
|
||||
`void`
|
||||
|
||||
##### Overrides
|
||||
|
||||
`EventEmitter.on`
|
||||
|
||||
##### Defined in
|
||||
|
||||
[src/core/Session.ts:275](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L275)
|
||||
|
||||
#### on(type, listener)
|
||||
|
||||
> **on**(`type`, `listener`): `void`
|
||||
|
||||
##### Parameters
|
||||
|
||||
• **type**: `"auth-error"`
|
||||
|
||||
• **listener**: [`OAuth2AuthErrorEventHandler`](../type-aliases/OAuth2AuthErrorEventHandler.md)
|
||||
|
||||
##### Returns
|
||||
|
||||
`void`
|
||||
|
||||
##### Overrides
|
||||
|
||||
`EventEmitter.on`
|
||||
|
||||
##### Defined in
|
||||
|
||||
[src/core/Session.ts:276](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L276)
|
||||
|
||||
#### on(type, listener)
|
||||
|
||||
> **on**(`type`, `listener`): `void`
|
||||
|
||||
##### Parameters
|
||||
|
||||
• **type**: `"update-credentials"`
|
||||
|
||||
• **listener**: [`OAuth2AuthEventHandler`](../type-aliases/OAuth2AuthEventHandler.md)
|
||||
|
||||
##### Returns
|
||||
|
||||
`void`
|
||||
|
||||
##### Overrides
|
||||
|
||||
`EventEmitter.on`
|
||||
|
||||
##### Defined in
|
||||
|
||||
[src/core/Session.ts:277](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L277)
|
||||
|
||||
***
|
||||
|
||||
### once()
|
||||
|
||||
#### once(type, listener)
|
||||
|
||||
> **once**(`type`, `listener`): `void`
|
||||
|
||||
##### Parameters
|
||||
|
||||
• **type**: `"auth"`
|
||||
|
||||
• **listener**: [`OAuth2AuthEventHandler`](../type-aliases/OAuth2AuthEventHandler.md)
|
||||
|
||||
##### Returns
|
||||
|
||||
`void`
|
||||
|
||||
##### Overrides
|
||||
|
||||
[`EventEmitter`](EventEmitter.md).[`once`](EventEmitter.md#once)
|
||||
|
||||
##### Defined in
|
||||
|
||||
[src/core/Session.ts:283](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L283)
|
||||
|
||||
#### once(type, listener)
|
||||
|
||||
> **once**(`type`, `listener`): `void`
|
||||
|
||||
##### Parameters
|
||||
|
||||
• **type**: `"auth-pending"`
|
||||
|
||||
• **listener**: [`OAuth2AuthPendingEventHandler`](../type-aliases/OAuth2AuthPendingEventHandler.md)
|
||||
|
||||
##### Returns
|
||||
|
||||
`void`
|
||||
|
||||
##### Overrides
|
||||
|
||||
`EventEmitter.once`
|
||||
|
||||
##### Defined in
|
||||
|
||||
[src/core/Session.ts:284](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L284)
|
||||
|
||||
#### once(type, listener)
|
||||
|
||||
> **once**(`type`, `listener`): `void`
|
||||
|
||||
##### Parameters
|
||||
|
||||
• **type**: `"auth-error"`
|
||||
|
||||
• **listener**: [`OAuth2AuthErrorEventHandler`](../type-aliases/OAuth2AuthErrorEventHandler.md)
|
||||
|
||||
##### Returns
|
||||
|
||||
`void`
|
||||
|
||||
##### Overrides
|
||||
|
||||
`EventEmitter.once`
|
||||
|
||||
##### Defined in
|
||||
|
||||
[src/core/Session.ts:285](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L285)
|
||||
|
||||
***
|
||||
|
||||
### removeEventListener()
|
||||
|
||||
> **removeEventListener**(`type`, `callback`, `options`?): `void`
|
||||
|
||||
Removes the event listener in target's event listener list with the same type, callback, and options.
|
||||
|
||||
[MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **type**: `string`
|
||||
|
||||
• **callback**: `null` \| `EventListenerOrEventListenerObject`
|
||||
|
||||
• **options?**: `boolean` \| `EventListenerOptions`
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`EventEmitter`](EventEmitter.md).[`removeEventListener`](EventEmitter.md#removeeventlistener)
|
||||
|
||||
#### Defined in
|
||||
|
||||
node\_modules/typescript/lib/lib.dom.d.ts:8268
|
||||
|
||||
***
|
||||
|
||||
### signIn()
|
||||
|
||||
> **signIn**(`credentials`?): `Promise`\<`void`\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **credentials?**: [`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`void`\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:649](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L649)
|
||||
|
||||
***
|
||||
|
||||
### signOut()
|
||||
|
||||
> **signOut**(): `Promise`\<`undefined` \| `Response`\>
|
||||
|
||||
Signs out of the current account and revokes the credentials.
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`undefined` \| `Response`\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:672](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L672)
|
||||
|
||||
***
|
||||
|
||||
### create()
|
||||
|
||||
> `static` **create**(`options`): `Promise`\<[`Session`](Session.md)\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **options**: [`SessionOptions`](../type-aliases/SessionOptions.md) = `{}`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Session`](Session.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:291](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L291)
|
||||
|
||||
***
|
||||
|
||||
### fromCache()
|
||||
|
||||
> `static` **fromCache**(`cache`, `session_args`): `Promise`\<`null` \| [`SessionData`](../type-aliases/SessionData.md)\>
|
||||
|
||||
Retrieves session data from cache.
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **cache**: [`ICache`](../namespaces/Types/interfaces/ICache.md)
|
||||
|
||||
A valid cache implementation.
|
||||
|
||||
• **session\_args**: [`SessionArgs`](../type-aliases/SessionArgs.md)
|
||||
|
||||
User provided session arguments.
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`null` \| [`SessionData`](../type-aliases/SessionData.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:323](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L323)
|
||||
|
||||
***
|
||||
|
||||
### getSessionData()
|
||||
|
||||
> `static` **getSessionData**(`lang`, `location`, `account_index`, `visitor_data`, `user_agent`, `enable_safety_mode`, `generate_session_locally`, `device_category`, `client_name`, `tz`, `fetch`, `on_behalf_of_user`?, `cache`?, `enable_session_cache`?, `po_token`?, `retrieve_innertube_config`?): `Promise`\<`object`\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **lang**: `string` = `''`
|
||||
|
||||
• **location**: `string` = `''`
|
||||
|
||||
• **account\_index**: `number` = `0`
|
||||
|
||||
• **visitor\_data**: `string` = `''`
|
||||
|
||||
• **user\_agent**: `string` = `...`
|
||||
|
||||
• **enable\_safety\_mode**: `boolean` = `false`
|
||||
|
||||
• **generate\_session\_locally**: `boolean` = `false`
|
||||
|
||||
• **device\_category**: [`DeviceCategory`](../namespaces/Utils/type-aliases/DeviceCategory.md) = `'desktop'`
|
||||
|
||||
• **client\_name**: [`ClientType`](../enumerations/ClientType.md) = `ClientType.WEB`
|
||||
|
||||
• **tz**: `string` = `...`
|
||||
|
||||
• **fetch** = `Platform.shim.fetch`
|
||||
|
||||
• **on\_behalf\_of\_user?**: `string`
|
||||
|
||||
• **cache?**: [`ICache`](../namespaces/Types/interfaces/ICache.md)
|
||||
|
||||
• **enable\_session\_cache?**: `boolean` = `true`
|
||||
|
||||
• **po\_token?**: `string`
|
||||
|
||||
• **retrieve\_innertube\_config?**: `boolean` = `true`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`object`\>
|
||||
|
||||
##### account\_index
|
||||
|
||||
> **account\_index**: `number`
|
||||
|
||||
##### api\_key
|
||||
|
||||
> **api\_key**: `string`
|
||||
|
||||
##### api\_version
|
||||
|
||||
> **api\_version**: `string`
|
||||
|
||||
##### config\_data?
|
||||
|
||||
> `optional` **config\_data**: `string`
|
||||
|
||||
##### context
|
||||
|
||||
> **context**: [`Context`](../type-aliases/Context.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:373](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L373)
|
||||
221
docs/api/classes/ShowMiniplayerCommand.md
Normal file
221
docs/api/classes/ShowMiniplayerCommand.md
Normal file
@@ -0,0 +1,221 @@
|
||||
[youtubei.js](../README.md) / ShowMiniplayerCommand
|
||||
|
||||
# Class: ShowMiniplayerCommand
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### new ShowMiniplayerCommand()
|
||||
|
||||
> **new ShowMiniplayerCommand**(`data`): [`ShowMiniplayerCommand`](ShowMiniplayerCommand.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
[`ShowMiniplayerCommand`](ShowMiniplayerCommand.md)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:41](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L41)
|
||||
|
||||
## Properties
|
||||
|
||||
### miniplayer\_command
|
||||
|
||||
> **miniplayer\_command**: [`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:38](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L38)
|
||||
|
||||
***
|
||||
|
||||
### show\_premium\_branding
|
||||
|
||||
> **show\_premium\_branding**: `boolean`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:39](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L39)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L8)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"showMiniplayerCommand"` = `'showMiniplayerCommand'`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/continuations.ts:36](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/continuations.ts#L36)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The types to cast to
|
||||
|
||||
#### Returns
|
||||
|
||||
`InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
The node cast to one of the given types
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node is not of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L29)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is ShowMiniplayerCommand & { [k in string]: R }`
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is ShowMiniplayerCommand & { [k in string]: R }`
|
||||
|
||||
Whether the node has the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
• **K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
|
||||
|
||||
#### Parameters
|
||||
|
||||
• ...**types**: `K`
|
||||
|
||||
The type to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is InstanceType<K[number]>`
|
||||
|
||||
whether the node is of the given type
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L19)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
• **T** *extends* `string`
|
||||
|
||||
• **R** = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
The value of the key wrapped in a Maybe
|
||||
|
||||
#### Throws
|
||||
|
||||
If the node does not have the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/helpers.ts#L51)
|
||||
113
docs/api/classes/UniversalCache.md
Normal file
113
docs/api/classes/UniversalCache.md
Normal file
@@ -0,0 +1,113 @@
|
||||
[youtubei.js](../README.md) / UniversalCache
|
||||
|
||||
# Class: UniversalCache
|
||||
|
||||
## Implements
|
||||
|
||||
- [`ICache`](../namespaces/Types/interfaces/ICache.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### new UniversalCache()
|
||||
|
||||
> **new UniversalCache**(`persistent`, `persistent_directory`?): [`UniversalCache`](UniversalCache.md)
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **persistent**: `boolean`
|
||||
|
||||
• **persistent\_directory?**: `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
[`UniversalCache`](UniversalCache.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/utils/Cache.ts:6](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/utils/Cache.ts#L6)
|
||||
|
||||
## Accessors
|
||||
|
||||
### cache\_dir
|
||||
|
||||
> `get` **cache\_dir**(): `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`string`
|
||||
|
||||
#### Implementation of
|
||||
|
||||
[`ICache`](../namespaces/Types/interfaces/ICache.md).[`cache_dir`](../namespaces/Types/interfaces/ICache.md#cache_dir)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/utils/Cache.ts:9](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/utils/Cache.ts#L9)
|
||||
|
||||
## Methods
|
||||
|
||||
### get()
|
||||
|
||||
> **get**(`key`): `Promise`\<`undefined` \| `ArrayBuffer`\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`undefined` \| `ArrayBuffer`\>
|
||||
|
||||
#### Implementation of
|
||||
|
||||
[`ICache`](../namespaces/Types/interfaces/ICache.md).[`get`](../namespaces/Types/interfaces/ICache.md#get)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/utils/Cache.ts:12](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/utils/Cache.ts#L12)
|
||||
|
||||
***
|
||||
|
||||
### remove()
|
||||
|
||||
> **remove**(`key`): `Promise`\<`void`\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`void`\>
|
||||
|
||||
#### Implementation of
|
||||
|
||||
[`ICache`](../namespaces/Types/interfaces/ICache.md).[`remove`](../namespaces/Types/interfaces/ICache.md#remove)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/utils/Cache.ts:18](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/utils/Cache.ts#L18)
|
||||
|
||||
***
|
||||
|
||||
### set()
|
||||
|
||||
> **set**(`key`, `value`): `Promise`\<`void`\>
|
||||
|
||||
#### Parameters
|
||||
|
||||
• **key**: `string`
|
||||
|
||||
• **value**: `ArrayBuffer`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`void`\>
|
||||
|
||||
#### Implementation of
|
||||
|
||||
[`ICache`](../namespaces/Types/interfaces/ICache.md).[`set`](../namespaces/Types/interfaces/ICache.md#set)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/utils/Cache.ts:15](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/utils/Cache.ts#L15)
|
||||
133
docs/api/enumerations/ClientType.md
Normal file
133
docs/api/enumerations/ClientType.md
Normal file
@@ -0,0 +1,133 @@
|
||||
[youtubei.js](../README.md) / ClientType
|
||||
|
||||
# Enumeration: ClientType
|
||||
|
||||
## Enumeration Members
|
||||
|
||||
### ANDROID
|
||||
|
||||
> **ANDROID**: `"ANDROID"`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:28](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L28)
|
||||
|
||||
***
|
||||
|
||||
### ANDROID\_CREATOR
|
||||
|
||||
> **ANDROID\_CREATOR**: `"ANDROID_CREATOR"`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:30](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L30)
|
||||
|
||||
***
|
||||
|
||||
### ANDROID\_MUSIC
|
||||
|
||||
> **ANDROID\_MUSIC**: `"ANDROID_MUSIC"`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:29](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L29)
|
||||
|
||||
***
|
||||
|
||||
### IOS
|
||||
|
||||
> **IOS**: `"iOS"`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:27](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L27)
|
||||
|
||||
***
|
||||
|
||||
### KIDS
|
||||
|
||||
> **KIDS**: `"WEB_KIDS"`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:25](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L25)
|
||||
|
||||
***
|
||||
|
||||
### MUSIC
|
||||
|
||||
> **MUSIC**: `"WEB_REMIX"`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:26](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L26)
|
||||
|
||||
***
|
||||
|
||||
### MWEB
|
||||
|
||||
> **MWEB**: `"MWEB"`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:24](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L24)
|
||||
|
||||
***
|
||||
|
||||
### TV
|
||||
|
||||
> **TV**: `"TVHTML5"`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:31](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L31)
|
||||
|
||||
***
|
||||
|
||||
### TV\_EMBEDDED
|
||||
|
||||
> **TV\_EMBEDDED**: `"TVHTML5_SIMPLY_EMBEDDED_PLAYER"`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:33](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L33)
|
||||
|
||||
***
|
||||
|
||||
### TV\_SIMPLY
|
||||
|
||||
> **TV\_SIMPLY**: `"TVHTML5_SIMPLY"`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:32](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L32)
|
||||
|
||||
***
|
||||
|
||||
### WEB
|
||||
|
||||
> **WEB**: `"WEB"`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:23](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L23)
|
||||
|
||||
***
|
||||
|
||||
### WEB\_CREATOR
|
||||
|
||||
> **WEB\_CREATOR**: `"WEB_CREATOR"`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:35](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L35)
|
||||
|
||||
***
|
||||
|
||||
### WEB\_EMBEDDED
|
||||
|
||||
> **WEB\_EMBEDDED**: `"WEB_EMBEDDED_PLAYER"`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Session.ts:34](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Session.ts#L34)
|
||||
33
docs/api/interfaces/ApiResponse.md
Normal file
33
docs/api/interfaces/ApiResponse.md
Normal file
@@ -0,0 +1,33 @@
|
||||
[youtubei.js](../README.md) / ApiResponse
|
||||
|
||||
# Interface: ApiResponse
|
||||
|
||||
## Properties
|
||||
|
||||
### data
|
||||
|
||||
> **data**: [`IRawResponse`](../namespaces/APIResponseTypes/interfaces/IRawResponse.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Actions.ts:21](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Actions.ts#L21)
|
||||
|
||||
***
|
||||
|
||||
### status\_code
|
||||
|
||||
> **status\_code**: `number`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Actions.ts:20](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Actions.ts#L20)
|
||||
|
||||
***
|
||||
|
||||
### success
|
||||
|
||||
> **success**: `boolean`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/core/Actions.ts:19](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/core/Actions.ts#L19)
|
||||
13
docs/api/interfaces/HTTPClientInit.md
Normal file
13
docs/api/interfaces/HTTPClientInit.md
Normal file
@@ -0,0 +1,13 @@
|
||||
[youtubei.js](../README.md) / HTTPClientInit
|
||||
|
||||
# Interface: HTTPClientInit
|
||||
|
||||
## Properties
|
||||
|
||||
### baseURL?
|
||||
|
||||
> `optional` **baseURL**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/utils/HTTPClient.ts:14](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/utils/HTTPClient.ts#L14)
|
||||
63
docs/api/namespaces/APIResponseTypes/README.md
Normal file
63
docs/api/namespaces/APIResponseTypes/README.md
Normal file
@@ -0,0 +1,63 @@
|
||||
[youtubei.js](../../README.md) / APIResponseTypes
|
||||
|
||||
# APIResponseTypes
|
||||
|
||||
## Index
|
||||
|
||||
### Interfaces
|
||||
|
||||
- [IBotguardChallenge](interfaces/IBotguardChallenge.md)
|
||||
- [IEndpoint](interfaces/IEndpoint.md)
|
||||
- [IParsedResponse](interfaces/IParsedResponse.md)
|
||||
- [IPlayabilityStatus](interfaces/IPlayabilityStatus.md)
|
||||
- [IPlaybackTracking](interfaces/IPlaybackTracking.md)
|
||||
- [IPlayerConfig](interfaces/IPlayerConfig.md)
|
||||
- [IRawBotguardChallenge](interfaces/IRawBotguardChallenge.md)
|
||||
- [IRawPlayerConfig](interfaces/IRawPlayerConfig.md)
|
||||
- [IRawResponse](interfaces/IRawResponse.md)
|
||||
- [IRawTrustedResource](interfaces/IRawTrustedResource.md)
|
||||
- [IStreamingData](interfaces/IStreamingData.md)
|
||||
- [ITrustedResource](interfaces/ITrustedResource.md)
|
||||
|
||||
### Type Aliases
|
||||
|
||||
- [AddToPlaylistServiceRequest](type-aliases/AddToPlaylistServiceRequest.md)
|
||||
- [BrowseRequest](type-aliases/BrowseRequest.md)
|
||||
- [BrowseRequestSupportedMetadata](type-aliases/BrowseRequestSupportedMetadata.md)
|
||||
- [ContinuationRequest](type-aliases/ContinuationRequest.md)
|
||||
- [CreateCommentRequest](type-aliases/CreateCommentRequest.md)
|
||||
- [CreatePlaylistServiceRequest](type-aliases/CreatePlaylistServiceRequest.md)
|
||||
- [DeletePlaylistServiceRequest](type-aliases/DeletePlaylistServiceRequest.md)
|
||||
- [FeedbackContext](type-aliases/FeedbackContext.md)
|
||||
- [FeedbackRequest](type-aliases/FeedbackRequest.md)
|
||||
- [FormData](type-aliases/FormData.md)
|
||||
- [GetAccountsListInnertubeRequest](type-aliases/GetAccountsListInnertubeRequest.md)
|
||||
- [GetKidsBlocklistPickerRequest](type-aliases/GetKidsBlocklistPickerRequest.md)
|
||||
- [IBrowseResponse](type-aliases/IBrowseResponse.md)
|
||||
- [IGetChallengeResponse](type-aliases/IGetChallengeResponse.md)
|
||||
- [IGetNotificationsMenuResponse](type-aliases/IGetNotificationsMenuResponse.md)
|
||||
- [IGetTranscriptResponse](type-aliases/IGetTranscriptResponse.md)
|
||||
- [IGuideResponse](type-aliases/IGuideResponse.md)
|
||||
- [INextResponse](type-aliases/INextResponse.md)
|
||||
- [InlineSettingStatus](type-aliases/InlineSettingStatus.md)
|
||||
- [IPlayerResponse](type-aliases/IPlayerResponse.md)
|
||||
- [IResolveURLResponse](type-aliases/IResolveURLResponse.md)
|
||||
- [ISearchResponse](type-aliases/ISearchResponse.md)
|
||||
- [IUpdatedMetadataResponse](type-aliases/IUpdatedMetadataResponse.md)
|
||||
- [LikeRequest](type-aliases/LikeRequest.md)
|
||||
- [LikeTarget](type-aliases/LikeTarget.md)
|
||||
- [LiveChatItemContextMenuRequest](type-aliases/LiveChatItemContextMenuRequest.md)
|
||||
- [ModifyChannelNotificationPreferenceRequest](type-aliases/ModifyChannelNotificationPreferenceRequest.md)
|
||||
- [NextNavendpoint](type-aliases/NextNavendpoint.md)
|
||||
- [PerformCommentActionRequest](type-aliases/PerformCommentActionRequest.md)
|
||||
- [PlaylistEditRequest](type-aliases/PlaylistEditRequest.md)
|
||||
- [PlaylistPrivacyStatus](type-aliases/PlaylistPrivacyStatus.md)
|
||||
- [RawData](type-aliases/RawData.md)
|
||||
- [RawNode](type-aliases/RawNode.md)
|
||||
- [ReelWatchRequest](type-aliases/ReelWatchRequest.md)
|
||||
- [SearchRequest](type-aliases/SearchRequest.md)
|
||||
- [ShareEntityServiceRequest](type-aliases/ShareEntityServiceRequest.md)
|
||||
- [SubscribeRequest](type-aliases/SubscribeRequest.md)
|
||||
- [UnsubscribeRequest](type-aliases/UnsubscribeRequest.md)
|
||||
- [WatchNextRequest](type-aliases/WatchNextRequest.md)
|
||||
- [WatchRequest](type-aliases/WatchRequest.md)
|
||||
@@ -0,0 +1,53 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IBotguardChallenge
|
||||
|
||||
# Interface: IBotguardChallenge
|
||||
|
||||
## Properties
|
||||
|
||||
### client\_experiments\_state\_blob
|
||||
|
||||
> **client\_experiments\_state\_blob**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:96](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L96)
|
||||
|
||||
***
|
||||
|
||||
### global\_name
|
||||
|
||||
> **global\_name**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:95](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L95)
|
||||
|
||||
***
|
||||
|
||||
### interpreter\_hash
|
||||
|
||||
> **interpreter\_hash**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:93](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L93)
|
||||
|
||||
***
|
||||
|
||||
### interpreter\_url
|
||||
|
||||
> **interpreter\_url**: [`ITrustedResource`](ITrustedResource.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:92](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L92)
|
||||
|
||||
***
|
||||
|
||||
### program
|
||||
|
||||
> **program**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:94](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L94)
|
||||
35
docs/api/namespaces/APIResponseTypes/interfaces/IEndpoint.md
Normal file
35
docs/api/namespaces/APIResponseTypes/interfaces/IEndpoint.md
Normal file
@@ -0,0 +1,35 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IEndpoint
|
||||
|
||||
# Interface: IEndpoint\<T\>
|
||||
|
||||
## Type Parameters
|
||||
|
||||
• **T** = `any`
|
||||
|
||||
## Methods
|
||||
|
||||
### buildRequest()
|
||||
|
||||
> **buildRequest**(): `T`
|
||||
|
||||
#### Returns
|
||||
|
||||
`T`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:3](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L3)
|
||||
|
||||
***
|
||||
|
||||
### getApiPath()
|
||||
|
||||
> **getApiPath**(): `string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:2](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L2)
|
||||
@@ -0,0 +1,521 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IParsedResponse
|
||||
|
||||
# Interface: IParsedResponse
|
||||
|
||||
## Properties
|
||||
|
||||
### actions?
|
||||
|
||||
> `optional` **actions**: [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../../Helpers/classes/YTNode.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:29](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L29)
|
||||
|
||||
***
|
||||
|
||||
### actions\_memo?
|
||||
|
||||
> `optional` **actions\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:30](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L30)
|
||||
|
||||
***
|
||||
|
||||
### alerts?
|
||||
|
||||
> `optional` **alerts**: [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Alert`](../../YTNodes/classes/Alert.md) \| [`AlertWithButton`](../../YTNodes/classes/AlertWithButton.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:53](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L53)
|
||||
|
||||
***
|
||||
|
||||
### annotations?
|
||||
|
||||
> `optional` **annotations**: [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`PlayerAnnotationsExpanded`](../../YTNodes/classes/PlayerAnnotationsExpanded.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:65](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L65)
|
||||
|
||||
***
|
||||
|
||||
### background?
|
||||
|
||||
> `optional` **background**: [`MusicThumbnail`](../../YTNodes/classes/MusicThumbnail.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:26](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L26)
|
||||
|
||||
***
|
||||
|
||||
### bg\_challenge?
|
||||
|
||||
> `optional` **bg\_challenge**: [`IBotguardChallenge`](IBotguardChallenge.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:28](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L28)
|
||||
|
||||
***
|
||||
|
||||
### captions?
|
||||
|
||||
> `optional` **captions**: [`PlayerCaptionsTracklist`](../../YTNodes/classes/PlayerCaptionsTracklist.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:63](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L63)
|
||||
|
||||
***
|
||||
|
||||
### cards?
|
||||
|
||||
> `optional` **cards**: [`CardCollection`](../../YTNodes/classes/CardCollection.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:68](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L68)
|
||||
|
||||
***
|
||||
|
||||
### challenge?
|
||||
|
||||
> `optional` **challenge**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:27](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L27)
|
||||
|
||||
***
|
||||
|
||||
### contents?
|
||||
|
||||
> `optional` **contents**: [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../../Helpers/classes/YTNode.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:31](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L31)
|
||||
|
||||
***
|
||||
|
||||
### contents\_memo?
|
||||
|
||||
> `optional` **contents\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:32](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L32)
|
||||
|
||||
***
|
||||
|
||||
### continuation?
|
||||
|
||||
> `optional` **continuation**: [`Continuation`](../../../classes/Continuation.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:46](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L46)
|
||||
|
||||
***
|
||||
|
||||
### continuation\_contents?
|
||||
|
||||
> `optional` **continuation\_contents**: [`ItemSectionContinuation`](../../../classes/ItemSectionContinuation.md) \| [`SectionListContinuation`](../../../classes/SectionListContinuation.md) \| [`LiveChatContinuation`](../../../classes/LiveChatContinuation.md) \| [`MusicPlaylistShelfContinuation`](../../../classes/MusicPlaylistShelfContinuation.md) \| [`MusicShelfContinuation`](../../../classes/MusicShelfContinuation.md) \| [`GridContinuation`](../../../classes/GridContinuation.md) \| [`PlaylistPanelContinuation`](../../../classes/PlaylistPanelContinuation.md) \| [`ContinuationCommand`](../../../classes/ContinuationCommand.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:47](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L47)
|
||||
|
||||
***
|
||||
|
||||
### continuation\_contents\_memo?
|
||||
|
||||
> `optional` **continuation\_contents\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:49](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L49)
|
||||
|
||||
***
|
||||
|
||||
### continuation\_endpoint?
|
||||
|
||||
> `optional` **continuation\_endpoint**: [`YTNode`](../../Helpers/classes/YTNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:81](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L81)
|
||||
|
||||
***
|
||||
|
||||
### cpn\_info?
|
||||
|
||||
> `optional` **cpn\_info**: `object`
|
||||
|
||||
#### cpn?
|
||||
|
||||
> `optional` **cpn**: `string`
|
||||
|
||||
#### cpn\_source?
|
||||
|
||||
> `optional` **cpn\_source**: `"CPN_SOURCE_TYPE_UNKNOWN"` \| `"CPN_SOURCE_TYPE_CLIENT"` \| `"CPN_SOURCE_TYPE_WATCH_SERVER"`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:69](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L69)
|
||||
|
||||
***
|
||||
|
||||
### current\_video\_endpoint?
|
||||
|
||||
> `optional` **current\_video\_endpoint**: [`NavigationEndpoint`](../../YTNodes/classes/NavigationEndpoint.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:61](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L61)
|
||||
|
||||
***
|
||||
|
||||
### endpoint?
|
||||
|
||||
> `optional` **endpoint**: [`NavigationEndpoint`](../../YTNodes/classes/NavigationEndpoint.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:62](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L62)
|
||||
|
||||
***
|
||||
|
||||
### endscreen?
|
||||
|
||||
> `optional` **endscreen**: [`Endscreen`](../../YTNodes/classes/Endscreen.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:67](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L67)
|
||||
|
||||
***
|
||||
|
||||
### engagement\_panels?
|
||||
|
||||
> `optional` **engagement\_panels**: [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`EngagementPanelSectionList`](../../YTNodes/classes/EngagementPanelSectionList.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:76](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L76)
|
||||
|
||||
***
|
||||
|
||||
### entries?
|
||||
|
||||
> `optional` **entries**: [`NavigationEndpoint`](../../YTNodes/classes/NavigationEndpoint.md)[]
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:78](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L78)
|
||||
|
||||
***
|
||||
|
||||
### entries\_memo?
|
||||
|
||||
> `optional` **entries\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:79](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L79)
|
||||
|
||||
***
|
||||
|
||||
### estimated\_results?
|
||||
|
||||
> `optional` **estimated\_results**: `number`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:55](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L55)
|
||||
|
||||
***
|
||||
|
||||
### header?
|
||||
|
||||
> `optional` **header**: [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../../Helpers/classes/YTNode.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:33](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L33)
|
||||
|
||||
***
|
||||
|
||||
### header\_memo?
|
||||
|
||||
> `optional` **header\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:34](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L34)
|
||||
|
||||
***
|
||||
|
||||
### items?
|
||||
|
||||
> `optional` **items**: [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../../Helpers/classes/YTNode.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:77](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L77)
|
||||
|
||||
***
|
||||
|
||||
### items\_memo?
|
||||
|
||||
> `optional` **items\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:39](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L39)
|
||||
|
||||
***
|
||||
|
||||
### live\_chat\_item\_context\_menu\_supported\_renderers?
|
||||
|
||||
> `optional` **live\_chat\_item\_context\_menu\_supported\_renderers**: [`YTNode`](../../Helpers/classes/YTNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:37](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L37)
|
||||
|
||||
***
|
||||
|
||||
### live\_chat\_item\_context\_menu\_supported\_renderers\_memo?
|
||||
|
||||
> `optional` **live\_chat\_item\_context\_menu\_supported\_renderers\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:38](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L38)
|
||||
|
||||
***
|
||||
|
||||
### metadata?
|
||||
|
||||
> `optional` **metadata**: [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../../Helpers/classes/YTNode.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:50](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L50)
|
||||
|
||||
***
|
||||
|
||||
### microformat?
|
||||
|
||||
> `optional` **microformat**: [`YTNode`](../../Helpers/classes/YTNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:51](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L51)
|
||||
|
||||
***
|
||||
|
||||
### on\_response\_received\_actions?
|
||||
|
||||
> `optional` **on\_response\_received\_actions**: [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`AppendContinuationItemsAction`](../../YTNodes/classes/AppendContinuationItemsAction.md) \| [`OpenPopupAction`](../../YTNodes/classes/OpenPopupAction.md) \| [`NavigateAction`](../../../classes/NavigateAction.md) \| [`ShowMiniplayerCommand`](../../../classes/ShowMiniplayerCommand.md) \| [`ReloadContinuationItemsCommand`](../../../classes/ReloadContinuationItemsCommand.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:40](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L40)
|
||||
|
||||
***
|
||||
|
||||
### on\_response\_received\_actions\_memo?
|
||||
|
||||
> `optional` **on\_response\_received\_actions\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:41](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
### on\_response\_received\_commands?
|
||||
|
||||
> `optional` **on\_response\_received\_commands**: [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`AppendContinuationItemsAction`](../../YTNodes/classes/AppendContinuationItemsAction.md) \| [`OpenPopupAction`](../../YTNodes/classes/OpenPopupAction.md) \| [`NavigateAction`](../../../classes/NavigateAction.md) \| [`ShowMiniplayerCommand`](../../../classes/ShowMiniplayerCommand.md) \| [`ReloadContinuationItemsCommand`](../../../classes/ReloadContinuationItemsCommand.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:44](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L44)
|
||||
|
||||
***
|
||||
|
||||
### on\_response\_received\_commands\_memo?
|
||||
|
||||
> `optional` **on\_response\_received\_commands\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:45](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L45)
|
||||
|
||||
***
|
||||
|
||||
### on\_response\_received\_endpoints?
|
||||
|
||||
> `optional` **on\_response\_received\_endpoints**: [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`AppendContinuationItemsAction`](../../YTNodes/classes/AppendContinuationItemsAction.md) \| [`OpenPopupAction`](../../YTNodes/classes/OpenPopupAction.md) \| [`NavigateAction`](../../../classes/NavigateAction.md) \| [`ShowMiniplayerCommand`](../../../classes/ShowMiniplayerCommand.md) \| [`ReloadContinuationItemsCommand`](../../../classes/ReloadContinuationItemsCommand.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:42](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L42)
|
||||
|
||||
***
|
||||
|
||||
### on\_response\_received\_endpoints\_memo?
|
||||
|
||||
> `optional` **on\_response\_received\_endpoints\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:43](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L43)
|
||||
|
||||
***
|
||||
|
||||
### overlay?
|
||||
|
||||
> `optional` **overlay**: [`YTNode`](../../Helpers/classes/YTNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:52](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L52)
|
||||
|
||||
***
|
||||
|
||||
### playability\_status?
|
||||
|
||||
> `optional` **playability\_status**: [`IPlayabilityStatus`](IPlayabilityStatus.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:58](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L58)
|
||||
|
||||
***
|
||||
|
||||
### playback\_tracking?
|
||||
|
||||
> `optional` **playback\_tracking**: [`IPlaybackTracking`](IPlaybackTracking.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:57](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L57)
|
||||
|
||||
***
|
||||
|
||||
### player\_config?
|
||||
|
||||
> `optional` **player\_config**: [`IPlayerConfig`](IPlayerConfig.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:60](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L60)
|
||||
|
||||
***
|
||||
|
||||
### player\_overlays?
|
||||
|
||||
> `optional` **player\_overlays**: [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../../Helpers/classes/YTNode.md)\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:56](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L56)
|
||||
|
||||
***
|
||||
|
||||
### player\_response?
|
||||
|
||||
> `optional` **player\_response**: [`IPlayerResponse`](../type-aliases/IPlayerResponse.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:82](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L82)
|
||||
|
||||
***
|
||||
|
||||
### refinements?
|
||||
|
||||
> `optional` **refinements**: `string`[]
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:54](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L54)
|
||||
|
||||
***
|
||||
|
||||
### sidebar?
|
||||
|
||||
> `optional` **sidebar**: [`YTNode`](../../Helpers/classes/YTNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:35](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L35)
|
||||
|
||||
***
|
||||
|
||||
### sidebar\_memo?
|
||||
|
||||
> `optional` **sidebar\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:36](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L36)
|
||||
|
||||
***
|
||||
|
||||
### storyboards?
|
||||
|
||||
> `optional` **storyboards**: [`PlayerStoryboardSpec`](../../YTNodes/classes/PlayerStoryboardSpec.md) \| [`PlayerLiveStoryboardSpec`](../../YTNodes/classes/PlayerLiveStoryboardSpec.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:66](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L66)
|
||||
|
||||
***
|
||||
|
||||
### streaming\_data?
|
||||
|
||||
> `optional` **streaming\_data**: [`IStreamingData`](IStreamingData.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:59](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L59)
|
||||
|
||||
***
|
||||
|
||||
### target\_id?
|
||||
|
||||
> `optional` **target\_id**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:80](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L80)
|
||||
|
||||
***
|
||||
|
||||
### video\_details?
|
||||
|
||||
> `optional` **video\_details**: [`VideoDetails`](../../Misc/classes/VideoDetails.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:64](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L64)
|
||||
|
||||
***
|
||||
|
||||
### watch\_next\_response?
|
||||
|
||||
> `optional` **watch\_next\_response**: [`INextResponse`](../type-aliases/INextResponse.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:83](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L83)
|
||||
@@ -0,0 +1,53 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IPlayabilityStatus
|
||||
|
||||
# Interface: IPlayabilityStatus
|
||||
|
||||
## Properties
|
||||
|
||||
### audio\_only\_playability
|
||||
|
||||
> **audio\_only\_playability**: `null` \| [`AudioOnlyPlayability`](../../YTNodes/classes/AudioOnlyPlayability.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:106](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L106)
|
||||
|
||||
***
|
||||
|
||||
### embeddable
|
||||
|
||||
> **embeddable**: `boolean`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:107](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L107)
|
||||
|
||||
***
|
||||
|
||||
### error\_screen
|
||||
|
||||
> **error\_screen**: `null` \| [`YTNode`](../../Helpers/classes/YTNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:105](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L105)
|
||||
|
||||
***
|
||||
|
||||
### reason
|
||||
|
||||
> **reason**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:108](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L108)
|
||||
|
||||
***
|
||||
|
||||
### status
|
||||
|
||||
> **status**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:104](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L104)
|
||||
@@ -0,0 +1,23 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IPlaybackTracking
|
||||
|
||||
# Interface: IPlaybackTracking
|
||||
|
||||
## Properties
|
||||
|
||||
### videostats\_playback\_url
|
||||
|
||||
> **videostats\_playback\_url**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:101](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L101)
|
||||
|
||||
***
|
||||
|
||||
### videostats\_watchtime\_url
|
||||
|
||||
> **videostats\_watchtime\_url**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:100](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L100)
|
||||
@@ -0,0 +1,73 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IPlayerConfig
|
||||
|
||||
# Interface: IPlayerConfig
|
||||
|
||||
## Properties
|
||||
|
||||
### audio\_config
|
||||
|
||||
> **audio\_config**: `object`
|
||||
|
||||
#### enable\_per\_format\_loudness
|
||||
|
||||
> **enable\_per\_format\_loudness**: `boolean`
|
||||
|
||||
#### loudness\_db?
|
||||
|
||||
> `optional` **loudness\_db**: `number`
|
||||
|
||||
#### perceptual\_loudness\_db?
|
||||
|
||||
> `optional` **perceptual\_loudness\_db**: `number`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:112](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L112)
|
||||
|
||||
***
|
||||
|
||||
### media\_common\_config
|
||||
|
||||
> **media\_common\_config**: `object`
|
||||
|
||||
#### dynamic\_readahead\_config
|
||||
|
||||
> **dynamic\_readahead\_config**: `object`
|
||||
|
||||
#### dynamic\_readahead\_config.max\_read\_ahead\_media\_time\_ms
|
||||
|
||||
> **max\_read\_ahead\_media\_time\_ms**: `number`
|
||||
|
||||
#### dynamic\_readahead\_config.min\_read\_ahead\_media\_time\_ms
|
||||
|
||||
> **min\_read\_ahead\_media\_time\_ms**: `number`
|
||||
|
||||
#### dynamic\_readahead\_config.read\_ahead\_growth\_rate\_ms
|
||||
|
||||
> **read\_ahead\_growth\_rate\_ms**: `number`
|
||||
|
||||
#### media\_ustreamer\_request\_config?
|
||||
|
||||
> `optional` **media\_ustreamer\_request\_config**: `object`
|
||||
|
||||
#### media\_ustreamer\_request\_config.video\_playback\_ustreamer\_config?
|
||||
|
||||
> `optional` **video\_playback\_ustreamer\_config**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:120](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L120)
|
||||
|
||||
***
|
||||
|
||||
### stream\_selection\_config
|
||||
|
||||
> **stream\_selection\_config**: `object`
|
||||
|
||||
#### max\_bitrate
|
||||
|
||||
> **max\_bitrate**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:117](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L117)
|
||||
@@ -0,0 +1,53 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IRawBotguardChallenge
|
||||
|
||||
# Interface: IRawBotguardChallenge
|
||||
|
||||
## Properties
|
||||
|
||||
### clientExperimentsStateBlob
|
||||
|
||||
> **clientExperimentsStateBlob**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1577](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1577)
|
||||
|
||||
***
|
||||
|
||||
### globalName
|
||||
|
||||
> **globalName**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1576](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1576)
|
||||
|
||||
***
|
||||
|
||||
### interpreterHash
|
||||
|
||||
> **interpreterHash**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1574](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1574)
|
||||
|
||||
***
|
||||
|
||||
### interpreterUrl
|
||||
|
||||
> **interpreterUrl**: [`IRawTrustedResource`](IRawTrustedResource.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1573](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1573)
|
||||
|
||||
***
|
||||
|
||||
### program
|
||||
|
||||
> **program**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1575](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1575)
|
||||
@@ -0,0 +1,73 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IRawPlayerConfig
|
||||
|
||||
# Interface: IRawPlayerConfig
|
||||
|
||||
## Properties
|
||||
|
||||
### audioConfig
|
||||
|
||||
> **audioConfig**: `object`
|
||||
|
||||
#### enablePerFormatLoudness
|
||||
|
||||
> **enablePerFormatLoudness**: `boolean`
|
||||
|
||||
#### loudnessDb?
|
||||
|
||||
> `optional` **loudnessDb**: `number`
|
||||
|
||||
#### perceptualLoudnessDb?
|
||||
|
||||
> `optional` **perceptualLoudnessDb**: `number`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1547](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1547)
|
||||
|
||||
***
|
||||
|
||||
### mediaCommonConfig
|
||||
|
||||
> **mediaCommonConfig**: `object`
|
||||
|
||||
#### dynamicReadaheadConfig?
|
||||
|
||||
> `optional` **dynamicReadaheadConfig**: `object`
|
||||
|
||||
#### dynamicReadaheadConfig.maxReadAheadMediaTimeMs
|
||||
|
||||
> **maxReadAheadMediaTimeMs**: `number`
|
||||
|
||||
#### dynamicReadaheadConfig.minReadAheadMediaTimeMs
|
||||
|
||||
> **minReadAheadMediaTimeMs**: `number`
|
||||
|
||||
#### dynamicReadaheadConfig.readAheadGrowthRateMs
|
||||
|
||||
> **readAheadGrowthRateMs**: `number`
|
||||
|
||||
#### mediaUstreamerRequestConfig?
|
||||
|
||||
> `optional` **mediaUstreamerRequestConfig**: `object`
|
||||
|
||||
#### mediaUstreamerRequestConfig.videoPlaybackUstreamerConfig
|
||||
|
||||
> **videoPlaybackUstreamerConfig**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1555](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1555)
|
||||
|
||||
***
|
||||
|
||||
### streamSelectionConfig
|
||||
|
||||
> **streamSelectionConfig**: `object`
|
||||
|
||||
#### maxBitrate
|
||||
|
||||
> **maxBitrate**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1552](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1552)
|
||||
497
docs/api/namespaces/APIResponseTypes/interfaces/IRawResponse.md
Normal file
497
docs/api/namespaces/APIResponseTypes/interfaces/IRawResponse.md
Normal file
@@ -0,0 +1,497 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IRawResponse
|
||||
|
||||
# Interface: IRawResponse
|
||||
|
||||
## Indexable
|
||||
|
||||
\[`key`: `string`\]: `any`
|
||||
|
||||
## Properties
|
||||
|
||||
### actions?
|
||||
|
||||
> `optional` **actions**: [`RawNode`](../type-aliases/RawNode.md)[]
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1590](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1590)
|
||||
|
||||
***
|
||||
|
||||
### alerts?
|
||||
|
||||
> `optional` **alerts**: [`RawNode`](../type-aliases/RawNode.md)[]
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1598](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1598)
|
||||
|
||||
***
|
||||
|
||||
### annotations?
|
||||
|
||||
> `optional` **annotations**: [`RawNode`](../type-aliases/RawNode.md)[]
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1634](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1634)
|
||||
|
||||
***
|
||||
|
||||
### background?
|
||||
|
||||
> `optional` **background**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1582](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1582)
|
||||
|
||||
***
|
||||
|
||||
### bgChallenge?
|
||||
|
||||
> `optional` **bgChallenge**: [`IRawBotguardChallenge`](IRawBotguardChallenge.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1583](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1583)
|
||||
|
||||
***
|
||||
|
||||
### captions?
|
||||
|
||||
> `optional` **captions**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1632](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1632)
|
||||
|
||||
***
|
||||
|
||||
### cards?
|
||||
|
||||
> `optional` **cards**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1637](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1637)
|
||||
|
||||
***
|
||||
|
||||
### challenge?
|
||||
|
||||
> `optional` **challenge**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1584](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1584)
|
||||
|
||||
***
|
||||
|
||||
### contents?
|
||||
|
||||
> `optional` **contents**: [`RawData`](../type-aliases/RawData.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1585](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1585)
|
||||
|
||||
***
|
||||
|
||||
### continuation?
|
||||
|
||||
> `optional` **continuation**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1594](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1594)
|
||||
|
||||
***
|
||||
|
||||
### continuationContents?
|
||||
|
||||
> `optional` **continuationContents**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1589](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1589)
|
||||
|
||||
***
|
||||
|
||||
### cpnInfo?
|
||||
|
||||
> `optional` **cpnInfo**: `IYoutubeApiInnertubeCpnInfo`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1638](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1638)
|
||||
|
||||
***
|
||||
|
||||
### currentVideoEndpoint?
|
||||
|
||||
> `optional` **currentVideoEndpoint**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1628](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1628)
|
||||
|
||||
***
|
||||
|
||||
### endpoint?
|
||||
|
||||
> `optional` **endpoint**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1631](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1631)
|
||||
|
||||
***
|
||||
|
||||
### endscreen?
|
||||
|
||||
> `optional` **endscreen**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1636](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1636)
|
||||
|
||||
***
|
||||
|
||||
### engagementPanels?
|
||||
|
||||
> `optional` **engagementPanels**: [`RawNode`](../type-aliases/RawNode.md)[]
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1642](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1642)
|
||||
|
||||
***
|
||||
|
||||
### entries?
|
||||
|
||||
> `optional` **entries**: [`RawNode`](../type-aliases/RawNode.md)[]
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1643](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1643)
|
||||
|
||||
***
|
||||
|
||||
### estimatedResults?
|
||||
|
||||
> `optional` **estimatedResults**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1600](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1600)
|
||||
|
||||
***
|
||||
|
||||
### frameworkUpdates?
|
||||
|
||||
> `optional` **frameworkUpdates**: `any`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1641](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1641)
|
||||
|
||||
***
|
||||
|
||||
### header?
|
||||
|
||||
> `optional` **header**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1592](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1592)
|
||||
|
||||
***
|
||||
|
||||
### items?
|
||||
|
||||
> `optional` **items**: [`RawNode`](../type-aliases/RawNode.md)[]
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1640](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1640)
|
||||
|
||||
***
|
||||
|
||||
### liveChatItemContextMenuSupportedRenderers?
|
||||
|
||||
> `optional` **liveChatItemContextMenuSupportedRenderers**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1591](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1591)
|
||||
|
||||
***
|
||||
|
||||
### metadata?
|
||||
|
||||
> `optional` **metadata**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1595](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1595)
|
||||
|
||||
***
|
||||
|
||||
### microformat?
|
||||
|
||||
> `optional` **microformat**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1596](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1596)
|
||||
|
||||
***
|
||||
|
||||
### onResponseReceivedActions?
|
||||
|
||||
> `optional` **onResponseReceivedActions**: [`RawNode`](../type-aliases/RawNode.md)[]
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1586](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1586)
|
||||
|
||||
***
|
||||
|
||||
### onResponseReceivedCommands?
|
||||
|
||||
> `optional` **onResponseReceivedCommands**: [`RawNode`](../type-aliases/RawNode.md)[]
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1588](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1588)
|
||||
|
||||
***
|
||||
|
||||
### onResponseReceivedEndpoints?
|
||||
|
||||
> `optional` **onResponseReceivedEndpoints**: [`RawNode`](../type-aliases/RawNode.md)[]
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1587](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1587)
|
||||
|
||||
***
|
||||
|
||||
### overlay?
|
||||
|
||||
> `optional` **overlay**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1597](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1597)
|
||||
|
||||
***
|
||||
|
||||
### playabilityStatus?
|
||||
|
||||
> `optional` **playabilityStatus**: `object`
|
||||
|
||||
#### audioOnlyPlayability?
|
||||
|
||||
> `optional` **audioOnlyPlayability**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### errorScreen?
|
||||
|
||||
> `optional` **errorScreen**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### playableInEmbed?
|
||||
|
||||
> `optional` **playableInEmbed**: `boolean`
|
||||
|
||||
#### reason?
|
||||
|
||||
> `optional` **reason**: `string`
|
||||
|
||||
#### status
|
||||
|
||||
> **status**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1610](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1610)
|
||||
|
||||
***
|
||||
|
||||
### playbackTracking?
|
||||
|
||||
> `optional` **playbackTracking**: `object`
|
||||
|
||||
#### videostatsPlaybackUrl
|
||||
|
||||
> **videostatsPlaybackUrl**: `object`
|
||||
|
||||
#### videostatsPlaybackUrl.baseUrl
|
||||
|
||||
> **baseUrl**: `string`
|
||||
|
||||
#### videostatsWatchtimeUrl
|
||||
|
||||
> **videostatsWatchtimeUrl**: `object`
|
||||
|
||||
#### videostatsWatchtimeUrl.baseUrl
|
||||
|
||||
> **baseUrl**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1602](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1602)
|
||||
|
||||
***
|
||||
|
||||
### playerConfig?
|
||||
|
||||
> `optional` **playerConfig**: [`IRawPlayerConfig`](IRawPlayerConfig.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1625](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1625)
|
||||
|
||||
***
|
||||
|
||||
### playerOverlays?
|
||||
|
||||
> `optional` **playerOverlays**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1601](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1601)
|
||||
|
||||
***
|
||||
|
||||
### playerResponse?
|
||||
|
||||
> `optional` **playerResponse**: [`IRawResponse`](IRawResponse.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1626](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1626)
|
||||
|
||||
***
|
||||
|
||||
### playlistId?
|
||||
|
||||
> `optional` **playlistId**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1630](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1630)
|
||||
|
||||
***
|
||||
|
||||
### refinements?
|
||||
|
||||
> `optional` **refinements**: `string`[]
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1599](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1599)
|
||||
|
||||
***
|
||||
|
||||
### responseContext?
|
||||
|
||||
> `optional` **responseContext**: `IYoutubeApiInnertubeResponseContext`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1581](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1581)
|
||||
|
||||
***
|
||||
|
||||
### sidebar?
|
||||
|
||||
> `optional` **sidebar**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1593](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1593)
|
||||
|
||||
***
|
||||
|
||||
### storyboards?
|
||||
|
||||
> `optional` **storyboards**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1635](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1635)
|
||||
|
||||
***
|
||||
|
||||
### streamingData?
|
||||
|
||||
> `optional` **streamingData**: `object`
|
||||
|
||||
#### adaptiveFormats
|
||||
|
||||
> **adaptiveFormats**: [`RawNode`](../type-aliases/RawNode.md)[]
|
||||
|
||||
#### dashManifestUrl?
|
||||
|
||||
> `optional` **dashManifestUrl**: `string`
|
||||
|
||||
#### expiresInSeconds
|
||||
|
||||
> **expiresInSeconds**: `string`
|
||||
|
||||
#### formats
|
||||
|
||||
> **formats**: [`RawNode`](../type-aliases/RawNode.md)[]
|
||||
|
||||
#### hlsManifestUrl?
|
||||
|
||||
> `optional` **hlsManifestUrl**: `string`
|
||||
|
||||
#### serverAbrStreamingUrl?
|
||||
|
||||
> `optional` **serverAbrStreamingUrl**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1617](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1617)
|
||||
|
||||
***
|
||||
|
||||
### targetId?
|
||||
|
||||
> `optional` **targetId**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1639](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1639)
|
||||
|
||||
***
|
||||
|
||||
### unseenCount?
|
||||
|
||||
> `optional` **unseenCount**: `number`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1629](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1629)
|
||||
|
||||
***
|
||||
|
||||
### videoDetails?
|
||||
|
||||
> `optional` **videoDetails**: [`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1633](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1633)
|
||||
|
||||
***
|
||||
|
||||
### watchNextResponse?
|
||||
|
||||
> `optional` **watchNextResponse**: [`IRawResponse`](IRawResponse.md)
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1627](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1627)
|
||||
@@ -0,0 +1,23 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IRawTrustedResource
|
||||
|
||||
# Interface: IRawTrustedResource
|
||||
|
||||
## Properties
|
||||
|
||||
### privateDoNotAccessOrElseSafeScriptWrappedValue?
|
||||
|
||||
> `optional` **privateDoNotAccessOrElseSafeScriptWrappedValue**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1569](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1569)
|
||||
|
||||
***
|
||||
|
||||
### privateDoNotAccessOrElseTrustedResourceUrlWrappedValue?
|
||||
|
||||
> `optional` **privateDoNotAccessOrElseTrustedResourceUrlWrappedValue**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1568](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1568)
|
||||
@@ -0,0 +1,63 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IStreamingData
|
||||
|
||||
# Interface: IStreamingData
|
||||
|
||||
## Properties
|
||||
|
||||
### adaptive\_formats
|
||||
|
||||
> **adaptive\_formats**: [`Format`](../../Misc/classes/Format.md)[]
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:135](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L135)
|
||||
|
||||
***
|
||||
|
||||
### dash\_manifest\_url?
|
||||
|
||||
> `optional` **dash\_manifest\_url**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:136](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L136)
|
||||
|
||||
***
|
||||
|
||||
### expires
|
||||
|
||||
> **expires**: `Date`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:133](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L133)
|
||||
|
||||
***
|
||||
|
||||
### formats
|
||||
|
||||
> **formats**: [`Format`](../../Misc/classes/Format.md)[]
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:134](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L134)
|
||||
|
||||
***
|
||||
|
||||
### hls\_manifest\_url?
|
||||
|
||||
> `optional` **hls\_manifest\_url**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:137](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L137)
|
||||
|
||||
***
|
||||
|
||||
### server\_abr\_streaming\_url?
|
||||
|
||||
> `optional` **server\_abr\_streaming\_url**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:138](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L138)
|
||||
@@ -0,0 +1,23 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / ITrustedResource
|
||||
|
||||
# Interface: ITrustedResource
|
||||
|
||||
## Properties
|
||||
|
||||
### private\_do\_not\_access\_or\_else\_safe\_script\_wrapped\_value?
|
||||
|
||||
> `optional` **private\_do\_not\_access\_or\_else\_safe\_script\_wrapped\_value**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:88](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L88)
|
||||
|
||||
***
|
||||
|
||||
### private\_do\_not\_access\_or\_else\_trusted\_resource\_url\_wrapped\_value?
|
||||
|
||||
> `optional` **private\_do\_not\_access\_or\_else\_trusted\_resource\_url\_wrapped\_value**: `string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:87](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L87)
|
||||
@@ -0,0 +1,27 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / AddToPlaylistServiceRequest
|
||||
|
||||
# Type Alias: AddToPlaylistServiceRequest
|
||||
|
||||
> **AddToPlaylistServiceRequest**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### excludeWatchLater?
|
||||
|
||||
> `optional` **excludeWatchLater**: `boolean`
|
||||
|
||||
### params?
|
||||
|
||||
> `optional` **params**: `string`
|
||||
|
||||
### playlistId?
|
||||
|
||||
> `optional` **playlistId**: `string`
|
||||
|
||||
### videoIds?
|
||||
|
||||
> `optional` **videoIds**: `string`[]
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:55](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L55)
|
||||
@@ -0,0 +1,39 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / BrowseRequest
|
||||
|
||||
# Type Alias: BrowseRequest
|
||||
|
||||
> **BrowseRequest**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### browseId?
|
||||
|
||||
> `optional` **browseId**: `string`
|
||||
|
||||
### browseRequestSupportedMetadata?
|
||||
|
||||
> `optional` **browseRequestSupportedMetadata**: [`BrowseRequestSupportedMetadata`](BrowseRequestSupportedMetadata.md)
|
||||
|
||||
### formData?
|
||||
|
||||
> `optional` **formData**: [`FormData`](FormData.md)
|
||||
|
||||
### inlineSettingStatus?
|
||||
|
||||
> `optional` **inlineSettingStatus**: [`InlineSettingStatus`](InlineSettingStatus.md)
|
||||
|
||||
### params?
|
||||
|
||||
> `optional` **params**: `string`
|
||||
|
||||
### query?
|
||||
|
||||
> `optional` **query**: `string`
|
||||
|
||||
### subscriptionSettingsState?
|
||||
|
||||
> `optional` **subscriptionSettingsState**: `string`
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:6](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L6)
|
||||
@@ -0,0 +1,23 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / BrowseRequestSupportedMetadata
|
||||
|
||||
# Type Alias: BrowseRequestSupportedMetadata
|
||||
|
||||
> **BrowseRequestSupportedMetadata**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### downloadsBrowseParams
|
||||
|
||||
> **downloadsBrowseParams**: `object`
|
||||
|
||||
### downloadsBrowseParams.offlineFeatureSettingState
|
||||
|
||||
> **offlineFeatureSettingState**: `object`
|
||||
|
||||
### downloadsBrowseParams.offlineFeatureSettingState.isSdEnabled
|
||||
|
||||
> **isSdEnabled**: `boolean`
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:25](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L25)
|
||||
@@ -0,0 +1,31 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / ContinuationRequest
|
||||
|
||||
# Type Alias: ContinuationRequest
|
||||
|
||||
> **ContinuationRequest**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### continuation?
|
||||
|
||||
> `optional` **continuation**: `string`
|
||||
|
||||
### fetchCommentsParams?
|
||||
|
||||
> `optional` **fetchCommentsParams**: `object`
|
||||
|
||||
### fetchCommentsParams.continuation
|
||||
|
||||
> **continuation**: `string`
|
||||
|
||||
### formData?
|
||||
|
||||
> `optional` **formData**: [`FormData`](FormData.md)
|
||||
|
||||
### notificationsMenuRequestType?
|
||||
|
||||
> `optional` **notificationsMenuRequestType**: `string`
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:143](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L143)
|
||||
@@ -0,0 +1,63 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / CreateCommentRequest
|
||||
|
||||
# Type Alias: CreateCommentRequest
|
||||
|
||||
> **CreateCommentRequest**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### accessRestrictions?
|
||||
|
||||
> `optional` **accessRestrictions**: `object`
|
||||
|
||||
### accessRestrictions.restriction
|
||||
|
||||
> **restriction**: `"RESTRICTION_TYPE_EVERYONE"` \| `"RESTRICTION_TYPE_SPONSORS_ONLY"`
|
||||
|
||||
### botguardResponse?
|
||||
|
||||
> `optional` **botguardResponse**: `string`
|
||||
|
||||
### commentText?
|
||||
|
||||
> `optional` **commentText**: `string`
|
||||
|
||||
### createCommentParams?
|
||||
|
||||
> `optional` **createCommentParams**: `string`
|
||||
|
||||
### imageAttachment?
|
||||
|
||||
> `optional` **imageAttachment**: `object`
|
||||
|
||||
### imageAttachment.encryptedBlobId
|
||||
|
||||
> **encryptedBlobId**: `string`
|
||||
|
||||
### pollAttachment?
|
||||
|
||||
> `optional` **pollAttachment**: `object`
|
||||
|
||||
### pollAttachment.choices
|
||||
|
||||
> **choices**: `string`[]
|
||||
|
||||
### sharedPostAttachment?
|
||||
|
||||
> `optional` **sharedPostAttachment**: `object`
|
||||
|
||||
### sharedPostAttachment.postId
|
||||
|
||||
> **postId**: `string`
|
||||
|
||||
### videoAttachment?
|
||||
|
||||
> `optional` **videoAttachment**: `object`
|
||||
|
||||
### videoAttachment.videoId
|
||||
|
||||
> **videoId**: `string`
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:179](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L179)
|
||||
@@ -0,0 +1,35 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / CreatePlaylistServiceRequest
|
||||
|
||||
# Type Alias: CreatePlaylistServiceRequest
|
||||
|
||||
> **CreatePlaylistServiceRequest**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### description?
|
||||
|
||||
> `optional` **description**: `string`
|
||||
|
||||
### params?
|
||||
|
||||
> `optional` **params**: `string`
|
||||
|
||||
### privacyStatus?
|
||||
|
||||
> `optional` **privacyStatus**: [`PlaylistPrivacyStatus`](PlaylistPrivacyStatus.md)
|
||||
|
||||
### sourcePlaylistId?
|
||||
|
||||
> `optional` **sourcePlaylistId**: `string`
|
||||
|
||||
### title?
|
||||
|
||||
> `optional` **title**: `string`
|
||||
|
||||
### videoIds?
|
||||
|
||||
> `optional` **videoIds**: `string`[]
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:104](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L104)
|
||||
@@ -0,0 +1,15 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / DeletePlaylistServiceRequest
|
||||
|
||||
# Type Alias: DeletePlaylistServiceRequest
|
||||
|
||||
> **DeletePlaylistServiceRequest**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### playlistId?
|
||||
|
||||
> `optional` **playlistId**: `string`
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:113](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L113)
|
||||
@@ -0,0 +1,15 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / FeedbackContext
|
||||
|
||||
# Type Alias: FeedbackContext
|
||||
|
||||
> **FeedbackContext**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### cpn
|
||||
|
||||
> **cpn**: `string`
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:35](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L35)
|
||||
@@ -0,0 +1,27 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / FeedbackRequest
|
||||
|
||||
# Type Alias: FeedbackRequest
|
||||
|
||||
> **FeedbackRequest**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### feedbackContext?
|
||||
|
||||
> `optional` **feedbackContext**: [`FeedbackContext`](FeedbackContext.md)
|
||||
|
||||
### feedbackTokens?
|
||||
|
||||
> `optional` **feedbackTokens**: `string`[]
|
||||
|
||||
### isFeedbackTokenUnencrypted?
|
||||
|
||||
> `optional` **isFeedbackTokenUnencrypted**: `boolean`
|
||||
|
||||
### shouldMerge?
|
||||
|
||||
> `optional` **shouldMerge**: `boolean`
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:39](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L39)
|
||||
@@ -0,0 +1,31 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / FormData
|
||||
|
||||
# Type Alias: FormData
|
||||
|
||||
> **FormData**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### accountSettingsFormData
|
||||
|
||||
> **accountSettingsFormData**: `object`
|
||||
|
||||
### accountSettingsFormData.flagAudioDescriptionDefaultOn
|
||||
|
||||
> **flagAudioDescriptionDefaultOn**: `boolean`
|
||||
|
||||
### accountSettingsFormData.flagAutoCaptionsDefaultOn
|
||||
|
||||
> **flagAutoCaptionsDefaultOn**: `boolean`
|
||||
|
||||
### accountSettingsFormData.flagCaptionsDefaultOff
|
||||
|
||||
> **flagCaptionsDefaultOff**: `boolean`
|
||||
|
||||
### accountSettingsFormData.flagDisableInlinePreview
|
||||
|
||||
> **flagDisableInlinePreview**: `boolean`
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:16](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L16)
|
||||
@@ -0,0 +1,43 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / GetAccountsListInnertubeRequest
|
||||
|
||||
# Type Alias: GetAccountsListInnertubeRequest
|
||||
|
||||
> **GetAccountsListInnertubeRequest**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### callCircumstance?
|
||||
|
||||
> `optional` **callCircumstance**: `"SUPPLEMENTAL_USER"` \| `"SWITCHING_USERS_FULL"`
|
||||
|
||||
### channelSwitcherQuery?
|
||||
|
||||
> `optional` **channelSwitcherQuery**: `string`
|
||||
|
||||
### contentOwnerConfig?
|
||||
|
||||
> `optional` **contentOwnerConfig**: `Record`\<`string`, `any`\>
|
||||
|
||||
### nextNavendpoint?
|
||||
|
||||
> `optional` **nextNavendpoint**: [`NextNavendpoint`](NextNavendpoint.md)
|
||||
|
||||
### obfuscatedSelectedGaiaId?
|
||||
|
||||
> `optional` **obfuscatedSelectedGaiaId**: `string`
|
||||
|
||||
### requestType?
|
||||
|
||||
> `optional` **requestType**: `string`
|
||||
|
||||
### selectedSerializedDelegationContext?
|
||||
|
||||
> `optional` **selectedSerializedDelegationContext**: `string`
|
||||
|
||||
### triggerChannelCreation?
|
||||
|
||||
> `optional` **triggerChannelCreation**: `boolean`
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:162](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L162)
|
||||
@@ -0,0 +1,19 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / GetKidsBlocklistPickerRequest
|
||||
|
||||
# Type Alias: GetKidsBlocklistPickerRequest
|
||||
|
||||
> **GetKidsBlocklistPickerRequest**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### blockedForKidsContent?
|
||||
|
||||
> `optional` **blockedForKidsContent**: `object`
|
||||
|
||||
### blockedForKidsContent.external\_channel\_id
|
||||
|
||||
> **external\_channel\_id**: `string`
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:173](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L173)
|
||||
@@ -0,0 +1,9 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IBrowseResponse
|
||||
|
||||
# Type Alias: IBrowseResponse
|
||||
|
||||
> **IBrowseResponse**: `Pick`\<[`IParsedResponse`](../interfaces/IParsedResponse.md), `"background"` \| `"continuation_contents"` \| `"continuation_contents_memo"` \| `"on_response_received_actions"` \| `"on_response_received_actions_memo"` \| `"on_response_received_endpoints"` \| `"on_response_received_endpoints_memo"` \| `"contents"` \| `"contents_memo"` \| `"header"` \| `"header_memo"` \| `"metadata"` \| `"microformat"` \| `"alerts"` \| `"sidebar"` \| `"sidebar_memo"`\>
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:143](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L143)
|
||||
@@ -0,0 +1,9 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IGetChallengeResponse
|
||||
|
||||
# Type Alias: IGetChallengeResponse
|
||||
|
||||
> **IGetChallengeResponse**: `Pick`\<[`IParsedResponse`](../interfaces/IParsedResponse.md), `"challenge"` \| `"bg_challenge"`\>
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:150](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L150)
|
||||
@@ -0,0 +1,9 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IGetNotificationsMenuResponse
|
||||
|
||||
# Type Alias: IGetNotificationsMenuResponse
|
||||
|
||||
> **IGetNotificationsMenuResponse**: `Pick`\<[`IParsedResponse`](../interfaces/IParsedResponse.md), `"actions"` \| `"actions_memo"`\>
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:147](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L147)
|
||||
@@ -0,0 +1,9 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IGetTranscriptResponse
|
||||
|
||||
# Type Alias: IGetTranscriptResponse
|
||||
|
||||
> **IGetTranscriptResponse**: `Pick`\<[`IParsedResponse`](../interfaces/IParsedResponse.md), `"actions"` \| `"actions_memo"`\>
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:146](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L146)
|
||||
@@ -0,0 +1,9 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IGuideResponse
|
||||
|
||||
# Type Alias: IGuideResponse
|
||||
|
||||
> **IGuideResponse**: `Pick`\<[`IParsedResponse`](../interfaces/IParsedResponse.md), `"items"` \| `"items_memo"`\>
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:149](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L149)
|
||||
@@ -0,0 +1,9 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / INextResponse
|
||||
|
||||
# Type Alias: INextResponse
|
||||
|
||||
> **INextResponse**: `Pick`\<[`IParsedResponse`](../interfaces/IParsedResponse.md), `"contents"` \| `"contents_memo"` \| `"continuation_contents"` \| `"continuation_contents_memo"` \| `"current_video_endpoint"` \| `"on_response_received_endpoints"` \| `"on_response_received_endpoints_memo"` \| `"player_overlays"` \| `"engagement_panels"`\>
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:142](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L142)
|
||||
@@ -0,0 +1,9 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IPlayerResponse
|
||||
|
||||
# Type Alias: IPlayerResponse
|
||||
|
||||
> **IPlayerResponse**: `Pick`\<[`IParsedResponse`](../interfaces/IParsedResponse.md), `"captions"` \| `"cards"` \| `"endscreen"` \| `"microformat"` \| `"annotations"` \| `"playability_status"` \| `"streaming_data"` \| `"player_config"` \| `"playback_tracking"` \| `"storyboards"` \| `"video_details"`\>
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:141](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L141)
|
||||
@@ -0,0 +1,9 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IResolveURLResponse
|
||||
|
||||
# Type Alias: IResolveURLResponse
|
||||
|
||||
> **IResolveURLResponse**: `Pick`\<[`IParsedResponse`](../interfaces/IParsedResponse.md), `"endpoint"`\>
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:145](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L145)
|
||||
@@ -0,0 +1,9 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / ISearchResponse
|
||||
|
||||
# Type Alias: ISearchResponse
|
||||
|
||||
> **ISearchResponse**: `Pick`\<[`IParsedResponse`](../interfaces/IParsedResponse.md), `"header"` \| `"header_memo"` \| `"contents"` \| `"contents_memo"` \| `"on_response_received_commands"` \| `"continuation_contents"` \| `"continuation_contents_memo"` \| `"refinements"` \| `"estimated_results"`\>
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:144](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L144)
|
||||
@@ -0,0 +1,9 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IUpdatedMetadataResponse
|
||||
|
||||
# Type Alias: IUpdatedMetadataResponse
|
||||
|
||||
> **IUpdatedMetadataResponse**: `Pick`\<[`IParsedResponse`](../interfaces/IParsedResponse.md), `"actions"` \| `"actions_memo"` \| `"continuation"`\>
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/ParsedResponse.ts:148](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/ParsedResponse.ts#L148)
|
||||
@@ -0,0 +1,9 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / InlineSettingStatus
|
||||
|
||||
# Type Alias: InlineSettingStatus
|
||||
|
||||
> **InlineSettingStatus**: `"INLINE_SETTING_STATUS_DISABLED"` \| `"INLINE_SETTING_STATUS_ON"`
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:33](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L33)
|
||||
@@ -0,0 +1,19 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / LikeRequest
|
||||
|
||||
# Type Alias: LikeRequest
|
||||
|
||||
> **LikeRequest**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### params?
|
||||
|
||||
> `optional` **params**: `string`
|
||||
|
||||
### target?
|
||||
|
||||
> `optional` **target**: [`LikeTarget`](LikeTarget.md)
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:50](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L50)
|
||||
@@ -0,0 +1,15 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / LikeTarget
|
||||
|
||||
# Type Alias: LikeTarget
|
||||
|
||||
> **LikeTarget**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### videoId
|
||||
|
||||
> **videoId**: `string`
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:46](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L46)
|
||||
@@ -0,0 +1,15 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / LiveChatItemContextMenuRequest
|
||||
|
||||
# Type Alias: LiveChatItemContextMenuRequest
|
||||
|
||||
> **LiveChatItemContextMenuRequest**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### params?
|
||||
|
||||
> `optional` **params**: `string`
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:152](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L152)
|
||||
@@ -0,0 +1,19 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / ModifyChannelNotificationPreferenceRequest
|
||||
|
||||
# Type Alias: ModifyChannelNotificationPreferenceRequest
|
||||
|
||||
> **ModifyChannelNotificationPreferenceRequest**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### params?
|
||||
|
||||
> `optional` **params**: `string`
|
||||
|
||||
### secondaryParams?
|
||||
|
||||
> `optional` **secondaryParams**: `string`
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:194](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L194)
|
||||
@@ -0,0 +1,19 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / NextNavendpoint
|
||||
|
||||
# Type Alias: NextNavendpoint
|
||||
|
||||
> **NextNavendpoint**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### urlEndpoint
|
||||
|
||||
> **urlEndpoint**: `object`
|
||||
|
||||
### urlEndpoint.url
|
||||
|
||||
> **url**: `string`
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:156](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L156)
|
||||
@@ -0,0 +1,15 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / PerformCommentActionRequest
|
||||
|
||||
# Type Alias: PerformCommentActionRequest
|
||||
|
||||
> **PerformCommentActionRequest**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### actions?
|
||||
|
||||
> `optional` **actions**: `Record`\<`string`, `any`\>[]
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:190](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L190)
|
||||
@@ -0,0 +1,23 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / PlaylistEditRequest
|
||||
|
||||
# Type Alias: PlaylistEditRequest
|
||||
|
||||
> **PlaylistEditRequest**: `object`
|
||||
|
||||
## Type declaration
|
||||
|
||||
### actions?
|
||||
|
||||
> `optional` **actions**: `Record`\<`string`, `any`\>[]
|
||||
|
||||
### params?
|
||||
|
||||
> `optional` **params**: `string`
|
||||
|
||||
### playlistId?
|
||||
|
||||
> `optional` **playlistId**: `string`
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:96](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L96)
|
||||
@@ -0,0 +1,9 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / PlaylistPrivacyStatus
|
||||
|
||||
# Type Alias: PlaylistPrivacyStatus
|
||||
|
||||
> **PlaylistPrivacyStatus**: `"PUBLIC"` \| `"UNLISTED"` \| `"PRIVATE"`
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/CommandEndpoints.ts:102](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/CommandEndpoints.ts#L102)
|
||||
@@ -0,0 +1,9 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / RawData
|
||||
|
||||
# Type Alias: RawData
|
||||
|
||||
> **RawData**: [`RawNode`](RawNode.md) \| [`RawNode`](RawNode.md)[]
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:2](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L2)
|
||||
@@ -0,0 +1,9 @@
|
||||
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / RawNode
|
||||
|
||||
# Type Alias: RawNode
|
||||
|
||||
> **RawNode**: `Record`\<`string`, `any`\>
|
||||
|
||||
## Defined in
|
||||
|
||||
[src/parser/types/RawResponse.ts:1](https://github.com/LuanRT/YouTube.js/blob/e1650e12979e68b9546bc63989f86b651960a10a/src/parser/types/RawResponse.ts#L1)
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user